(1484,'2014-04-10','TuxJam31',4878,'Andrew Conway presents TuxJam episode 31, a special for HPR','
\r\nTuxJam is a podcast that reviews lesser known Free and Open Source Software\r\nprojects interspersed with Creative Commons licensed music. TuxJam 31\r\nis a special for HPR.\r\n
\r\n\r\nSee https://unseenstudio.co.uk/tuxjam-ogg/tuxjam-episode-31/\r\n
',268,0,0,'CC-BY-SA','astronomy',0,1421,1), (1486,'2014-04-14','Linux Luddites Episode 11 - Interview with Rob Landley',7222,'Ken Fallon promotes the \"Linux Luddites\" podcast','\r\nThis show is is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.\r\n
\r\n\r\n\r\nAs stated on the HPR Contribution page\r\n
\r\n\r\nWe will continue to promote new podcasts and other creative commons material but due to a lack of slots, we are only releasing material created exclusively for HPR. If there is a piece of creative commons content that you would like to promote, then feel free to record a regular show where you introduce the content and explain why it is important, providing links to where we can get more information. \r\n
\r\n\r\nToday I am doing just that. As a member of the HPR community, I would like to bring the podcast LINUX LUDDITES with the tag line \"Not all change is progress\". Taking their name from \"Linux\" the an operating system kernel by Linus Torvalds, and \"Luddites\" from the 19th-century English textile artisans who protested against newly developed labour-saving machinery.\r\n
\r\n\r\nI am submitting Episode 11 as it includes a fascinating interview with Rob Landley, former maintainer of BusyBox and covers among other things his experiences of GPL enforcement. For complete episode show notes see https://linuxluddites.com/shows/episode-11/ \r\n
\r\n\r\nIf this podcast is not in your feed, you would do very well to add it.\r\n
\r\n\r\nIf there is a show is new to the scene, ie not on the linuxlink.net, then contact us about it and also consider submitting an episode as a featured podcast.\r\n
\r\n\r\n\r\nAfter listening to Ahuka describe his favourite podcasts on HPR1479 and HPR1482 I was surprised to see how few of the shows we listen to overlap. There are so many podcasts out there it\'s always good to be able to get recommendations. I present to you my list of 30 podcasts (I had to cull the list down a bit).\r\n
\r\n\r\n\r\nIn this episode CPrompt and his friend Matt go through their entire process of putting together a Raspberry Pi, \r\ninstalling the OS and setting up RaspBMC.\r\n
\r\n\r\n\r\nThe \"Heartbleed\" vulnerability in OpenSSL (CVE-2014-0160) is a bounds checking\r\nerror in the heartbeat implementation that could return up to 64K of private\r\ndata to the client. This can lead to server certificate private keys, session\r\ncookies, clear text passwords, or other sensitive data being leaked from the\r\nserver to the client. This vulnerability exists in OpenSSL versions 1.0.1 through 1.0.1f and 1.0.2 beta.\r\n
\r\n\r\nIt is important for server administrators to update OpenSSL as soon as possible\r\nand take steps to secure any private data which may have been leaked. This may\r\ninclude updating server certificates and revoking certificates that may have\r\nbeen compromised.\r\n
\r\n\r\nUsers should ensure that web sites they use have been secured and should update\r\npasswords or other authentication information.\r\n
\r\n\r\nCVE info: https://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160\r\n
\r\n\r\n\r\n\r\n',257,74,0,'CC-BY-SA','heartbleed,openssl,vulnerability,security',0,1559,1), (1501,'2014-05-05','AWK',1165,'A cursory introduction to the AWK programming language','\r\nFirst of all, a correction. In the podcast, I mistakenly refer to one of the\r\ncoauthors of the language as Kevin Weinberger. My humblest apologies to Mr.\r\nWeinberger, whose actual first name is Peter. I also neglected to mention one\r\nof AWK\'s most interesting features: its automatic field splitting. I hope to\r\nsubmit a followup podcast soon in order to rectify these two glaring mistakes.\r\n
\r\n\r\nAWK is a loosely typed interpreted programming language. Many useful functions\r\nin a UNIX programming environment, such as reading files, looping over input,\r\nmatching regular expressions, and splitting strings into fields have been\r\nabstracted and are presented to the programmer as native parts of the language.\r\nThis makes AWK ideal for text processing.\r\n
\r\n\r\nThe basic structure of an AWK program is a list of rules. Each rule is made up\r\nof an optional pattern and an optional action. If the pattern is matched, the\r\ncorresponding action is run. When AWK starts up, it loads the supplied program\r\ntext, runs any rules with the special BEGIN pattern, then in turn, opens each\r\nfile supplied on the command line (or stdin if no files or a - are specified).\r\nEach file is split into records based on the value in the RS (record separator)\r\nvariable. AWK then loops through each record, splits it into fields based on\r\nthe value in the FS (field separator) variable, and loops through each rule in\r\nthe program. An empty pattern matches all records, so actions with no pattern\r\nrun for every record. An empty action causes the current record to be printed.\r\n
\r\n\r\nThe operator most unique to AWK is the $ (field access) operator. When followed\r\nby an integer literal or variable holding an integer value, it returns the\r\ncorresponding field in the current record (counting from 1 up to NF, the number\r\nof fields special variable). $0 returns the entire record. If the supplied\r\ninteger is greater than NF, it is treated as an uninitialized variable, which,\r\nin AWK, is treated dually as either the empty string, or the number 0,\r\ndepending on the context in which it is referenced.\r\n
\r\n\r\nThe most common type of pattern used in AWK (excepting, perhaps, the empty\r\npattern) is a regular expression literal. It consists of a regular expression\r\nenclosed in forward slashes. This syntax is inherited from ed, the standard\r\ntext editor, and has been passed down all the way to javascript. In AWK, a\r\nregular expression literal, alone as a pattern, is shorthand for $0 ~ /regex/,\r\nwhere ~ is the regular expression match operator (the string $0, current\r\nrecord, matches the supplied regular expression).\r\n
\r\n\r\nIn this episode, nybill and pokey conduct interviews and generally have a good time at the 2014 Northeast GNU/Linux Fest.
\nSome links to follow for things that were discussed in this episode:
\nWe all had a great time recording this show, and we hope you enjoyed it as well. Please join us at the next Northeast Gnu/Linux Fest if you can. Thank you very much for listening.
\nPhotos from NELF 2014
\nSincerely, The HPR conference crew
\nP.S. Some people enjoy finding mistakes. For their enjoyment, we have included a few.
\n',128,0,1,'CC-BY-SA','interviews',0,1473,1), (1492,'2014-04-22','HPR at NELF 2014 Part2',2115,'Conference Interviews','\r\nIn this episode, nybill and pokey continue conducting interviews and having a good time at the 2014 Northeast GNU/Linux Fest.\r\n
\r\n\r\nSome links to follow for things that were discussed in this episode:\r\n
\r\n\r\n\r\nWe all had a great time recording this show, and we hope you enjoyed it as well. Please join us at the next Northeast Gnu/Linux Fest if you can. Thank you very much for listening.\r\n
\r\n\r\n\r\n\r\nPhotos from NELF 2014\r\n
\r\n\r\n\r\n\r\n\r\nSincerely,\r\nThe HPR conference crew\r\n
\r\n\r\nP.S. Some people enjoy finding mistakes. For their enjoyment, we have included a few.\r\n
',235,0,1,'CC-BY-SA','interviews',0,1344,1), (1493,'2014-04-23','The Next Gen is You (1/2)',2105,'Klaatu talks about Steam on Linux and building a system to run it - part 1','Steam OS or Steam on Linux, anti-micro for game controller optimisation.\r\n
\r\n',78,0,0,'CC-BY-SA','steam, games, hardware',0,1508,1), (1494,'2014-04-24','The Next Gen is You (2/2)',1516,'Klaatu talks about Steam on Linux and building a system to run it - part 2','\r\nSteam OS or Steam on Linux, anti-micro for game controller optimisation.\r\n
\r\nPart 2 of 2
\r\nhttps://straightedgelinux.com/blog/opinions/box.html\r\n
\r\nMy experience of playing with wiki software on the raspberry pi, I forgot to mention I run the standard Raspbian distribution on my pi\r\nif you run something else your mileage may vary.\r\n
\r\n\r\nWhen I listened to the show I noticed a few mistakes, there may be others as the show was pulled together rather hastily\r\n
\r\n\r\n1. The raspberry pi has either 256 or 512 MB of memory Not KB\'s oops\r\n
\r\n\r\n2. You can automatically create pages using camel-case words they don\'t need to start with the word wiki so in my example the page WikiNotes\r\ncould just as easily be called GuffNotes. This is because at first I didnt appreciate the meaning of the word camelcase, you learn something \r\nnew every day!\r\n
\r\n\r\n3. Wikidot still provides a free account, oops again!\r\n
\r\n\r\nwikidot\r\n
\r\n\r\n\r\ndokuwiki\r\n
\r\n\r\n\r\ndidiwiki\r\n
\r\n\r\n\r\nsed man page\r\n
\r\n\r\n\r\nsome sed tutorial and examples\r\n
\r\n\r\n\r\nHPR Episode: Using and Converting Between Units of Distance\r\n\r\nIntro: Last time, we talked in general terms about units, numbers and\r\nhow they might be useful in practice. In this episode, we address some\r\nspecific measurement units that apply to distance and area, and how we\r\nmight convert from one system to another to better understand both.\r\n\r\nEntire point of this episode is this: Carry units in calculations on \r\n distances and areas, and you\'ll have more success in using them in \r\n your life. \r\n\r\n\r\n\r\nSegment 1: Distance and Area in the English system\r\n\r\n1. Series will focus on English and Metric systems.\r\n a. Basic units of distance: inch, foot, yard, mile\r\n b. Basic units of area: square inch, square foot, acre, square mile\r\n\r\n\r\n2. Other units of distance and area do exist\r\n a. Barleycorn for shoe sizes (1/3\")\r\n b. Hand for describing horses (4\")\r\n c. Rod for surveying (16-1/2 feet)\r\n d. Chain, also for surveying (4 linear rods, 66 feet, 22 yards)\r\n e. Furlong from horse racing and agriculture (220 yards, 10 chains)\r\n f. League (about an hour\'s walk) usually assumed to be 3 miles\r\n - Nautical: technical unit that\'s exactly 3 knots\r\n g. Square yard may be used in quotes for carpet installations\r\n\r\nTable of Units: https://www.csgnetwork.com/converttable.html\r\n\r\n\r\nBrilliant Insight #1: Units of distance were originally arbitrary. We \r\n did not standardize on inches, feet, miles, and so on because these \r\n are magical units with special merits. They were convenient at the \r\n time and place where they were invented. \r\n \r\n Standards let us talk to each other about distance without having to \r\n be in the same place at the same time. We\'d have trouble if builders\r\n builders had to ask for boards \"as long as my arm\", or a plank \r\n that\'s \"Yea long\". \r\n\r\n\r\n3. Bizarre properties of some English units explained:\r\n\r\n a. Rod/Chain: Used in measuring farmland and building plots\r\n - Rod is 5-1/2 yards, or 16-1/2 feet.\r\n - Chain is 4 linear rods, or the length of a surveyor\'s chain\r\n - Could have been longer or shorter. Standard emerged from usage.\r\n \r\n b. Furlong: Longest row you can plow without resting the animals\r\n - Defined as 10 chains (220 yards)\r\n \r\n c. Acre: If you are on a quiz show, it\'s 43,560 square feet. Huh?\r\n - Defined as the area of a plot that\'s 1 chain wide by a furlong \r\n - Putting definitions together, we peek ahead to make sense of it.\r\n \r\n 1 acre = 1 chain x 1 furlong x 10 chains <--- multiply by 1\r\n ---------- (1 furlong is \r\n 1 furlong 10 chains)\r\n \r\n Cancelling out furlongs upstairs and downstairs, we get\r\n \r\n 1 acre = 1 chain x 10 chains = 10 \"square chains\"\r\n \r\n - So the square feet in an acre is not (completely) arbitrary\r\n - It\'s just mostly arbitrary, but consistent with shorter units.\r\n\r\n d. Mile: Why is it 5,280 feet? Similar story [Simplified version!]\r\n - Roman occupation brought in a 5,000 foot mile (\"mille passus\")\r\n Warning! The Roman mile was defined in Roman feet, so it was\r\n a bit shorter than I\'ve painted it. \r\n \r\n - Originated as 1,000 double-steps or \"paces\"\r\n - Since 1,000 was \"mille\", unit naturally became \"mile\" in English\r\n \r\n - Elizabeth I (1603, or was it 1593?): \r\n * Statute mile set to 8 furlongs (1,760 yds; 5,280 ft)\r\n * Why 8 furlongs? Why not 10 furlongs?\r\n\r\n * Goal: Set new mile close to existing mile, but as N furlongs.\r\n * New \"statute mile\" only about 5% longer than Roman mile\r\n Note: Similar analysis could be used with other \"miles\".\r\n \r\n * Setting a mile to a even multiple of a furlong had practical \r\n benefits, and keeping it close to the old unit reduced \r\n conversion costs for \"legacy users\".\r\n \r\n - That\'s why we\'ve inherited a mile that measures 5,280 feet.\r\n\r\n To see why the story is tremendously more complicated than my account\r\n https://en.wikipedia.com/wiki/Mile\r\n\r\n Fun article on the mile.\r\n https://www.sizes.com/units/mile.htm\r\n \r\n High school student theme on the furlong.\r\n https://www.writework.com/essay/history-furlong by silverAlex2000\r\n\r\n Brief dictionary article on the mile, referenced by Dr. Math \r\n https://www.unc.edu/~rowlett/units/dictM.html#mile \r\n Referred by https://mathforum.org/library/drmath/view/61126.html\r\n\r\n Resource: StackExchange Physics and Maths sections (\"mile\" question)\r\n https://physics.stackexchange.com/questions/57785/difference-between-nautical-and-terrestrial-miles\r\n\r\n\r\n4. Converting between units\r\n a. Units of distance usually defined as multiples of each other\r\n - 1 mile = 5,280 feet - 1 hand = 4 inches\r\n - 1 foot = 12 inches - 1 yard = 36 inches\r\n \r\n Skipping ahead to look at the metric system, we now have:\r\n - 1 inch = 2.54 centimeters (exact). Regularized in recent years.\r\n\r\n b. This works because there\'s consensus on Zero distance, so we don\'t\r\n have to adjust for differing origins, as we do with the \r\n non-absolute temperature scales like Fahrenheit and Celsius. \r\n \r\n - We\'ll get to temperature, non-absolute scales in a later show.\r\n\r\n c. For absolute scales, we can convert from one unit to another using\r\n a \"conversion factor\". That is, we can convert a measurement \r\n expressed in one unit to its equivalent in another unit by \r\n multiplying or dividing by some number to stretch or compress \r\n the original unit to match the target unit.\r\n \r\n - Example: I know that 1 foot is 12 inches, so how many inches are\r\n there in 10 feet? How feet are there in 660 inches?\r\n \r\n - It is clear that a factor of 12 ought to be involved, but how do\r\n I know when to multiply or divide by 12 in the conversion?\r\n \r\n - Wait! I\'m serious. When you see this problem for the first \r\n time, you have to think this through to get it right. \r\n * Without a system in place, you always have to think about it.\r\n \r\n - Answers in naive setup:\r\n (i) 10 feet = (12 * 10) inches = 120 inches\r\n (ii) 660 inches = (660 / 12) feet = 55 feet\r\n\r\n5. Having a system. Or units conversion as \"multiplying by One\"\r\n \r\n a. In each of the solutions I wrote down above, I start with an \r\n equation that looks like this: X inches = Y feet.\r\n\r\n b. Inches are not feet, and this way of writing down the calculation \r\n does NOT help you figure you how the conversions should work, or\r\n whether you should multiply or divide to get the right answers.\r\n\r\n c. Here\'s a system for creating conversion factors that tell you what\r\n to do at each step in the units conversion process. It is based\r\n on the very obvious fact that when I multiply any number by \'1\',\r\n its value remains unchanged.\r\n \r\n - Start with one of the identities we wrote down at the beginning.\r\n In this case, let\'s use: 12 inches = 1 foot\r\n \r\n - If I divide equals by equals, the results are equal.\r\n So I can write:\r\n \r\n 12 inches 1 foot\r\n 12 inches = 1 foot implies that --------- = --------- = 1\r\n 1 foot 12 inches\r\n \r\n - Get the first term by dividing my original identity by (1 foot).\r\n - Get the second term by dividing my original identity by (12 in).\r\n\r\n\r\n d. To make a conversion from feet to inches, I use:\r\n \r\n 12 in 10 ft \r\n 10 ft * 1 = 10 ft * ------- = ------ * 12 in = 10 * 12 in = 120 in\r\n 1 ft 1 ft\r\n \r\n - Note: In the fraction (10 ft) / (1 ft), the units \"cancel out\", \r\n which leaves a unitless number.\r\n \r\n - Suppose we start with the other form for the conversion factor:\r\n \r\n 1 ft 10 square feet \r\n 10 feet * 1 = 10 feet * ------ = -------------- = ???\r\n 12 in 12 inches\r\n \r\n - See? When I use the form where the units don\'t cancel each \r\n other, I get a resulting equation that is still correct. It \r\n just doesn\'t make much sense to me as a reader.\r\n \r\n - This is what you get when you \"divide by 12\" to convert feet to \r\n inches, but the difference is that you KNOW something\'s wrong. \r\n \r\n - You do not have to even look at the numbers to know that this \r\n could not possibly be the right number of inches in 10 feet.\r\n\r\n\r\nBrilliant Insight #2: When you use unit conversion factors, you help \r\n your cause by carrying along both sets of units in the form of a \r\n fraction as you go through your calculation. \r\n \r\n - If the units on the right-hand side of your final equation don\'t \r\n match the units you want (after everything else cancels out), your \r\n numerical answer is almost certainly WRONG.\r\n \r\n - The implication here? To convert units of distance, you need to \r\n multiply or divide by a \r\n \r\n conversion factor = (X New_Units) / (Y Old_Units). \r\n \r\n When you do this, write the conversion factor in its full fractional\r\n form, and carry out all of the multiplications and cancellations.\r\n \r\n - If you do the conversion this way, and the units match, you only \r\n have to check your arithmetic to be sure you\'ve got it right.\r\n\r\n - If the units you want do not match those on the right side of the \r\n equal sign, you are solving the wrong problem. The equation may \r\n be correct, but it is not expressed in the units you wanted.\r\n\r\n\r\n 6. Let\'s use the system to solve the second example:\r\n \r\n 1 ft 660 in * 1 ft \r\n 660 in * 1 = 660 in * ------- = --------------- = 55 feet\r\n 12 in 12 in\r\n \r\n Why? The \"inches\" units cancel out because they appear in both \r\n numerator and denominator (top/bottom, upstairs/downstairs) of\r\n the fraction in the next to last term, leaving only \"feet\".\r\n\r\n Why people hate units and conversion problems:\r\n https://www.regentsprep.org/regents/math/algebra/am2/leseng.htm\r\n\r\n Comment: The \"algebraic\" approach suggested here is ugly, ad hoc in\r\n nature, and unnecessarily complicated. Forget about setting up\r\n equations and going through formal operations to solve them.\r\n \r\n Choose your conversion factors so that the units work out properly\r\n as a straight multiplication problem with cancellation of all the\r\n units you don\'t want. You may have to \"divide\" numbers, but you\r\n can use your calculator for working through the numbers.\r\n \r\n Cranky Summary: You should not have to solve equations to convert\r\n between units. Phooey on anyone who says otherwise. :-)\r\n \r\n\r\nSegment 2: Conversions using compound conversion factors.\r\n\r\n1. Suppose I want to find the number of inches in a furlong, or the \r\n number of acres (or hectares) in a square mile?\r\n \r\n - My almanac doesn\'t carry these conversion factors, so I start with \r\n what I do have and work my way through it.\r\n \r\n 4 rods 16.5 ft 12 in\r\n 1 furlong = 10 chains = 10 chains * ------- * ------- * -------\r\n 1 chain 1 rod 1 ft\r\n \r\n = 10 * 4 * 16.5 * 12 inches = ... = 7920 inches \r\n\r\n\r\n2. For acres in a square mile (1 mi^2), we have a bit more to do.\r\n\r\n Abbreviations used: miles = mi, furlong = fur, chain = ch\r\n \r\n Area means that we are dealing in two dimensions, so we have to \r\n convert the lengths in each dimension. An acre is already a \r\n measure of area, so we\'re good.\r\n \r\n 1 acre 10 ch 8 fur 10 ch 8 fur\r\n 1 sq mi = 1 mi^2 * -------- * ------ * ----- * ----- * -----\r\n 10 ch^2 1 fur 1 mi 1 fur 1 mi\r\n \r\n = (1 mi * 1 mi) * 1 acre * 10 ch * 10 ch 8 fur * 8 fur\r\n ------------- * -------------\r\n 10 ch * ch 1 mi * 1 mi\r\n \r\n Units cancel, leaving this:\r\n \r\n 1 sq mi = 1 acre * (100/10) * (8 * 8) = 10 * 64 acres = 640 acres\r\n \r\n \r\nNext time: \"Hey! Ready to try metric?\"\r\n\r\n',229,72,0,'CC-BY-SA','mathematics,units,distance,area',0,1402,1), (1502,'2014-05-06','Practical Math - Units - Distances and Area, Part 2',1834,'Charles in NJ continues Practical Math with an episode on units of distance and area','
\r\nHPR Episode: Using and Converting Between Units of Distance\r\n\r\nIntro: Last time, we talked in general terms about units, numbers and\r\nhow they might be useful in practice. In this episode, we address some\r\nspecific measurement units that apply to distance and area, and how we\r\nmight convert from one system to another to better understand both.\r\n\r\nEntire point of this episode is this: Carry units in calculations on \r\n distances and areas, and you\'ll have more success in using them in \r\n your life. \r\n\r\n\r\n\r\nSegment 1: Review of Distance and Area conversions in the English system\r\n\r\n1. Links from last time\r\n\r\n Table of Units: \r\n https://www.csgnetwork.com/converttable.html\r\n\r\n To see why the story is tremendously more complicated than my account\r\n https://en.wikipedia.com/wiki/Mile\r\n\r\n Fun article on the mile.\r\n https://www.sizes.com/units/mile.htm\r\n \r\n High school student theme on the furlong.\r\n https://www.writework.com/essay/history-furlong by silverAlex2000\r\n\r\n Brief dictionary article on the mile, referenced by Dr. Math \r\n https://www.unc.edu/~rowlett/units/dictM.html#mile \r\n Referred by https://mathforum.org/library/drmath/view/61126.html\r\n\r\n Resource: StackExchange Physics and Maths sections (\"mile\" question)\r\n https://physics.stackexchange.com/questions/57785/difference-between-nautical-and-terrestrial-miles\r\n\r\n\r\n2. Converting between units\r\n a. Units of distance usually defined as multiples of each other\r\n - 1 mile = 5,280 feet - 1 hand = 4 inches\r\n - 1 foot = 12 inches - 1 yard = 36 inches\r\n \r\n Skipping ahead to look at the metric system, we now have:\r\n - 1 inch = 2.54 centimeters (exact). Regularized in recent years.\r\n\r\n b. This works because there\'s consensus on Zero distance, so we don\'t\r\n have to adjust for differing origins, as we do with the \r\n non-absolute temperature scales like Fahrenheit and Celsius. \r\n \r\n - We\'ll get to temperature, non-absolute scales in a later show.\r\n\r\n c. For absolute scales, we can convert from one unit to another using\r\n a \"conversion factor\". That is, we can convert a measurement \r\n expressed in one unit to its equivalent in another unit by \r\n multiplying or dividing by some number to stretch or compress \r\n the original unit to match the target unit.\r\n \r\n - Example: I know that 1 foot is 12 inches, so how many inches are\r\n there in 10 feet? How feet are there in 660 inches?\r\n \r\n - It is clear that a factor of 12 ought to be involved, but how do\r\n I know when to multiply or divide by 12 in the conversion?\r\n \r\n - Wait! I\'m serious. When you see this problem for the first \r\n time, you have to think this through to get it right. \r\n * Without a system in place, you always have to think about it.\r\n \r\n - Answers in naive setup:\r\n (i) 10 feet = (12 * 10) inches = 120 inches\r\n (ii) 660 inches = (660 / 12) feet = 55 feet\r\n\r\n3. Having a system. Or units conversion as \"multiplying by One\"\r\n \r\n a. In each of the solutions I wrote down above, I start with an \r\n equation that looks like this: X inches = Y feet.\r\n\r\n b. Inches are not feet, and this way of writing down the calculation \r\n does NOT help you figure you how the conversions should work, or\r\n whether you should multiply or divide to get the right answers.\r\n\r\n c. Here\'s a system for creating conversion factors that tell you what\r\n to do at each step in the units conversion process. It is based\r\n on the very obvious fact that when I multiply any number by \'1\',\r\n its value remains unchanged.\r\n \r\n - Start with one of the identities we wrote down at the beginning.\r\n In this case, let\'s use: 12 inches = 1 foot\r\n \r\n - If I divide equals by equals, the results are equal.\r\n So I can write:\r\n \r\n 12 inches 1 foot\r\n 12 inches = 1 foot implies that --------- = --------- = 1\r\n 1 foot 12 inches\r\n \r\n - Get the first term by dividing my original identity by (1 foot).\r\n - Get the second term by dividing my original identity by (12 in).\r\n\r\n\r\n d. To make a conversion from feet to inches, I use:\r\n \r\n 12 in 10 ft \r\n 10 ft * 1 = 10 ft * ------- = ------ * 12 in = 10 * 12 in = 120 in\r\n 1 ft 1 ft\r\n \r\n - Note: In the fraction (10 ft) / (1 ft), the units \"cancel out\", \r\n which leaves a unitless number.\r\n \r\n - Suppose we start with the other form for the conversion factor:\r\n \r\n 1 ft 10 square feet \r\n 10 feet * 1 = 10 feet * ------ = -------------- = ???\r\n 12 in 12 inches\r\n \r\n - See? When I use the form where the units don\'t cancel each \r\n other, I get a resulting equation that is still correct. It \r\n just doesn\'t make much sense to me as a reader.\r\n \r\n - This is what you get when you \"divide by 12\" to convert feet to \r\n inches, but the difference is that you KNOW something\'s wrong. \r\n \r\n - You do not have to even look at the numbers to know that this \r\n could not possibly be the right number of inches in 10 feet.\r\n\r\n\r\nBrilliant Insight #2: When you use unit conversion factors, you help \r\n your cause by carrying along both sets of units in the form of a \r\n fraction as you go through your calculation. \r\n \r\n - If the units on the right-hand side of your final equation don\'t \r\n match the units you want (after everything else cancels out), your \r\n numerical answer is almost certainly WRONG.\r\n \r\n - The implication here? To convert units of distance, you need to \r\n multiply or divide by a \r\n \r\n conversion factor = (X New_Units) / (Y Old_Units). \r\n \r\n When you do this, write the conversion factor in its full fractional\r\n form, and carry out all of the multiplications and cancellations.\r\n \r\n - If you do the conversion this way, and the units match, you only \r\n have to check your arithmetic to be sure you\'ve got it right.\r\n\r\n - If the units you want do not match those on the right side of the \r\n equal sign, you are solving the wrong problem. The equation may \r\n be correct, but it is not expressed in the units you wanted.\r\n\r\n\r\n 6. Let\'s use the system to solve the second example:\r\n \r\n 1 ft 660 in * 1 ft \r\n 660 in * 1 = 660 in * ------- = --------------- = 55 feet\r\n 12 in 12 in\r\n \r\n Why? The \"inches\" units cancel out because they appear in both \r\n numerator and denominator (top/bottom, upstairs/downstairs) of\r\n the fraction in the next to last term, leaving only \"feet\".\r\n\r\n Why people hate units and conversion problems:\r\n https://www.regentsprep.org/regents/math/algebra/am2/leseng.htm\r\n\r\n Comment: The \"algebraic\" approach suggested here is ugly, ad hoc in\r\n nature, and unnecessarily complicated. Forget about setting up\r\n equations and going through formal operations to solve them.\r\n \r\n Choose your conversion factors so that the units work out properly\r\n as a straight multiplication problem with cancellation of all the\r\n units you don\'t want. You may have to \"divide\" numbers, but you\r\n can use your calculator for working through the numbers.\r\n \r\n Cranky Summary: You should not have to solve equations to convert\r\n between units. Phooey on anyone who says otherwise. :-)\r\n \r\n\r\nSegment 2: Conversions using compound conversion factors.\r\n\r\n1. Suppose I want to find the number of inches in a furlong, or the \r\n number of acres (or hectares) in a square mile?\r\n \r\n - My almanac doesn\'t carry these conversion factors, so I start with \r\n what I do have and work my way through it.\r\n \r\n 4 rods 16.5 ft 12 in\r\n 1 furlong = 10 chains = 10 chains * ------- * ------- * -------\r\n 1 chain 1 rod 1 ft\r\n \r\n = 10 * 4 * 16.5 * 12 inches = ... = 7920 inches \r\n\r\n\r\n2. For acres in a square mile (1 mi^2), we have a bit more to do.\r\n\r\n Abbreviations used: miles = mi, furlong = fur, chain = ch\r\n \r\n Area means that we are dealing in two dimensions, so we have to \r\n convert the lengths in each dimension. An acre is already a \r\n measure of area, so we\'re good.\r\n \r\n 1 acre 10 ch 8 fur 10 ch 8 fur\r\n 1 sq mi = 1 mi^2 * -------- * ------ * ----- * ----- * -----\r\n 10 ch^2 1 fur 1 mi 1 fur 1 mi\r\n \r\n = (1 mi * 1 mi) * 1 acre * 10 ch * 10 ch 8 fur * 8 fur\r\n ------------- * -------------\r\n 10 ch * ch 1 mi * 1 mi\r\n \r\n Units cancel, leaving this:\r\n \r\n 1 sq mi = 1 acre * (100/10) * (8 * 8) = 10 * 64 acres = 640 acres\r\n \r\n \r\n\r\nSegment 3: Hey! Ready to try metric?\r\n\r\n1. Metric system never caught on in the US, although most of English-\r\n speaking world has adopted it. Units conversion is easy in the \r\n metric system, because everything is in powers of 10.\r\n \r\n - But you still need to carry along units in calculations!\r\n \r\n2. Area and distance units in the metric system\r\n\r\n - Basics of distance: Centimeter is easy for us to see, and now the \r\n factor to convert centimeters to inches is exact.\r\n \r\n 1 inch = 2.54 centimeters (cm) exactly\r\n \r\n 1 inch\r\n 1 meter = 100 cm = 100 cm * --------- = 39.37 in (approximate)\r\n 2.54 cm \r\n\r\n 1 kilometer = 1,000 meters\r\n \r\n\r\n - Basics of area:\r\n \r\n 1 are = 100 sq meters (area of a square that\'s 10m on each side)\r\n \r\n 100 sq m\r\n 1 hectare = 100 ares = 100 ares * ---------- = 10,000 sq meters\r\n 1 are\r\n\r\n3. For short distances, we should do our conversions fairly precisely.\r\n\r\n - There\'s usually a higher relative error from rounding off too soon.\r\n - If you measure wood for a small project, you want to be \"close\".\r\n\r\n 2.54 cm\r\n So 1 foot = 12 in * --------- = 30.48 cm exactly. Cut carefully!\r\n 1 in\r\n \r\n4. For larger distances, like distances covered in track and field, or\r\n the length of a football pitch (to a spectator), approximations can \r\n give you a nice intuition for comparing units you know and a new\r\n set of units that you don\'t know as well.\r\n \r\n - 1 meter is around 39.37 inches. Suppose I call it about 1.10 yards\r\n as a kind of approximate benchmark (39.60 in), so each meter in \r\n my reckoning is about a quarter of an inch too long? \r\n \r\n - If I\'m planning a space mission, I could be in trouble. \r\n But how bad would this be for getting an intuitive feel of the \r\n distances covered by the athletes in the Olympic Games?\r\n\r\n - Error at 100 meters is about 0.23 in (0.6 cm) * 100 = 60 cm over\r\n at 200 meters, it\'s 1.1 m over.\r\n at 1 kilometer, it\'s 5.6 m over.\r\n \r\n Unless you\'re a long-range sharpshooter, 5.6m off in 1 km seems OK.\r\n\r\n\r\n5. Bonus: The news talked about a wildfire that burned 100,000 hectares.\r\n What kind of area are we talking about?\r\n\r\n - Let\'s use our approxmation of 1 meter is about 1.1 yards.\r\n \r\n - Acres are defined in terms of \"square chains\", so let\'s look at \r\n meters vs chains to see what we get.\r\n \r\n 1 m\r\n 1 chain = 4 linear rods = 22 yds = 22 yds * -------- = about 20m\r\n 1.1 yd\r\n\r\n 20m 20m\r\n 1 acre = 10 square chains = 10 ch * 1 ch * ----- * ------\r\n 1 ch 1 ch\r\n \r\n = 10 * 1 * 20m * 20m = 4,000 square meters, or 0.4 hectares\r\n\r\n - Wow! An acre\'s about 0.4 hectares, or 1 hectare\'s about 2.5 acres.\r\n\r\n\r\n So what\'s the answer?\r\n 2.5 acres \r\n a) 100,000 hectares = 100,000 hectares * --------- = 250,000 acres\r\n 1 hectare \r\n\r\n\r\n 1 sq. mi 250,000\r\n b) 100,000 hectares = 250,000 acres * --------- = ------- sq. mi\r\n 640 acres 640\r\n \r\n = 391 sq. miles (about 400 sq miles)\r\n\r\n Note: This suggests a shortcut conversion (hectares to square miles).\r\n\r\n 640 acres 1 hectare\r\n 1 square mile = 1 sq. mile * --------- * --------- = 256 hectares\r\n 1 sq. mi. 2.5 acres\r\n\r\n\r\n6. Final check: Error analysis on this approximate conversion from \r\n hectares to acres or square miles.\r\n\r\n - Using Google or \'units\' in the shell, we have:\r\n \r\n 1 sq mi = 259 hectares to 6 significant digits, versus 256 (1%)\r\n\r\n Note: If we used 250 hectares per square mile, the relative error \r\n is 3.5%. That\'s less than the error in the news report.\r\n\r\n 1 hectare = 2.47105 acres, versus 2.5 (1% error)\r\n\r\n Units shell command: Dann Washko did a really nice job on \'units\' for HPR.\r\n * Linux in the Shell #26: https://www.linuxintheshell.org/\r\n * HPR Episode #1213: https://hackerpublicradio.org/eps.php?id=1213\r\n\r\n\r\nFinal word: Unless you are buying, selling or cultivating land, use the \r\n cruder approximations here to understand the relationships between \r\n acres, hectares and square miles. It will make you seem smarter.\r\n \r\n - If someone calls you out and says it\'s wrong, blame \"that guy on HPR.\"\r\n\r\n\r\nNext Topic? Volumes and recipes, other than medicines (separate topic)\r\n - Volumes are the bottom line in cooking, unless they aren\'t.\r\n - Hint: You should weigh some items, like some kinds of flour.\r\n',229,72,0,'CC-BY-SA','mile,furlong,foot,hand,yard,conversion,metric system',0,1344,1), (1499,'2014-05-01','How I Got Into Computers',3597,'linux, computing, minicomputers, Fortran, COBOL, Pascal, Basic','
\r\nHPR Episode: How I Got Into Computers\r\n\r\n1. Got into computers in 1974 in high school.\r\n - School had a DEC PDP-11/20 minicomputer\r\n * Two ASR-33 Teletype terminals, keypunch, line printer, card sorter\r\n * Ran older operating system RSTS-11 v4a\r\n - Too low-end to run anything more recent.\r\n - 16K words of core memory: point-to-point wired \"cores\"\r\n\r\n - The system was somewhat rudimentary. It\'s idea of a prompt was:\r\n \r\n READY\r\n \r\n - A Teletype terminal does not have a screen, so the print head \r\n was the only \"cursor\" to let you know where you are. \r\n \r\nHardware:\r\nPDP-11/20: Computer Museum \r\n https://www.computerhistory.org/revolution/minicomputers/11/366/1946\r\n \r\nPDP-11/20: Retro Technology\r\n https://www.retrotechnology.com/pdp11/exhibit/PDP_11_infoage_1.htm\r\n\r\nASR Model 33 Teletype with PDP-11 model computers\r\n https://www.retrotechnology.com/pdp11/\r\n \r\nOperating System:\r\nRSTS-11 System Managers Guide\r\n https://bitsavers.trailing-edge.com/pdf/dec/pdp11/rsts/V04/DEC-11-ORSMA-B-D_RSTSmgr_73.pdf\r\n \r\nRSTS-11 System Users Guide\r\n https://bitsavers.trailing-edge.com/pdf/dec/pdp11/rsts/V06/DEC-11-ORSUA-D-D_RSTS_SystemUserGuide_Jul75.pdf\r\n\r\n\r\n\r\n2. Learned BASIC-Plus to get anywhere, starting with 1/2-year course\r\n\r\nDEC BASIC Plus Language Manual\r\n https://bitsavers.trailing-edge.com/pdf/dec/pdp11/rsts/V04/DEC-11-ORBPA-A-D_BASIC-PLUS_LangMan_Oct72.pdf \r\n\r\n * Course was taught by a math teacher who was not an amazing programmer, \r\n but he was a great teacher. He enabled us to get going with BASIC. \r\n\r\n * Anticipated pairs programming by working on programs with a friend as\r\n \"Chuck and Duck Enterprises\", but we were mainly having fun.\r\n - Started by necessity (1 TTY), but we got satisfying results faster\r\n - Both of us could write code, but we learned about using\r\n complementary strengths to get cool stuff done.\r\n\r\nPairs programming:\r\n Pairs Programming, from XP\r\n https://www.extremeprogramming.org/rules/pair.html\r\n \r\n Laurie Williams (Her other stuff is good, too)\r\n https://collaboration.csc.ncsu.edu/laurie/publications.html\r\n\r\n \r\n * Small memory --> innovation\r\n - ASCII Art \"Poster\" Program: \r\n Create banner with block letters on LP based on terminal input.\r\n - Developed a mini-language to encode characters, white space, \r\n newlines for each supported character.\r\n - This was a special-purpose language used to compress data, rather\r\n than a cool Domain-Specific Language (DSL).\r\n - We just wanted to make cool banners to come off the line printer.\r\n\r\nDomain Specific Languages: Why ours wasn\'t a DSL\r\n Martin Fowler on DSLs\r\n https://martinfowler.com/tags/domain%20specific%20language.html\r\n \r\n\r\n\r\n3. Did a math major in college, after switching away from Comp. Sci.\r\n\r\n * Math had advantages for me\r\n - More flexible curriculum \r\n - Abstractions of the time were more fun to play with\r\n \r\n * I used the University computers on jobs as research assistant, tutor, typist\r\n - Used them in course work, too.\r\n - Planning my code carefully let me use my excess CPU seconds for fun\r\n - Rule of Thumb: 1 hour in library is worth 12 hours at the terminal.\r\n\r\n\r\n4. Branching out in hardware, systems and programming languages\r\n\r\n* We learned FORTRAN in the programming courses\r\n - I resisted the temptation to \"think in FORTRAN\" \r\n - More general approach felt slower for getting individual jobs done.\r\n - Working from first principles seemed more reliable\r\n - Often gave me better solutions than following my nose in FORTRAN\r\n\r\n Quirky FORTRAN Preprocessor for Structured Programming (SF/K)\r\n https://www.worldcat.org/title/fundamentals-of-structured-programming-using-fortran-with-sfk-and-watfiv-s/oclc/301094243\r\n\r\n * Later, I picked up Pascal and TOPS-20 Assembly Language\r\n \r\n Pascal: From the source\r\n Pascal User Manual and Report (Springer) Trade paperback (1975)\r\n by Kathleen Jensen, K Jensen, N Wirth\r\n\r\n Trade paperback, Springer, 1975. English 2nd ed. 167 pages\r\n ISBN: 0387901442 ISBN-13: 9780387901442\r\n \r\n \r\n\r\n5. Gear and software rundown:\r\n\r\n * Xerox/Honeywell Sigma Six (descended from Scientific Data Systems) \r\n (1977 to 1979)\r\n https://en.wikipedia.org/wiki/CP-V_operating_system\r\n https://en.wikipedia.org/wiki/SDS_Sigma_series\r\n\r\n * DEC System 2060 (relabeled PDP-10) running TOPS-20 on a 36-bit machine\r\n (1979 to 1981)\r\n https://bitsavers.trailing-edge.com/pdf/dec/pdp10/TOPS20/DECnet-20/AA-5091B-TM_TOPS-20_DECnet-20_Programmers_Guide_Jan80.pdf\r\n https://pdp10.nocrew.org/docs/ad-h391at1.pdf DECsystem-10 and -20 Processor Ref.\r\n\r\n\r\n6. Summer and Night Job\r\n * The Duration Caper:\r\n Friend fixing a Fortran program to compute bond duration on a large portfolio.\r\n - Answers weren\'t coming out, so he printed out several subtotals in his calculation.\r\n - \"Extend the line\" to include the last term in the numerator of one big fraction \"and you\'ll have it\"\r\n \r\n Found a typo in the Jack Clark Francis \"bible\" of investments theory\r\n - Throwaway question: \"What\'s this duration stuff, anyway?\"\r\n - Question got me hired as a research assistant by Finance department in Business school\r\n \r\n Investments: Analysis and Management, First Edition Hardcover(1972)\r\n by Jack Clark Francis. McGraw-Hill Book Company\r\n ISBN: 0070217858 ISBN-13: 9780070217850\r\n \r\n\r\n * The \"Sure! I Know Assembly Language\" Caper\r\n Offered a job with Finance, conditional on first assignment.\r\n - Take over maintenance of a Fortran program with inline Assembly Language\r\n - Original developer was a senior Computer Science major I knew.\r\n - Gambled that his code was solid. And won in the end.\r\n \r\n Got paid 3 times minimum wage ($7.50/hour versus $2.30) to look up and read research papers.\r\n - I\'d have done it for free, so this was a sweet gig.\r\n \r\n \r\n * Other jobs:\r\n - Tutoring math, computer science for food or cash\r\n - Programming jobs\r\n - Teaching assistant jobs for statistics, finance courses\r\n - Security and management of student-run darkroom in Summer months == \"reading\"\r\n - Typing papers on a typewriter\r\n \r\n \r\n7. After college, started working in non-life insurance.\r\n\r\n * End user computing in actuarial group was in BASIC-Plus on PDP-11s\r\n - Word processing was in DECword or the WPS-8 dedicated machine.\r\n - After first year, moved to department-level PDP-11/44\r\n - For heavy-duty jobs, we also had timesharing access to VAX-11/780\r\n \r\n * First project was building a database from mainframe data dump\r\n - EBCDIC data conversion to ASCII led to my education about signed\r\n data fields in COBOL.\r\n - I knew hexadecimal math from my assembly language course\r\n - I\'d seen EBCDIC in dumps while writing FORTRAN on CP-V\r\n \r\n Data dumps from 9-track to PDP-11/70 led to Overpunch field conversion\r\n https://www.3480-3590-data-conversion.com/article-signed-fields.html\r\n\r\n * Note: When you have curly braces at the end of a signed number field, \r\n the brace opens in the direction of the positive or negative end of\r\n the number line.\r\n - Open brace ({): Value ends in zero and has positive sign. Zero < X\r\n - Closing brace (}): Value ends in zero and is negative. Zero > X\r\n\r\n * If field ends in A, the value\'s final digit is 1, and it\'s positive\r\n - B means positive value that ends with a 2, C is 3, ... I is 9.\r\n - So \"00003757D\" is $ +375.74.\r\n \r\n * If the field ends in J-R, the value is negative and ends in 1-9.\r\n - So \"00000255R\" is the value $ -25.59.\r\n \r\n\r\n\r\n8. Irony: I was asked to help troubleshoot a program that was crashing\r\n as it was automatically converting the rates and rules manuals away\r\n from Unix with \'nroff\' to DECword on RSTS in 1982.\r\n - This may have delayed my adoption of Linux\r\n - Used Unix (Ultrix) in early 1990s to preprocess data for use in OS/2\r\n - Had to move to Win 95 and Win NT for work\r\n\r\n\r\n****** Skipping the Dark Period of DOS/Windows and OS/2 Computing ******\r\n - Turbo Pascal, APL, PICK, QuickBasic, Visual Basic, Excel with VBA\r\n - Learned SQL dialects, COM, .Net, and scripting languages\r\n\r\nMore from Dark Period: Less Slackware\r\n\r\n\r\n8. Gave Linux a try with Quantian Live CD in 2006 (Thanks, Dirk!)\r\n https://dirk.eddelbuettel.com/quantian.html \r\n https://dirk.eddelbuettel.com/quantian-tmp.pdf (PDF description)\r\n https://dirk.eddelbuettel.com/quantian/quantian_0.7.9.2.quantian.packages.txt\r\n \r\n * Used Live CDs to try Debian packages, repair PCs, and do math stuff\r\n - Liked Gnumeric, Python, R, and educational software\r\n - Wiped my Vista laptop in April, 2008 to install Ubuntu full-time\r\n - Music, checking, and photo editing kept me from switching other PCs\r\n\r\n9. Tried Ubuntu \"Feisty\" using WUBI on Windows XP on Racing Cow\r\n * Trouble-free install, mainly because I was on an Ethernet cable\r\n - Tried out Linux software in a risk-free environment to find what I liked\r\n - GNOME 2 was close enough to Windows and Mac, so no problems with UI\r\n - Command line was similar to Ultrix and even to DOS, so not so bad.\r\n\r\n * WUBI let me try Ubuntu without having to dual boot or use Live CDs\r\n - Easy to install and remove, like a Windows application\r\n - No messy virtualization setup\r\n - Linux could see and use files on my Windows partition seamlessly\r\n\r\n * Ubuntu \"Hardy\" on \"Titanic\" (retired Dell Latitude D820 laptop)\r\n - Install was easy, except for wireless networking\r\n - Had to use NDISWRAPPER at first, but everything worked.\r\n\r\n * Switched my main home desktop (Racing Cow) in April, 2011\r\n - Just in time for Unity, which would not run on my gear.\r\n - Gnome 2 ran well on my computers, and they choked on Unity and Gnome 3.\r\n - Taste and older machines led me to go distro hopping.\r\n - Dan Lynch of Linux Outlaws pointed me to CrunchBang. Try it.\r\n https://crunchbang.org\r\n\r\n\r\n9. Other distros I\'ve tried:\r\n\r\n * Gentoo (June 2011): https://www.gentoo.org \r\n \r\n Note: It is not as super-hard as you\'ve been told.\r\n \r\n Installed it in three 4-hour sessions after reading docs on train\r\n - Compiled kernel on first shot\r\n - Added modules for devices I liked, and that recompile worked\r\n - Got X working enough to use a browser and a window manager\r\n - Gave up only because I had not decided on my workflows\r\n - Was afraid to mix GTK and QT or KDE packages at that stage\r\n - Unsure about reversing wrong choices \r\n - Unfamiliar toolkits scared me, although I had no real problems\r\n \r\n Conclusion: My problem with Gentoo? Between keyboard and chair. \r\n\r\n\r\n * Slackware (several times): https://www.slackware.org\r\n \r\n Always installs on first try for me, with huge kernel\r\n - Knowing what to do after initial install was the problem here, too\r\n - To remove fear, I updated my 13.37 with all patches by hand\r\n - Manual updates after install took 2 hours, including learning pkgtool\r\n - Using generic or custom kernels is only hard when I\'m stupid\r\n * Be sure the drivers to operate your boot disk are compiled in\r\n \r\n Conclusion: After hating older versions, it\'s KDE 4 for the win!\r\n \r\n \r\n * SlackerMedia book: https://slackermedia.info\r\n \r\n Helpful tips on designing workstation around workflows\r\n - Uses SlackBuilds and SlackBuild queues for repeatable configuration\r\n - Gave me idea for groups working on math software-in-progress\r\n - Slackware package format is simple, easy to grasp (for binaries)\r\n - SlackBuilds: close to a universal format for sharing program source\r\n \r\n Why Slackware?\r\n - There are SlackBuild scripts for Sage and other packages I like\r\n - Slackware comes with support for TeX for math writing\r\n - SlackerMedia has queues for audio, video, web editing, publishing\r\n \r\n Conclusion: SlackerMath is born. Still needs to be fleshed out.\r\n - Slackware distribution-from-scratch based on SlackBuilds\r\n - Set it up as you wish using your own custom queues\r\n - Suggested packages would include Sage, R, Octave, GSL, QuantLib,\r\n Grass GIS, kile, gretl, Tux Racer, euler, gnucap, and others\r\n - Languages: Python with NumPy/SciPy/matplotlib and bindings to \r\n other languages/libraries, Scheme, Perl, Lua, C and Fortran\r\n \r\n * Also tried the following, but didn\'t stay with them\r\n - Slax (www.slax.org)\r\n - \r\n11. Right now: \r\n * Five of our six former Windows computers have switched to Linux.\r\n - \"Surfing Cow\" decommissioned with CrunchBang as its final O/S.\r\n - \"Racing Cow\" still going strong with CrunchBang\r\n - Sony FE laptop \"White Cloud\" running Ubuntu 13.04\r\n - Derringer is my audio editing machine, because it\'s under 3 lbs.\r\n - Laptop \"Titanic\" died after a baptism in red wine\r\n Back to life with new keyboard, disk, and name -- \"Lazarus\"\r\n \r\n * Number six (\"Dawn Pixie\") about to go to a Linux \"granny\" distro\r\n - Linux Mint or PCLinuxOS (KDE version)\r\n - Need a \"granny\" distros for generic use by all comers\r\n\r\n',229,29,0,'CC-BY-SA','DEC,PDP-11/20,ASR-33,RSTS-11,BASIC,FORTRAN,Pascal,VAX-11/780,Ultrix,Linux,Ubuntu,Gentoo,Slackware',0,1491,1), (1498,'2014-04-30','Personal OpenVPN',2295,'John Duarte talks about setting up OpenVPN','
\r\nThis guide will walk you through setting up an OpenVPN server as well as a client.\r\n
\r\n\r\nHere is how to install OpenVPN on Centos6. Other RedHat derivatives should be similar.\r\n
\r\n\r\n
\r\n wget https://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm\r\n rpm -Uvh epel-release-6-8.noarch.rpm\r\n yum install openvpn -y\r\n\r\n\r\n
\r\nHere is how to install OpenVPN on a Debian server. Other Debian derivatives should be similar.\r\n
\r\n\r\n
\r\n apt-get install openvpn\r\n\r\n\r\n
\r\nAfter the server is installed, the server certificate authority and keys must be generated.\r\nThis will be followed by the client keys, and then the server configuration file.\r\n
\r\n\r\nCopy the easy-rsa scripts into /etc/openvpn\r\n
\r\n\r\n
\r\n cp -rf /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa # on Debian\r\n\r\n
\r\n cp -rf /usr/share/openvpn/easy-rsa/2.0/* /etc/openvpn/easy-rsa # on Centos6\r\n\r\n\r\n
\r\nSet Environmental variables\r\n
\r\n\r\n
\r\n cd /etc/openvpn/easy-rsa\r\n vim vars\r\n\r\n\r\n
\r\nChange the following variables to meet your needs. These are used for your\r\nconvenience. They will be used as the defaults during the interactive key\r\ngeneration session to set the keys attributes.\r\n
\r\n\r\n
\r\n export KEY_COUNTRY=\"US\"\r\n export KEY_PROVINCE=\"CA\"\r\n export KEY_CITY=\"SanFrancisco\"\r\n export KEY_ORG=\"Fort-Funston\"\r\n export KEY_EMAIL=\"me@myhost.mydomain\"\r\n\r\n\r\n
\r\nSource the variables to the current shell\r\n
\r\n\r\n . ./vars\r\n
\r\n\r\nCreate certificate authority\r\n
\r\n\r\n
\r\n ./clean-all\r\n ./build-ca\r\n ./build-dh\r\n\r\n\r\n
\r\nCreate keys for the server and clients\r\n
\r\n\r\n
\r\n ./build-key-server server\r\n ./build-key client1\r\n ./build-key client2\r\n\r\n\r\n
\r\nSetup the server configuration file\r\n
\r\n\r\n
\r\n cd /etc/openvpn\r\n gunzip /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz # on Debian\r\n vim /etc/openvpn/server.conf\r\n\r\n\r\n
\r\nServer settings\r\n
\r\n\r\n
\r\n port 1194\r\n proto udp\r\n dev tun\r\n ca /etc/openvpn/easy-rsa/keys/ca.crt\r\n cert /etc/openvpn/easy-rsa/keys/server.crt\r\n key /etc/openvpn/easy-rsa/keys/server.key\r\n dh /etc/openvpn/easy-rsa/keys/dh2048.pem\r\n server 10.10.42.0 255.255.255.0\r\n ifconfig-pool-persist ipp.txt\r\n client-config-dir ccd\r\n route 10.10.42.0 255.255.255.0\r\n client-to-client\r\n keepalive 10 120\r\n cipher AES-256-CBC # AES\r\n comp-lzo\r\n user nobody\r\n group nogroup\r\n persist-key\r\n persist-tun\r\n status openvpn-status.log\r\n verb 3\r\n\r\n\r\n
\r\nRestart VPN Service\r\n
\r\n\r\n
\r\n service openvpn restart\r\n\r\n\r\n
\r\nIf the service fails to start, try starting openVPN manually.\r\nThe resulting errors will allow you to see what item in the\r\nconfiguration file is incorrect.\r\n
\r\n\r\n
\r\n openvpen server.conf\r\n\r\n\r\n
\r\nOnce you are able to get openVPN to start without error,\r\nkill it and restart it using the service command above.\r\nYou can verify that the vpn is successfully running by\r\nlooking at the configured interfaces using the following\r\ncommand.\r\n
\r\n\r\n
\r\n ifconfig\r\n\r\n\r\n
\r\nYou should now see an entry like the following:\r\n
\r\n\r\n
\r\ntun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00\r\n inet addr:10.10.42.1 P-t-P:10.10.42.2 Mask:255.255.255.255\r\n UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1\r\n RX packets:622255 errors:0 dropped:0 overruns:0 frame:0\r\n TX packets:986993 errors:0 dropped:0 overruns:0 carrier:0\r\n collisions:0 txqueuelen:100\r\n RX bytes:40649523 (38.7 MiB) TX bytes:1344026670 (1.2 GiB)\r\n\r\n\r\n
\r\nThe installation of OpenVPN for linux is the same as described above for\r\nthe server. For Windows, Download and run the OpenVPN installer from the\r\nOpenVPN Community Downloads.\r\n
\r\n\r\nNOTE: On Windows, User Account Control (UAC) must be turned\r\noff in order to allow OpenVPN to execute the necessary network\r\ncommands to bring up the VPN. Open Start > Control Panel >\r\nUser Accounts and Family Safety > User Accounts > Change User\r\nAccount Control Settings. Set to Never Notify, click OK,\r\nand reboot the machine.\r\n
\r\n\r\nClient Configuration file\r\n
\r\n\r\nFor linux, the client config file would go in `/etc/openvpn` just like\r\nthe server config. We will name it `client.conf` to clarify that the\r\ndevice is being configured as an OpenVPN client.\r\nOn Windows, the keys and client config files go in the\r\n`C:\\Program Files (x86)\\OpenVPN\\config`. The config file has\r\nto have an `.ovpn` suffix.\r\n
\r\n\r\n
\r\n client\r\n dev tun\r\n proto udp\r\n remote myvpn.example.org 1194\r\n resolv-retry infinite\r\n nobind\r\n user nobody\r\n group nogroup\r\n persist-key\r\n persist-tun\r\n ca /etc/openvpn/keys/ca.crt\r\n # on Windows, the format is:\r\n # ca \"C:\\\\Program Files (x86)\\\\OpenVPN\\\\config\\\\ca.crt\"\r\n # Windows may also change the file suffix on the crt files to cer.\r\n # So, If Windows complains that it cannot find the file,\r\n # examine its properties to verify the suffix.\r\n # The logs are stored at C:\\\\Program Files (x86)\\\\OpenVPN\\\\log\r\n cert /etc/openvpn/keys/client1.crt\r\n key /etc/openvpn/keys/client1.key\r\n ns-cert-type server\r\n cipher AES-256-CBC\r\n comp-lzo\r\n verb 3\r\n\r\n\r\n
\r\nCopy client key and server ca files onto client\r\n
\r\n\r\n
\r\n scp ca.crt user@client1:.openvpn/\r\n scp client1.crt user@client1:.openvpn/\r\n scp client1.key user@client1:.openvpn/\r\n\r\n\r\n
\r\nOn the server create the ccd directory to assign static addresses to clients.\r\n
\r\n\r\n
\r\n mkdir /etc/openvpn/ccd\r\n\r\n\r\n
\r\nFor each device, add a file with the CN name of the key.\r\nIn that file, you will indicate the static address to be used and the server IP\r\nFor linux, the server IP will be the VPN address of your VPN server. On Windows, the VPN client\r\nwill set up a local TAP interface that must be used as the server IP. See the OpenVPN docs for available\r\nclient and TAP server IP pairs.\r\n
\r\n\r\nExamples:\r\n
\r\n\r\n
\r\n cat /etc/openvpn/ccd/linux-client\r\n ifconfig-push 10.10.42.10 10.10.42.1\r\n cat /etc/openvpn/ccd/windows-client\r\n ifconfig-push 10.10.42.13 10.10.42.14\r\n\r\n\r\n\r\n
\r\nNYbill discusses the DSO Pocket Oscilloscope v3. A few test circuits are set up to put the scope through its paces. \r\n
\r\n\r\nThe DSO at Adafruit:\r\nhttps://www.adafruit.com/products/468\r\n
\r\n\r\nThe 555 timer chip:\r\nhttps://electronicsclub.info/555timer.htm#astable\r\n
\r\n\r\nThe script used to blink the Teensy:\r\nhttps://www.pjrc.com/teensy/loader_linux.html\r\n
\r\n\r\nPictures for the episode:\r\nhttps://media.gunmonkeynet.net/u/nybill/collection/pics-for-an-hpr-ep-making-waves/\r\n
\r\n ',235,103,0,'CC-BY-SA','electronics,oscilloscope,555 timer,teensy',0,1402,1), (1504,'2014-05-08','HPR at NELF 2014 Afterparty',2358,'In this episode, Members of the HPR community, and attendees of NELF share their thoughts about the ','\r\nIn this episode, Members of the HPR community, and attendees of NELF share their thoughts about the 2014 Northeast GNU/Linux Fest. Sorry for the dynamic range of this one. I levelled it out the best I could. Also sorry for getting this out so late. RL has been kicking my ass lately.\r\n
\r\n\r\nSome interesting things that were mentioned that may be worth checking out:\r\nThe NELF talks and website:\r\n
\r\n\r\n\r\nThe Zoom H1 Recorders are fantastic devices, and we need to thank the HPR community for chipping in to buy one. They definitely pick up more sound than I did when the podcast was being recorded. I heard things in playback that I wish I had heard and addressed during the live recording. \r\n
\r\n\r\nThanks to Richard Stallman for the lyrics to the Free Software Song\r\n
\r\n\r\nThanks to The GNU/Stallmans for their performance of the Free Software Song on the RevolutionOS documentary. https://www.revolution-os.com/\r\n
\r\n\r\nWe all had a great time recording this show, and we hope you enjoyed it as well. Please join us at the next Northeast Gnu/Linux Fest if you can. Thank you very much for listening.\r\n
\r\n\r\nSincerely,\r\nThe HPR conference crew\r\n
\r\n\r\nP.S. Some people enjoy finding mistakes. For their enjoyment, we have included a few.\r\n
',109,0,1,'CC-BY-SA','Conference Interviews',0,1335,1), (1535,'2014-06-20','31 - LibreOffice Calc - Sheet Editing and Navigation',1238,'Editing and navigating sheets, rows and columns in LibreOffice Calc','\nThis episode covers various editing techniques you might use, including multiple sheets, and adding, removing and hiding rows and columns. We also discuss how to navigate around a multiple sheet spreadsheet.
\nLibreOffice Calc, like all spreadsheets, contains a large number of cells in various rows, columns, and sheets, and navigating that can get a little tricky. As we saw previously, each cell has an address, which is marked by the column (letters) and the row (numbers), always in that order. But in fact the address can be larger because we never discussed sheets.
\nBy default, when you create a new Calc spreadsheet you will have three sheets in it, which you see as tabs along the bottom of the screen. They will be called Sheet 1, Sheet 2, and Sheet 3 at this point. But these defaults can be changed by going to Tools–>Options–>LibreOffice Calc–>Defaults. On this screen you can decide how many sheets you want to have on a new document. While the default as it comes is three (similar to Microsoft Excel) you can change it. On my copy of Calc I changed it to 1, because most of the time I never need more than one sheet for my work. I can also change the default naming of new sheets here. Instead of each sheet being “Sheet 1″, Sheet 2″, etc. I could make it something else, like “Tab 1″, “Tab 2″. and so on. I never bother with this though, because I will always name my sheets for what they are doing in a given spreadsheet (e.g. look at what I did when I created the simple model for “What-If” analysis.) And if I need to add a sheet, I can just go to Insert–>Sheet to bring up a window to specify where the sheet should go, what it should be named, or even insert a sheet from a file . A CSV file would be a very good choice here, such as if you wanted to bring in data from a database or another spreadsheet for use in the current spreadsheet.
\nThere are many Charts and Graphs available in LibreOffice Calc, but choosing the right one makes a difference. In this episode we review your options and help you to make the right choice.
\n\r\nIn creating a chart or graph you have a number of options that can make your chart easier to read and understand. In this episode we look at these options and explain what each of them does.\r\n
\r\n\r\n\r\nIn this episode, the hackerpublicradio.org Audiobook Club reviews Shaman Tales Book1: South Coast. You can download this audiobook for free (or voluntary donation) from https://podiobooks.com/title/shaman-tales-1-south-coast/ and available in paperback on Amazon https://www.amazon.com/Crown-Conspiracy-Michael-J-Sullivan/dp/0980003431\r\n
\r\n\r\nDuring this show the hosts also discuss beverages.\r\nColin was drinking a Badger Brewery Golden Glory, and quite enyoyed it. https://www.hall-woodhouse.co.uk/beer/golden-glory \r\npokey drank a Fosters Lager, and he didn\'t like it very much. Thankfully he only wanted it for the can. Sadly, it really seemed to go straight to his head. https://www.fostersbeer.com/ \r\nAccording to Fosters\' website, \"You need to upgrade your Flash Player.\" Good luck with that.\r\n
\r\n\r\nOur next audiobook will be The Crown Conspiracy by Michael J. Sullivan\r\nhttps://podiobooks.com/title/the-crown-conspiracy/\r\nThis book was suggested by pokey. pokey likes The Crown Conspiracy very much and has found it appropriate to suggest to both his mother and his daughter.\r\n
\r\n\r\nYou can find more content (including podcasts) from Nathan Lowell https://nathanlowell.com/\r\nWe discussed looking up interviews with Nathan Lowell, and as it turns out he has links to lots of them on his website https://nathanlowell.com/multimedia/interviews-articles/ If you\'re a Nathan Lowell fan, you\'ve got many hours of enjoyment ahead of you. \r\n
\r\n\r\nColin welcomes your feedback via email to gigasphere\"nineteeneighty\" at gee mail dot com\r\npokey prefers his feedback to come via the hacker public radio comment system.\r\n
\r\n\r\nPlease remember to visit the HPR contribution page. We could really use your help right now. https://hackerpublicradio.org/contribute.php\r\n
\r\n\r\nWe both had a great time recording this show, and we hope you enjoyed it as well. We hope you\'ll consider joining us next time. Thank you very much for listening.\r\n
\r\n\r\nSincerely,\r\nThe HPR_AudioBookClub\r\n
\r\n\r\nP.S. Some people enjoy finding mistakes. For their enjoyment, we have included a few.\r\n
',157,53,1,'CC-BY-SA','HPR AudioBookClub',0,1339,1), (1507,'2014-05-13','HPR Community News for April 2014',4059,'Website changes, comment systems, Series help, Ham Radio, Show tagging','\r\nWelcome to our new hosts:
\r\n x1101, \r\n John Duarte.\r\n
Id | \r\nTitle | \r\nHost | \r\n
---|---|---|
1477 | \r\nOSI layer 3 | \r\nVarious Hosts | \r\n
1478 | \r\nBatteries Part 2 | \r\nMrX | \r\n
1479 | \r\n01 What is on my podcast player | \r\nAhuka | \r\n
1480 | \r\nContinuous Ink Supply System | \r\nKen Fallon | \r\n
1481 | \r\nEncryption and Gmail | \r\nAhuka | \r\n
1482 | \r\n02 What is on my podcast player | \r\nAhuka | \r\n
1483 | \r\nHPR Community News for March 2014 | \r\nHPR Admins | \r\n
1484 | \r\nTuxJam31 | \r\nAndrew Conway | \r\n
1485 | \r\n26 - LibreOffice Calc Cells | \r\nAhuka | \r\n
1486 | \r\nLinux Luddites Episode 11 - Interview with Rob Landley | \r\nKen Fallon | \r\n
1487 | \r\nHow I Found Linux | \r\nx1101 | \r\n
1488 | \r\nWhat's on My Podcatcher | \r\nKeith Murray | \r\n
1489 | \r\nSetting up a Raspberry Pi and RaspBMC | \r\nCurtis Adkins (CPrompt^) | \r\n
1490 | \r\nHPR at NELF 2014 Part1 | \r\npokey | \r\n
1491 | \r\nHeartbleed | \r\nlaindir | \r\n
1492 | \r\nHPR at NELF 2014 Part2 | \r\nNYbill | \r\n
1493 | \r\nThe Next Gen is You (1/2) | \r\nklaatu | \r\n
1494 | \r\nThe Next Gen is You (2/2) | \r\nklaatu | \r\n
1495 | \r\n27 - LibreOffice Calc - Calculations and the Formula Bar | \r\nAhuka | \r\n
1496 | \r\nwiki on the raspberry pi | \r\nMrX | \r\n
1497 | \r\nPractical Math - Units - Distances and Area, Part 1 | \r\nCharles in NJ | \r\n
1498 | \r\nPersonal OpenVPN | \r\nJohn Duarte | \r\n
\r\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes \r\nplace on the Mail List which is open to all\r\nHPR listeners and contributors. The discussions are open and available on the\r\nGmane\r\narchive.\r\n
\r\n\r\nDiscussed this month was:\r\n
\r\n\r\nThis episode is a just-for-fun show in which I make a few observations in defense of just playing around. We need to \r\nstop worrying about work and to-do lists every once in a while in order to just get up off our chairs and do something\r\nthat is fun. It doesn\'t have to have a structure at first, but it should involve a challenge or exposure to at least\r\none new thing, or place, or person, or idea.\r\n\r\nI think it is the best way to learn, because the knowledge and acquisition of skills sneak up on you while you are\r\nhaving fun. It may be the only way to make learning really stick, and to stick with the learning process.\r\n
\r\n\r\n\r\n
\r\n\r\nDr. Peter Gray on the Play Deficit: https://aeon.co/magazine/being-human/children-today-are-suffering-a-severe-deficit-of-play/\r\n
\r\n\r\n\r\nArticles from the Journal of Play: https://www.ecswe.org/wren/researchpapers_theimportanceofplay.html\r\n
',229,0,0,'CC-BY-SA','play, learning, fun',0,1431,1), (1509,'2014-05-15','HPR Needs Shows',181,'HPR is short of shows and we need you to send in some today','\r\nHPR is short of shows and we need you to send in some today\r\n
',159,0,0,'CC-BY-SA','HPR, shows, request, call to action, community, contribute',0,1366,1), (1510,'2014-05-16','What\'s in My Bag?',1858,'Just a few words about what\'s in my bag(s).','\r\nThis episode is a just-for-fun show in which I walk systematically through\r\nthe bags I was carrying to work on a particular day, and describe what I\r\nhave found inside.\r\n
',229,23,0,'CC-BY-SA','play, learning, fun',0,1513,1), (1513,'2014-05-21','Stir-Fried Stochasticity: Bio-Boogers',877,'Epicanis demonstrates a show concept: REAL science news, direct from a scientific journal articles','\r\nThis is a show concept I came up with half a decade ago, as the show itself explains. The journal article may be found as PubMed ID#19323757 ( https://www.ncbi.nlm.nih.gov/pubmed/19323757 ) if you want to follow along.\r\n
\r\n\r\nHopefully the updated time references below for the show-note comments are now correct for this version of it. They should be close, anyway. \r\n
\r\n\r\nAlso, I\'m oddly pleased at how inferior the \"old\" part of today\'s episode sounds: it means I\'ve actually gotten a lot better at recording and editing.\r\n(It\'s quite listenable still, I think, it just doesn\'t sound as good as the newer stuff.)\r\n
\r\n\r\n\r\nHow to skin a snake, and cure the skin for later use\r\n
',243,0,1,'CC-BY-SA','snake,skin,curing',0,1353,1), (1512,'2014-05-20','Adopting and Renovating a Public-Domain Counterpoint Textbook',1252,'I discuss one of my latest projects, a digital overhaul of a 100+ year old counterpoint textbook','\r\nIn this episode I discuss the problem of increasingly expensive college textbooks, and share with you the solution I devised to combat the problem in my counterpoint class at the University of Louisiana at Lafayette.\r\n
\r\n\r\nPart of the solution is to adopt a public-domain textbook that\'s more than 100 years old, and to give the text a 21st-century makeover that I believe will make it even better-suited for the digital age than any other comparable book in the market at any price.\r\n
\r\n\r\nhttps://jonathankulp.org/gratis.html: \r\nThe counterpoint page on my website, with source files and information about my creative-commons counterpoint workbook, \"Gratis ad Parnassum,\" as well as links to the 1910 counterpoint textbook by\r\nPercy Goetschius: https://en.wikipedia.org/wiki/Percy_Goetschius entitled \"Exercises in Elementary Counterpoint.\"\r\n
\r\n\r\nMy html version of the Goetschius textbook (in progress): https://jonkulp.net/350/Goetschius/goetschius.html\r\n
',238,0,0,'CC-BY-SA','public-domain, textbooks, music, counterpoint, Lilypond, html, scripting',0,1356,1), (1514,'2014-05-22','Give The Small Guy A Try',730,'Beeza and seeing if there is software which may suit your needs better than the mainstream','\r\nBeeza hates being told what to do. When he moved over to Linux he noticed how most users were barely scratching the surface of the huge choice of software offered by the repositories. Rather than just go with the flow and settle for what everybody else was using, it was in his nature to look for alternatives to the most popular applications.\r\n
\r\n\r\nHe discovered some total rubbish, but also some real gems which deserve far greater exposure than they receive. Reviews of some of these excellent but relatively unknown packages will form the basis of future HPR episodes.\r\n
\r\n\r\nIn this episode Beeza makes the case for investing a little time digging around in the repositories to see if there is software which may suit your requirements better than the mainstream applications.\r\n
\r\n',246,0,1,'CC-BY-SA','Libre Office,mhWaveEdit,Decibel Audio Player',0,1528,1), (1520,'2014-05-30','The Ext File System',313,'The Ext File System','The Ext File System',129,77,1,'CC-BY-SA','file system,extended file system,ext,inode',0,1654,1), (1530,'2014-06-13','The Ext2 File System',326,'The Ext2 File System','The Ext2 File System',129,77,1,'CC-BY-SA','file system,second extended filesystem,ext2,ext2fs,inode table',0,1509,1), (1540,'2014-06-27','The Journaling File System',326,'The Journaling File System','The Journaling File System\n',129,77,1,'CC-BY-SA','file system,journaling file system,inode',0,1479,1), (1550,'2014-07-11','The Ext3 and 4 File System',476,'The Ext3 and 4 File System','The Ext3 and 4 File System',129,77,1,'CC-BY-SA','filesystem,ext3,ext4',0,1543,1), (1560,'2014-07-25','The reiserfs File System',212,'The reiserfs File System','The reiserfs File System',129,77,1,'CC-BY-SA','file system,journaling,reiserfs',0,0,1), (1570,'2014-08-08','The JFS File System',329,'The JFS File System','The JFS File System',129,77,1,'CC-BY-SA','file system,journaling file system,JFSA,B+ tree',0,0,1), (1580,'2014-08-22','The FAT and NTFS File Systems',563,'The FAT and NTFS File Systems','The FAT and NTFS File Systems\n',129,77,1,'CC-BY-SA','file system,FAT,NTFS',0,0,1), (1590,'2014-09-05','The xfs File System',326,'The xfs File System','The xfs File System',129,77,1,'CC-BY-SA','file system,journalling,64-bit,B+ tree',0,0,1), (1600,'2014-09-19','The zfs File System',436,'The zfs File System','The zfs File System',129,77,1,'CC-BY-SA','file system,copy-on-write,snapshot,RAID-Z',0,0,1), (1610,'2014-10-03','The BTRFS File System',534,'The BTRFS File System','The BTRFS File System',129,77,1,'CC-BY-SA','file system,copy-on-write,B-tree file system',0,0,1), (1516,'2014-05-26','01 The podcasts I listen to',1439,'I listen to a lot of podcasts and thought it might be interesting if I shared them on HPR','I listen to a lot of podcasts. I started listening to them back in around 2005 after buying my first portable player.
\nI now listen to podcasts to the exclusion of just about everything else and have several players which I rotate between. I gave up watching TV over two years ago. I have written my own podcatcher software based upon Bashpodder, with a PostgreSQL database to manage everything, which holds feed, episode, playlist and player details.
\nMy interests range from Astronomy to Virology with a bias towards IT-related subjects. I currently subscribe to 85 feeds, which I present to you here in two batches. I have attached my own category to each feed, so I can load all the Science episodes on one player, and Documentary episodes on another, and so forth. I have added the category to the list as well and have sorted the list by category and the title.
\nNote: The list below is generated by a script which performs a query on my database. I have relied on parsing the feeds themselves for the websites, using the link value. In a few cases the value is unfortunately incorrect or missing because the feed is mis-configured.
\nI have included an OPML version of the list in case you want to load it or part of it into your podcatcher. Find it at https://www.hackerpublicradio.org/eps/hpr1516.opml
\nWe have looked at e-mail encryption on both Thunderbird and G-Mail, and that is good, but in 2014 a lot of people use mobile phones and tablets for their e-mail. So it makes sense to look at how we can do this. The solution I am going explore here involves two components, the K-9 Android mail client, and APG, the Android Privacy Guard. I am going to stick to what I know, so if you are looking for help with iPhone or iPad, the best I can do is suggest that you try a Google search. On Android, while many people use Gmail, K-9 is a very popular client for people looking for a more traditional POP3 or IMAP client to handle their e-mail needs. So this should be a good solution for many people. As regards APG, I am not aware that anyone has done an audit of this program. It seems to be the most widely recommended, and is probably OK, but I am making no larger claims for it. - For more go to https://www.zwilnik.com/?page_id=602
\nLinks:
\n\r\nIn this episode: The new Fedora Scientific Spin, open source approaches to pharmaceutical research, and the Apache Open Climate workbench.\r\n
\r\n\r\nLinks:\r\n
\r\n\r\nBack in 2001 there was a certain incident on September 11 that lead many people to go OMG! We are doomed! We must increase security! Do whatever it takes! And the NSA was happy to oblige. And on 7/7/05 an attack in London added to the frenzy. I think it is fair to say that these security agencies felt they were given a mandate to do anything as long as it stops the attacks, and thus was the overwhelming attack on privacy moved to a whole level higher. To be clear, security agencies are always pushing the limits, it is in their DNA. And politicians have learned that you never lose votes by insisting on stronger security and appearing tough. - For more go to https://www.zwilnik.com/?page_id=577
\nLinks:
\nIn Statistics there are generally speaking two types of analysis, broken down between Descriptive and Inferential statistics. The difference has to do what what claims you are making about the data. If you are simply stating something about the data (e.g. there were more men than women in the sample) that is descriptive. But if you make a claim that something is not likely to occur by chance, for instance, or that something is statistically significant (and both of those statements are essentially the same thing) then you are in the realm of inferential statistics. Calc has functions to do both kinds of analysis, and this tutorial will examine some of the common descriptive statistics in Calc and how they are used. - For more go to https://www.ahuka.com/?page_id=844
\n ',198,70,0,'CC-BY-SA','LibreOffice, Calc, Spreadsheet, functions, descriptive statistics',0,0,1), (1615,'2014-10-10','39 - LibreOffice Calc - Inferential Statistics Functions',1212,'Inferential statistics is how we draw conclusions from data and make predictions.','Inferential statistics is what you do to say that something is likely, or that it is not due to chance, or things of the sort. It goes beyond simply describing what is in the numbers and lets you say something about what the numbers in a sample might mean for the population that generated the sample. There are several type of Inferential Statistics that I want to address in this tutorial, beginning with the idea of a confidence interval. - For more go to https://www.ahuka.com/?page_id=861
\nWe spent a lot of time looking at some Financial and Statistical functions. I don\'t propose to go into the remaining types of function in nearly the same depth. That would draw out the series without benefit to most people. But I do want to highlight some of the functions in the other categories so that you have an idea of what is possible in Calc. Remember that if you need to know more about them Google is your friend. - For more go to https://www.ahuka.com/?page_id=875
\n ',198,70,0,'CC-BY-SA','LibreOffice, Calc, Spreadsheet, functions',0,0,1), (1517,'2014-05-27','The set of prime numbers is infinite',443,'johanv talks about prime numbers','\r\nIn this short article I want to talk about prime numbers. In particular:\r\nabout the fact that there exist an infinite number of prime numbers. This\r\nhas been proven more than 2000 years ago, but I noticed that a lot of\r\nmy friends that don\'t have a mathematical background, aren\'t aware of\r\nthis fact.\r\n
\r\n\r\nYet it is rather easy to prove. So that is what I\'ll be doing in this\r\narticle. If you are afraid of math, don\'t worry, it won\'t take more than\r\n10 minutes.\r\n
\r\n\r\nA transcript of this show can be found on my blog:\r\nhttps://www.johanv.org/node/211\r\n
',233,0,0,'CC-BY-SA','math,prime numbers',0,1451,1), (1518,'2014-05-28','02 The podcasts I listen to',1658,'I listen to a lot of podcasts and thought it might be interesting if I shared them on HPR','I listen to a lot of podcasts. I started listening to them back in around 2005 after buying my first portable player.
\nThis is a continuation of the 85 podcast feeds I subscribe to. In my last show I reported on the first 41 of the set. Here are the remaining 44 feeds.
\nNote: The list below is generated by a script which performs a query on my database. I have relied on parsing the feeds themselves for the websites, using the link value. In a few cases the value is unfortunately incorrect or missing because the feed is mis-configured.
\nI have included an OPML version of the list in case you want to load it or part of it into your podcatcher. Find it at https://www.hackerpublicradio.org/eps/hpr1516.opml
\n\r\nLinks:\r\n
\r\n\r\n\r\nShane Shennan explains why he makes greeting cards out of pieces of cardboard boxes. He lists the supplies he uses and talks through his 3-step process.\r\n
\r\n\r\nLinks: https://bit.ly/cardboardcards\r\n
\r\n',250,0,0,'CC-BY-SA','cardboard,greetings card',0,1303,1), (1522,'2014-06-03','How to Use Docker and Linux Containers',1899,'How to use Docker and Linux Containers','\r\nHow to use Docker and Linux Containers\r\n
',78,0,0,'CC-BY-SA','container,Docker,Linux container,LXC,bridge interface',0,1561,1), (1524,'2014-06-05','WASHLUG 20150515 GPG and E-mail',5379,'Using GPG to encrypt or sign e-mail','\r\nThis is a recording of a talk I gave at my local Linux Users Group, the Washtenaw Linux Users Group, or LUGWASH. In this talk I cover some of the theory of encryption, how to generate keys, and using this with Thunderbird, with Gmail, and on an Android phone. \r\n
\r\n\r\nLinks:\r\n
\r\n\r\n\r\nThere were no new hosts this month.\r\n
\r\n\r\nId | \r\nTitle | \r\nHost | \r\n
---|---|---|
1499 | \r\nHow I Got Into Computers | \r\nCharles in NJ | \r\n
1500 | \r\nKey Signing | \r\nAhuka | \r\n
1501 | \r\nAWK | \r\nlaindir | \r\n
1502 | \r\nPractical Math - Units - Distances and Area, Part 2 | \r\nCharles in NJ | \r\n
1503 | \r\nMaking Waves-The DSO Pocket Oscilloscope | \r\nNYbill | \r\n
1504 | \r\nHPR at NELF 2014 Afterparty | \r\nVarious Hosts | \r\n
1505 | \r\n28 - LibreOffice Calc - Fills, an Introduction | \r\nAhuka | \r\n
1506 | \r\nHPR AudioBookClub 6 Shaman Tales Book 1 South Coast | \r\nHPR_AudioBookClub | \r\n
1507 | \r\nHPR Community News for April 2014 | \r\nHPR Admins | \r\n
1508 | \r\nIn Defense of Play | \r\nCharles in NJ | \r\n
1509 | \r\nHPR Needs Shows | \r\nHPR Admins | \r\n
1510 | \r\nWhat's in My Bag? | \r\nCharles in NJ | \r\n
1511 | \r\nHow to skin a snake | \r\nJezra | \r\n
1512 | \r\nAdopting and Renovating a Public-Domain Counterpoint Textbook | \r\nJon Kulp | \r\n
1513 | \r\nStir-Fried Stochasticity: Bio-Boogers | \r\nEpicanis | \r\n
1514 | \r\nGive The Small Guy A Try | \r\nBeeza | \r\n
1515 | \r\n29 - LibreOffice Calc - Models and "What-If" Analysis | \r\nAhuka | \r\n
1516 | \r\n01 The podcasts I listen to | \r\nDave Morriss | \r\n
1517 | \r\nThe set of prime numbers is infinite | \r\njohanv | \r\n
1518 | \r\n02 The podcasts I listen to | \r\nDave Morriss | \r\n
1519 | \r\nWhat's in My Bag | \r\nThaj Sara | \r\n
1520 | \r\nThe Ext File System | \r\nJWP | \r\n
\r\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes \r\nplace on the Mail List which is open to all\r\nHPR listeners and contributors. The discussions are open and available on the\r\nGmane\r\narchive.\r\n
\r\n\r\nDiscussed this month was:\r\n
\r\nShow notes: In late fall 2013 I became involved in the Penguicon\n convention, which combines Open Source technology with Science Fiction to\n create something that I believe to be unique. I ended up taking\n responsibility for organizing the Tech Track, and we ended up with around 70\n hours of programming. I recap some of the highlights of my own personal\n experience of this event, both as a participant and as an organizer.
\nLinks:
\n\r\nTwo recent events have shed light on some fundamental issues in getting security in Open Source projects. One of them is a serious bug referred to as \"Heartbleed\", and the other is the first part of a security audit of the TrueCrypt encryption program. By looking at both of these together and doing a Lessons Learned we can draw some conclusions about what is needed to have security in Open Source projects.\r\n
\r\n\r\nLinks:\r\n
\r\n\r\n\r\nIn this episode we review the options for editing your chart, do a brief recap of the object model, and create an example of a chart with a secondary Y-axis.\r\n
\r\n\r\nLinks:\r\n
\r\n\r\nIn this episode we review what a function is, discuss the different types of functions available in LibreOffice, discuss the concept of arguments in mathematics, and present a general process for using functions in Calc.
\nLinks:
\nIn this episode we discuss the function for determining the loan payments on a car loan, compare a manual calculation with the use of the PMT function, and derive some useful lessons.
\r\nLinks:
\r\nWe take a look at a number of related financial functions in this episode, and discover that they are strongly related by using the same variables over and over. We construct a Mortgage Repayment Schedule, and look again at the principles of good spreadsheet construction.
\n\r\nI have spent many, many hours in a vehicle driving around. While travelling,\r\nI\'ve found a GPS to be one indispensable tool. These are some of the\r\nGPS-related tips that I have discovered:\r\n
\r\n\r\nIn this episode I take a swim along a section of the Charente river near\r\n Chatain in the Poitou-Charente region of France. I start upstream at the\r\n bridge and go down as far as the weir, then back. On the way I describe some\r\n of the things I am seeing, I pass some cows and a couple of French fishermen.
\r\nApologies for the audio quality and panting, this was recorded by an old\r\n MP3 player cable-tied to a woolly hat.
\r\n \r\nMark Waters https://about.me/markwaters
\r\n',279,101,1,'CC-BY-SA','wildswimming, swimming, france, health, exercise, nature',0,1260,1), (1531,'2014-06-16','How I use Linux ',943,'jezra talks about using Linux','\r\nHere is a list of OSs, software, and hardware that was mention. If I missed\r\nanything, please let me know.\r\n
\r\n\r\nIf you run a blog or a podcast, promoting your material can take as much time (or more) than content creation itself. Just like a small business marketing and promoting your efforts take time, effort and energy that can take you away from what you\'d rather be doing: making great stuff.
\nThis podcast discusses the germ of an idea, and its fledgling implementation, for creating an open-source tool for managing the distribution of posts to social media and doing it in as non-spammy a way as possible.
\nThe premise is simple: take information from a number of disparate sources, and promote it to a number of disparate destinations. The challenge is doing it without violating the social norms of the destination networks, and without crossing the line between promotion and spaminess.
\n',266,0,0,'CC-BY-SA','social media,schedule,distribution',0,1322,1), (1533,'2014-06-18','Beginner\'s guide to the night sky 2',1499,'A review of some astronomy software, as used on the planet Earth, by a geeky chap.','\r\nThis is a review of some astronomy software, as used\r\non the Earth in the early 21st Century, by a somewhat\r\ngeeky chap. In this episode, I talk a little about two astronomy apps\r\navailable for Android and another two available for GNU/Linux (and other)\r\ndesktops.\r\n
\r\n\r\nErratum: I referred to Star Map but I meant Star Chart. Doh!\r\n
\r\n\r\nIn reverse order of how much I use and like them (most used/liked last):\r\n
\r\n\r\nhttps://www.stellarium.org - Available for all major operating systems.\r\nThis link shows you how to add your own comets: https://www.wikihow.com/Add-Comet-ISON-to-Stellarium\r\n
\r\n\r\nhttps://edu.kde.org/kstars/ - KStars is part of the KDE SC Software Compilation) and so will be easy to install if you\'re a KDE user, or if you\'re not, \"easy\" after a few dependencies are installed.\r\n
\r\n\r\nGoogle Sky Map can be installed on your mobile device using either f-droid or Google Play: https://f-droid.org/repository/browse/?fdfilter=sky&fdid=com.google.android.stardroid\r\nhttps://play.google.com/store/apps/details?id=com.google.android.stardroid\r\n
\r\n\r\nIf you like eye-candy, then Star Chart may be for you, get it on Google Play here:\r\nhttps://play.google.com/store/apps/details?id=com.escapistgames.starchart\r\n
',268,0,0,'CC-BY-SA','astronomy,Stellarium,KStars,Google Sky Map,Star Chart',0,1318,1), (1556,'2014-07-21','Screenplay Writing On Linux and Chromebooks',789,'ThistleWeb explores a couple of screenplay writing solutions for Linux and Chromebooks','Writing screenplays for TV or movies is a very precise thing. The industry expects a standardised style and format. ThistleWeb explores a couple of dedicated screenplay writing solutions. Both are dedicated applications that do one job and do it very well. The first is Trelby. It\'s a GPL cross platform application. It has lots of additional features such as auto completion of character names, summaries and stats.
\nThe second application is a cloud service called Raw Scripts. It\'s a Chrome extension although I think that\'s just a link to the site. You log in with a Google or Yahoo account. It\'s like a dedicated Google Docs web app. It does most of the things Trelby does. It also exports to Google if you want. You can share and collaborate with Raw Scripts. It\'s hosted on their server, although it\'s AGPL going forward, so it shouldn\'t be long before you can host it on your own server.
\nI\'ve just started to explore screenplay writing as a writing skillset. Both of these applications make the styling and formating incredibly easy, allowing me to concentrate on the actual story.
\nLinks:
\n ',106,0,0,'CC-BY-SA','screenplay,writing,Trelby,Raw Scripts',0,1159,1), (1576,'2014-08-18','How I got into Linux',1674,'This is my story about how I got into computers, computing and GNU/Linux.','\r\nShort Summary: This is my story about how I got into computers, computing and GNU/Linux.\r\n
\r\n\r\nLinks:\r\n
\r\n\r\n\r\nIn this episode, I introduce myself to the Hacker Public Radio community and discuss a website to which I contribute: opensource.com. \r\n
\r\n\r\nLinks:\r\n
\r\n\r\nHere I dip into the NASA experience of and rules for Extravehicular Activity, prompted at first by watching a film called The Europa Report, directed by Sebastian Cordero (2013).
\nWARNING - THIS PODCAST CONTAINS SPOILERS
\nWhile I have some gripes about the film, I was impressed by its general failfulness to the science
\nScience consultant on the film was Kevin Hand, an astrobiologist and expert on Europa at NASA\'s Jet Propulsion Laboratory
\nTo my mind, the scientists were behaving like scientists and the engineers behaved like engineers. To follow along it might help to recall their names
\nAll was going scientifically until the director drove the plot forward with two EVA incidents
\nI have problems with this because it\'s just too clumsy for trained professional astronauts. Where are the decontamination procedures, the tethers, the special tools?
\nWith this I am shouting at the screen \"No Way! Where\'s the fracking operating manual? No one goes EVA on their own\"
\nSo, that is why I researched the NASA rules for Extravehicular Activity. And I found that none of these events would have happened the way they were shown, had the crew, who were so professional in every other way, followed the NASA procedures.
\nNASA documents on the internet discuss in exhaustive detail all considerations for EVA. What I present is a cherry-picked handful. I could not cover all of it
\nAlthough this podcast is about EVA, it does reference the science in a film that I enjoyed and respect very much, so here is a gem that I only came across while researching the landing site. In the scientific journal Nature, Volume 479, 16 November 2011, Britney Schmidt et al, of University of Texas, Austin, published a paper titled \"Active formation of \'chaos terrain\' over shallow subsurface water on Europa.\" In the paper these authors suggest that in the Conemara zone of the Chaos Terrain, an area on the surface of Europa, the ice may be as little as 3 km thick. Then in the film the Conemara Chaos was the targetted landing zone and the drill broke through the ice at a depth of 2800m.
\nWell there is one more thing that the podcast says, but it is the ultimate spoiler. So if you have not already listened to the podcast, I highly recommend that you watch the film first.
\n\r\nIn this episode: an ethical cryptocurrency, open source resources for learning Old English, and an interview with the Director of New Media Technologies at the Executive Office of the President in the United States.\r\n
\r\n\r\nLinks:\r\n
\r\n\r\nIn this episode CPrompt travels down a little memory lane and talks about a childhood favorite, the Science Fair 150-in-1 Electronic Project Kit.
Links:
Back after a year of HPR silence, I\'ll talk a little about how I like to spend my lunch breaks and how you can explore your workplace. Put down those tater tots, we\'re going on an adventure!
\nIn this episode I\'ll give some information about my lunch history, ways you can maximise your time, gear you\'ll need to start short stealth/urban exploration, techniques for finding places to explore, and ways to handle being spotted.
\nIf this goes well enough and the audio isn\'t too garbled, I\'ll record episodes for the \"How I Got Into (GNU) Linux\" series.
\nHere are a few links related to the episode. Note that I link to Amazon and Google. I don\'t necessarily condone or endorse either service, I just didn\'t know of any better sources for product information.
\n\r\nx1101 explains how he makes coffee\r\n
\r\n\r\nWelcome to our new hosts:
Mark Waters, semioticrobotic.
Id | \nTitle | \nHost | \n
---|---|---|
1521 | \nCardboard Greeting Cards | \nShane Shennan | \n
1522 | \nHow to Use Docker and Linux Containers | \nklaatu | \n
1523 | \nHPR Community News for May 2014 | \nHPR Admins | \n
1524 | \nWASHLUG 20150515 GPG and E-mail | \nAhuka | \n
1525 | \n30 - LibreOffice Calc - A Savings Model | \nAhuka | \n
1526 | \nPenguicon 2014 | \nAhuka | \n
1527 | \nSurviving A Roadtrip: GPS | \nWindigo | \n
1528 | \nWildswimming in France | \nMark Waters | \n
1529 | \nTrueCrypt, Heartbleed, and Lessons Learned | \nAhuka | \n
1530 | \nThe Ext2 File System | \nJWP | \n
1531 | \nHow I use Linux | \nJezra | \n
1532 | \nProject Idea - White-Hat Spam Bot | \nKeith Murray | \n
1533 | \nBeginner\'s guide to the night sky 2 | \nAndrew Conway | \n
1534 | \nMy Introduction to HPR | \nsemioticrobotic | \n
1535 | \n31 - LibreOffice Calc - Sheet Editing and Navigation | \nAhuka | \n
1536 | \nThe 150-in-1 Electronic Project Kit | \nCurtis Adkins (CPrompt^) | \n
1537 | \nHow I make Coffee | \nx1101 | \n
1538 | \nOverhauling the School of Music website | \nJon Kulp | \n
1539 | \nAn Open Source News Break from Opensource.com | \nsemioticrobotic | \n
1540 | \nThe journeling File System | \nJWP | \n
1541 | \nHow I Came To Linux | \nClaudio Miranda | \n
Policy decisions surrounding HPR are taken by the community as a whole. This discussion takes place on the Mail List which is open to all HPR listeners and contributors. The discussions are open and available on the Gmane archive.
',159,47,1,'CC-BY-SA','Community News',0,1324,1), (1566,'2014-08-04','HPR Community News for July 2014',2350,'Dave reviews the happenings for the month, with a brief visit from pegwole.','Welcome to our new hosts:
Scyner, Mike Ray.
Policy decisions surrounding HPR are taken by the community as a whole. This discussion takes place on the Mail List which is open to all HPR listeners and contributors. The discussions are open and available on the Gmane archive.
\nDiscussed this month were:
\nThere are 13 comments:
\n\r\nI discuss the process of overhauling a badly out-of-date website to make it conform to accessibility standards and give it a responsive design. I also discuss how I came up with my own content management system by Bash scripting.\r\n
\r\n\r\nLinks\r\n
\r\n\r\n\r\nClaudioM talks about how he came to Linux beginning with an introduction on how he came to computers and how a simple advertisement for an UNIX book would eventually lead to his love for Linux.\r\n
\r\n\r\nMattel Aquarius:\r\n
\r\n\r\n\r\nFamily Computing:\r\n
\r\n\r\n\r\nSEFLIN Freenet:\r\n
\r\n\r\n\r\nLinux/PowerPC:\r\n
\r\n\r\nToday on Hacker Public Radio, we will talk to an IT lawyer about the new EU regulations regarding personal data.
\n\"One thing I think you should be aware of is a principle called \'Privacy by Design and Privacy by Default\'!\"
-- Agnes
In April 2014 I visited the \"IT Solutions Expo\" at the conference centre known as \"The Swedish Fair\" in Gothenburg. The tagline of the IT Solutions Expo was \"The fair that shows you how to make money on tomorrow\'s IT solutions\".
\nSo a lot of corporate propaganda and sales people. To be totally honest, I hesitated going there. But I am glad I did. There where some really interesting talks concerning privacy and technology that I would not have liked to miss.
\nThe real highlight of the fair was the talk by Agnes Andersson Hammarstrand, a lawyer specialised in information technology. She covered the new laws that will come to pass in the European Union regarding how we are allowed to handle personal data.
\nI was very happy that she was willing to give a short interview for Hacker Public Radio.
\nIt is interesting to see that it is not only consumers who are starting to think that information about us should be kept safe, it is also slowly becoming the law. If your work in or with companies in the European Union, this is definitely a heads-up, something to take notice of. In a couple of years time you must be ready to follow the new legislation.
\nIn her talk Agnes also mentioned that companies should have someone who is responsible for privacy issues. Perhaps this is an opportunity for the HPR listeners? Most of you probably feel that this is an important topic already, so why not make it a part of your job description?
\nYou find all the relevant links down below. If you want to send feedback or get in touch with either Agnes or me, please do not hesitate to do so. If you have any thoughts on the subject at hand or regarding the show, use any of the means below and speak your mind.
\nYou should follow me and subscribe to All In IT Radio:
\nIn this episode: The true value of open source, an introduction to the new Authors Alliance, and an OpenStack challenge.
\nLinks:
\nIn this episode CPrompt covers some pretty cool stuff that he has found over the last few days.
\nLinks: Beyond Pod
\n \nYou\'re Listening To
\n \nWallet Ninja
\n \nDream The Electric Sleep
\n ',252,0,0,'CC-BY-SA','beyondpod,youarelistening.to,Wallet Ninja,Dream The Electric Sleep',0,1477,1), (1631,'2014-11-03','HPR Community News for October 2014',3124,'Discussions on the New Year show and more','\r\nWelcome to our new hosts:
\r\n corenominal, \r\n beni.\r\n
Id | \r\nDate | \r\nTitle | \r\nHost | \r\n
---|---|---|---|
1608 | \r\n2014-10-01 | \r\nInterviews at Lincoln LUG | \r\ncorenominal | \r\n
1609 | \r\n2014-10-02 | \r\nSigil And The Process Of The Epub In FOSS | \r\nlostnbronx | \r\n
1610 | \r\n2014-10-03 | \r\nThe BTRFS File System | \r\nJWP | \r\n
1611 | \r\n2014-10-06 | \r\nHPR Community News for September 2014 | \r\nHPR Volunteers | \r\n
1612 | \r\n2014-10-07 | \r\nDon\'t Forget the Referbs | \r\nNYbill | \r\n
1613 | \r\n2014-10-08 | \r\nWhat\'s in a nickname? | \r\nInscius | \r\n
1614 | \r\n2014-10-09 | \r\nAn Open Source News Break from Opensource.com | \r\nsemioticrobotic | \r\n
1615 | \r\n2014-10-10 | \r\n39 - LibreOffice Calc - Inferential Statistics Functions | \r\nAhuka | \r\n
1616 | \r\n2014-10-13 | \r\nHowto Use Webfonts | \r\nklaatu | \r\n
1617 | \r\n2014-10-14 | \r\nSpaceteam | \r\nbeni | \r\n
1618 | \r\n2014-10-15 | \r\nOggCamp Attendees | \r\nbeni | \r\n
1619 | \r\n2014-10-16 | \r\nBare Metal Programming on the Raspberry Pi (Part 1) | \r\nGabriel Evenfire | \r\n
1620 | \r\n2014-10-17 | \r\nPasswords, Entropy, and Good Password Practices | \r\nAhuka | \r\n
1621 | \r\n2014-10-20 | \r\nOggCamp Interview with James Tait | \r\ncorenominal | \r\n
1622 | \r\n2014-10-21 | \r\nAn interview with Michael Tiemann | \r\nsemioticrobotic | \r\n
1623 | \r\n2014-10-22 | \r\nTech and Coffee at OggCamp | \r\nbeni | \r\n
1624 | \r\n2014-10-23 | \r\nPenguicon 2015 Call for Talks | \r\nAhuka | \r\n
1625 | \r\n2014-10-24 | \r\n40 - LibreOffice Calc - Other Functions | \r\nAhuka | \r\n
1626 | \r\n2014-10-27 | \r\nOpensource.com: Recalling OSCON 2014. | \r\nsemioticrobotic | \r\n
1627 | \r\n2014-10-28 | \r\n5150 Shades of Beer: 0001 He\'Brew Hops Selection from Smaltz Brewing Company | \r\nFiftyOneFifty | \r\n
1628 | \r\n2014-10-29 | \r\nOggCamp Interview with Peppertop Comics | \r\ncorenominal | \r\n
1629 | \r\n2014-10-30 | \r\nBanana Pi - First Impressions | \r\nMike Ray | \r\n
1630 | \r\n2014-10-31 | \r\nBare Metal Programming on the Raspberry Pi (Part 2) | \r\nGabriel Evenfire | \r\n
There are 26 comments:
\r\n\r\nThis is a short summary of what steps I took to get a set and forget bitcoin mining station going. Using a asicminer cube eruptor and an odroid u2.\r\n
\r\n',281,0,0,'CC-BY-SA','bitcoin,bitcoin mining,ASICMiner Block Erupter Cube,odroid u2',0,1383,1), (1586,'2014-09-01','HPR Community News for August 2014',4346,'Dave and Ken review the happenings for the month.','Welcome to our new hosts:
Inscius.
There are 17 comments:
\nIn this episode: An interview with Mark Johnson of OSS Watch, the Open Source Seed Initiative, and a video game that asks to be hacked.
\nLinks:
\nKevie and Andrew release TuxJam episode thirty three and a third as an exclusive to HPR on how they got into Linux, interspersed with a few Creative Commons licensed tunes. The story begins in the mid-1990s and some credit is given to a Microsoft product. At no point do they put on terrible Irish accents and discuss the spelling of whisk(e)y*. If you like what you hear then you might like to listen to other TuxJam episodes here: https://unseenstudio.co.uk/category/tuxjam-ogg/
* This may not be entirely true.
\r\nSPECIAL ANNOUNCEMENT HPR_AudioBookClub SNEAK PREVIEW!!! \r\nSometime in the not-too-distant future we\'ll be reviewing Street Candles by HPR\'s very own David Collins Rivera (aka Lostinbronx). Street Candles is not finished yet, but is available via RSS and Lostinbronx publishes a new episode each week. This book is excellent, and you\'ll want to say you were there to see it happen. Head over to LNB\'s site for all the details https://www.cavalcadeaudio.com/ and remember to subscribe to his RSS feed:\r\n
\r\n\r\n\r\nIn this episode, the HPR_AudioBookClub reviews The Crown Conspiracy by Michael J. Sullivan. This book received thumbs up from all of this month\'s participants. You can download this audiobook for free (or voluntary donation) from https://podiobooks.com/title/the-crown-conspiracy/ and it\'s also available in paperback on Amazon: https://www.amazon.com/Crown-Conspiracy-Michael-J-Sullivan/dp/0980003431 . You can find more content (including podcasts) from Michael J. Sullivan https://riyria.blogspot.com/ Many of his books are also available in paper and ebook editions on amazon.com.\r\n
\r\n\r\nAs usual, during this episode of the AudioBookClub the hosts have each reviewed a beverage of their choice.\r\nMorgellon drank a Bourbon and soda, but not during the show because he was driving. He recommends both Woodford Reserve https://www.woodfordreserve.com/ and Evan Williams Bourbons https://www.evanwilliams.com/\r\nx1101 drank Wild Turkey 101 proof Bourbon https://wildturkeybourbon.com/\r\npokey drank a cup of Oolong tea. It was probably a little stale, but pokey is a knuckle dragger, so he didn\'t notice at all. https://www.foojoyteas.com/teabag.php . This was the first time that pokey has reviewed an NA beverage for the AudioBookClub, so we apologize if the show has suffered because of it.\r\nThaj won the Non-Alcoholic division hands down with a glass of fresh squeezed lemonade.\r\nColin couldn\'t make it to this recording because of time zone differences, but he did write in. I\'ll add his note to the episode comments. Please add your own comment as well. His beverage however was an Innis and Gunn Original https://www.innisandgunn.com/the-range/core-range/original/ to which he gives his thumb up.\r\n
\r\n\r\nOur next audiobook will be How to Succeed in Evil: The Novel by Patrick E. McLean https://podiobooks.com/title/how-to-succeed-in-evil-the-novel/\r\n(not to be confused with How To Succeed in Evil: The Original Podcast Episodes by Patrick E. McLean)\r\nThis book was suggested by Morgellon. Our next book club recording will be 2014/06/10T23:00:00+00:00 (https://en.wikipedia.org/wiki/ISO_8601#Times)\r\n
\r\n\r\nThere are several ways to submit feedback for this episode including the HPR mail list hpr@hackerpublicradio.org, and the episode\'s comment section\r\nMorgellon is reachable via twitter @lowtekmorgellon or email morgellon@gmail.com\r\nx1101 can be reached via twitter @x1101, StatusNet @x1101/micro.fragdev.com and email x1101@gmx.com\r\nThaj can be reached by email thajasara@gmail.com\r\npokey prefers his feedback to come via the HackerPublicRadio comment system, but is also usually available on StatusNet @pokey/micro.fragdev.com\r\n
\r\n\r\nPlease remember to visit the HPR contribution page. We could really use your help right now. https://hackerpublicradio.org/contribute.php\r\n
\r\n\r\nWe had a great time recording this show, and we hope you enjoyed it as well. We hope you\'ll consider joining us next time. Thank you very much for listening.\r\n
\r\n\r\nSincerely,\r\nThe HPR_AudioBookClub\r\n
\r\n\r\nP.S. Some people enjoy finding mistakes. For their enjoyment, we have included a few.\r\n
',157,53,1,'CC-BY-SA','HPR AudioBookClub,The Crown Conspiracy',0,1305,1), (1602,'2014-09-23','An Open Source News Break from Opensource.com',1069,'Data-driven journalism, open source password management, and open electronics','\r\nIn this episode: Data-driven journalism with Journalism++, open source password management, and open electronics with Spark.\r\n
\r\n\r\nLinks:\r\n
\r\n\r\n\r\nBuild, configure and deploy a self maintaining Yahoo mail forwarding virtual client.\r\n
\r\nNeeded\r\n
\r\nSince it will be virtual, isolated, single purpose machine, Security is minimal.\r\n
\r\n\r\nStep by step instuctions at https://james.toebesacademy.com/YahooMailForwarder.html\r\n
\r\nOccasionally bulk forwards spam folder....\r\n
\r\n\r\nLet me know your thoughts and if you want to hear more about my home server configuration.\r\n
\r\n',273,0,0,'CC-BY-SA','email,IMAP,Thunderbird',0,0,1), (1573,'2014-08-13','Make your own t-shirt with bleach',298,'Making T-shirts with bleach and freezer paper','\r\nMaking T-shirts with bleach and freezer paper\r\n
\r\n\r\n\r\nbe sure to check out side bar at /r/bleachshirts for more tutorials\r\n
',110,0,0,'CC-BY-SA','t-shirt,bleach',0,0,1), (1577,'2014-08-19','Introducing Nikola the Static Web Site and Blog Generator',936,'I explain how to use the Nikola Static Web Site and Blog Generator to make a simple site with a page','Nikola - The Static Web Site and Blog Generator - https://getnikola.com
\nNote: Please see developer notes below
\nWhat is it? A Static Website and Blog Generator based on Python.
What is a Static Website Generator? It generates posts and pages via commands. You edit those posts and pages in a text editor, then run a command to build the site, and finally, deploy/upload the generated html etc files to your webhost.
That sounds kinda old school are you sure thats web 3.0? Its old and new school. Nikola gives you CMS like features without the overhead of the database server and page rendering engine.
How can I install it? Use PIP and follow the handbook on the getnikola.com website. NOTE: Python 2.6 or newer or Python 3.3 or newer is required
\nsudo pip install nikola\nsudo pip install nikola[extras]\n
You should be good to go if you can enter nikola help in a terminal and get a list of nikola commands.
Lets create our skeleton website:
\nnikola init mysite \n
You will need to answer some questions now (NOTE a directory to cd into called mysite will be created if you issue mysite.. You should enter your domain name instead - mysite is just an example).
The questions it asks will help populate the conf.py file in the mysite directory.
\nSite Title: \nSite Author:\nSite Author Email:\nSite Description:\nSite URL:\nLanguages to support: (default en)\nTime zone: \nWhich comments system to use:\n
Once complete your site will be created and in the directory you named the site as - in my case, mysite.
cd into that and take a look at the files with ls.
you will have:
Lets create a blog post.
\nnikola new_post\n
Type in the title of your blog post and hit enter. I will use foobar in this example
It will report the new post is in posts/foobar.rst
fire up your text editor and edit that file.
There is a header area at the top of the file - most of it is already filled in and you wont need to change it but you should add a Tag because you can see posts by Tag once the site is generated and it gives your readers a way to find all items on that subject. These are separated by commas so enter as many or few as you like. Enter a Description in the Description area.
Now move into the Write your post here area and go to town - erase that or it shows up in your post.
You should read the page on ReStructuredText here: https://getnikola.com/quickstart.html but also just look at the source by clicking \'Source\' on the getnikola website and you can see the markup they used. Some basics are
\n*word*\nfor italics,
\n**word**\nfor bold, a single * space item for bullet points and for hyperlinks
\n`Tree Brewing Co: <https://treebeer.com/>`_.\na Tree Brewing Co hyperlink which will bring you when clicked to treebeer.com. Lastly issue:
\n.. image:: /files/imagefilename.jpg\nto point to an image file that you have placed into the files directory.
\nnikola build\nnikola serve -b\n
Your default web browser will launch and you will see your site with blog post. Savour the moment - you have just created your first blog post. Note all the generated files you would upload to your webhost are in the output folder.
Ok so thats great but I want to add pages and have it in my navigation window Ok lets do that.
\nnikola new_post -p\nEnter a name for it and press Enter. In my case I created MyPage
It tells you your page is in the stories directory and shows you how it named the file. In my case its mypage.rst
Open that in a text editor and compose the page - save it when complete.
So that would be great but its not showing up in your navigation yet. You need to put that in your conf.py file.
Open conf.py in a text editor, look for NAVIGATION_LINKS. Observe how the existing pages are linked and follow that format. Here is how I would add mypage: (/stories/mypage.html, MyPage), any page you create will show up in stories so dont forget to put that in the path.
\nNAVIGATION_LINKS = {\n DEFAULT_LANG: (\n (\"/archive.html\", \"Archive\"),\n (\"/categories/index.html\", \"Tags\"),\n (\"/rss.xml\", \"RSS feed\"),\n (\"/stories/mypage.html\", \"MyPage\"),\n ),\n}\n
Save that and rebuild your site.
NOTE:: As of Today Nikola v7.0.1 requires a special command to include the new pages in navigation. This has been fixed in git but currently you must issue:
\nnikola build -a\nnikola serve -b \n
Now you are viewing it - nice work - you have a page now.
This site seems a bit plain, how can I theme it? Glad that you asked - issue this command.
\nnikola bootswatch_theme -n custom_theme -s slate -p bootstrap3\n
Now you have set it to use the slate bootswatch theme. Review the bootswatch themes on: https://bootswatch.com/
In order to let Nikola know to use this new theme you need to edit the conf.py file and look for THEME and change the value from bootstrap3 to custom_theme.
Now issue these commands at the command line to view the changes:
\nnikola build\nnikola serve -b \n
You can modify the themes to your liking and there is guidance on changing the theme on the nikola website.
There are ways to depoly your site via rsync or ftp commands in the conf.py file. There are also other things you can set in the conf file such as google analytics, add an embeded duckduckgo or google search engine, specify options for the image galleries etc.
More things you can do to spify up your posts / pages are to do with using shortcode like sytax for ReStructuredText. You can embed soundcloud, youtube videos etc - here is a list of these: https://getnikola.com/handbook.html#restructuredtext-extensions
I hope this helps you get started on using Nikola and hope you enjoy using it as much as I do. If you have questions or comments, find me in the oggcastplanet.net irc chat room on freenode, or go to https://stevebaer.com click Tags and click HPR and leave a comment on this episodes blog post. Until next time, Cheers!
\n\r\nIn this episode, the hackerpublicradio.org Audiobook Club reviews How to Succeed in Evil: The Novel by Patrick E. McLean. \r\n
\r\n\r\n\r\nThree out of four of us liked this book, and we all had some good things to say about it. While it\'s true that this is an entertaining story set in a super hero world, we found it it more amusing and more thought provoking than your average super hero story.\r\n
\r\n\r\nAs usual, during this episode of the AudioBookClub the hosts have each reviewed a beverage of their choice.\r\n
\r\n\r\n\r\nOur next audiobook will be Down and Out in the Magic Kingdom by Corey Doctorow https://podiobooks.com/title/down-and-out-in-the-magic-kingdom/ \r\nOur next book club recording will be 2014/07/15T23:00:00+00:00 (https://en.wikipedia.org/wiki/ISO_8601#Times)\r\nIf you\'d like a Google calendar invite, or if you\'d like to be on the HPR_AudioBookClub mailing list, please get in contact with us on the HPR mailing list \'hpr at hackerpublicradio dot org\'\r\n
\r\n\r\nThere are several ways to submit feedback for this episode including the HPR mail list hpr@hackerpublicradio.org, and the episode\'s comment section\r\n
\r\n\r\npokey prefers his feedback to come via the HackerPublicRadio comment system, but is also usually available on StatusNet @pokey/micro.fragdev.com\r\n
\r\n\r\nPlease remember to visit the HPR contribution page. We could really use your help right now. https://hackerpublicradio.org/contribute.php\r\n
\r\n\r\nWe had a great time recording this show, and we hope you enjoyed it as well. We hope you\'ll consider joining us next time. Thank you very much for listening.\r\n
\r\n\r\nSincerely,\r\nThe HPR_AudioBookClub\r\n
\r\n\r\nP.S. Some people enjoy finding mistakes. For their enjoyment, we have included a few.\r\n
',157,53,1,'CC-BY-SA','HPR AudioBookClub',0,0,1), (1583,'2014-08-27','Podcast Generator',223,'Easy software to host a podcast.','\r\nPodcast Generator - Software which can host your podcast and generate all the RSS feeds.\r\nhttps://podcastgen.sourceforge.net/\r\n
\r\n\r\nBlue Drava Podcast - a little show I\'m working on, hosted using the software.\r\nhttps://podcast.bluedrava.com\r\n
',191,0,1,'CC-BY-SA','Podcast, Webapp, PHP',0,0,1), (1584,'2014-08-28','An interview with Josh Knapp from AnHonestHost.com',3165,'We talk to Josh Knapp about his new business AnHonestHost.com','\r\nFor years our own Josh Knapp has been the real Server Administrator behind Hacker Public Radio, and has been subsidising it out of his own pocket for some time.\r\n
\r\n\r\nHe and a few of his colleagues have decided to branch off and set up their own company. AnHonestHost.com is based on a simple idea; Better web hosting that\'s honest and fair.\r\n
\r\n\r\nWe discuss the past, the future and how it affects HPR.\r\n
',30,78,1,'CC-BY-SA','AnHonestHost.com,shared hosting',0,0,1), (1587,'2014-09-02','Beginner\'s guide to the night sky 3 - A wee dot on a dark sky',1809,'A ramble about stars, by a geeky chap who resides on planet Earth.','\r\nA ramble about stars, by a geeky chap who resides on planet Earth. This episode\r\nis entitled a wee dot on a dark sky.\r\n
\r\n\r\nI comment briefly on why it\'s remarkable\r\nthat the night sky is dark. I then go on to talk about the colour of stars,\r\nwhich we can just perceive with the naked eye. To learn more you need to use\r\na prism, or, as professional astronomers prefer, a diffraction grating to\r\nobtain a spectrum of a star. I talk a little too much about the mathematics\r\nof diffraction gratings but eventually get back to talking about\r\nspectrum of the Sun which in overall shape is very close to what physicists\r\ncall a black body spectrum (https://en.wikipedia.org/wiki/Black_body)- the spectrum any object will have at a given\r\ntemperature. Astronomers and physicists prefer to measure temperature\r\nin units of kelvin (https://en.wikipedia.org/wiki/Kelvin),\r\nand to convert to it you only need to add 273 to the\r\ncelsius temperature. Conversion from Fahrenheit is left as an exercise\r\nto the listener.\r\n
\r\n\r\nThe Sun shows spectral lines, specifically dark lines on the broad spectrum\r\ncalled absorptions lines. This is caused by atoms in a cooler layer of gas\r\n(called the chromosphere) that\'s just above the bright surface of the Sun\r\n(called the photosphere). In fact, Helium is named as such because it was\r\nfirst discovered by its absorption lines in the solar spectrum (Helios\r\nis Greek for Sun). Many other elements can be found in the spectrum of\r\nthe Sun and other stars, but most of the mass of all stars is made up\r\nof hydrogen and helium.\r\n
\r\n\r\nThe temperature of a star is correlated with colour, with blue stars being\r\nhotter than red stars. This was originally measured by astronomers by\r\nsomething called colour or B-V (B minus V) index.\r\n
\r\n\r\nThe luminosity of a star is the rate\r\nat which it emits energy as light, and can be measured in the same units\r\nas light bulbs, i.e. watts (W). But to estimate the luminosity we need\r\nto know the distance to a star which, for nearby stars, can be \r\nfound by the parallax method. By plotting colour index (a proxy\r\nfor temperature) against luminosity we can form a key piece of empirical\r\nevidence - the Hertzsprung Russell diagram: https://en.wikipedia.org/wiki/Hertzsprung%E2%80%93Russell_diagram \r\n
\r\n\r\nIt turns out that our nearest star - the Sun - is quite unremarkable. It is neither very hot or cool, nor\r\nvery bright or dim - it\'s a fairly typical star.\r\n
',268,0,0,'CC-BY-SA','astronomy,star,hydrogen,helium',0,0,1), (1588,'2014-09-03','HPR AudioBookClub-09-Down And Out In The Magic Kingdom',8952,'In this episode, the HPR_AudioBookClub reviews Down And Out In The Magic Kingdom by Cory Doctorow.','In this episode, the HPR_AudioBookClub reviews Down And Out In The Magic Kingdom by Cory Doctorow. You can download this AudioBook for free (or voluntary donation) from podiobooks.com. https://podiobooks.com/title/down-and-out-in-the-magic-kingdom/ and it\'s also available in just about every ebook format you can imagine on Cory\'s website craphound.com. https://craphound.com/down/?page_id=1625 and as a paperback through various booksellers. We found this AudioBook enjoyable and thought provoking. The general consensus that we seem to have reached is that while the book left the reader with many unanswered questions about the world in which the book was set, they are welcome questions. It\'s brain bending fun.
\r\nFiftyOneFifty (the link-king) found some cool links relating to the Haunted House and how it works. Check these out!
\r\ngigasphere wrote in to say,
\r\nI listened to this book in the space of a couple of days mostly. At first it took some time to get into but then was quite enjoyable, however in the second half I started to find it a bit hard going. The story is told exclusively in the first person (I think that\'s right) and as the story went on I found it quite difficult not having external points of view or reference. This is probably also due to good story telling as the main Character Jules is also getting frustrated and is increasingly isolated. The book was interesting and unique even before you got to the plot line and aspects of the world the characters were living in. I would recommend the book as an example of an interesting method of story telling and I\'m keen to pick up the other big Cory Doctorow book, \"Little Brother\".\r\n
gigasphere\'s spoilers (Highlight to read)
\r\n\r\n\r\nFrom having read the wikipedia page on Cory I can see that Down and Out in the Magic Kingdom, which is Cory\'s first novel, seems to have a trademark extrapolation with our own reality. The concept of backing up you mind and being brought back from the dead in a clone seems an excellent example of hyper-our-reality at the moment, but to then have everyone capable of being online using implants is also amazingly realistic when you consider the almost boom in wearables going on and the ubiquity of smartphones. I am reminded of the xkcd comic where the guy was having a USB port implanted.
\r\n
https://xkcd.com/644/
The whuffie aspect of the book which replaces money, reminds me a lot of the social media thing of being rated by how many \'followers\' or \'likes\' or may be even \'hits\' you get. This also oddly reminds me of the download stats discussion on the mailing list at the moment.
I\'m not sure I\'ll add much to the overall discussion of the book from here as my no spoiler summary really rounds up the book for me. I would have liked to have a broader telling of the story, particularly from Lil\'s perspective, but the restrictions placed on the story also work to make it great, in that you are forced, as in real life, to view the world through only one person\'s eyes.
We think you\'ll agree that the HPR_AudioBookClub really showed up for this one and they brought some all-star beverages. Please enjoy this episode responsibly.
\r\nRevolution Radio by Seth Kenlon
https://aesdiopod.com/books/
AND
\r\nStreet Candles by David Collins-Rivera
https://www.cavalcadeaudio.com/stardrifter.html
We\'re really excited about these two AudioBooks because both of these authors are HPR community members! We\'re assigning both at once because one is pretty short, and one is pretty long. We were a little worried that people might not finish Street Candles in time to participate, and we think this scheme may buy participants the time they they/we need.
\r\nSeth Kenlon\'s personal profile page: https://seth.kenlon.usesthis.com/
Seth Kenlon\'s HPR correspondent page: https://hackerpublicradio.org/correspondents/0078.html
David Collins-Rivera\'s personal blog: https://www.cavalcadeaudio.com/index.html
David Collins-Rivera\'s HPR correspondent page: https://hackerpublicradio.org/correspondents/0107.html
Our next book club recording will be 2014/08/12T23:00:00+00:00. https://en.wikipedia.org/wiki/ISO_8601#Times If you\'d like a Google calendar invite, or if you\'d like to be on the HPR_AudioBookClub mailing list, please get in contact with us on the HPR mailing list \'hpr at hackerpublicradio dot org\'
\r\nThank you very much for listening to this episode of the HPR_AudioBookClub. We had a great time recording this show, and we hope you enjoyed it as well. We also hope you\'ll consider joining us next time. Please leave a few words in the episode\'s comment section.
As always; remember to visit the HPR contribution page HPR could really use your help right now.
https://hackerpublicradio.org/contribute.php
\r\nSincerely,
The HPR_AudioBookClub
P.S. Some people really like finding mistakes. For their enjoyment, we always include a few.
\r\n1: The HPR_AudioBookClub doesn\'t laugh at anyone for reviewing tea, nor any other drink. We intentionally call the segment a \"beverage review,\" not a \"beer review\" so that no one should feel alienated. Also because some of us drink wine.
\r\n2: The HPR_AudioBookClub does laugh when people try to spell flavor with a \"u\"
',157,53,1,'CC-BY-SA','HPR AudioBookClub',0,0,1), (1644,'2014-11-20','Opensource.com: Benetech, OpenStack and Kumusha',954,'Benetech CEO opens up, the challenge of OpenStack product management, and Kumusha Takes Wiki.','Benetech started out in the 90s without even understanding the meaning of the term open source. They just \"needed an easy way to interface with different voice synthesizers\" to develop readers for people who are blind and \"shared the code to be helpful.\"
\r\n\r\nSound familiar? Opensource.com started covering stories like in 2010 and they recur more often than you might think. Stories of people sharing the code to help others—but sharing code to get help developing better code. When code is open, a community has the opportunity to form around it.
\r\nRead this interview about what Benetech CEO Jim Fruchterman learned by adopting open source philosophy and furthering technology-for-good.
\r\nRead more: \r\nhttps://opensource.com/business/14/7/interview-jim-fruchterman-benetech
Two recent, excellent, blog posts have touched on a topic I\'ve been wrestling with since May\'s OpenStack Summit: What is the role of the Product Management function, if any, in the OpenStack development process?
\r\n The first article, \"Calling all \'User Landians\' to lead OpenStack above the cloud,\" by Evan Scheessele, talks about the \"real user\" of OpenStack—those people that need to deliver a solution that brings some sort of value to their organization. The other article, \"Who\'s In Charge Here Anyway?…,\" by Rob Hirschfeld, speaks to the dynamics of how decisions—which OpenStack features are in in or out—get made in the OpenStack ecosystem.
\r\nRead more: https://opensource.com/business/14/7/openstack-product-management-wisdom-or-folly
People in Sub-Saharan Africa face hurdles to get online. Despite some progress, the region lags behind in Internet connectivity due to the high costs of service and poor infrastructure, according to a recent World Economic Forum report.
\r\n\r\nThis digital divide means some African communities are underrepresented on the web. Without a well-developed online presence, misinformation about them can spread relatively unchallenged.
\r\nRead more: https://opensource.com/life/14/7/giving-sub-saharan-african-communities-online-presence\r\n
\r\nUsing a Weber grill to cook all your food.\r\n
\r\n\r\nMr. Gadgets calls in another show and this time he has been to Kansas City Maker Faire.
\nMaker Faire: Kansas City celebrates things people create themselves — from new technology and electronic gizmos to urban farming and “slow-made” foods to homemade clothes, quilts and sculptures. This family-friendly event demonstrates what and how people are inventing, making and creating. It brings together Makers, Crafters, Inventors, Hackers, Scientists and Artists for a faire full of fun and inspiration.
\n\r\nIn this episode: An open-minded curriculum for K-12 computer education, Karen Sandler on open source\'s \"identity crisis,\" ChickTech\'s outreach efforts.\r\n
\r\nThe O\'Reilly Open Source Convention—or OSCON, as it\'s popularly known—is one of the world\'s premier open source events. For more than a decade, open-minded developers, innovators, and business people have gathered for this weeklong event, which explores cutting edge developments in the open source ecosystem. This year, Opensource.com visited OSCON, held July 20–July 24 at the Oregon Convention Center in Portland, OR (USA).
\nRead more: https://opensource.com/business/14/7/speaker-interview-series-oscon-2014
\nEagerly awaiting another year of open source wonders, the Opensource.com community caught up with a handful of notable OSCON speakers to gather behind-the-scenes stories about their passions for open source. Our eBook book collects the interviews we conducted.
\nRead more: https://opensource.com/resources/oscon-2014-interviews
\nOur own Jason Hibbets and Jen Wike were live blogging from OSCON 2014! Day 1 talks include:
\nWe\'re back with keynote coverage on Day 2 of OSCON 2014! Day 2 talks include:
\nWe\'re back with keynote coverage on Day 3 of OSCON 2014! Day 3 talks include:
\nKlaatu muses about the word \"hack\" and what it means, what it should mean, and how we can keep it meaningful.
',78,0,0,'CC-BY-SA','hack,hacker',0,0,1), (1601,'2014-09-22','Howto Install LAMP',937,'Klaatu introduces new web developers to LAMP.','If you\'re just starting out as a web developer or\r\ndesigner, you should know about LAMP and how to use it. This episode\r\nintroduces you to the basics.\r\n
\r\n\r\nLAMP (software bundle)
\r\nFrom Wikipedia, the free encyclopedia
\r\nLAMP is an acronym for an archetypal model of web service solution stacks, originally consisting of largely interchangeable components: Linux, the Apache HTTP Server, the MySQL relational database management system, and the PHP programming language. As a solution stack, LAMP is suitable for building dynamic web sites and web applications.\r\n
\r\nhttps://en.wikipedia.org/wiki/LAMP_%28software_bundle%29\r\n
Klaatu talks about how to get VNC up and running. It focuses on x11vnc but basically it applies to any variety.
\nVirtual Network Computing
From Wikipedia, the free encyclopedia
\n
In computing, Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network.
VNC is platform-independent – There are clients and servers for many GUI-based operating systems and for Java. Multiple clients may connect to a VNC server at the same time. Popular uses for this technology include remote technical support and accessing files on one\'s work computer from one\'s home computer, or vice versa.
VNC was originally developed at the Olivetti & Oracle Research Lab in Cambridge, United Kingdom. The original VNC source code and many modern derivatives are open source under the GNU General Public License.
There are a number of variants of VNC which offer their own particular functionality; e.g., some optimised for Microsoft Windows, or offering file transfer (not part of VNC proper), etc. Many are compatible (without their added features) with VNC proper in the sense that a viewer of one flavour can connect with a server of another; others are based on VNC code but not compatible with standard VNC.
VNC and RFB are registered trademarks of RealVNC Ltd. in the U.S. and in other countries.
Klaatu reveals the secret of webfonts WITHOUT using Google. How can this be? Listen and find out.
\r\n',78,0,0,'CC-BY-SA','font,CSS,font-face',0,0,1), (1594,'2014-09-11','Steam and wine with linux',1033,'How to coax a windows-only steam game to work under steam in GNU/Linux.','This isn\'t about my worshiping of Bacchus by playing games on linux in a sauna (that\'s for a future show) but instead about getting a Windows-only Steam game to work on a recent 64 bit linux distro. I\'m using Slackware, but I suspect the pitfalls and solutions I encountered would be similar on other distros.
\nLinks relevant to this adventure:
\nFurther details can be found on my blog:
\n\r\nDigital Signatures are something that is very important in understanding security on the Internet. While we have seen it in the context of personal e-mail, the applications are much broader, in particular to the use of certificates to establish communication.\r\n
\r\n\r\nRecall from our discussion of e-mail that there are two things you can do with an e-mail using PGP or GPG. First is you can encrypt the message, which you do using the public key of the recipient, and then they can decrypt the message using their private key. The other was putting a digital signature on a message. But how does that work? - For more go to https://www.zwilnik.com/?page_id=655\r\n
\r\n\r\nLinks:\r\n
\r\n\r\n\r\nPreviously we looked at Public Key encryption, which is also called Asymmetric Encryption because it uses two different keys for the encryption and decryption. This allows us to solve one of the biggest problems in secure encrypted communication, which is key distribution. Because the public key can be freely distributed, you dont need to maintain security around the process of distributing keys. Symmetric encryption, on the other hand, relies on a shared key that is used for both encryption and decryption. An example of this is the one-time pad, where you printed up a pad of paper that contained various keys, and each one was used only once. As long as no one can get the key, it is unbreakable, but the big weakness was key distribution. How do you get the one-time pad into the hands of your correspondent? And you would need to do this with separate one-time pads for each person you needed to communicate with. These are the kinds of problems that made asymmetric encryption so popular. Finally, symmetric key crypto cannot be used to reliably create a digital signature. The reason should be clear. If I have the same secret key you used to sign a message, I can alter the message, use the shared secret key myself, and claim you sent it. - For more go to https://www.zwilnik.com/?page_id=650\r\n
\r\n\r\nLinks:\r\n
\r\n\r\n\r\nRight now for most of us the key to any security in our online life is the degree of entropy in our passwords. So what is entropy, and how does it affect our passwords?\r\n
\r\n\r\nEntropy is in general the degree of randomness or disorder in any given system. Sometimes it is very easy to assess, such as a password of 1234, which all too many people use. Because it is a simple sequence, there is no real randomness at all, and would be quickly guessed. And as we saw in the last tutorial, such passwords are quickly discovered in a dictionary attack. There are things you can do to make it less likely that your password will be cracked and used against you. - For more go to https://www.zwilnik.com/?page_id=530\r\n
\r\n\r\nLinks:\r\n
\r\n\r\nToday, the most common way of providing security in giving access to data or systems is through the use of passwords. Practically every online site now expects you to create an account with a password, which will let you post comments, order products, conduct business, or just post to social media. The implication is that insisting on passwords provides some level of security. Now, following on our last tutorial we should ask a few questions about just how effective this measure is, since someone posting in your name to Twitter is significantly different from someone accessing your bank account. And since the assets being protected are very different, it would be reasonable to approach the problem of security somewhat differently in these cases. But given the ubiquity of passwords as the authentication for online accounts, we need to look at the security involved. Note that I am approaching this from the standpoint of the owner of the site in question for this tutorial, and will follow up with a look at your own role in this.
For more go to https://www.zwilnik.com/?page_id=640
Links:
\nIn today\'s show Ken interviews Ingmar Steiner who is the lead developer for the mary text to speech project. MaryTTS is an open-source, multilingual text-to-speech synthesis system written in pure java and is released under the LGPL. During the interview we get a history of the project, and dive into speech synthesis and we look at how to make your own voices.
This year\'s GUADEC, the Gnome Users and Developers Conference was held in Strasbourg, France. Keynote Speaker was free software activist Matthew Garrett. He held an inspiring speech on the Linux and Gnome desktop and laid out his vision for both. Afterwards, I was able to ask him a few questions.
\nFor any reactions, mail me at mail (at) linuxohneangst.net
\nEnjoy.
\n\r\nI talk about the migration of my blog from Drupal 6 to Nikola. I explain\r\nwhy I wanted to migrate, and I tell about the script I used.\r\n
\r\n\r\nDetails and scripts can be found on my blog:\r\nhttps://blog.johanv.org/posts/drupal-nikola.html\r\n
\r\n\r\nSee also:\r\n
\r\n\r\nIn today\'s show, Philip Newborough interviews fellow members of Lincoln LUG. Each interviewee is asked 3 simple questions:
\nThe participating LUG members were not given the questions in advance and the resulting answers were quite varied. Hopefully, this collection of interviews will provide you, the listener, with a good understanding of the broad mix of Linux users who attend Lincoln LUG.
The members who were interviewed, in order, were:
\nNote: Lincoln LUG meets on the 3rd Wednesday of each month at the Lincoln Bowl. The interviews were conducted outside the bowl and some background noise can be heard, we hope this does not affect your enjoyment of this episode.
',287,78,1,'CC-BY-SA','interviews,linux,lug',0,0,1), (1612,'2014-10-07','Don\'t Forget the Referbs',1211,'NYbill talks about a refurbished Lenovo and modifying it to his liking.','\r\nNYbill talks about getting a refurbished Lenovo X61 and making it more functional with a tool or two. There is also some talk of PLC\'s (Programmable Logic Controllers). A more in depth explanation of PLC\'s could be an episode in itself and might be some day. Stay tuned...\r\n
\r\n\r\nPics for the episode:\r\nhttps://media.gunmonkeynet.net/u/nybill/collection/hacking-a-lenovo-x61/\r\n
\r\n\r\nLenovo after market BIOS. Allows Ctrl-Fn swap in older systems. (Use at your own risk!):\r\nhttps://forum.notebookreview.com/lenovo/474396-fn-ctrl-swap-all-lenovo-laptops-solved.html\r\n
',235,0,0,'CC-BY-SA','Lenovo,Lenovo X61,modification',0,0,1), (1609,'2014-10-02','Sigil And The Process Of The Epub In FOSS',2282,'lostnbronx rambles on and on about his current process for creating epubs using FOSS tools','\r\nHere are some links to the software discussed in this episode\r\n
\r\n\r\nHow I came to use Inscius as my Internet nickname.\r\n
\r\nhttps://en.wiktionary.org/wiki/inscius\r\n
',283,0,1,'CC-BY-SA','nickname,handle,name,domain',0,0,1), (1617,'2014-10-14','Spaceteam',629,'A game of Spaceteam ','If this show only confuses you, search the Internet for the Android app Spaceteam, have some friends install it and start playing. To maximize the fun you preferably play in a public place.
\nhttps://play.google.com/store/apps/details?id=com.sleepingbeastgames.spaceteam&hl=en
',288,62,1,'CC-BY-SA','OggCamp, Spaceteam, Android, Game',0,0,1), (1618,'2014-10-15','OggCamp Attendees',839,'The first two interviews with OggCamp attendees ','\r\nThis show includes two interviews with OggCamp attendees this year. \r\n
\r\n\r\nThe first interview is with TDTRS co-host Peter Cannon, who is convinced that his podcast is the best Linux podcast there is and he is sure going to tell you why.
\r\nhttps://tdtrs.co.uk\r\n
\r\nIn the second interview I talked to Alistair (whose name I hopefully spell correctly), who told me that he would like to be a HPR host himself. So this ist his first appearance on HPR and hopefully not the last. \r\n
\r\n',288,78,0,'CC-BY-SA','oggcamp, interviews',0,0,1), (1623,'2014-10-22','Tech and Coffee at OggCamp',1295,'Another set of OggCamp interviews. I talk to Keith Milner and George Doscher from Tech and Coffee.','In this episode of interviews from OggCamp 2014 I talk to George Doscher who co-founded (or founded, I really don\'t know) the Tech and Coffee Google Plus hangout. You\'ll find him at
\nhttps://plus.google.com/+GeorgeDoscher
\nand on Tech and Coffee under
\n \nIn the second interview I talk to Keith Milner who has some interesting and fairly technical stuff to tell you about mobile networks. He also talks about unencrypted traffic on the carrier networks and why it\'s even more important for you to use encryption when using the web on your mobile. You find him under
\nhttps://plus.google.com/+KeithMilner
',288,78,0,'CC-BY-SA','oggcamp, G+, Tech and Coffee',0,0,1), (1621,'2014-10-20','OggCamp Interview with James Tait',737,'A short interview with James Tait of Canonical. ','In today\'s show, Philip Newborough interviews James Tait of Canonical, the company behind Ubuntu.
\nJames talks about his work on the now defunct Ubuntu One project, and his current work with Ubuntu Phone. James is a super-nice guy, knowledgeable and very gracious. He was a pleasure to interview.
PICTURED: James Tait (right) with Mark Shuttleworth (left).
\nThe interview was conducted at OggCamp 14, a free culture unconference, held in Oxford UK on the weekend of October 4th-5th 2014.
',287,78,1,'CC-BY-SA','interviews,linux,ubuntu,oggcamp',0,0,1), (1630,'2014-10-31','Bare Metal Programming on the Raspberry Pi (Part 2)',3024,'This episode discusses interrupt handling, and program loading using the Xmodem protocol','\r\nThe second episode in a series on bare metal programming on the Raspberry Pi. This episode builds on part 1 by showing how interrupts work on the RPIs ARM chip and the framework I created to manage them. It then goes on to describe\r\nhow an interrupt-enabled serial driver works. From there, the episode\r\nshows how we can use the serial cable in conjunction with a loader program\r\nto enable us to load bare-metal programs onto the RPI without having to\r\ncopy them to the SD card each time. In the process, the episode describes the\r\nXMODEM protocol that the loader users for the file transfer process.\r\n
\r\n\r\nHere is some of the source material that I used while working on this\r\nlittle learning experience.\r\n
\r\n\r\n\r\nThis show is about programming on a Raspberry Pi with on operating\r\nsystem or libraries. In this programming environment, the only software\r\nthat the CPU executes is the software that you write. This episode\r\nintroduces how to configure the build environment and get a basic\r\napplication up and running. From here one can leverage these techniques\r\nto build more sophisticated applications and deepen ones knowledge of\r\nsystems programming.\r\n
\r\n\r\nHere is some of the source material that I used while working on this\r\nlittle learning experience.\r\n
\r\n\r\ndwelch67\'s bare metal repository\r\n
\r\n\r\n\r\nCATRPI\r\n
\r\n\r\n\r\nAdafruit USB to TTL cable\r\n
\r\n\r\n\r\nScript to build the ARM toolchain\r\n
\r\n\r\n\r\n\r\n\r\nARM ARM\r\n
\r\n\r\n\r\nARM TRM\r\n
\r\n\r\n\r\nRPI Schematics\r\n
\r\n\r\n\r\nRPI Peripherals\r\n
\r\n\r\nI am the coordinator for the Tech Track at Penguicon 2015, which is a combined FOSS/Science Fiction convention held every spring in the Metro-Detroit area. The 2015 event will happen April 24-26 at the Westin Hotel in Southfield, MI. The theme for the upcoming year\'s event is Biotechnology and medicine, looking at how technology is affecting our health and life. But we want a lot of different talks as well, so I will be happy to accept proposals that look at things like cloud computing, security, hardware hacks, and anything else that would be of interest to geeks and hackers.
\n\r\nWe take a look at one of the most powerful, but somewhat frightening, features of modern spreadsheets. But knowing the basics of pivot tables should make themn a bit less frightening to the newcomer.\r\n
\r\n\r\nWe take a look at one of the most powerful, but somewhat frightening, features of modern spreadsheets. But knowing the basics of pivot tables should make them a bit less frightening to the newcomer.
\n\r\nWhen we were looking at Writer we saw that Styles and Templates are key concepts to using any word processor. They are not quite as central in spreadsheet use, and one can be a proficient user without resort to them, but they do give you control over the appearance of your spreadsheets, and can give the sheets you create uniform appearance. We discussed these ideas in great detail in our Writer tutorials, so I am going to hope that some of that knowledge has carried over here. Still, lets get to some basic concepts:\r\n
\r\n\r\n\r\nSmaltz Brewing Company - He\'Brew (The Chosen Beer) Hops Collection\r\n
\r\n\r\nDavid\'s Slingshot - Pours golden, like an American lager, large head that subsides, rye aroma. Blend of multi-grain malts, an emphasis on hops w/o being excessively hoppy. Citrus taste from the hops. Malts: Specialist 2-row, Carmel Pils, Rye Ale, Crystal Rye, Vienna, Wheat, Flaked Oats Hops: Cascade, SAAZ, Summit, Citra, Crystal\r\n
\r\n\r\nGenesis Dry, so dry you could be excused for wanting a glass of water to go with your beer. Bready, not biscuity, like a fresh sourdough loaf, almost makes you want to spread butter over your beer. Just enough hops to be interesting rather than annoying. Just a little sweet on the back end, so subtle you\'ll likely miss it on the first sip. Watery mouth feel. 5.5% ACL. Malts: Specialty 2-row, Munich, Core Munich 40, Wheat, Dark Crystal Hops: Warrior, Centennial, Cascade, Simcoe\r\n
\r\n\r\nBittersweet Lenny\'s R.I.P.A. Double Rye (an ode to comedian Lenny Bruce). Pours very dark amber, small head. Aroma of sweet rye bread. Sweet honey taste w/o being cloying, washed away by the hops. Strong rye flavor, much more than Slingshot. Malts: 2-row, Rye Ale Malt, Torrified Rye, Crystal Rye 75, Crystal Malt 80, Wheat, Kiln Amber, Core Munich 60 Hops: Warrior, Cascade, Simcoe, Saaz, Crystal, Chinook, Amarillo, Centennial\r\n
\r\n\r\nHop Manna IPA Pours medium amber with a good head. Little distinct aroma. For the hops enthusiast who doesn\'t want other flavors getting in the way, but still not so hoppy that the hops get in the way of the hops. Hoppy enough to satisfy most hops heads without making your tongue feel like it is under assault from the Hop High Command. Malt: Specialty 2-row, Wheat, Munich, Vienna, Core Munich 60 HOPS: Warior, Cascade, Citra, Amarillo, Crystal, Centennial Dry Hop: Centennial, Cascade, Citra\r\nEven though hoppy beers aren\'t my preference, Smaltz/He\'Brew were 4 out of 4 winners. If you see this brand, grab it with both hands. Even if I hated the beer, I\'d be a fan because each bottle lists the malts and hops, giving the home brewer a shot at replicating the brew and the expert consumer a hint of what the beer is going to taste like before purchasing.\r\n
',131,14,0,'CC-BY-SA','5150 Shades of Beer,beer,ale',0,0,1), (1632,'2014-11-04','5150 Shades of Beer: 0002 Wichita Brewing Company',3084,'Beer, drinking same part 2','\r\nAs I said in the last tutorial, Templates can be understood as a container for a number of settings, most particularly Styles. This follows the object model, which is a lot like those Russian dolls inside of each other. The File for your spreadsheet is an object, and it contains individual Sheets which are objects. Each Sheet contains Cells which are objects. And each Cell contains various Characters which are objects, which can be used to represent numbers, formulas, addresses, labels, etc. Objects exhibit two features we always want to keep in mind. First, objects have properties that are particular to the kind of object. The properties of a file might include who the author is, where the file resides on the system, any access restrictions (like making the file password-protected), and so on. \r\n
\r\n\r\nThe properties of each sheet might include things like the name of the sheet, the orientation (landscape vs. portrait), headers and footers, etc. Then the properties of the cell might include the type of cell and how \r\nit is formatted (text, currency, general number, etc.). And finally the properties of the Character include the font family, font style, font size, and so on.\r\n
\r\n\r\n\r\nOur next topic is Cell Styles. If you are already familiar with Styles from Writer, think of Cell Styles as the equivalent of Writers Paragraph Styles. Just as a single Writer document can have a variety of Paragraph Styles applied to different paragraphs (e.g. Headings, Lists, Paragraphs), a single spreadsheet can have multiple Cell Styles. And the same arguments for using Styles also apply. If you have consistently used Cell Styles in your spreadsheet, you can update the appearance easily just by changing the Style instead of needing to go through the file looking for every cell that needs to be adjusted. And by using Styles you can apply a large number of formatting choices to many cells with just a few mouse clicks. So it really does pay to learn how to use Cell Styles.\r\n
\r\n\r\n\r\nPage Styles in LibreOffice Calc set the properties for entire sheets of your workbook file. In any given Template you can have different sheets with different Page Styles if you wish, but for any given sheet you can only have one Page Style. And dont be confused by the difference between a sheet in the file and a page when printed. One single sheet may take many physical pages to print, but it is all one sheet and it is all governed by a single Page Style.\r\n
\r\n\r\n\r\nThe last few tutorials have looked at the techniques you need to master to use Styles and Templates effectively, but putting these into practice is essential to understanding them, I believe. So it is time for us to actually built a Template that incorporates a few styles and put the whole package together. For my example, I am going to create something useful for a consultant who needs to keep track of time for billing customers.\r\n
\r\n\r\n\r\nWelcome to our new hosts:
\r\n Rho`n, \r\n daw, \r\n Cibola Jerry.\r\n
There are 17 comments:
\r\nWelcome to our new hosts:
Kevie, swift110.
Policy decisions surrounding HPR are taken by the community as a whole. This discussion takes place on the Mail List which is open to all HPR listeners and contributors. The discussions are open and available on the Gmane archive.
\nThe main threads this month were:
\nTotal messages this month: 63
\nThere are 17 comments:
\nIn today\'s show, Philip Newborough interviews Mark of Peppertop Comics. Peppertop Comics create free, open-source web comics. The comics are produced on Linux using Inkscape and MyPaint.
The interview was conducted at OggCamp 14, a free culture unconference, held in Oxford UK on the weekend of October 4th-5th 2014.
\n',287,78,0,'CC-BY-SA','interviews,comics,oggcamp',0,0,1), (1634,'2014-11-06','How I got into Linux',1053,'How I discovered Linux ','I have been an HPR listener for many years, and I really like the episodes on how people discovered and learn to use Linux. So this is my first HPR contribution. I recorded this on a Sansa Clip on a saturday afternoon. It\'s not heavily edited, but i did use audacity to remove a few errors I had made. Please excuse the uhhs and umms.
\r\n',289,29,1,'CC-BY-SA','Sansa Clip,Audacity',0,0,1), (1629,'2014-10-30','Banana Pi - First Impressions',1012,'Banana Pi first impressions','They say duplication is the sincerest form of flattery, substitute the word of your choice for \'duplication\'.
\r\nThe Banana Pi is made in China and bears an uncanny resemblance to the Raspberry Pi.
\r\nNot just the name, the board is fractionally larger, some of the features on the board are similarly placed:
\r\nThere are things the RPI does not have:
\r\nThe processor is a dual-core running slightly faster than the Raspberry Pi, although to be fair, of course, the RPI can be over-clocked.
\r\nThe Banana Pi has twice the RAM and a dual-core processor.
\r\nThe SoC is the ARM Allwinner A20.
\r\nMy first Banana dropped through the letterbox a couple of days ago.
\r\nThanks to some kind soul on the Raspberry Pi Facebook group who described the connectors on the edges of the board I narrowly avoided plugging the power supply into the USB-otg port. The power micro-USB is on the underside of the board between the SATA power and data connectors which are on the upper side of the board.
\r\nCan\'t really say much about it because I can\'t actually see the build quality, but it feels nice. The PCB is fractionally thinner than the RPI.
\r\nI had an initial struggle to find a download link for any images.
\r\nThe downloads page of lemaker.org has a two row table on it which appears to be upside-down and it has links to Google-drive, two different public DropBox links, a MS One-Drive link, and something I didn\'t initially find, an FTP link.
\r\nBoth of the DB links are duff because they have suspended the account because of excessive traffic.
\r\nThis is the FTP download link:
\r\nhttps://filez.zoobab.com/bananapi/mirror/
\r\nWhen I found the FTP page I grabbed images for:
\r\nI downloaded and extracted all of these images to my Debian desktop machine and tried to write and boot them in succession.
\r\nThe first I tried was Arch, on the assumption that would not have a desktop installed.
\r\nAfter writing the card I looked at it on my Debian machine with parted and it appeared to have two partitions. As with the Raspberry Pi there is a small FAT16 partition and a bigger ext4 partition.
\r\nThe FAT partition contained the same files as the Raspberry Pi:
\r\nAnd some others I can\'t remember.
\r\nIn addition it contained:
\r\nIt appears uEnv.txt is equivalent to the Raspberry Pi cmdline.txt file, and uImage is, of course, the kernel.
\r\nSo oddly it has the files for the RPI and it\'s own in the FAT partition.
\r\nThen I tried Bananian, and this appears to be Debian Wheazy for ARM.
\r\nSimilar story with the FAT partition.
\r\nIt is a very minimal installation which has little more than the Linux Standard Base (LSB) packages. I like this because I like to have control.
\r\nI found a review from April this year that said the sound driver snd-bcm2835 was not available. At the name snd-bcm2835 my heart sank because I expected the BPI to have the same stuttering text-to-speech problems as the RPI.
\r\nNot expecting much I did, as root:
\r\napt-get install alsa-base alsa-utils
\r\nLooking through /lib/modules/... blah blah I found a driver called:
\r\nsnd-aaci.ko
\r\nI did:
\r\nmodprobe snd-aaci
\r\nAnd then:
\r\nspeaker-test
\r\nAnd I got pink noise!
\r\nNext I did:
\r\napt-get install espeakup\r\nupdate-rc.d espeakup defaults\r\nmodprobe speakup_soft
\r\nAnd speakup burst into life with no stuttering!
\r\nThe online community and code-base for the Banana Pi is not yet very mature, and because the origin of the beast is China, a lot of what\'s out there is in Chinese.
\r\nBut it is growing. And after all, it took the RPI a while to take off and go ballistic.
\r\nAt the moment I would say the Banana Pi is not for the faint-hearted or the total newbie, although, a lot of newbie questions are generic and don\'t have machine-specific answers.
\r\nLeMaker page:
\r\nhttps://www.lemaker.org/
\r\nAustralian community page with forums:
\r\nhttps://www.bananapi.com/
\r\nThe worst thing about the Banana Pi is, when writing emails about it, and these show-notes, typing the word \'banana\' and knowing when to stop!
\r\n',282,0,1,'CC-BY-SA','Banana Pi, Raspberry Pi, Linux',0,0,1), (1633,'2014-11-05','The OggCamp organizers',1712,'I talk to Dan Lynch and Fabian Scherschel and Mark Johnson','In this set of OggCamp interviews I talk to Dan Lynch and Fabian Scherschel from Linux Outlaws and Mark Johnson, who was the man on the ground this year, organizing OggCamp in Oxford Hotel this year. We talk about organizing OggCamp and podcasting and small, unknown Universities in little Towns like Oxford. ;)
\nI\'m a coffee lover. I have tried many ways of making coffee.
\nWhen I was a child my parents made their coffee in a percolator on the stove top. I remember how great it smelled though it tasted awful to me at that age.
\nI have owned a variety of filter machines over the years, and these have also been available at the places I have worked. They seemed to do a reasonable job, but nothing special.
\nOne time I owned an all-glass Cona coffee maker, which was very fancy and expensive. It was too fragile for me and eventually met its end while being washed. I don\'t recall it making particularly wonderful coffee, but it would also make tea, which was a novelty.
\nI made a number of visits to Indonesia several years ago. There are a lot of pretty good coffee beans available there but the way of making a cup of coffee is not really to my taste. A good dollop of ground coffee in a large cup with boiling water added and large quantities of sugar. Straining those coffee grounds out through your teeth is not a pleasant experience.
\nAs the fashion for the Cafetiere or French Press developed I acquired a number of these. Until recently these were all glass. I found I invariably broke them either by being over zealous when pressing down the plunger or being clumsy when washing them up. It\'s not a bad way of making coffee, but I have an alternative that I much prefer - the Moka Pot.
\nA few years ago I bought a Bialetti Moka Pot. I had never heard of these before, but my son, another avid coffee drinker, pointed me to them. I bought a three-cup pot to start with. This is a small pot; the three refers to three 50ml espresso cups. I also bought a 9-cup pot which is much bigger.
\n
Picture: My Bialetti 3-cup and 9-cup pots
The pot consists of three main elements: a base which holds the water, a funnel which holds the ground coffee and the top which holds the coffee once made. There is a gasket and a metal filter on the underside of the top part to prevent coffee grounds entering.
\n
Picture: A disassembled Bialetti
The Bialetti is heated on a gas or electric stove and forces boiling water through ground coffee under steam pressure. It makes coffee similar to but not the same as espresso coffee.
\nThe base is filled with water just under the level of the pressure release valve.
\n
Picture: Bialetti filled with water
I use Italian coffee for the Bialetti since it seems to taste better than any others I have tried.
\n
Picture: My current favourite coffee
Once opened I keep my coffee in a vacuum container.
\n
Picture: Coffee in a vacuum container
The funnel is placed into the water-filled base.
\n
Picture: Bialetti ready for coffee
The funnel takes about two scoops of coffee
\n
Picture: Bialetti being filled with coffee
The pot is placed on the stove. I have a gas stove and so I use a trivet for stability. I have to take care that the gas flame is not too high or the handle will melt, as has happened in the past!
\n
Picture: Bialetti in action
You need to listen out for the bubbling sound the pot makes when the water has passed through the coffee into the top compartment. Letting the remaining steam pass through will over-heat the coffee which you do not want to happen.
\n
Picture: Coffee is brewed
I make a cup of coffee consisting of one part coffee, one part cold milk and one part boiling water. This makes a large cup of pretty strong yet very smooth coffee which helps to wake me up each morning.
\n
Picture: A comforting brew - in the wrong cup!
The Bialetti usually gets one use per day, after which it is washed up. Some purists say that it should only be rinsed out so that the coffee residues on the inside are not removed. I have not noticed any difference personally.
\nCona Ltd. - makers of the all-glass coffee maker
\nMoka pot Wikipedia entry
\nAlfonso Bialetti Wikipedia entry
\nBialetti Moka Express website
\nAs we are all human to some degree, we require sustenance. When on a roadtrip, this can prove to be challenging - but it is also an opportunity to save money and enjoy yourself!
\nBringing Food\n---\n\n- Buying all your food on the road is a good way to empty your pockets\n- Convenience stores do not have your health in mind; their food is generally\n over-salty or over-sugary\n- Stopping for snacks can add lots of extra time to a trip\n- A quick stop at the grocery store before your trip is not a bad idea\n - Stock up on non-perishable snacks\n - Nuts and trail mix are a classic for a reason. They\'re full of protein and\n fiber, and easy to munch on in a vehicle\n - Fruit are sweet, healthy, and also usually easy to eat in a vehicle.\n Apples and grapes are super easy, bananas less so, and oranges are tricky.\n You can pre-peel fruit to make it more accessible, but it won\'t last as long.\n- Water is important. Make sure to have a gallon jug with you, and refill as\n necessary. I don\'t mind tap water, but if you\'re picky, there are water\n filters designed for camping that are compact and quick. Keep yourself\n hydrated!\n- Your options for variety of food increase a lot with a cooler\n - Things like cheese and sandwich meats should do fine\n - Make sure to fill it with ice or freezer packs when you set out in the\n morning, and maybe during the afternoon depending on weather\n - Check to see if your lodgings have refrigeration; your cooler will be\n useless if you don\'t have something more substantial to use in-between\n legs of your journey.\n \n\nStopping To Eat\n---\n\n- Saving money and being efficient is all well and good, but roadtrips are not\n all about getting from point A to point B.\n- A great way to experience an area is by ingesting a small part of it\n- Add an hour or two to your travel time for a meal stop\n- Pick lunch or dinner\n - Lunch may suit your timetable better if you are an early riser\n - Lunch menus often offer slightly less food for a reduced price\n - Restaurants may be less crowded for lunches\n - Dinner might be a better choice if you like waking and driving late\n - Dinner menus are more comprehensive, but often more on the expensive side\n- Avoid chain restaurants all the time, but especially on a roadtrip\n- Local restaurants and eateries are usually found in downtown areas, away from\n highways. They are well worth the diversion.\n- Different areas have vastly different cuisines, and trying new things can be\n very rewarding. Crawfish: who knew?\n- Find something on the menu that you don\'t recognize, and eat it.\n- If you are a picky eater, try not to let your preconceptions stop you from\n trying something. For instance, coconut soup is surprisingly unlike any other\n coconut dishes that I\'ve had.\n- Be polite, be patient. Many tourists are rude, and there is a chance that\n the person helping you gets to deal with those tourists frequently.\n- Do not be afraid to ask questions. Figure out what you can, but ask for\n clarification if something on the menu is unusual.\n- If you have food-based allergies or special dietary requirements, these might\n not be accommodated in all areas. If you are a vegetarian or vegan, or are \n allergic to gluten, peanuts, or dairy, your options may change drastically\n depending on the region you are in.\n - A little research into local restaurants could help you determine which\n places you can eat without stopping at each restaurant in town.\n- Overall, try to enjoy yourself. Roadtrips can be high-stress affairs, and a\n meal break can do wonders to relieve some of the stress that\'s built up over\n the day. Relax, and give yourself plenty of time to eat\n',196,0,0,'CC-BY-SA','food,roadtrip,travel,health,restaurant,cuisine',0,0,1), (1639,'2014-11-13','Ken Starks at Ohio Linux Fest 2014',2428,'Ken Starks builds computers for kids who need a hand.','
Ken Starks gave the closing keynote at Ohio LinuxFest 2014 on 10/25/14. In this talk he discusses his work with the REGLUE project (formerly the Helios Project) which bulds computers to give to disadvantaged kids in Texas. And if you look there may be something like this in your town that you can help with. And if not, why not start one? This talk was recorded by Randy Noseworthy, and he asked me to post it to HPR.
',198,0,0,'CC-BY-SA','Reglue, Helios, kids',0,0,1), (1641,'2014-11-17','The real reasons for using Linux',1068,'The real reasons for using Linux','\r\nI am a Linux user since the end of 1999. Which is 15 years already. I\'ve\r\nalso been trying for almost 15 years to convince other people to try Linux.\r\nAnd I must confess that I very often used wrong arguments doing this.\r\nAfter 15 years it is time to ditch some fake arguments,\r\nand to tell you the real reasons why you should switch to Linux. :-)\r\n
\r\n\r\nI apology for the bad audio quality. A full transcript of this episode\r\ncan be found on my blog.
\r\nhttps://blog.johanv.org/posts/why-linux.html\r\n
I really liked David Whitman\'s idea of doing a show on his birthday https://hackerpublicradio.org/eps.php?id=1547, so I\'m borrowing the idea.
\r\nThis show is being released on my 65th birthday, and I decided to use this opportunity to tell you about my long experience with computational devices as part of the series "How I Found Linux". Thinking about what I want to cover, I realise that it might be quite a lot, so I\'m organising the shows into a collection of short episodes.
\r\nI have been thinking about doing this for a while. Up until now I was concerned that it would be a bit self-indulgent, but I have been advised to just go ahead and do it. I hope you find the shows interesting.
\r\nThe full notes for this episode are to be found here: https://hackerpublicradio.org/eps/hpr1664_full_notes.html
\r\nUnison is a file syncing/backup utility, similar to SyncBack on Windows, available in most repros.
\nrsync ~/LocalFolder you@server:/home/you/RemoteFolder
then turn around and do rsync you@server:/home/you/RemoteFolder ~/LocalFolder
. Add that to the fact that like cp, or scp, rsync requires separate commands for files with extensions, files without, and hidden files, creating a bash script for syncing files is more complex than creating a Unison profile./home/you/Documents/recipe
and second PC has /home/you/Documents/Recipes
, edit your folder structure to be the same on both PCs to avoid duplicate files and folders\r\nThis episode is about how Al and Jerry Meet at Oggcamp. What we enjoy about the event,what to expect and encourage people to attend next year.\r\n
\r\n\r\nThis is my second HPR episode after beni recorded a interview with me at oggcamp and said I should submit my own episode\r\n
\r\n\r\nOggCast 2014. we cook dinner, I drink beer, a time is had by all. I\'d like to amp this, but Audacity won\'t let me, so listen carefully.\r\n
\r\n\r\nBroam, Briptastic, and FiftyOneFifty talk about the meal they are making for Saturday Night at Oggcast Planet Live 2014 from when they thought about it until dinner was served, as well as that day\'s fun at Knoebels theme park at Elysburg PA and the plans to visit the ghost town of Centralia the following day.\r\n
\r\n\r\n\r\n\r\n\r\n\r\n',131,93,1,'CC-BY-SA','Elysburg, oggcastplanet, Centralia, cooking, Knoebels, OggCastPlanet Live, OCP Live, 2014',0,0,1), (1648,'2014-11-26','Bash parameter manipulation',2433,'A summary and aide memoire of Bash parameter expansion methods','I\'m a great fan of using the Linux command line and enjoy writing shell scripts using the Bash shell.
\r\nBASH (or more usually Bash or bash) is the name of a Unix shell. The name stands for Bourne Again SHell, which is a play on words. Bash is an extension of the shell originally written by Stephen Bourne in 1978, usually known as SH.
Bash was written as part of the GNU Project which forms part of the Linux Operating System.
A shell is the part of the operating system that interprets commands, more commonly known as the command line.
A knowledge of Bash is very helpful if you would like to be able to use the power of the command line. It is also the way to learn how to build Bash scripts for automating the tasks you need to perform.
In this episode we look at what parameters are in Bash, and how they can be created and manipulated. There are many features in Bash that you can use to do this, but they are not easy to find.
\r\nAs I was learning my way around Bash it took me a while to find these. Once I had found them I wanted to make a "cheat sheet" I could stick on the wall to remind me how to do things. I am sharing the result of this process with you.
\r\nThe version of Bash which I used for this episode is 4.3.30(1)-release
\r\nThe full notes for this episode are to be found here: https://hackerpublicradio.org/eps/hpr1648_full_notes.html
\r\nA running commentary by FiftyOneFifty and Tankenator on the nightlife in Elysburg PA
\r\n',131,0,0,'CC-BY-SA','OCP Live, oggcastplanet, 2014, nightlife',0,0,1), (1652,'2014-12-02','GeekSpeak 2013-06-01',3843,'Showcasing the Central Coast Public Broadcasting radio show slash podcast, Geek Speak','As part of Hacker Public Radio\'s continuing effort to showcase Creative Commons Works, we are proud to present GeekSpeak. GeekSpeak is produced as a radio show for community based station KUSP in Monterey CA, and rebroadcast as podcast, available from GeekSpeak.org. It is a generally a lighthearted and humorous general technology news show, with topics including electronics, computing, robotics, and green tech. Often guest speakers and authors from the technology world will come on for interviews. The shows are just about an hour long.
\nThe regular hosts are Bonnie Jean Primbsch, Lyle Troxell, Miles Elam, and Ben Jaffe (see GeekSpeak.org/geeks/for the full roster). You can often hear them thanking the \"Puppetmaster\" for letting them continue to use the name GeekSpeak. After broadcasting for several years, it was discovered the term \"GeekSpeak\" had been registered as a service mark by David Lawrence for a podcast of his own. You might remember Lawrence as the actor who played the character on \"Heroes\" with the telekinetic ability to physically manipulate other characters against their will.
\nGeekSpeak has a long standing tradition of using Devo\'s \"Through Bein\' Cool\" as intro music, so only those episodes that employ user contributed music instead are actually released Creative Commons. What you are about to hear, from the 1st of June of 2013, is just such an episode.
\n\nWelcome to our new hosts:
\n tcuc, \n Fin, \n b-yeezi.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\n\nThe main threads this month were:\n
There are 40 comments:
\n\nWelcome to our new hosts:
\n amp, \n Stilvoid.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\n\nThe main threads this month were:\n
\n\nTotal messages this month: 35\n
\n\nThere are 24 comments:
\n\r\nRuth Suehle gave the next-to-last keynote at Ohio LinuxFest 2014 on 2014-10-25. In this talk she discusses the significance of open hardware and maker culture, and how this is something we all should participate in. Maker culture is an essential part of the free and open culture we belive in when we talk about open source. And we need to be vigilant to protect our values in the hardware space. As an example she tells us about Bre Pettis and Makerbot, which at one time were very open, but have turned aginst this value as they became more successful. In the final analysis, it is up to us to protect open hardware by voting with our dollars/euros/whatever.\r\n
',198,0,0,'CC-BY-SA','Open Hardware, Open Source, Open Specifications',0,0,1), (1735,'2015-03-27','Free tutorials for teachers',897,'Professor Bernard Poole makes free tutorials available aimed at teachers','\r\nI have received a very generous offer from Bernard J. Poole, a professor at the University of Pittsburgh. He has a series of LibreOffice Tutorials and has asked me to publicize that they are available free of charge to all of our LibreOffice fans on Hacker Public Radio. You can find his tutorials on his web site at https://www.pitt.edu/~poole/. He is particularly aiming his tutorials at educators who might use LibreOffice in the classroom\r\n
',198,70,1,'CC-BY-SA','Teachers, tutorials',0,0,1), (1649,'2014-11-27','Raspberry Pi Accessibility Breakthrough',1036,'How I fixed the stuttering text-to-speech on a Raspberry Pi','\r\nSince April last year the text-to-speech using eSpeak in the Raspberry Pi\r\nconsole has stuttered very badly and regularly crashes the kernel.\r\n
\r\n\r\nHere\'s how I fixed it.\r\n
\r\n\r\nCloning my github repo:\r\n
\r\n\r\ngit clone https://github.com/cromarty/ttsprojects.git\r\n\r\n
\r\nInstallation:\r\n
\r\n\r\ncd ttsprojects/raspberry-pi/libilctts/build\r\nsudo ./build.sh\r\ncd ../../piespeakup\r\nsudo ./build.sh\r\n\r\n
\r\nBingo! Speech should work.\r\n
\r\n\r\nThis has only just been released and there is still work to do on the\r\ndocumentation.\r\n
\r\n\r\nNote: I am not connected to the Raspberry Pi Foundation in any way\r\nand anything I say or do is not endorsed by them.\r\n
\r\n\r\nMy email address is connected with a Freelists email list I set up and\r\nan accompanying web site:\r\n
\r\n\r\nhttps://www.raspberryvi.org/\r\n
\r\n\r\nThe \'VI\' is for \'Visually Impaired\' and I DID check with the\r\nFoundation about the similarity of the web address before I created it.\r\n
\r\n\r\nTo join our email list send an email to:\r\n
\r\n\r\nraspberry-vi-request@freelists.org\r\n
\r\n\r\nWith \'subscribe\' in the subject.\r\n
\r\n\r\nMike\r\n
',282,0,1,'CC-BY-SA','Raspberry Pi, Accessibility, console, speakup, kernel oops, fixed',0,0,1), (1738,'2015-04-01','Credit Card PIN breach',5240,'We expose a well known but ignored security breach','\r\nYour passwords are as secure as they ever were
\r\n\r\nOn September the 10th, 2012 an anonymous malicious hacker released 10,000 pin codes onto the site paste bin dot com. How the attacker gained access to the codes is not known, but it is thought that it may be linked to a breach that occurred at the end of March 2012 to the Credit card processor Global Payments. That attack exposed 1.5 million consumers financial data. These codes have been confirmed by security experts to be legitimate and in wide spread use even today. Despite this exposure been \"common knowledge\" among the security community, major banks and credit card companies have yet to issue any statement on the breach.\r\n
\r\n\r\nTired of waiting for action by big business, we bring you a list of the codes so you can check for yourself if your data is compromised.\r\n
',109,83,0,'CC-BY-SA','April fools, credit card pin, security',0,0,1), (2000,'2016-04-01','How to Point a Satellite Dish',3958,'After 10 years, 3 months, 19 days of Procrastination, Ken finally delivers droops a show','\r\nKen did not fall of the roof in a storm
\r\n\r\nThis show is dedicated to Procrastination, the avoidance of doing a task which needs to be accomplished.
\r\nI\'ve been trying to record this particular show for ages but I can never seem to finish it. I find the topic just too interesting. When I start then I get distracted by some other aspect. Every time I try to record it Murphy gets in the way, with lost recordings and broken cards etc. This is the email that prompted this show.
\r\n-------- Forwarded Message --------\r\nSubject: TWAT - Satellite communications\r\nDate: Tue, 13 Dec 2005 12:00:54 +0100\r\n\r\nHi Droops,\r\n\r\nI heard your call for content and I\'d like to send you some shows. I\r\ndon\'t have a lot of spare time with work and a young family so I can\'t\r\ndo a regular show but I can send you a series on a topic. I was\r\nthinking of doing a series on Satellite Communications.\r\n...\r\nKen\r\n
\r\nhttps://en.wikipedia.org/wiki/Murphy%27s_law
\r\nSo after eleven years, I set the deadline of episode 2000 to force myself to finish this show.
\r\nLet\'s start.
\r\nhttps://en.wikipedia.org/wiki/Orbit
\r\nIn physics, an orbit is the gravitationally curved path of an object about a point in space, for example the orbit of a planet about a star or a natural satellite around a planet. Orbits of planets are typically elliptical, and the central mass being orbited is at a focal point of the ellipse.
\r\nNewton\'s cannonball was a thought experiment Isaac Newton used to hypothesize that the force of gravity was universal, and it was the key force for planetary motion. It appeared in his book A Treatise of the System of the World.
\r\nhttps://en.wikipedia.org/wiki/Newton%27s_cannonball
\r\nhttps://upload.wikimedia.org/wikipedia/commons/7/73/Newton_Cannon.svg
\r\n\r\nIt is worth noting that orbital rockets are launched vertically at first to lift the rocket above the atmosphere (which causes frictional drag), and then slowly pitch over and finish firing the rocket engine parallel to the atmosphere to achieve orbit speed.
\r\nOnce in orbit, their speed keeps them in orbit above the atmosphere. If e.g., an elliptical orbit dips into dense air, the object will lose speed and re-enter (i.e. fall). Occasionally a space craft will intentionally intercept the atmosphere, in an act commonly referred to as an aerobraking maneuver.
\r\nThere are many ways to classify orbits
\r\nhttps://en.wikipedia.org/wiki/List_of_orbits
\r\nThe choice of which orbit to use is based on the intended purpose of the satellite.
\r\n0 to 2,000 km (0–1,240 miles).
\r\nThese satellites orbit the Earth in near exact polar orbits north to south. They cross the equator multiple times per day and each time they are at the same anglewith respect to the sun. Satellites on these types of orbits are particularly useful for capturing images of the Earth’s surface or images of the sun
\r\nGeocentric orbits ranging in altitude from 2,000 km (1,240 miles) to just below geosynchronous orbit at 35,786 kilometers (22,236 mi).
\r\nGPS (Global Positioning System) Satellites reside here. These Satellites are on a Semi-synchronous Orbit (SSO) meaning that they orbit the earth in exactly 12 hours (twice per day)
\r\nOrbits around Earth matching Earth\'s sidereal rotation period. 42,164 km (26,199 mi). Sidereal time is a \"time scale that is based on the Earth\'s rate of rotation measured relative to the fixed stars\" rather than the Sun.\r\nhttps://en.wikipedia.org/wiki/Sidereal_time
\r\nGeosynchronous satellites orbit the Earth at the same rate that the Earth rotates. Thus they remain stationary over a single line of longitude. A geostationary satellite will remain in a fixed location as observed from the surface of the earth, allowing a satellite dish to be alligned to it.
\r\n\r\nGeocentric orbits above the altitude of geosynchronous orbit 35,786 km (22,240 miles).
\r\nThey are often used for earth-mapping, earth observation, capturing the earth as time passes from one point, reconnaissance satellites, as well as for some weather satellites. The Iridium satellite constellation also uses a polar orbit to provide telecommunications services. The disadvantage to this orbit is that no one spot on the Earth\'s surface can be sensed continuously from a satellite in a polar orbit.
\r\nOrbita was a system that consisted of 3 highly elliptical Molniya satellites, Moscow-based ground uplink facilities and about 20 downlink stations, located in cities and towns of remote regions of Siberia and Far East. Each station had a 12-meter receiving parabolic antenna and transmitters for re-broadcasting TV signal to local householders.
\r\nhttps://en.wikipedia.org/wiki/Molniya_orbit
\r\n\r\nhttps://upload.wikimedia.org/wikipedia/commons/8/82/Orbitalaltitudes.jpg
\r\nhttps://en.wikipedia.org/wiki/Sputnik_1
\r\nSputnik 1 was the first artificial Earth satellite. The Soviet Union launched it into an elliptical low Earth orbit on October 4, 1957. It was a 58 cm (23 in) diameter polished metal sphere, with four external radio antennae to broadcast radio pulses. It was visible all around the Earth and its radio pulses were detectable. This surprise success precipitated the American Sputnik crisis and triggered the Space Race, a part of the larger Cold War. The launch ushered in new political, military, technological, and scientific developments.
\r\nhttps://www.ilslaunch.com/sites/default/files/pdf/A2G_MO.pdf
\r\nASTRA 2G is the third spacecraft of a three satellite investment programme (ASTRA 2E, 2F and 2G) that SES contracted with Airbus Defence and Space in order to provide replacement as well as incremental satellite capacity in the orbital arc of 28.2/28.5 degrees East.
\r\nASTRA 2G carries 62 Ku-band transponders as well as 4 Ka-band transponders. The different beams provide coverage over the UK and Ireland, Europe and West Africa.
\r\n\r\nhttps://www.ses.com/4628824/astra-2g
\r\nhttps://en.wikipedia.org/wiki/Transponder_%28satellite_communications%29
\r\nThe word \"transponder\" is derived from the words \"transmitter\" and \"responder.\"
\r\nA communications satellite\'s transponder is the series of interconnected units that form a communications channel between the receiving and the transmitting antennas. It is mainly used in satellite communication to transfer the received signals.
\r\nA transponder is typically composed of
\r\nhttps://www.jsati.com/why-satellite-how-Spacesegment4.asp
\r\nhttps://www.boeingimages.com/Docs/BOE/Media/TR3_WATERMARKED/1/a/2/a/BI231995.jpg
\r\nThis is one of the many sites that will give you a birds eye view of where you need to point your dish.
\r\n\r\nTerms needed when pointing a dish
\r\n\r\nhttps://commons.wikimedia.org/wiki/File:Azimut_altitude.svg
\r\n\r\nThe Dish, on Kens Roof.
\r\n\r\nReading the elevation from the dish assembley.
\r\n\r\nFreesat is broadcast from the same satellites (Astra 28.2E and Eurobird 1) as Sky Digital.
\r\nThis is a list of all of the free-to-air channels that are currently available via satellite from SES Astra satellites (Astra 2E/2F/2G) located at 28.2 °E.
\r\nhttps://en.wikipedia.org/wiki/List_of_free-to-air_channels_at_28%C2%B0E
\r\nHere is a link to a page on how to get mythtv working with FreeSat.
\r\nhttps://parker1.co.uk/mythtv_freesat.php
\r\n',30,83,1,'CC-BY-SA','procrastination,orbit,satellite,satellite dish',0,0,1), (1654,'2014-12-04','Using AS numbers to identify where you are on the Internet',1204,'ASN uniquely identifies each network on the Internet','\r\nI have a laptop and I want it to use different configurations depending on where I am. If I’m on wifi at home, I don’t want my NAS mounted, but if I’m on a wired connection I do. If I’m at work I want to connect to various servers there. If I’m in the train I want to setup a vpn tunnel. You get the idea.\r\n
\r\n\r\nMy solution to this was to approach it from the laptop and go out. So to look around and see what network I was on. There are a few ways to approach this, you could look at your IP address, the arp tables, try and ping a known server in each location. The issue with looking at an IP address is that most networks use Private Networks. Very soon you will find that the wifi coffee shop happens to have picked the same range as you use at home and now your laptop is trying to backup to their cash register.\r\n
\r\n\r\nThen I was thinking that I’m approaching this problem from the wrong angle. Why not start with my public IP address range, which has to be unique, and work back from there to my laptop. From there I was planning on maintaining a look-up table of public IP addresses, along the lines of the GeoIP tools developed by MaxMind.\r\n
\r\n\r\nBy Accident I found out that geoiplookup supports AS Number\r\n
\r\n\r\nFrom WikiPedia: Autonomous System (Internet)\r\n
\r\nhttps://en.wikipedia.org/wiki/Autonomous_System_%28Internet%29
\r\nISP must have an officially registered autonomous system number (ASN). A unique ASN is allocated to each AS for use in BGP routing. AS numbers are important because the ASN uniquely identifies each network on the Internet.\r\n
\r\nSo what that is saying is that every network in the Inter(connected)Net(work), must have it’s own unique AS Number. From there I was able to write a script to easily manage my laptops behaviour based on both location and connection type
\r\n\r\nSee https://kenfallon.com/scripts-based-on-your-network-location/ for the complete article and scripts.
\r\n\r\n\r\n',30,0,0,'CC-BY-SA','Autonomous System Number,ASN,geoiplookup',0,0,1), (1656,'2014-12-08','My audio player collection',1278,'I describe the collection of audio players I use for listening to podcasts','I got broadband installed in my house in 2005 after I\'d bought my first PC. I\'d owned a lot of PCs before that, but they had all been cast-offs from the university I was working at, and I accessed the Internet via dial-up to my work.
\r\nThis was around the time I got sick of listening to the radio and first discovered podcasts, and so I decided I wanted a portable audio player (or MP3 Player as they tended to be called back then).
\r\nSince then I have been listening to podcasts pretty much all of the time and have worked my way through a number of players. I thought it might be interesting if I chronicled the devices I have owned in the past 9-10 years.
\r\nThe full show notes for this episode are available at: hpr1656_full_shownotes.html
\r\n\r\nToday I Found Out: https://www.todayifoundout.com/\r\n
\r\n\r\nDaily Knowledge Podcast: https://www.todayifoundout.com/index.php/category/podcast/\r\n
\r\n\r\nCommand Line Tips: using CTRL + Left / Right arrow will allow you to move through a long command word by word instead of moving through each letter. Makes making adjustments to a long command much quicker.
\r\nUse the \"cd -\" to move back and forth between previous directories. cd into a directory, then cd into a different one. Now do \"cd -\" and you will be back to the first directory. \r\n
\r\nXFCE : script that uses xdtool to move window from one monitor to the next https://makandracards.com/makandra/12447-how-to-move-a-window-to-the-next-monitor-on-xfce-xubuntu\r\n
\r\n\r\nHyperkin Pixel Art Controller: https://hyperkin.com/hyperkin-pixel-art-controller-for-pc-mac-computers-1265.html. Use with the SNES9x emulator. Works very well\r\n
\r\n',252,0,0,'CC-BY-SA','Today I Found Out,Daily Knowledge Podcast,command line,XFCE,Hyperkin Pixel Art Controller',0,0,1), (1659,'2014-12-11','OggCamp Interview with Jon Archer',564,'A short interview with Jon Archer, UK Fedora Ambassador. ','In today\'s show, Philip Newborough interviews Jon Archer, the UK Fedora Ambassador.
\r\n\r\nIn the interview, Philip and Jon discuss:
\r\n\r\nThe interview was conducted at OggCamp 14, a free culture unconference, held in Oxford UK on the weekend of October 4th-5th 2014.
\r\n',287,78,0,'CC-BY-SA','oggcamp,oggcamp14',0,0,1), (1661,'2014-12-15','OggCamp Interview with Paul Tansom',701,'A short interview with Paul Tansom of Code Club.','In today\'s show, Philip Newborough interviews Paul Tansom, a regional co-ordinator for Code Club.
\r\n\r\nIn the interview, Philip and Paul discuss:
\r\n\r\nThe interview was conducted at OggCamp 14, a free culture unconference, held in Oxford UK on the weekend of October 4th-5th 2014.
\r\n',287,78,0,'CC-BY-SA','oggcamp,oggcamp14',0,0,1), (1660,'2014-12-12','Trying out Slackware',3926,'Slackware-newbie Beni is talking to long time Slackware user mcnalu','\r\nmcnalu wrote a article about Slackware in Linux Voice, Issue 6.\r\n
\r\n\r\n\r\nhttps://www.linuxvoice.com/issue-6/\r\n
\r\n\r\nBeni read this article which lead to him trying out Slackware and being very\r\nimpressed by its simplicity.\r\n
\r\n\r\nThat\'s why he asked mcnalu to do a HPR episode about Slackware, which is\r\nprobably the oldest Linux Distro that\'s still around and whose developer follows\r\na no-nonsense strategy and is very conservative when it comes switching to new\r\nstuff that comes up in the Linux world (like PAM or systemd)\r\n
\r\n\r\nThe distro is one of the if not the most Unix-like Linux distro. It uses a BSD\r\nstyle init system instead of widely used sysvinit.\r\n
\r\n\r\nBeni and mcnalu talk about the installation process, finding dokumentation and\r\nwhy the website is outdated.\r\n
\r\n\r\nFurther they discuss the package manager and what it means that it doesn\'t\r\nresolve dependencies. They also explain why this isn\'t necessariliy a bad\r\nthing and where to find binary packages.\r\n
\r\n\r\nIn the end they talk about where the Slackware community meets and who is in\r\ncharge of Slackware.\r\n
\r\n\r\nhttps://www.slackware.com/\r\nhttps://en.wikipedia.org/wiki/Slackware\r\n
\r\n\r\nSlackware documentation isn\'t as good the BSDs dokumentation or the Arch\r\nWiki. But it\'s definitely getting better\r\n
\r\n\r\nhttps://docs.slackware.com/\r\n
\r\n\r\nand there is also \'Slackware essentials\', a book that\'s also available online:\r\n
\r\n\r\nhttps://www.slackware.com/book/\r\n
\r\n\r\nThe Slackware forum on Linux Questions is pretty much the official Slackware\r\nforum:\r\nhttps://www.linuxquestions.org/questions/slackware-14/\r\n
\r\n\r\nmcnalu announced his Article in the Linux Questions forum:\r\nhttps://www.linuxquestions.org/questions/slackware-14/linux-voice-issue-6-a-4175513762/\r\n
\r\n\r\nTo support the development of Slackware you could buy yourself a Christmas\r\npresent from the Slackware store:\r\n
\r\n\r\nhttps://store.slackware.com\r\n
\r\n',288,0,0,'CC-BY-SA','slackware, distro, linux',0,0,1), (1662,'2014-12-16','LinuxLugCast Episode-001 Outtakes',5122,'Preshow and aftershow banter that does not get published through our normal feeds.','\r\nSome good content that we do not publish.\r\n
\r\n\r\nhttps://linuxlugcast.com/
\r\nhttps://linuxlugcast.com/?p=75\r\n
\r\nIn todays show, Ken interviews Greg Greenlee Founder of Blacks In Technology\r\n
\r\n\r\nThe RSS Feed: https://www.spreaker.com/user/6698969/episodes/feed\r\n
\r\n\r\nBlacks In Technology is a tech focused community and media organization focused on increasing diversity in technology. Blacks In Technology\'s mission is to increase visibility, participation, and change the perception of people of African descent in technology through community focused activities, events and media. Blacks In Technology (BIT) is \"Stomping the Divide\" by establishing a blueprint of world class technical excellence and innovation by providing resources, guidance and issuing a challenge to our members to surpass the high mark and establish new standards of global innovation.\r\n
\r\n\r\nThis is the third episode in a series on bare metal programming on the Raspberry\r\nPi. This episode rounds out my initial stab at doing a series on RPI embedded\r\nprogramming based on my summer vacation project. This episode discusses how to \r\nwrite code with an eye towards using it in an embedded environment. It \r\ncontinues with a discussion of how coprocessors fit into the ARM architecture.\r\nIt also describes how to manage coprocessors programatically in a very hackerish\r\nway using self-modifying code. Finally, the episode describes how to enable the\r\nvirtual memory subsystem in the ARM as well as the cache. It includes some\r\nperformance measurements of my code both with and without the cache enabled.\r\n
\r\n\r\nHere is some of the source material that I reference in this episode. See\r\nthe previous episode show notes for information on how to get your own\r\nbare metal Raspberry Pi setup up and running.\r\n
\r\n\r\n\r\nSo you want to start a blog?\r\n
\r\n\r\nHere are some of the tings to think about:\r\n
\r\n\r\n\r\nThere are a number of popular and well known blogging engines and \r\nservices, these are just some of them:\r\n
\r\n\r\n\r\nNikola is an excellent system for creating a web-site that includes \r\nboth static pages and a blog. It has been covered before on HPR and \r\nit was that show that started me using it.\r\n
\r\n\r\n\r\nHere are links to a couple of my blogs:\r\n
\r\n\r\n\r\nCross-distro and -POSIX packages are easy with Nixstaller. (Note that\r\nthis pre-dates and is entirely unrelated to NixOS or Nix packages.)\r\n
\r\n\r\nDownload Nixstaller from https://nixstaller.sourceforge.net and read\r\nthe docs there.\r\n
\r\n\r\nReview the sample package templates included in the examples dir.\r\n
\r\n\r\nGenerate an empty template dir with genprojdir.sh\r\n
\r\n\r\nModify the config.lua and run.lua files to suit your needs.\r\n
\r\n\r\nPlace your payload(s) into the appropriate folders.\r\n
\r\n\r\nGenerate your re-distributable install file with geninstall.sh:\r\n
\r\n\r\ngeninstall foo-1.0.0 foo.run\r\n
\r\n\r\nThat\'s it!\r\n
',78,63,0,'CC-BY-SA','Nixstaller,packaging,GNU Linux,BSD',0,0,1), (1669,'2014-12-25','New Retro Computing',1053,'NYbill talks about building a Micromite Companion ','\r\nSorry for the bad audio in places here. My mic was giving me troubles. Also, I know I called MythTV, Mythbox. (Mythbox was the name I gave the computer that ran MythTV here way back when.)\r\n
\r\n\r\n\r\nPreshow and aftershow banter that does not get published through our normal feeds. \r\n
\r\nhttps://linuxlugcast.com/?p=115',265,0,1,'CC-BY-SA','linuxlugcast,outtakes',0,0,1), (1672,'2014-12-30','Systemd for Learner Drivers ',1288,'How to drive systemd, without crashing the vehicle through arguing with your passenger.','A graphic to help out: https://hackerpublicradio.org/eps/hpr1672.svg
\nThis is a subject that attracts controversy, but I am not today going to be controversial, I hope. Many Linux systems are moving away from SysV Init and adopting systemd instead; both Linuxes that I use, Fedora and Mint have adopted systemd, and I understand that Debian has now forked to allow both sides of the argument to have their way. I am not going to get into the debate here. My personal stance is that I see both sides of the argument and I will continue to perch on top of the fence until systemd either proves itself or fails to do so.
\nIn this HPR I am going to try to fill a gap that I have seen in the systemd discussion; that is - how to operate it. I am not an expert on systemd, I have just tried to work it, and in doing so I have fished around in my file system and in the documentation. If you want to know what I found, then keep on listening. By way of opening I will remind myself, and you also, what systemd is replacing.
\nSysV initd works with runlevels, the most common being
\nIn moving to a runlevel, unwanted services are shut down and wanted services are started up. For most users on most systems the most appropriate default runlevel is 5 giving multiuser, GUI & networking. Services can be started and stopped on demand by inetd.
\nsystemd works differently. It has target units. For most users on most systems the most appropriate default target is the graphical.target, which does a similar thing to runlevel 5 . Units are configured by unit configuration files. These files may start other units and stop other units. They can impose sequence and dependancies. There is a lot of cascading going on, with unit launching unit launching unit. Units also can be started and stopped on demand by systemd.
\nThe term Unit refers to a resource that systemd is taking under its control. There are 12 different types of Unit.
\nUnits files called by systemd live in /etc/systemd/system
. But these are symbolic links to the real ones stored in /usr/lib/systemd/system
There is a parallel /etc/systemd/user
structure which does not seem to do anything on my computers, so I work for now like its not there.
There is also a /run/systemd/system
structure which appears to contain runtime configuration files with names like session-xxxx.scope
. These are the unit type for external processes.
Path | \nDescription | \n
---|---|
/etc/systemd/system | \n Local configuration | \n
/etc/systemd/user | \n User configuration | \n
/run/systemd/system | \n Runtime units | \n
/usr/lib/systemd/system | \n Units of installed packages | \n
The next thing we need is Directives.
\nThe unit configuration files contain directives to start/stop a unit, and directives that cascade to other unit configuration files that start/stop dependant units. Directives may impose conditions on whether or when to call a unit. There are a whole bunch of different directives listed in man systemd.unit. These are a few.
\nRequires=
list of units to start. If any required units fail then abort this oneConflicts=
list of units to stopAfter=
the order in which units will startBefore=
the order in which units will startWants=
list of units to start. If any fail just continue anywayAs well wanted units listed by the WANTS directive, there may also be a \'wants\' directory below the unit directory. So the unit conf file /etc/systemd/system/default.target
will cause two further unit conf files to be read in from the /etc/systemd/system/default.target.wants/
directory.
Each required unit and wanted unit from the directives, as well as those in the wants directory are added to a job queue. If directives cascade to other unit files containing more directives then all of these dependences are also added to the job queue. A directive may start or stop another unit, or that change the detail of a job already in the queue. All directives ultimately cascade down to starting or stopping one of the base units in /usr/lib/systemd/system
.
To get a feel for how this all pans out in practice I will walk us through the cascade of unit files from bootup.
\nFirst, the default.taget is activated, which on my system is just a link to graphical.target
\n\n[Unit]\nDescription=Graphical Interface\nDocumentation=man:systemd.special(7)\nRequires=multi-user.target\nAfter=multi-user.target\nConflicts=rescue.target\nWants=display-manager.service\nAllowIsolate=yes\n
Cascades to
\nAlso we have a wants directory /etc/systemd/system/graphical.target.wants/
that
graphical target cascaded to multi-user.target.
\n[Unit]\nDescription=Multi-User System\nDocumentation=man:systemd.special(7)\nRequires=basic.target\nConflicts=rescue.service rescue.target\nAfter=basic.target rescue.service rescue.target\nAllowIsolate=yes\n
Cascades to
\nAlso we have a wants directory /etc/systemd/system/multi-user.target.wants/
that
\n- abrt-ccpp.service\n- abrtd.service\n- abrt-oops.service\n- abrt-vmcore.service\n- abrt-xorg.service\n- atd.service\n- auditd.service\n- avahi-daemon.service\n- chronyd.service\n- crond.service\n- cups.path\n- irqbalance.service\n- libvirtd.service\n- mcelog.service\n- mdmonitor.service\n- NetworkManager.service\n- nfs.target\n- remote-fs.target\n- rngd.service\n- rpcbind.service\n- rsyslog.service\n- smartd.service\n- vmtoolsd.service\n
graphical.target also cascaded to display-manager.service which is not present on F20 so I guess we don\'t need it.
\nSo multiuser.target cascaded to basic.target, which itself cascades to
\n- sysinit.target\n- sockets.target\n- timers.target\n- paths.target\n- slices.target\n- firewalld.service\n
basic.target cascaded to sysinit.target which itself cascades to
\n- local-fs.target \n- swap.target\n- dmraid-activation.service\n- iscsi.service\n- lvm2-monitor.service\n- multipathd.service ( which looks like all the file system daemons)\n
basic.target also cascaded to sockets.target which itself cascades to
\n- avahi-daemon.socket\n- cups.socket\n- dm-event.socket\n- iscsid.socket\n- iscsiuio.socket\n- lvm2-lvmetad.socket\n- rpcbind.socket\n
Now we start reaching the end-points of this trail at
\n- systemd.sockets\n- systemd.timer\n- systemd.path\n- systemd.slice\n- systemd-fstab-generator\n
By the time all of that has finished, if I type the command
\n# systemctl list-units --type service
I see that 58 services are listed as running
\nIf we are going to work with systemd we will have to give it instructions. In systemd parlance
\nThese terms crop up in the output from commands
\nMany instructions are given to systemd by the systemctl command.
\nNow to compare line up some common SysV init tasks with their systemd equivalent
\ncommand | \nSysV Init | \nsystemd | \n
---|---|---|
Check status | \n# service bluetooth status | \n # systemctl status bluetooth | \n
Start | \n# service bluetooth start | \n # systemctl start bluetooth | \n
Stop | \n# service bluetooth stop | \n # systemctl stop bluetooth | \n
Enable | \n# chkconfig --level 35 ntpd on | \n # systemctl enable ntpd | \n
Disable | \n# chkconfig --level 35 ntpd off | \n # systemctl disable ntpd | \n
Much has been said about the desirability or otherwise of binary logs, but systemd gives us these so we had better know what to do with them.
\nJournal instructions are given to systemd by the journalctl command
\n# journalctl
# journalctl --since=\"2014-05-07\"
# journalctl -k
# journalctl -f
...
# ctl-c
# journalctl _PID=1
# journatlctl -u bluetooth
# hostnamectl
# timedatectl
SysV Init Info | \nSysV Init command | \nsystemd info | \nsystemd command | \n
---|---|---|---|
What services are available for init.d to manage | \n# ls /etc/init.d | \n What service units are available for systemd to run | \n# systemctl list-units --type service --all | \n
What services are configured to be run by init.d for each run level | \n# chkconfig --list | \n What service units are currently active | \n# systemctl list-units --type service | \n
Hacker Public Radio (HPR) is an Internet Radio show (podcast) that releases shows every weekday Monday through Friday. HPR has a long lineage going back to Radio FreeK America, Binary Revolution Radio & Infonomicon, and it is a direct continuation of Twatech radio. Please listen to StankDawg's "Introduction to HPR" for more information.
\r\n\r\nKnowing how much I hate editing, I hope everyone can get a sense for how much I appreciate all the people who took the time to contribute to the project.
\r\n\r\n\r\nIf you haven\'t contributed a show yet, well today is a perfect day to get involved. Just click our contribute link: https://hackerpublicradio.org/contribute.php
',30,0,0,'CC-BY-SA','today with a techie,hacker public radio,hosts',0,0,1), (1673,'2014-12-31','How I use ZFS on Linux',1037,'The ZFS file system and how I use it under Linux.','\r\nOn the show today, I will tell you about how I use the ZFS file system on my home server. I also go into some details about how I came to use the ZFS, especially under Linux. I also tell you about a certain pitfall I ran into with the hard drives I chose for ZFS. And finally, I will refer you back to HPR episode 1600 by JWP for more information about ZFS, as he goes into great detail about it and its history.\r\n
\r\n\r\n\r\nThis show is an interview with Joel Gibbard founder of the OpenHand project. \r\nThe interview was recorded on my phone which unfortunately created a few glitches. \r\nI\'ve cleaned the audio up as best I can. Although frustrating, the occasional glitches have not caused anything to be missed that cannot be inferred from the context of the recording. \r\n
\r\n\r\n\r\nAfter creating an artificial hand for his degree project Joel Gibbard wanted to continue the work on the hand with the goal of producing a workable prosthetic hand for $1000, so he launched the OpenHand project with a succesful IndieGoGo fundraiser. In this interview we learn more about the Dextrus hand, the project\'s \r\nprogress to date, and hear of Joel\'s vision of affordable prosthetics for amputees worldwide.\r\n
\r\n\r\nFor a short 4 minute introduction to the project see Joel\'s video at \r\n
\r\n\r\n\r\nThe openhand designs and more information are available at \r\n
\r\n\r\n\r\nI listen to a lot of random budhism podcasts but this is the must listen to.\r\n
\r\n\r\n\r\nHi this is Rho`n and welcome to my first submission to Hacker Public Radio. I have been working on an application using the Python programming language with the Enlightenment Foundation Libraries (EFL) libraries for the GUI interface. After acquiring a new laptop and installing a fresh copy of Ubuntu on it, I decided to set up the build environment I needed to be able to work on my project. I have been building from source the EFL libraries along with the Python-EFL wrapper libraries. For the last couple machines on which I have built the software, I would use the standard configure, make, and make install procedure. This time around I decided to create a debian package to use for installing the libraries. It had been a few years since I had created a .deb, so I googled for some tutorials, and found mention of the checkinstall program. After reading a couple blog posts about it I decided to try it out. checkinstall is run instead of \"make install\" , and will create a .deb file, and then install the newly created package.\r\n
\r\n\r\n\r\nTo help speed up the configure process, I had previously created a file from my other builds that is a grep of my history for all the various \"apt get install\" commands of the libraries the EFL software needs to compile. Since my current operating system was a freshly installed distribution of Ubuntu, I needed to install the build-essential package first. After looking through my install file, and I decided to create a single apt-get install line with all the packages listed, instead of running each of the installs seperately. I knew I could grep the file, and then pass that to awk or sed, but my skill with either isn\'t that great. I did a little searching to see what other tools were out there and found the cut command and the tr command. Cut lets you print part of a line. You can extract set a field delimeter with the -d option and then list a range of fields to be printed with the -f option. The tr command can replace a character. I used this to replace the new line character that was printed by the cut command to generate a single line of packages which I piped to a file. A quick edit of the file to add \"sudo apt-get install\" at the beginning, add execute permissions to the file, and now I have a nice, easy way to install all the needed libraries.\r\n
\r\n\r\n\r\nAt least that was the idea. After installing the libraries, and running configure, I still received errors that libraries were missing. The machines from which my list of libraries was generated, had all been used for various development purposes, so some needed libraries were already installed on them, and so their installation had passed out of my history. Besides echoing to standard out the file configure can\'t find, it also creates a log file: config.log. Between the two it is relatively easy to figure out what library is needed. Often the libraries needed included their name in the .deb which has to be installed, and finding them is easy with an apt-cache search and grep of the library name. The hardest ones to find were often the X11 based references. In this case, I needed the scrnsaver.h header file. After googling, I found a reference to the needed package (libxss-dev) on Stack Exchange. The answer also showed how to use the apt-file command to determine in which package a file is included. I wish I had run into this before, there a few times where it took a number of searches on the internet to figure out which package I needed to install, and \"apt-file find\" would have saved time and frustration. A very handy tool for anyone developing on a debian based distribution. As it turns out, that was the last dependency that needed resolved. After a successful configure, and successful compile using the make command, I was ready to try out checkinstall. Running sudo checkinstall, brings up a series of questions about your package, helping you fill out the needed .deb meta-data. I filled out my name and email, name for the package, short description of the package, and let everything else go to the suggested defaults. After, that hit enter and checkinstall will create a debian package and install it for you. If you run \"apt-cache search <name of package>\" you will see it listed, and \"apt-cache show <name of package>\" will give you the details you created for the package. There are warnings on the Ubuntu wiki not to use this method for packages to be included in an archive or in a ppa. It does work great for a local install, and would use it to install on machines on my local network.\r\n
\r\n\r\n\r\nAfter a short side trip into development setup, I\'m back writing my application on my new laptop. While I am a big fan of binary packages, Debian being the first GNU/Linux distribution I ever used, sometimes you need to dive in and compile software from source. For me running configure, make, make install has been the easiest way to do this, and these days it usually isn\'t too difficult to get even moderately complex applications and libraries to build. The most tedious part can be resolving all the dependencies. Now, with apt-file in my tool belt, it will be even faster and easier. I will also be using checkinstall for future compiles. I do like being able to use package management tools to install, and un-install software.\r\n
\r\n\r\nI hope others find these tools useful. I have posted links in the show notes to the pages about cut, tr, apt-file and checkinstall that led me to these tools. If you\'ve made it this far, thanks for listening to my first post to HPR. As Ken Fallon points out, it\'s not an HPR episode until you have uploaded it to the server. So let those episode ideas flow from your brain, into your favorite recording device, and up to the HPR server. Let\'s keep HPR active, vibrant, and a part of our lives for years to come. \r\n
',293,0,0,'CC-BY-SA','cli, deb, compile',0,0,1), (1689,'2015-01-22','Linux Voice magazine at OggCamp',676,'Another interview from OggCamp with the guys from Linux Voice ','\r\nCorenominal and Beni talking to the guys of the newly founded Linux Voice magazine. It\'s a British Linux publication that\'s less than a year old. \r\n
\r\n\r\nWe talked to them about why you would found a magazine these days, why their magazine is still relevant in the digital age and why kinds won\'t beat them at mario cart.\r\n
\r\n\r\n\r\nYou find their magazine here:\r\n
\r\n\r\nhttps://www.linuxvoice.com/\r\n
\r\n\r\nand their superb Linux postcast by the same name here:\r\n
\r\n\r\nhttps://www.linuxvoice.com/category/podcasts/\r\n
\r\n',288,62,1,'CC-BY-SA','Linux Voice, oggcamp, interview',0,0,1), (1684,'2015-01-15','5150 Shades of Beer Jacob Leinenkugels Winter Explorer Pack',814,'fifty tries the Leinenkugels Explore pack','\r\nJacob Lienenkugels Winter Explorer Pack \"Chippewa Falls, WI since 1867\"\r\n
\r\n\r\nWinters Bite - Do you know what it smells like when you open a tin of cocoa (the semi-sweet kind, not the unsweetend) and no matter how you do it, a litle of the powder puffs out? The best descrition I can give this beer is it tastes just like that smell, even down to the dryness. Neither cloyingly sweet or leaving you wondering who mixed the chocolate syrup into you beer, just a sublte taste of dry cocoa. This lager pours dark with very little head. This beer (my favorite it this group) is only available in the Explorer pack, and it\'s ABV and ingredients are not featured on leinie.com.\r\n
\r\n\r\nHelles Yeah - (German blonde lager, Helles means \"light\" in German, but unlike American beers, it refers only to color). Straw color, very clear, moderate head that disapears w/o lacing. Sublte flavor, a hit of hops and just slightly more than a pinch of pepper. 5.5 ABV Malts: Pale malts Hops: Five All-American hops including Simcoe and Citra \r\n
\r\n\r\nCranberry Ginger Shandy - [From Wikipedia, Shandy is beer mixed with a soft drink, carbonated lemonade, ginger beer, ginger ale, or apple juice or orange juice.] Pours cloudy yellow amber, moderate head that disapears w/o lacing. Leinenkugel managed to resist the urge to color it red. Not as syrupy as Shock Top\\\'s Cranberry Belgian Ale, but unlike many fruit adjunct brews, neither is the flavor so subtle you have to go searching for it. I like to use ginger in cooking, and I can also detect the taste of that sweet spice in this weiss beer as well. 4.2% ABV \r\nMalts: Pale and Wheat Hops: Cluster Other: Natural cranberry and ginger flavors\r\n
\r\n\r\nSnowdrift Vanilla Porter - Pours dark brown with just a litle carmel color head that disipates imediately. Vanilla bean aroma. Vanilla flavor is perhaps more subtle than Breckenridge\'s Vanilla Porter, but there will be know doubt you are enjoying a beer flavored by vanilla and roasted malts, with a hint of chocolate to keep it from being too sweet. 6.0 ABV \r\nMalts: Two- and six- row Pale Malt, Caramel 60, Carapils, Special B, Dark Chocolate and Roasted Barley Hops: Cluster & Willamette Other: Real vanilla\r\n
\r\n\r\nBONUS ROUND -Leinenkugels Orange Shandy - Wheat beer, likely exactly the same one that\'s in the Cranberry Ginger Shandy, but in this case the tart/sweet orange juice taste dosn\'t completely obscure the flavor of the beer. I like them both, but I think I would grab the orange shandy on a hot day. 4.2% ABV \r\nMalts: Pale and Wheat Hops: Cluster Other: Natural orange flavor\r\n
\r\n',131,14,1,'CC-BY-SA','5150 Shades of Beer,beer,drinking beer',0,0,1), (1781,'2015-06-01','HPR Community News for May 2015',4021,'Dave and Ken waffle on and on','\n\nWelcome to our new host:
\n Alpha32.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nThere are 24 comments:
\n\nWelcome to our new hosts:
\n kurakura, \n GNULinuxRTM, \n cheeto4493.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nThere are 48 comments:
\n\nThere were no new hosts this month.\n
\n\n\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nThere are 19 comments:
\n\r\nThis is my first HPR release and I\'m going to keep it short. If anyone is intertested in hearing more about any of the projects I mention here, I\'m happy to do another show.\r\n
\r\n\r\nFirst, I just want to say that everything on Netizen Empowerment Federation (NEF) is released under a free culture license, though not all of the music selected by our presenters is free culture. Right now we are blog and podcast focused, but we would like to add digital creators of all types.\r\n
\r\n\r\n\r\nIn this installment, lostnbronx interviews Julie Hoverson, a modern audio drama enthusiast of great experience and insight.\r\n
\r\n\r\nCheck out Julie\'s wonderful audio content at:\r\n
\r\n\r\nhttps://www.19nocturneboulevard.net/Episodes.htm\r\n
\r\n\r\nand (primarily)\r\n
\r\n\r\nhttps://www.nineteennocturne.libsyn.com/\r\n
',107,52,1,'CC-BY-SA','audio,drama,audio drama',0,0,1), (1691,'2015-01-26','Arduino 101 Arduino IO',2583,'In this episode, learn how to read and write input and output from the Arduino.','In this two-part series, Klaatu introduces you to the Arduino. First, learn about the breadboard and how to make electricity course through it in order to power your very own simple circuit.
\nTo follow along with what Klaatu is talking about, refer to these two graphics:
\nAnd here are diagrams of the simple circuits that Klaatu constructs.
The simple code to reset the servo:
\n#include <Servo.h>\nServo myservo;\n\nint servoPosition;\n\nvoid setup()\n{\n myservo.attach(13);\n myservo.write(90);\n}\n\nvoid loop() {}\n
And the code that responds to input:
\n#include <Servo.h>\nServo myservo; \n\nint servoPosition;\nint servoMax = 180;\nint servoMin = 0;\n\nint value;\nint valMax = 600;\nint valMin = 50;\n\n\nvoid setup()\n{\n myservo.attach(13);\n}\n\nvoid loop() \n{\n value = analogRead(0);\n servoPosition = map(value, valMin, valMax, servoMax, servoMin);\n servoPosition = constrain(servoPosition, servoMin, servoMax);\n myservo.write(servoPosition);\n}\n
And here is a bonus diagramme that you can try to create, using a light sensor, servo, and resistor.
\n',78,91,0,'CC-BY-SA','Arduino,Arduino 101',0,0,1), (1690,'2015-01-23','Arduino 101 Breadboard',1700,'learn how to use a breadboard.','\r\nIn this two-part series, Klaatu introduces you to the Arduino. First, learn about the breadboard and how to make electricity course through it in order to power your very own simple circuit.\r\n
\r\n\r\n\r\nTo follow along with what Klaatu is talking about, refer to these two\r\ngraphics:
\r\n\r\n\r\nAnd here are diagrams of the simple circuits that Klaatu constructs.\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n',78,91,0,'CC-BY-SA','Arduino',0,0,1), (1692,'2015-01-27','Boulevard Brewing Company \"Sample Twelve\"',1190,'FiftyOneFifty explores nature and Kansas City brews while celebrating juke box heroes','\r\nUnrelated tech stuff: \r\nRecently, Knightwise showed me a link to use a Raspberry Pi as a streaming music box, much like a Sonos player https://www.woutervanwijk.nl/pimusicbox/ . I looked at the enclosures people had come up with and saw transistor radios from the 40s and 50s which were true works of art, but don\'t provide a great selection of controls. It was then I remembered seeing a 1950\'s juke box wallbox control ( https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2050601.m570.l1313.TR2.TRC1.A0.H0.Xjuke+box+wallbox&_nkw=juke+box+wallbox&_sacat=0 ) in a local \"antique\" shop. I\'m never sure when addressing our European friends what parts of the American experience they are familiar with, but in the 40s to the 70s, in just about every American diner with a jukebox, at every booth there would be a remote console with a coin slot. Usually, you would have card tiles that could be rotated by a knob or by tabs, and each song would have a code made up of a letter and a number. Dropping in the required currency and making a selection would cause the song to be played on the jukebox (and sometimes on a set of stereo speakers in the wall unit). As you may see from the eBay link in the shownotes, wall boxes progressed from just a dozen titles in the 40s to far more complex systems, some with digital read out in the 80s. Most were marvels of late art deco design.\r\n
\r\n\r\nMy parents were far to frugal to let me drop coins into one of these pioneering marvels of analog networking, but thanks to a couple modders who have tied their panels into a Raspberry Pi, I can give you a general overview of how these units communicated with the central jukebox via primitive serial protocols. First off, if you have the expectation of following in Phil Lavin\'s or Stephin Devlin\'s footsteps, be prepared to pay more for a wallbox certified to be ready to connect and work with the same brand\'s jukebox (while all wallboxes seemed to communicate by serial pulse, each company employed a different scheme). Wallboxes of all conditions seem to start around $50 on eBay, but can go into the thousands. As I said, all of the wallboxes are marvels of art deco design if they have no other purpose than to occupy your space and become a conversation piece. Right now on eBay, there is an example of a wallbox converted into a waitorless ordering system (this looks like it is from the 70s, only now do we have this functionallity with iPads at every table). In other words, where once was \"Stairway to Heaven\", now there was \"Steak and Eggs: $4.95\". The add on plaque covering the face of the unit identified the system as T.O.B.Y., for Totally Order By Yourself. I could find nothing on the tech on Google, but I really hope it was successful, because it truly would have been a master hack.\r\n
\r\n\r\nFirst step. most wallboxes were powered from the jukebox, you can\'t just plug them into 120v alternating current, you will likely need a 25 or 30v adapter (research your model). If everything works, you should be able to drop your quarter, punch a letter number combo (which will stay down), then a motor will whir and you selected keys will punch back out. What happens in the background, the motor will cause an energized arm to sweep in a circle, making a circuit with electrodes in it\'s path. They keys selected determine how many pulses go down the output line, like a finger dialing a rotary phone.\r\n
\r\n\r\nEach manufacturer used a different code. In the case of Steve Devlin\'s Rowe Ami, there would be an initial set of pulses for the number, a pause, then a more complex set for characters A-V (earlier wallboxes had 10 letters and 0-9 to create 100 selections, later boxes had as many as 200). Phil Lavin\'s Seeburg uses pulses corresponding to two base 20 digits, both protocols were discovered through trial and error. Each gentleman uses a different method to protect his Pi from overvolt. Devlin uses a 3.5v voltage regulator, which also makes the pulses appear more \"square\", Lavin uses an optical relay to electrically separate the Pi from Seeburg console entirely.\r\n
\r\n\r\nBoth Lavin and Devlin use there wallboxes to control Sonos streaming players. My idea is more flexible, I\'d like the Pi to be able to launch either streaming podcasts, or play the last ep of a selection of podcasts, or launch various home automation processes. I didn\'t think this talk warranted it\'s own podcast yet because it is clearly an unfinished idea, but I thought this application of old tech was too cool to wait until I was actually motivated to do something with it. If I get a wallbox, I might be inclined instead to connect each button to a momentary switch and wire each in turn to one of the Pi\'s 40 I/O pins for an even more flexible instruction set.\r\n
\r\n\r\nhttps://wallbox.weebly.com/index.html\r\nhttps://phil.lavin.me.uk/2013/11/raspberry-pi-project-a-1960s-wallbox-interfaced-with-sonos/\r\n
\r\n\r\nBoulevard brewing Company \"Sample Twelve\" \r\nhttps://www.boulevard.com K.C. Mo\r\n
\r\n\r\nThis is a unique marketing campaign from my favorite K.C. brewer. The twelve pack contains four varieties of beer, two are established Boulevard offerings, and the other two are bottled with non gloss \"generic\" labels that appear to have been hand typed. In other words, we are to believe we have been sold two prototype beers for our approval.\r\n
\r\n\r\n80 Acre \"Hoppy\" Wheat Beer (the quotes are mine). The graphics consist of an old Farmall tractor towing a pickup trailer carrying a gigantic hops bud. From this presentation, one would expect an oppressivly hoppy beer, fortunately for the hop timid this is a rather satisfying abulation that only registers 20 IBUs. I detect a distinct citrus taste, so I suspect Citra or related hops but Boulevard is keeping the exact specs closer to the vest than some other brewers. The brewers escription of the beer may be found here (link in the shownotes) https://www.boulevard.com/BoulevardBeers/80-acre-hoppy-wheat-beer/ Pours corn silk yellow with lots of head but not a lot of lacing. Damp wheat aroma.\r\n
\r\n\r\nOatmeal Stout: This is the first of the \"generic\" label \"test\" beers. Pours opaque dark brown with a very small lite brown head that disappears. Milk chocolate aroma. Thin mouth feel, choclately after taste that lasts more than a flavor washing over your tongue (i.e., you drink it, then you taste the chocolaty/coffee like essence). For locally brewed Oatmeal Stouts, I\'d give the nod to Free State in Lawrence KS, but I wouldn\'t turn down the brew from K.C. if they decide to produce it. As it is not yet an \"official\", they don\'t document this beer on the Boulevard web page.\r\n
\r\n\r\nUnfiltered Wheat Beer: There is a graphic of a farmer gathering wheat bundles to build shocks, surrounded by hops vines. Pours the color of cloudy golden wheat straw, lots of persistent head that leaves little lacing. Slight biscuity aroma. Distinctly more citrusy than the 80 Acre. Not much malt and just a little hops bitterness. Despite the name, you can safely drink this beer to th bottom without winding up with a mouthful of particulates.\r\n
\r\n\r\nMid Coast IPA: The last \"experimental\" beer. At 104 IBUs, this is where all the hops you expected from 80 Acre went. Pours wheat straw golden, thick white head that leaves little lacing, with a hoppy aroma. Even at 104 IBU, its has a slight sweet taste and doesn\'t seem to be one of those \"my hops can beat up your hops beers\". The label states: \"The hoppiest thing we have ever brewed. Pretty nervy for a bunch of midwesterners\". It\'s a great complement to the baked ham and spicey glaze I\'m having for dinner (link in the show notes, even though I had to improvise somewhat).\r\nhttps://www.tasteofhome.com/recipes/apple-cider-glazed-ham\r\n
\r\n\r\nBefore I leave you, I wanted to play the sounds of dusk from my new homesite. I can think of no more eloquent argument why living on the lake is better than living in town.\r\n
\r\n\r\nNote: Recorded with 2.4Ghz Creative Labs GH0220B headset. I am not happy with the result.\r\n
',131,14,0,'CC-BY-SA','5150 Shades of Beer,jukebox, beer, Kansas City, geese',0,0,1), (1694,'2015-01-29','My APOD downloader',1320,'My simple Perl script to download the Astronomy Picture of the Day each day','You have probably heard of the Astronomy Picture of the Day (APOD) site. It has existed since 1995, is provided by NASA and Michigan Technological University (MTU) and is created and managed by Robert Nemiroff and Jerry Bonnell. The FAQ on the site says \"The APOD archive contains the largest collection of annotated astronomical images on the internet\".
\nBeing a KDE user I quite like a moderate amount of bling, and I particularly like to have a picture on my desktop. I like to rotate my wallpaper pictures every so often, so I want to have a collection of images. To this end I download the APOD on my server every day and make the images available through an NFS-mounted volume.
\nIn 2012 I wrote a Perl script to perform the download, using a fairly primitive HTML parsing method. This script has been improved over the intervening years and now uses the Perl module HTML::TreeBuilder
which I believe is much better at parsing HTML.
The version of the script I use myself also includes the Perl module Image::Magick
which interfaces to the awesome ImageMagick
image manipulation software suite. I use this to annotate the downloaded image with the title parsed from the HTML so I know what it is.
The script I am presenting here is called collect_apod_simple
and does not use ImageMagick
. I chose to omit it because the installation of this suite and the related Perl module can be difficult. Also, I do not feel that the annotation always works as well as it could, and I have not yet found the time to correct this shortcoming.
A version of the more advanced script (called collect_apod
) is available in the same place as collect_apod_simple
should you wish to give it a try. Both scripts are available on GitLab under the link https://gitlab.com/davmo/hprmisc.
The script itself is described in the full show notes, available here: https://hackerpublicradio.org/eps/hpr1694_full_shownotes.html
\nHTML::TreeBuilder
Perl module https://search.cpan.org/~cjm/HTML-Tree-5.03/lib/HTML/TreeBuilder.pmImageMagick
image manipulation software suite https://www.imagemagick.org/In Part 07, lostnbronx talks about his Tascam DR-40 solid state recording device, covers an OTR show of particular note, along with a new show that\'s also extremely cool, and then makes a plea for you to support your favorite artists.\r\n
\r\n\r\n\r\nStoring info outside the file system with the DD command.\r\n
\r\n',295,0,0,'CC-BY-SA','DD command,partition,sector',0,0,1), (1710,'2015-02-20','Windows Remote Desktop on GNU/Linux',679,'A wrapper script for xfreerdp to make connecting to windows servers painless','\r\nRecorded using Easy Voice Recorder Pro\r\n
\r\nI wrote a bash script to connect to various different windows servers from my GNU/Linux desktops. I had a few different requirements:
\r\nYou can get the full script here, but let’s walk through it:
\r\nThe first line calls bash and then gets the server name from the symlink that is calling the script. The port is set as “3389”, but you can change that if you like.\r\n
\r\n\r\n#!/bin/bash\r\nSERVER=`basename $0`\r\nPORT=\"3389\"\r\n\r\n
The next few lines finds the smallest vertical and horizontal sizes, even if you are running multiple screens. Then it calculates 90% of that to use as the size.
\r\n\r\nh=$(echo \"scale=0;(($(xrandr | grep \'*+\' | sed \'s/x/ /g\' | awk \'{print $1}\' | sort -n | head -1 )/100)*90)\" | bc)\r\nv=$(echo \"scale=0;(($(xrandr | grep \'*+\' | sed \'s/x/ /g\' | awk \'{print $2}\' | sort -n | head -1 )/100)*90)\" | bc)\r\nSIZE=${h}x${v}\r\n\r\n
Next we set the default username and password. I have it ask me for my password but I put it in here as an example.
\r\n\r\nPASSWORD=\'defaultpassword\'\r\nUSERNAME=\'administrator\'\r\nWORKGROUP=\'workgroup\'\r\n\r\n
In some cases the credentials may be different, so I have a case statement that will cycle through the servers and apply the differences. Depending on your naming schemes you may be able to use regular expressions here to filter out groups of servers.
\r\n\r\ncase \"${SERVER}\" in\r\n *server*) echo \"Server ${SERVER}\"\r\n PASSWORD=\'work_password\'\r\n USERNAME=\'administrator\'\r\n WORKGROUP=\'WORKGROUP\'\r\n ;;\r\n \r\n *colo*) echo \"Server ${SERVER}\"\r\n PASSWORD=\'colo_server_password\'\r\n USERNAME=\'administrator\'\r\n WORKGROUP=\'COLODOMAIN\'\r\n ;;\r\n \r\n some_server ) echo \"Server ${SERVER}\"\r\n PASSWORD=\'some_server_password\'\r\n USERNAME=\'some_server_password\'\r\n ;;\r\n *) echo \"No match for ${SERVER}, using defaults\"\r\n ;;\r\nesac\r\n\r\n
Next we use an inbuilt bash command to see if a remote port is open and timeout after one second.
\r\n\r\ntimeout 1 bash -c \"echo >/dev/tcp/${SERVER}/${PORT}\"\r\n\r\n
I used to connect to rdp using the program rdesktop, but it is now of limited value due to the fact that there are many open bugs that are not getting fixed. Bugs such as Bug 1075697 - rdesktop cannot connect to systems using RDP version 6 or newer and Bug 1002978 - Failed to negotiate protocol, retrying with plain RDP . I then switch to using xfreerdp. This is the client that is behind remmina.
\r\n\r\nYou can use xfreerdp /kbd-list to get a list of the available keyboard layouts.
\r\n\r\nif [ $? -eq 0 ]; then\r\n echo \"${SERVER}:${PORT} is open\"\r\n xfreerdp /v:${SERVER} /size:${SIZE} /kbd-type:0x00000409 /t:${SERVER} /d:${WORKGROUP} /u:${USERNAME} /p:${PASSWORD} /a:drive,pc,/ /cert-ignore &\r\nelse\r\n echo \"${SERVER}:${PORT} is closed\"\r\nfi\r\n\r\n\r\n
Next you will need to be sure that your host names are available, either in dns or in your /etc/hosts/ file. For example:
\r\n10.1.0.1 server1\r\n10.1.0.2 server2\r\n10.1.0.3 server3\r\n10.2.0.1 coloserver1\r\n10.2.0.2 coloserver2\r\n10.2.0.3 coloserver3\r\n192.168.1.1 some_server\r\n\r\n
Edit the script to your liking and then put it into your a directory in your path, possibly /usr/local/bash or ~/bin/. You can then make symbolic links to the servers to the bash script, also in a directory in your path, using the command:
\r\nln -s /usr/local/bash/rdp.bash ~/bin/some_server\r\nchmod +x ~/bin/some_server\r\n\r\n
Which links the global rdp.bash script to your personal symlink, and makes it executable.
\r\nAll that you need to do then is type the name of the server and a rdp screen should pop up.
\r\nIn our example:
\r\n$ some_server\r\n\r\n
From there your Windows Server session should pop up.
',30,42,0,'CC-BY-SA','bash,xfreerdp,rdesktop,remmina',0,0,1), (1720,'2015-03-06','15 Certificate Issues and Solutions',1091,'A look at the problems that SSL certificates can have, and offers some solutions','\r\nLast time we looked at some basics about how TLS and SSL work, and saw that this is basically an application of the same technology used to encrypt e-mails. But we also noted that there are some problems with this approach. We need to recognize that in security there is never a permanent solution, and that vulnerabilities are constantly being discovered, and ideally then being fixed. Some of these may involve highly technical issues about cryptographic methods, but I think the largest category of issues is about the processes around the use of certificates.\r\nFor more go to https://www.zwilnik.com/?page_id=686\r\n
\r\n\r\n\r\nWe begin the discussion of Impress, the Presentation Graphics (i.e. slide deck) component of Libre Office. In this episode we look at some of the basic issues around presentations that you need to consider *before* you open up the software. Constructing a good presentation is not easy, and there are some good principles that the masters of the art can impart. WE discuss some of these here and provide links to good resources. \r\nFor more go to https://www.ahuka.com/?page_id=1087\r\n
\r\n\r\n\r\nNow we can start to take a look at the actual Impress application, and we begin by looking a how the program is laid out on the screen. Knowing where to find key features is important in using the program efficiently.\r\nFor more go to https://www.ahuka.com/?page_id=1112\r\n
',198,70,0,'CC-BY-SA','LibreOffice, Impress, Presentations, navigation',0,0,1), (1765,'2015-05-08','53 - LibreOffice Impress - Outlining and Blank Presentations',829,'Learning to start with the content and not the eye candy.','\r\nHaving looked at the screen layout, now we can look at how to build a presentation by focusing on the content first, and not the eye candy. This can be done by creating an outline, or by beginning with a blank presentation. We discuss both and give some ideas on which to use in each situation.\r\nFor more go to https://www.ahuka.com/?page_id=1100\r\n
\r\n\r\n\r\nThe mystery of my pickup toolbox.\r\n
',131,23,0,'CC-BY-SA','tools,toolbox',0,0,1), (1719,'2015-03-05','The Linux Tree Command',848,'The Linux Tree Command and its uses','tree [-adfghilnopqrstuvxACDFNS] [-L level [-R]] [-H baseHREF] [-T title] [-o\r\nfilename] [--nolinks] [-P pattern] [-I pattern] [--inodes] [--device] [--noreport]\r\n[--dirsfirst] [--version] [--help] [--filelimit #] [directory ...]\r\n
\r\nTree is a recursive directory listing program that produces a depth indented listing of files. Color is supported ala dircolors if the\r\nLS_COLORS environment variable is set, output is to a tty, and the -C flag is used. With no arguments, tree lists the files in the current\r\ndirectory. When directory arguments are given, tree lists all the files and/or directories found in the given directories each in turn. Upon completion\r\nof listing all files/directories found, tree returns the total number of files and/or directories listed.\r\n
By default, when a symbolic link is encountered, the path that the symbolic link refers to is printed after the name of the link in the format:\r\n\r\n
name -> real-path\r\n
If the \'-l\' option is given and the symbolic link refers to an actual directory, then tree will follow the path of the symbolic link as if it\r\nwere a real directory.\r\n
\r\n\r\nhttps://linux.die.net/man/1/tree\r\n
',129,0,0,'CC-BY-SA','tree command',0,0,1), (1697,'2015-02-03','FOSDEM 2015 Friday Night and Saturday Morning 1 of 5',3068,'Bradley M. Kuhn, Karen Sandler, Sriram Ramkrishna, Matthew Miller, Rich Bowen, Karanbir Singh','\r\n\r\n
\r\nWebsite: https://fosdem.org/2015/\r\n
\r\nFOSDEM is a two-day event organised by volunteers to promote the widespread use of open source software. Videos of the talks refered to in this show are made available on their website.\r\n\r\n\r\n
\r\n\r\n
\r\nWebsite: https://sfconservancy.org\r\n
\r\nSoftware Freedom Conservancy is a not-for-profit organization that helps promote, improve, develop, and defend Free, Libre, and Open Source Software (FLOSS) projects. Conservancy provides a non-profit home and infrastructure for FLOSS projects. This allows FLOSS developers to focus on what they do best - writing and improving FLOSS for the general public - while Conservancy takes care of the projects\' needs that do not relate directly to software development and documentation.\r\n\r\n\r\n
\r\nWebsite: https://faif.us/\r\n
\r\n\r\nFree as in Freedom is a bi-weekly oggcast, hosted and presented by\r\nBradley M. Kuhn and Karen Sandler.\r\nThe discussion includes legal, policy, and many other issues in the Free, Libre,\r\nand Open Source Software (FLOSS) world. Occasionally, guests join\r\nBradley and Karen to discuss various topics regarding FLOSS.\r\n\r\n\r\n
\r\n\r\n
\r\nListen to the interview with Bradley M. Kuhn
\r\n\r\n\r\n\r\n
\r\n
Listen to the interview with Karen Sandler
\r\n\r\n\r\n\r\n\r\n
\r\n
Listen to the interview with Sriram Ramkrishna
\r\n\r\n\r\n\r\n\r\n
\r\nWebsite: https://gnome.org\r\n
\r\n\r\n\r\n\r\nGNOME 3 is an easy and elegant way to use your computer. It is designed to put you in control and bring freedom to everybody. GNOME 3 is developed by the GNOME community, a diverse, international group of contributors that is supported by an independent, non-profit foundation.
\r\n
\r\n
\r\n
Listen to the interview with Matthew Miller
\r\n\r\n\r\n\r\n\r\n
\r\nWebsite: https://getfedora.org/en/\r\n
\r\n\r\n\r\nThe Fedora Project is a partnership of free software community members from around the globe. The Fedora Project builds open source software communities and produces a Linux distribution called \"Fedora.\" The Fedora Project\'s mission is to lead the advancement of free and open source software and content as a collaborative community. \r\n
\r\n
\r\n
Listen to the interview with Rich Bowen
\r\n\r\n\r\n\r\n
\r\nWebsite: https://openstack.org\r\n
\r\nOpenStack software controls large pools of compute, storage, and networking resources throughout a datacenter, managed through a dashboard or via the OpenStack API. OpenStack works with popular enterprise and open source technologies making it ideal for heterogeneous infrastructure.\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Karanbir Singh
\r\n\r\n\r\n\r\n
\r\nWebsite: https://www.centos.org\r\n
\r\n\r\n\r\nThe CentOS Linux distribution is a stable, predictable, manageable and reproduceable platform derived from the sources of Red Hat Enterprise Linux (RHEL). We are now looking to expand on that by creating the resources needed by other communities to come together and be able to build on the CentOS Linux platform. And today we start the process by delivering a clear governance model, increased transparency and access. In the coming weeks we aim to publish our own roadmap that includes variants of the core CentOS Linux.
\r\n
\r\nTrack name : Free Software Song\r\nPerformer : Fenster\r\nRecorded date : 2002\r\nCopyright : Copyright (C) 2002, \r\nFenster LLC. Verbatim copying of this entire recording is permitted in any medium, \r\nprovided this notice is preserved. \r\nPerformers: \r\nPaul Robinson (vocals), \r\nRoman Kravec (guitar), \r\nEd D\'Angelo (bass), \r\nDave Newman (drums), \r\nBrian Yarbrough (trumpet), \r\nTony Moore (trumpet). \r\nFree software info at www.gnu.org speeches at audio-video.gnu.org/audio\r\n\r\n',30,78,1,'CC-BY-SA','Software Freedom Conservancy,Free as in Freedom,GNOME,Fedora,OpenStack,CentOS,Fenster',0,0,1), (1698,'2015-02-04','FOSDEM 2015 Part 2 of 5',2758,'OpenMandriva, Mageia, KDE, Debian, Puppet, OwnCloud, Diaspora','
\r\n\r\n
\r\nWebsite: https://fosdem.org/2015/\r\n
\r\nFOSDEM is a two-day event organised by volunteers to promote the widespread use of open source software. Videos of the talks refered to in this show are made available on their website.\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Bernhard Rosenkränzer
\r\n\r\n\r\n\r\n\r\n
\r\nWebsite: https://openmandriva.org\r\n
\r\n\r\n\r\nWe are a 100% community-driven association that believes in the values of free software & collaboration. We fight to protect these values and promote solutions anyone can use, change and distribute. OpenMandriva believes in creating, improving, promoting and distributing free software in general, and its projects in particular. We also crave for promoting free exchange of knowledge and equality of opportunity in software access and development, as well as in education, science and research. Our products are developed with passion by the community and aim to be flexible in use by all.
\r\n\r\nOpenMandriva represents the paradigm: from community to community, with passion, fun and dedication.
\r\n\r\n
\r\n
\r\n
Listen to the interview with Anne Nicolas
\r\n\r\n\r\n\r\n
\r\nWebsite: https://mageia.org\r\n
\r\nMageia is a GNU/Linux-based, Free Software operating system. It is a community project, supported by a nonprofit organisation of elected contributors. Our mission: to build great tools for people.\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Jonathan Riddell
\r\n\r\n\r\n\r\n
\r\nWebsite: https://www.kde.org\r\n
\r\nKDE is an international team co-operating on development and distribution of Free, Open Source Software for desktop and portable computing. Our community has developed a wide variety of applications for communication, work, education and entertainment. We have a strong focus on finding innovative solutions to old and new problems, creating a vibrant, open atmosphere for experimentation. \r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with David Bremner
\r\n\r\n\r\n\r\n
\r\nWebsite: https://www.debian.org/\r\n
\r\n\r\n\r\nThe Debian Project is an association of individuals who have made common cause to create a free operating system. This operating system that we have created is called Debian.\r\n
\r\n
\r\n
\r\n
Listen to the interview with Johan De W.
\r\n\r\n\r\n\r\n
\r\nWebsite: https://puppetlabs.com/\r\n
\r\nPuppet Labs is the leader in IT automation. Our software helps sysadmins automate configuration and management of machines and the software running on them. With our software, businesses can make rapid, repeatable changes and automatically enforce the consistency of systems and devices, across physical and virtual machines, on prem or in the cloud.\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Jan-Christoph Borchardt
\r\n\r\n\r\n\r\n\r\n
\r\nWebsite: https://owncloud.org/\r\n
\r\nAccess, Sync and Share your data, under your control!\r\nownCloud provides access to your data through a web interface or WebDAV while providing a platform to view, sync and share across devices easily, all under your control. ownCloud\'s open architecture is extensible via a simple but powerful API for applications and plugins and works with any storage. \r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Jason Robinson
\r\n\r\n\r\n\r\n\r\n
\r\nWebsite: https://diasporafoundation.org/\r\n
\r\n\r\n\r\ndiaspora* is a true network, with no central base. There are servers (called \"pods\") all over the world, each containing the data of those users who have chosen to register with it. These pods communicate with each other seamlessly, so that you can register with any pod and communicate freely with your contacts, wherever they are on the network.
\r\n
\r\nTrack name : Free Software Song\r\nPerformer : Fenster\r\nRecorded date : 2002\r\nCopyright : Copyright (C) 2002, \r\nFenster LLC. Verbatim copying of this entire recording is permitted in any medium, \r\nprovided this notice is preserved. \r\nPerformers: \r\nPaul Robinson (vocals), \r\nRoman Kravec (guitar), \r\nEd D\'Angelo (bass), \r\nDave Newman (drums), \r\nBrian Yarbrough (trumpet), \r\nTony Moore (trumpet). \r\nFree software info at www.gnu.org speeches at audio-video.gnu.org/audio\r\n\r\n',30,78,1,'CC-BY-SA','OpenMandriva, Mageia, KDE, Debian, Puppet, OwnCloud, Diaspora',0,0,1), (1707,'2015-02-17','A tour round my desktop',2821,'A look at the applications I use, why I use them and the alternatives I\'ve tried.','
\r\n\r\n
\r\nWebsite: https://fosdem.org/2015/\r\n
\r\nFOSDEM is a two-day event organised by volunteers to promote the widespread use of open source software. Videos of the talks refered to in this show are made available on their website.\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Quim Gil
\r\n\r\n\r\n\r\n
\r\nWebsite: https://www.mediawiki.org/wiki/MediaWiki\r\n
\r\nThe Wikimedia Foundation, Inc. is a nonprofit charitable organization dedicated to encouraging the growth, development and distribution of free, multilingual, educational content, and to providing the full content of these wiki-based projects to the public free of charge. The Wikimedia Foundation operates some of the largest collaboratively edited reference projects in the world, including Wikipedia, a top-ten internet property. \r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Andz and Chris
\r\n\r\n\r\nWebsite: https://www.constantvzw.org/\r\n
\r\n\r\n\r\n\r\nConstant is a non-profit association, an interdisciplinary arts-lab based and active in Brussels since 1997. Constant works in-between media and art and is interested in the culture and ethics of the World Wide Web. The artistic practice of Constant is inspired by the way that technological infrastructures, data-exchange and software determine our daily life. Free software, copyright alternatives and (cyber)feminism are important threads running through the activities of Constant. Constant organizes workshops, print-parties, walks and \"Verbindingen/Jonctions\"-meetings on a regular basis for a public that\'s into experiments, discussions and all kinds of exchanges.
\r\n
\r\n
\r\n
Listen to the interview with ginger
\r\n\r\n\r\n\r\n
\r\nWebsite: https://libregraphicsmag.com\r\n
\r\n\r\n\r\nA Libre Graphics Magazine is long overdue. In a market dominated by magazines devoted to design discourse built around proprietary tools and the latest computer graphics tricks and techniques, users of Libre Graphics software are underserved and unrecognized. We know that these users exist, both professionally and as hobbyists. We know this because we are they. We are graphic designers, media artists, photographers and web designers. We use Libre Graphics software, quietly and without regard. Our peers, used to proprietary alternatives, question our choice of tools. Our work, when executed well, is indistinguishable from work produced by more traditional means. Thus, our choices are invisible, unless we make an issue of them.
\r\n
\r\n
\r\n
Listen to the interview with Ingo Bauersachs
\r\n\r\n\r\n\r\n
\r\nWebsite: https://jitsi.org\r\n
\r\nJitsi is an audio/video Internet phone and instant messenger written in Java. It supports some of the most popular instant messaging and telephony protocols such as SIP, Jabber/XMPP (and hence Facebook and Google Talk), AIM, ICQ, MSN, Yahoo! Messenger.\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Joachim Lindborg
\r\n\r\n\r\n\r\n
\r\nWebsite: https://xmpp.org/\r\n
\r\nThe Extensible Messaging and Presence Protocol (XMPP) is an open technology for real-time communication, which powers a wide range of applications including instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data.\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Robin Edgar
\r\n\r\n\r\n\r\n
\r\nWebsite: https://mykolab.com\r\n
\r\nWe offer secure email accounts including calendars and address books that synchronize to all your devices. The data is stored in our very own data center in Switzerland and cannot be accessed by spy programs such as PRISM, so there will be no spying. There is also no corporate spying, because we show no advertisements. Enjoy the convenience of the Cloud without compromising freedom and openness.\r\n
\r\nKolab is a free and open source groupware suite. It consists of the Kolab server and a wide variety of Kolab clients, including KDE PIM-Suite Kontact, Horde Webfrontend, Mozilla Thunderbird and Mozilla Lightning with SyncKolab extension and Microsoft Outlook with proprietary Kolab-Connector PlugIns.
\r\nRoundcube is a web-based IMAP email client. Roundcube\'s most prominent feature is the pervasive use of Ajax technology to present a more fluid and responsive user interface than that of traditional webmail clients. After about two years of development, the first stable release of Roundcube was announced in early 2008.\r\n
\r\nIt is also time to mark the 2nd and 3rd of May 2015 in your calendars: the inaugural Kolab Summit will be held in The Hague on those dates. Come and join us for two days jam-packed full with talks, code sprints and social events!\r\n
\r\n\r\nKolab Summit and openSUSE Conference\r\nDen Haag / Netherlands \r\nMay 01 - 04, 2015\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Xavier Brusselaers
\r\n\r\n\r\n\r\n
\r\nWebsite: https://www.doudoulinux.org/\r\n
\r\nDoudouLinux is a system targeting young children. It aims at making computer use as simple and pleasant as possible; while also making computer use more accessible to all children on earth, without discrimination, in order to favor their self-fulfillment. In this section you will learn more about how it works, how it is designed, who developed it, how it came to be, why, and so on.\r\n\r\n\r\n\r\n
\r\nTrack name : Free Software Song\r\nPerformer : Fenster\r\nRecorded date : 2002\r\nCopyright : Copyright (C) 2002, \r\nFenster LLC. Verbatim copying of this entire recording is permitted in any medium, \r\nprovided this notice is preserved. \r\nPerformers: \r\nPaul Robinson (vocals), \r\nRoman Kravec (guitar), \r\nEd D\'Angelo (bass), \r\nDave Newman (drums), \r\nBrian Yarbrough (trumpet), \r\nTony Moore (trumpet). \r\nFree software info at www.gnu.org speeches at audio-video.gnu.org/audio\r\n\r\n',30,78,1,'CC-BY-SA','Wikimedia, Hack the Knit, Jitsi, XMMP, Kolab, DoudouLinux',0,0,1), (1701,'2015-02-09','FOSDEM 2015 Part 4 of 5',2576,'Agora Voting, DIYBookScanner, OpenEmbedded, Amateur Radio, kodi formerly XBMC','
\r\n\r\n
\r\nWebsite: https://fosdem.org/2015/\r\n
\r\nFOSDEM is a two-day event organised by volunteers to promote the widespread use of open source software. Videos of the talks refered to in this show are made available on their website.\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Eduardo Robles
\r\n\r\n\r\n\r\n
\r\nWebsite: https://agoravoting.org/\r\n
\r\nAgora Voting is an open source voting software that allows any organization to carry out secure, flexible, transparent and cost-effective electoral processes.\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Johannes Baiter
\r\n\r\n\r\n\r\n
\r\nWebsite: https://github.com/DIYBookScanner/spreads\r\n
\r\nspreads is a software suite for the digitization of printed material. Its main focus is to integrate existing solutions for individual parts of the scanning workflow into a cohesive package that is intuitive to use and easy to extend. At its core, it handles the communication with the imaging devices, the post-processing of the captured material and its assembly into output formats like PDF or ePub. On top of this base layer, we have built a variety of interfaces that should fit into most use cases: A full-fledged and mobile-friendly web interface that can be served from even the most low-powered devices (like a Raspberry Pi), a graphical wizard for classical desktop users and a bare-bones command-line interface for purists.\r\n\r\n\r\n
Listen to the interview with Ulf Samuelsson
\r\n\r\n\r\n\r\n
\r\nWebsite: https://www.openembedded.org\r\n
\r\nWelcome to OpenEmbedded, the build framework for embedded Linux. OpenEmbedded offers a best-in-class cross-compile environment. It allows developers to create a complete Linux Distribution for embedded systems. \r\n\r\n\r\n
Listen to the interview with Kristoff Bonne
\r\n\r\n\r\n\r\n
\r\nWebsite: https://www.uba.be/\r\n
\r\nThe Royal Union of Belgian Radio Amateurs (UBA) (in Dutch, Koninklijke Unie van de Belgische Zendamateurs, in French Union Royale Belge des Amateurs-Emetteurs, in German Königliche Union der Belgischen Funkamateure) is a national non-profit organization for amateur radio enthusiasts in Belgium. UBA is the national member society representing Belgium in the International Amateur Radio Union.\r\n\r\n
\r\n\r\n
\r\nWebsite: https://www.darc.de/\r\n
\r\nThe Deutsche Amateur-Radio-Club e.V. (DARC) (in English, German Amateur Radio Club) is a national non-profit organization for amateur radio enthusiasts in Germany. As of 1 January 2008, the organization had 44,246 members, approximately 60% of all licensed amateur radio operators in Germany. Key membership benefits of the organization include QSL bureau services, a monthly membership magazine called CQ DL, and the promotion and sponsorship of radio contests. DARC promotes amateur radio by organizing classes and technical support to help enthusiasts earn their amateur radio license. The DARC also represents the interests of German amateur radio operators and shortwave listeners before German and international telecommunications regulatory authorities. DARC is the national member society representing Germany in the International Amateur Radio Union.\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Ejal de Klerk
\r\n\r\n\r\n\r\n
\r\nWebsite: https://kodi.tv/\r\n
\r\nKodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media player and entertainment hub that can be installed on Linux, OSX, Windows, iOS, and Android, featuring a 10-foot user interface for use with televisions and remote controls. It allows users to play and view most videos, music, podcasts, and other digital media files from local and network storage media and the internet.\r\n\r\n\r\n
\r\nTrack name : Free Software Song\r\nPerformer : Fenster\r\nRecorded date : 2002\r\nCopyright : Copyright (C) 2002, \r\nFenster LLC. Verbatim copying of this entire recording is permitted in any medium, \r\nprovided this notice is preserved. \r\nPerformers: \r\nPaul Robinson (vocals), \r\nRoman Kravec (guitar), \r\nEd D\'Angelo (bass), \r\nDave Newman (drums), \r\nBrian Yarbrough (trumpet), \r\nTony Moore (trumpet). \r\nFree software info at www.gnu.org speeches at audio-video.gnu.org/audio\r\n\r\n',30,78,1,'CC-BY-SA','Agora Voting, DIYBookScanner, OpenEmbedded, Amateur Radio, kodi formerly XBMC',0,0,1), (1702,'2015-02-10','FOSDEM 2015 Part 5 of 5',3733,'ReactOS, CoreOS, WolfSSL, PicoTCP, Ultimaker, CoreBoot and Flashrom, SatNOGS','
\r\n
\r\n
Listen to the interview with Aleksey Bragin
\r\n\r\n\r\n\r\n
\r\nWebsite: https://www.reactos.org/\r\n
\r\nReactOS® is a free open source operating system based on the best design principles found in the Windows NT® architecture (Windows versions such as Windows XP, Windows 7, Windows Server 2012 are built on Windows NT architecture). Written completely from scratch, ReactOS is not a Linux based system, and shares none of the UNIX architecture. The main goal of the ReactOS® project is to provide an operating system which is binary compatible with Windows. This will allow your Windows® applications and drivers to run as they would on your Windows system. Additionally, the look and feel of the Windows operating system is used, such that people accustomed to the familiar user interface of Windows® would find using ReactOS straightforward. The ultimate goal of ReactOS® is to allow you to use it as alternative to Windows® without the need to change software you are used to.\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Kelsey Hightower
\r\n\r\n\r\n\r\n
\r\nWebsite: https://coreos.com/\r\n
\r\nCoreOS is a new Linux distribution that has been rearchitected to provide features needed to run modern infrastructure stacks. The strategies and architectures that influence CoreOS allow companies like Google, Facebook and Twitter to run their services at scale with high resilience.\r\n\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Chris Conlon
\r\n\r\n\r\n\r\n
\r\nWebsite: https://wolfssl.com/yaSSL/Home.html\r\n
\r\nwolfSSL focuses on providing lightweight and embedded security solutions with an emphasis on speed, size, portability, features, and standards compliance. Dual licensed to cater to a diversity of users ranging from the hobbyist to the user with commercial needs, we are happy to help our customers and community in any way we can. Our products are Open Source giving customers the freedom to look under the hood.\r\n\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Maarten Vandersteegen
\r\n\r\n\r\n\r\n
\r\nWebsite: https://www.picotcp.com/\r\n
\r\npicoTCP is a TCP/IP stack developed from scratch for embedded devices with an eye on the Internet of Things revolution.\r\n\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Olliver Schinagl
\r\n\r\n\r\n\r\n
\r\nWebsite: https://www.ultimaker.com/\r\n
\r\nWe wanted everyone to be able to enjoy the experience of making. Whether it was a cat dressed as an astronaut or a mechanical masterpiece. We set it as our goal to enable you to make those things. So we built a pioneering device that everyone could use and enjoy. We made it open source so everyone really could pitch in. And we started to grow.\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Carl-Daniel Hailfinger
\r\n\r\n\r\n\r\n
\r\nWebsite: https://www.coreboot.org/\r\n
\r\ncoreboot is an extended firmware platform for delivering lightning fast and ultra secure boot experience on modern computers and embedded systems. As an Open Source project it provides auditability and helps regaining control over technology.\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Pierros Papadeas
\r\n\r\n\r\n\r\n
\r\nWebsite: https://satnogs.org/\r\n
\r\nSatNOGS project is a complete platform of an Open Source Networked Ground Station. The scope of the project is to create a full stack of open technologies based on open standards , and the construction of a full ground station as a showcase of the stack.\r\n\r\n',30,78,1,'CC-BY-SA','ReactOS, CoreOS, WolfSSL, PicoTCP, Ultimaker, CoreBoot and Flashrom, SatNOGS',0,0,1), (1704,'2015-02-12','Introducing Jeffrey Powers aka Geekazine',1543,'Jeffrey Powers talks \"*azines\" and his other tech sites','
\r\nI was asked to do a followup to my Introduction to the Netizen Empowerment Federation. Specifically, I was asked to talk a bit more about the goals of Sportazine.com and how it fits into free culture. I thought the best way to do that was to introduce my Sportazine.com co-founder, Jeffrey Powers. \r\n
\r\n\r\nA May 2011 estimate puts the sports industry at 350-450 billion ($480-$620 billion) https://www.atkearney.com/en_GB/paper/-/asset_publisher/dVxv4Hz2h8bS/content/the-sports-market/10192 -- it is inarguably foolish to ignore it. I don\'t think you are going to convince anyone to change their ways by shouting at them, or quietly being condescending.\r\n
\r\n\r\nListen to find out Jeff\'s answers!\r\n
\r\n\r\nHow has Sportazine changed from your initial vision when we created it almost 5 years ago?\r\n
\r\n\r\nWhat is JMP?\r\n
\r\n\r\nWe\'re recording on Jan 16. What\'s the tech history bit people should check out on your site for today?\r\n
\r\n\r\nDo you do interviews for any of your sites? \r\n
\r\n\r\nHow do you vet interviewees?\r\n
\r\n\r\nWhat is the best way for someone to get in touch with you if they\'d like to be an interviewee?\r\n
\r\n\r\nWhere are you speaking to you today from Jeff?\r\n
\r\n\r\nWhat are your favorite sports to watch or play?\r\n
\r\n\r\nHow far do you think the Packers will go this year? We\'re recording on Jan 16, but there aren\'t open slots on HPR for a while, so people may get to see if you are right.\r\n
\r\n\r\nProfessional video game players get athletic visas in the US, and are covered by ESPN (https://kotaku.com/some-sports-fans-upset-espn-is-airing-video-game-tourna-1608298005) so I suppose we might as well. How much do you cover video games on your various sites?\r\n
\r\n\r\nWhat is the name of your band, and where can people find the band?\r\n
\r\n\r\nIs there anything else you would like to tell the listeners?\r\n
',294,0,0,'CC-BY-SA','tech, apps, ipad, android',0,0,1), (1703,'2015-02-11','Open Source CD Rippers',1579,'Kevie takes a look at a variety of CD ripping software available on Linux','\r\nFor a first attempt at flying solo for an episode of HPR, Kevie takes a look at a variety of open source CD ripping software. Looking at graphical applications \r\nhttps://wiki.gnome.org/Apps/SoundJuicer: Sound Juicer and\r\nhttps://littlesvr.ca/asunder/: Asunder along with the command line tools\r\nhttps://bashburn.dose.se/: Bashburn and\r\nhttps://bach.dynet.com/crip/: Crip. Along with considering if it is worth having a dedicated ripping tool when a fully fledged audio suite\r\nhttps://wiki.gnome.org/Apps/Rhythmbox/: Rhythmbox and\r\nhttps://www.videolan.org/vlc/: VLC will also allow ripping.\r\n
\r\nRegular listeners to the https://unseenstudio.co.uk/category/tuxjam-ogg/: TuxJam podcast will know that Kevie is a big fan of creative commons music and this episode is no different with the tracks by https://20lb.net/: 20lb Sounds and https://bridgesplosion.bandcamp.com/: Blowing Up Bridges.\r\n
\r\n\r\nMusic included in this episode:\r\n
\r\n\r\n\r\n ::: The \r\n iLE88Dj. :jD88888Dj: \r\n.LGitE888D.f8GjjjL8888E; .d8888b. 888b 888 888 888 \r\niE :8888Et. .G8888. d88P Y88b 8888b 888 888 888 \r\n;i E888, ,8888, 888 888 88888b 888 888 888 \r\n D888, :8888: 888 888Y88b 888 888 888 \r\n D888, :8888: 888 88888 888 Y88b888 888 888 \r\n D888, :8888: 888 888 888 Y88888 888 888 \r\n D888, :8888: Y88b d88P 888 Y8888 Y88b. .d88P \r\n 888W, :8888: \"Y8888P88 888 Y888 \"Y88888P\" \r\n W88W, :8888: \r\n W88W: :8888: 88888b. 8888b. 88888b. .d88b. \r\n DGGD: :8888: 888 \"88b \"88b 888 \"88b d88\"\"88b\r\n :8888: 888 888 .d888888 888 888 888 888\r\n :W888: 888 888 888 888 888 888 Y88..88P\r\n :8888: 888 888 \"Y888888 888 888 \"Y88P\" \r\n E888i \r\n tW88D Text Editor \r\n\r\n
\r\nWebsite: https://www.nano-editor.org/\r\n
\r\n\r\nnano is a text editor for Unix-like computing systems or operating environments using a command line interface. It emulates the Pico text editor, part of the Pine email client, and also provides additional functionality. In contrast to Pico, nano is licensed under the GNU General Public License (GPL). Released as free software by Chris Allegretta in 1999, today nano is part of the GNU Project.\r\n',129,0,1,'CC-BY-SA','editors,nano,gnu/nano,pico,GPL',0,0,1), (1709,'2015-02-19','Hacking Your Teeth',1250,'Advice on hacking your teeth','
\r\nThis podcast details my experiences with dentists along with a smattering of free advice.\r\n
\r\n\r\nLink to the commonly known sunscreen song \r\nhttps://en.wikipedia.org/wiki/Wear_Sunscreen\r\n
\r\n\r\nWikipedia article about gum disease\r\nhttps://en.wikipedia.org/wiki/Periodontitis\r\n
\r\n\r\nWikipedia page on Interdental tooth brushes\r\nhttps://en.wikipedia.org/wiki/Toothbrush#Interdental_brush\r\n
\r\n\r\nTeeth with gum disease, notice that the gum doesn\'t form a sharp point between the teeth\r\nhttps://www.kmperio.co.uk/editor/assets/049B193B-857E-4FE7-BAC6-48F695DEFCBE.JPG\r\n
\r\n\r\nHealthy gums, gum forms a sharp point between teeth.\r\nhttps://www.wisdomtoothbrushes.com/sites/default/files/styles/475_width/public/wisdom-oral-health-healthy-gums.jpg?itok=-KhFJ6Pb\r\n
',201,0,1,'CC-BY-SA','gum disease,Periodontitis,Interdental tooth brush',0,0,1), (1711,'2015-02-23','Problems with video software in Linux',827,'A person new to Linux is introduced to video software that was unimpressive','\r\nCheese:
\r\nGuvcviewer:\r\n
\r\nCross-compilers, Part 1\r\n
\r\n\r\nIn this show I\'ll introduce the concept of cross-compiling software, explain what it\r\nis and why you might want/need to do it.\r\n
\r\n\r\nI\'ll also talk about a great piece of kit for creating cross-compiler tool-chains\r\non Linux; crosstool-ng.\r\n
\r\n\r\nAs with most of my shows, the show notes are far too long to fit into the restricted size, so there\'s an HTML version as well, at:\r\n
\r\n\r\nhttps://hackerpublicradio.org/eps/hpr1706/index.html\r\n
\r\n\r\nHere are some bullet-points:\r\n
\r\n\r\n\r\nThere are a few files for this show, the ct-ng .config files downloaded from Arch Linux ARM and a README.md about them. The original\r\nmarkdown source of the full show notes is in the tarball as well https://hackerpublicradio.org/eps/hpr1706/282-Mike_Ray-hpr1706-Cross-compilers_Part_1.tar.gz.\r\n
',282,0,1,'CC-BY-SA','cross-compile, crosstool-ng, Raspberry Pi',0,0,1), (1712,'2015-02-24','What\'s in my Crate',1228,'What was in my crate when I went to a LUG to give a a11y presentation','\r\nBack in the summer of 2014 I started going to the Surrey Linux User Group.\r\n
\r\n\r\nI was asked to give a short presentation about Linux accessibility and how,\r\nalthough I am totally blind, I still write code and muck about with Linux.\r\n
\r\n\r\nI was then asked to give the same presentation at the Portsmouth LUG.\r\n
\r\n\r\nThis time I made it more comprehensive and took more kit.\r\n
\r\n\r\nSo I take this opportunity to give my version of the \"What\'s in my bag\"\r\nshows that some folks have been doing. As I am unemployed, like a lot of blind\r\nfolks, I have been unable to justify this before now because I don\'t lug\r\nan interesting collection of stuff to and from work.\r\n
\r\n\r\nHere\'s a simple bullet list about the crate and it\'s contents:\r\n
\r\n\r\n\r\nHere\'s what I demonstrated with two of the laptops:\r\n
\r\n\r\n\r\nThe second Latitude was with me so I could get some sighted help with\r\nBIOS settings.\r\n
\r\n\r\nMy thanks have to go to Tony Wood for the lift to and from both of these\r\naccessibility presentations. I could not have done either, especially the Portsmouth one without his help.\r\n
\r\n\r\nThanks also to Lisi, the coordinator of the Portsmouth LUG and to the folks of that LUG for their enthusiasm.\r\n
\r\n\r\nHere\'s the link to the HPR show about my Raspberry Pi tts code fix:\r\n
\r\n\r\nhttps://hackerpublicradio.org/eps.php?id=1649\r\n
',282,23,1,'CC-BY-SA','Accessibility, Linux, LUG',0,0,1), (1713,'2015-02-25','Fosdem 2015: Surveillance vs. Free Software',1246,'Interviews at the Free and Open Source devleopers meeting FOSDEM in Brussels.','\r\nFree Software Law Expert Aaron Williamson held a brilliant talk on the history of internet surveillance in the USA at FOSDEM 2015. \r\nAfter the Paris terror attacks, many politicians want to increase surveillance. British Prime Minister David Cameron wants to read all our emails - even the encrypted ones. Is this the only answer to terror attacks? Aaron has a very strong opinion on this. \r\n
\r\n\r\n\r\n\r\n\r\nMatthias is the Vicepresident of the Free Software Foundation Europe. In our interview at Fosdem 2015, he explains the work and the goal of the foundation and how they do lobbying for Free Software in parliaments and government bodies.\r\n
\r\n\r\n\r\nA member of nos-ognions.net, which is part of the Tor project, explains about exit nodes, transparency and surveillance.\r\n
\r\n\r\nThis is the start of the Vim Hints series.
\r\nAs a Linux user there are many editors available to you. Which one you want to use depends on your needs and the amount of time you want to dedicate to learning how to use it.
\r\nOne of the editors from the early days of Unix is vi, written in 1976. Contemporary with it is Emacs, also originating in 1976. However, it seemed to become the norm (in my experience anyway) that vi rather than Emacs was provided as standard with versions of Unix, and this has often continued into Linux.
\r\nI originally started using Unix around 1988 and found vi available to me. I learnt how to use it in a rudimentary way since I knew I\'d find it on any Unix systems I came across.
\r\nMany derivatives and clones of vi have been created. The one which has become the most popular and available is Vim, the name of which is an acronym for Vi IMproved, created in 1991 by Bram Moolenaar. This is what I use, and I have not wanted to learn another editor since adopting it, even though I have experimented with several. This is the editor we will be looking at in this series.
\r\nThe thinking behind this series is:
\r\nOf course, you may prefer to learn Emacs instead. That\'s fine; you should choose the tool that best suits your needs. Both Emacs and Vim have quite steep learning curves, but the broad range of capabilities you gain from knowing either is considerable.
\r\nI am not an expert in Vim. In fact I am continuing to learn new Vim features on a regular basis. However, I have been using it for many years and would like to share some of what I have learnt.
\r\nWith simpler editors you can move about a file, add, remove and change text and save the results. The editor might have syntax highlighting and some degree of knowledge of the programming language you are typing. You might have spell checking as well.
\r\nWith Vim and other more advanced editors you have all of this and a lot more. You can perform global changes throughout a file, process many files at once, add plugins to the editor to change its behaviour, and so on. Also, there is a language behind the scenes which can be used to build extensions.
\r\nUsually, typing the command vi at the command line actually invokes vim. Vim runs in vi-compatible mode by default, which results in Vim enhancements being unavailable.
\r\nVim uses a configuration file, which is called .vimrc
on Linux. (Vim will also run on Windows, OSX and other operating systems but we will not be covering these implementations in this series.) Vim also has a GUI interface invoked by the command gvim
, and it has its own configuration file .gvimrc
.
I you don\'t have a .vimrc
create one with touch ~/.vimrc
before you start. This will stop Vim running in vi-compatible mode. We will look at what the .vimrc
can be used to do later.
You can start Vim on its own without pointing at a file, but normally you use it to edit a file, which need not already exist. So, to create a new file called testfile
invoke Vim with the command: vim testfile
Once running, Vim shows the contents of the file. All the lines on the screen where there is no content are marked with a tilde "~" character. If you are creating a file the first line on the screen will be blank, and last line will contain the name of the file followed by "[New File]" and some other details which we will examine later:
\r\n"testfile" [New File] 0,0-1 All
\r\nAll the rest of the lines will contain a tilde.
\r\nVim is a modal editor. The mode you usually start in is normal mode where you can move around the lines of the file and perform actions, but nothing you type is actually written to the file. In fact, the keys you type are actually editing commands. This is one of the features of Vim that causes problems for new users.
\r\nSince this is a new file there is not much you can do other than enter text, and to do this you need to switch to insert mode. Do this by pressing the i key. The message -- INSERT -- will appear on the bottom line of the screen. Now type some text, pressing the Enter key at the end of each line.
\r\nYou might notice that in insert mode you can press the arrow keys and move back to text you have already typed. This is a Vim feature and was not available in the original vi editor.
\r\nWhen you have finished entering text, press the Esc key to exit from insert mode. Now you can move around in normal mode, but remember that the keys you press are now commands not data to be entered into the file.
\r\nTo move around in normal mode use the arrow keys or the home row keyboard keys: k to move up, j to move down, h to move left and l to move right.
\r\nThis brings us to the last mode we\'ll look at: command mode. To enter this mode press the : (colon) key in normal mode. This moves the cursor to the last line of the screen, which starts with the colon you just typed. Here you can enter another class of commands. This time, we\'ll just look at how you can save the file and exit Vim.
\r\nSaving the file is achieved with the w command, and to exit from Vim the q command is used. These can be typed together, so :wq writes the file and exits.
\r\nIf you were to use :q on its own, having entered data into Vim, this would not work. Vim prevents you from throwing away your work this way. If you really meant to quit without saving then the q must be followed by an exclamation mark ("!"). So :q! lets you exit Vim without saving.
\r\nIn this episode I want to look at how to keep your work secure with Vim. Next episode we will look at how to create and edit files.
\r\nThe best place to start is with the configuration file which we met last episode. As we saw, this is usually $HOME/.vimrc
. However, it can also be $HOME/.vim/vimrc
, which is actually recommended since it keeps all Vim files in the same place. I use the former, since that\'s the way I have always done it.
Let\'s add some options to this file. Configuration options consist of command mode commands. Actually, to be precise about it, any Vim Script expression may be written there.
\r\nFirst it\'s a good idea to ensure that Vim runs with all of its standard features enabled. The option for this is called compatible
(meaning compatible with Vi), which we need to turn off. This is done with the option:
set nocompatible
\r\nNext, it\'s highly advisable to make Vim generate a backup file whenever it opens a file for editing. The backup file has the same name as the original file with a tilde appended. The configuration command is:
\r\nset backup
\r\nThe backup file is a copy of the file which existed before editing started.
\r\nBy default the backup file is saved in the same directory as the file being edited. If this is a problem (and to me this is not), then it is possible to tell Vim to save backups in a fixed place. This is done with the command set backupdir=
followed by a list of directories. For example:
set backupdir=~/.backup,.,/tmp
\r\nIf you were to add this to your configuration file, Vim would save backups in a top-level directory ~/.backup
(which must already exist), then if this fails it will save in the current directory, falling back to /tmp
if all else fails. Whether you do this is up to you. I would suggest you do not, at least not until you are more experienced with Vim.
Vim can undo changes you make to a file. This is useful if a change was the wrong change or in the wrong place. It can also redo the undone change.
\r\nThe u command in normal mode undoes the last change. The redo function is invoked by pressing the Ctrl key while pressing r. This key sequence is normally represented as CTRL-R.
\r\nVim keeps a record of the changes, so successive u commands undo successive changes back in time. Conversely, CTRL-R redoes the undone changes forward in time.
\r\nNormally the change history is lost when Vim exits, but two configuration options can be used to save it. The undofile option ensures change history is written to a file and undodir shows the (pre-existing) directory which is to hold these files.
\r\nset undodir=~/.vim/undodir\r\nset undofile
\r\nIt can be a little surprising if you press u in a file you have just opened in Vim to find that it undoes something you changed last time you edited it! However, on the whole I think this is a great feature.
\r\nBy default Vim uses a recovery mechanism where it generates a swap file. Under Unix and Linux this file has a name built from the name of the file being edited with a dot prepended (making it a hidden file) and with the extension ".swp". So, if you were editing the file testfile
the swap file would be a file called .testfile.swp
in the same directory.
It is possible to make Vim write the swap file elsewhere, such as on another partition. You can also turn this recovery capability off. It is probably advisable to use the default settings while you are learning Vim.
\r\nThe swap file is updated after typing 200 characters or when you have not typed anything for four seconds. The swap file is deleted as soon as Vim stops editing the file.
\r\nIf something bad happens during an editing session, such as the loss of power, the swap file will remain after the event. If you know that you need to recover your edit session then you can simply type the following in the directory where the file you were editing exists:
\r\nvim -r filename
\r\nYou will see a message such as the following:
\r\nUsing swap file ".testfile3.swp"\r\nOriginal file "~/testfile3"\r\nRecovery completed. You should check if everything is OK.\r\n(You might want to write out this file under another name\r\nand run diff with the original file to check for changes)\r\nYou may want to delete the .swp file now.\r\n\r\nPress ENTER or type command to continue
\r\nSee the explanation on the Vim wiki.
\r\nAlternatively, when you try to edit a file you were editing at the time of the failure Vim will detect the presence of a swap file and alert you with a message such as:
\r\nE325: ATTENTION\r\nFound a swap file by the name ".testfile2.swp"\r\n owned by: hprdemo dated: Fri Feb 13 15:33:41 2015\r\n file name: ~hprdemo/testfile2\r\n modified: YES\r\n user name: hprdemo host name: i7-desktop\r\n process ID: 16181\r\nWhile opening file "testfile2"\r\n dated: Sat Dec 6 18:34:32 2014\r\n\r\n(1) Another program may be editing the same file. If this is the case,\r\n be careful not to end up with two different instances of the same\r\n file when making changes. Quit, or continue with caution.\r\n(2) An edit session for this file crashed.\r\n If this is the case, use ":recover" or "vim -r testfile2"\r\n to recover the changes (see ":help recovery").\r\n If you did this already, delete the swap file ".testfile2.swp"\r\n to avoid this message.\r\n\r\nSwap file ".testfile2.swp" already exists!\r\n[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
\r\nVim here is indicating that there are unsaved changes that can be recovered. It is also warning that if someone is editing the same file (such as you in another window) this might account for the presence of the swap file.
\r\nAssuming it\'s appropriate, you can recover the changes and continue editing by pressing r at the above prompt. You will see messages such as the ones above relating to the vim -r filename
example.
Be aware that if you continue editing the original swap file will continue to exist and you will get the same message again next time you edit the file. Vim will create a new swap file (called /home/hprdemo/.testfile2.swo
in this case) to protect the new editing session.
This situation can be a little confusing if you have not encountered it before. There are a number of ways you can resolve this:
\r\nYou can save the recovered file and exit Vim (type :wq). You can then edit the same file all over again. You will see almost the same message as before, but you can now delete the swap file by pressing d. The message you see the second time round will contain the additional warning that the file you are editing is newer than the swap file - that is because you just saved a new copy of it!
You can save the file and exit Vim as above, but then explicitly delete the swap file. In the example you would do this by typing: rm .testfile2.swp
As before you can save the file but this time without exiting Vim (type :w). Then tell Vim to re-edit the current file with the command :e. You will then see the warning about there being a swap file, and you can type d to delete it.
If, when you see the message about finding a swap file you see that there are no changes to recover you can just delete the swap file by pressing d. You can then continue with editing the file as normal.
\r\nThis recovery process is complex because Vim is trying to ensure that you are protected against losing your changes.
\r\nAs it says in the Vim manual DON\'T PANIC!
\r\nset nocompatible\r\nset backup\r\nset undodir=~/.vim/undodir\r\nset undofile
\r\n\r\nIn part 1 I described cross-compiling, what it means and why you might\r\nwant to, or even need to use it.\r\n
\r\n\r\nI also described how to create a cross-compiler tool-chain using crosstool-ng.\r\n
\r\n\r\nIn this show I will demonstrate using one of the cross-compilers which\r\nI created as described in the last show to compile a Raspberry Pi Linux kernel.\r\n
\r\n\r\nAs usual with my shows the show-notes can\'t be squashed into 4k, so there is an HTML version at:\r\n
\r\n\nIn today\'s show Jon, Dave and Ken discuss some topics such as, \n
\n\nHi All,\n\nI am concerned as to the health of HPR, and I touched (went on a rant to\nbe honest) on this in the Community News show that will be released\ntomorrow.\n\nWe have 16,495 subscribers and 260 slots per year, so we need to have\nonly 2.5% subscribers contributing to have a different host for every\nday. Unfortunately only 62 managed to contribute a show in the last 365\ndays. I don\'t need Charles in NJ to tell me that that\'s only 0.38% of\nour subscriber base.\n\nAs a project that is supposed to be a \"Community Podcast\", but we\'re\nlooking less like a bar camp and more like a TED talk.\n\nIt gets worse. Dave ran the query of how many shows were contributed by\neach host over the last 365 days. It shows that 50% of the shows have\nbeen contributed by just 5 hosts. This is not to say that submitting\nmultiple shows is bad, far from it. But it\'s the difference between\nwanting to submit multiple shows and *needing* to submit multiple shows,\nthat I\'m concerned about.\n\nSo a few questions for the list:\n\n- Is this a problem ?\n- If so, how do we fix it ?\n\n*Please* do not derail this discussion about your intentions to record a\nshow. I have a in box full of \"I plan to do a show about this\" or \"I\'m\ndefinitely doing a series on that\". More than one are from myself.\nBasically if it\'s not on the server, it\'s not a show.\n\nYou can always add a topic to the requested topic page.\nhttps://gitlab.anhonesthost.com/HPR/HPR_Public_Code/blob/master/www/reque\nsted_topics.html\n\n\n\nMore Info: https://hackerpublicradio.org/eps/hpr1851_HPR_Health_2015-09-06.ods\n\nRaw SQL Dump here: \n\n+--------+--------------------------------+-------+\n| hostid | host | shows |\n+--------+--------------------------------+-------+\n| 198 | Ahuka | 38 |\n| 238 | Jon Kulp | 24 |\n| 159 | HPR Volunteers | 18 |\n| 225 | Dave Morriss | 17 |\n| 131 | FiftyOneFifty | 17 |\n| 30 | Ken Fallon | 14 |\n| 78 | klaatu | 7 |\n| 209 | David Whitman | 7 |\n| 280 | semioticrobotic | 6 |\n| 235 | NYbill | 6 |\n| 288 | beni | 6 |\n| 195 | Frank Bell | 6 |\n| 24 | Lord Drachenblut | 6 |\n| 287 | corenominal | 5 |\n| 282 | Mike Ray | 5 |\n| 129 | JWP | 4 |\n| 265 | Kevin Wisher | 4 |\n| 240 | Steve Bickle | 4 |\n| 297 | swift110 | 4 |\n| 286 | cjm | 3 |\n| 285 | 2BFrank | 3 |\n| 107 | lostnbronx | 3 |\n| 259 | Gabriel Evenfire | 3 |\n| 215 | Windigo | 3 |\n| 296 | Kevie | 3 |\n| 300 | b-yeezi | 3 |\n| 284 | Steve Smethurst | 2 |\n| 233 | johanv | 2 |\n| 252 | Curtis Adkins (CPrompt^) | 2 |\n| 294 | daw | 2 |\n| 302 | Stilvoid | 2 |\n| 197 | garjola | 1 |\n| 134 | PipeManMusic | 1 |\n| 268 | Andrew Conway | 1 |\n| 283 | Inscius | 1 |\n| 289 | pyrrhic | 1 |\n| 290 | Al | 1 |\n| 158 | Various Creative Commons Works | 1 |\n| 109 | Various Hosts | 1 |\n| 291 | Rill | 1 |\n| 292 | Michal Cieraszynski | 1 |\n| 270 | Thaj Sara | 1 |\n| 293 | Rho`n | 1 |\n| 295 | Cibola Jerry | 1 |\n| 246 | Beeza | 1 |\n| 201 | MrX | 1 |\n| 298 | tcuc | 1 |\n| 111 | Knightwise | 1 |\n| 299 | Fin | 1 |\n| 301 | amp | 1 |\n| 157 | HPR_AudioBookClub | 1 |\n| 303 | Alpha32 | 1 |\n| 306 | GNULinuxRTM | 1 |\n| 305 | kurakura | 1 |\n| 229 | Charles in NJ | 1 |\n| 263 | Tony Pelaez | 1 |\n| 307 | cheeto4493 | 1 |\n| 271 | mirwi | 1 |\n| 255 | Matt McGraw (g33kdad) | 1 |\n| 308 | A Shadowy Figure | 1 |\n| 309 | folky | 1 |\n| 115 | sigflup | 1 |\n+--------+--------------------------------+-------+\n\nRegards,\n\nKen Fallon\nhttps://kenfallon.com\nhttps://hackerpublicradio.org/correspondents/0030.html\n\n\n
\nWelcome to our new hosts:
\n A Shadowy Figure, \n folky.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nThere are 36 comments:
\nHere I describe my method for creating a macro using equalizer,\ncompressor and normalize presets in Audacity, which can be used\nrepeatedly to get consistent results, as long as you use the same voice,\nmicrophone and recording location.
\nThis is the sample of the equalizer setting I use with a Sennheiser\nMB2 Pro headset:
\n\nThis is the waveform for this episode before applying the\nCompressor.
\n\nThis is the waveform for this episode after applying the\nequalizer discussed earlier, the Compressor at threshold -31dB, noise\nfloor -40dB and ratio 2:1. No make-up gain at the Compressor. Finally,\nNormalize to peak amplitude of -12dB. I was wrong in the show to say\nthat I had been using \"Amplify,\" in fact I have been using\n\"Normalize.\"
\n\n',399,45,0,'CC-BY-SA','audacity,equalizer,compressor',0,0,1), (1722,'2015-03-10','Kansas Linux Fest 2015, March 21-22, Lawrence KS',367,'We wish to announce a new Linux Fest to serve the Midwest','\r\nWe are pleased to announce the first annual Kansas Linux Fest (https://KansasLinuxFest.us), hashtag #KLF15. It will be hosted by the Lawrence Public Library, Lawrence Kansas, March 21-22, 2015. The Kansas Linux Fest is a project of the Free/Libre Open Source and Open Knowledge Association of Kansas (https://www.openkansas.us) and other organizations. \r\n
\r\n\r\nSpecial recognition needs to be paid to Hacker Public Radio contributor James Michael DuPont for taking point in making a community event in the central United States a reality. Speakers (https://www.kansaslinuxfest.us/pages/schedule.html ) include Open Source Advocate Dave Lester, Hal Gottfried, cofounder of the Open Hardware Evangelist Kansas City Open Hardware Group, David Stokes, MySQL Community Manager at Oracle, Ben C. Roose, Technology Consultant for Live Performance, Kevin Lane, Technical Consultant IV at HP Enterprise Services, Jonathan George, CEO @boxcar, and podcaster and open source evangelist, FiftyOneFifty.\r\n
\r\n\r\nRegistration for conference tickets can be found on the KLF website. Fan tickets are free, but supporter level tickets may be purchased with a free will donation which will go towards marketing and food.\r\n
\r\n\r\nYou will find links on the https://KansasLinuxFest.us homepage that will allow you to follow the conference on social and other media, as well as an RSS feed. There is also information on how to become involved with Free/Libre Open Source and Open Knowledge Association of Kansas.\r\n
',131,0,0,'CC-BY-SA','#KLF15, Kansas Linux Fest, KLF',0,0,1), (1723,'2015-03-11','Success With Students',1648,'From taking a podcasting course, students learn the benefit of Creative Commons and open source','\r\nFor his second attempt at a solo episode of HPR, Kevie talks about a very positive experience he had introducing school pupils to podcasting. From this he was able to discuss the benefits of Creative Commons music and using open source, cross platform software. The ultimate success came when three students took the plunge and installed Linux on their own computers.\r\n
\r\n\r\n\r\nInspired by a recent meeting with Ken Fallon at Fossdem, Knightwise presents 15 excuses not to record for Hacker Public Radio.\r\n
\r\n\r\nThe Problem: Wood stoves get really hot
\r\nThe solution: metal heat shield and airspace
\r\nI describe how I used common materials and self designed a wood stove heat Shield.
\r\nHopefully there are pictures attached to this episode show notes so you can see just how well I described my project
\r\n
\r\nhttps://hackerpublicradio.org/eps/hpr1729-Pictures_Shield_Up-Wood_Stove_Heat_Shield.pdf\r\n
',209,0,1,'CC-BY-SA','Shop, wood heat, Oregon, safety',0,0,1), (1728,'2015-03-18','Requested Topic: Favourite Browser Extensions',1204,'Fin talks about his favourite browser extensions.','\r\nNoScript is great for blocking JavaScript that may be undesirable. Scripts tend to track users or load obtrusive or undesirable content in my experience.\r\nNoScript also blocks Adobe Flash and Java which can be resource hogs. A simple click will activate them. Scripts can be enabled or disabled by site.\r\n
\r\n\r\nHTTPS Everywhere will automatically direct your browser to a secure https version of sites you visit, if available. Great for security (obviously).\r\n
\r\n\r\nAdblock Edge is a great ad blocker. It blocks all ads no matter how obtrusive they are. Does not contain hidden white-list like more popular ad blocker: Adblock Plus.\r\n
\r\n\r\nLibreJS targets non free JavaScript. I think it is a fantastic idea but makes too many sites unusable. I prefer NoScript as I can more easily micro-manage scripts per domain.\r\n
\r\n\r\n\r\nIn July of 2010 I was given a laptop to repair by one of my friends, I couldn’t figure out what was wrong with it despite hours of trial and error so eventually I got so frustrated with it that I just set it aside and forgot about for a while. Meanwhile my friend got another laptop so he told me I could keep it.\r\n
\r\n\r\n\r\nFor the rest of the post see:
\r\nhttps://anthonyvenable110.wordpress.com/2011/10/10/upgrading-my-laptop/\r\n
\r\nThe great thing about brew pubs is that they always trying new beers so the customer experience doesnt become as stale asa half finished can of Budweiser let out overnight. That means I can return to the same place and experience a whole new vista of flavors. Such was the case last Sunday, when a social affair brought me withing blocks of the River City Brewing Company in Wichita Kansas. I had the forethought to be my three growlers for refilling, and by the time the meeting was of it was time for a burger and a beer anyway. Lets talk about the meal first.\r\n
\r\n\r\nHaving already tried their pizza and amazing Cuban sandwich on previous trips, this time a went for a burger. From the River City menu ( https://www.rivercitybrewingco.com/rcbmenu.pdf ) The Memphis Burger is topped with sweet pepper bacon, cheddar cheese, crispy onion strings and chipotle BBQ sauce. On top of all that, the hamburger was grilled to perfection, in my case that being exceedingly rare. (One of my Dads friends, every time he sees me eating a steak or a burger, always comments You know, Ive seen a critter hurt worse that that and live). I was most impressed by the onion strings. These are not the French fried onion rings that you find atop your green beans on Thanksgiving, but rather the most delicate strings of onion imaginable, battered and fried. I found myself wishing Id thought to order extra BBQ sauce for my French fries, which were hearty and sprinkled with fresh ground black pepper. Id never thought of peppering my fries before, but be assured Ill do so in the future.\r\n
\r\n\r\nTo accompany my burger, I selected the Breckenridge Bourbon Smoked Imperial Stout. It weighs in at 9.0%abv, so you get a smaller that average portion in an 11oz brandy snifter. While stouts are usually nearly as bitter as IPAs, I dont notice it as much when coupled with the beers bold flavor. Unlike IPAs, stouts tend to have enough malty richness to add balance. In the case of this beer, the barley is smoked over hazelnuts before fermentation, giving this beer its flavor and its name. Ive want to try a smoked stout since I heard Tracy Hotlz speak of them back on the old Podbrewers show. I dont think Id want to be restricted to an exclusive diet of smoked beers, but this was a welcome change from the ordinary, and a great compliment to my beefy repast. Truly an excellent brew.\r\n
\r\n\r\nNow, on to the contents of my three growlers. I wish I could give you first impressions, but come on, I just couldnt wait for you folks. It was hard enough to wait for the containers to chill overnight in the fridge. \r\n
\r\n\r\nThe first beer is even more unique than the smoked stout. Donut Whole Love Affair #3 Pineapple Wit is made with actual pineapple donuts (from River Citys Facebook page https://www.facebook.com/RiverCityBreweryCo/photos/a.555320064516059.1073741826.194563133925089/796375363743860/?type=1 ). The first taste you encounter is tart pineapple on the tip of your tongue joined by powdered sugar as the beer washes towards the back of you mouth. The sugar taste tends to stay with you between sips, but the whole effect is subtle and wonderful, not fruit juicy like a shandy. The wheat beer hovers in the background, not enough to obscure the donut, but blending the pastry taste into the breadyness of the beer. I didnt know what to expect of this beer when I ordered it, but I am most pleased I did. 5.65abv 11 IBUs 16oz Weizen\r\n
\r\n\r\nNext, we have Pryze Fyter Red Rye. By far, this is the smoothest and richest rye beer Ive ever tasted. Im a big fan of rye beers, but they tend to be a little more harsh than wheat beers, and are of course more bitter. Like rye whiskey, rye beer is an acquired taste for many people, and best suited for those with a palette that craves bold flavors. According to the menu, Carmel malts, a copious amount of rye. Spicy, floral, earthy, and ready to smack you in the kisser. 5.6%abv 55 IBUs 16oz Nonic\r\n
\r\n\r\nFinally, we have the Buffeit Bourbon Baltic Porter. Of the two bourbon barrel aged porters on the menu, my barman described this slightly sweeter. While Ive never been a fan of the woody tasting bourbons of Tennessee, barrel aging lends a roundness to beers, and compliments the roasted malts and the hops. This is the strongest of the beers I brought home, at 7.2%abv, 47IBUs, and would be served in a 13z Tulip glass.\r\n
\r\n\r\nI made the mistake of not taking a beer menu home with me for documentation, as a list of currently available beers no longer appears on line. Chris Arnold took the time to scan a copy and send it to my e-mail. Thanks Chris. I dont think River City Brewing Company will mind me attaching the menu to my notes for you listeners to salivate over. There are two in particular Im sorry to have missed, the Stinky Pete Plum Saison (they always seems to be out of the raisin and plum beers) and the Emerald City Stout (a man has only so many growlers).\r\n
\r\n\r\nThat brings me to my next topic. Among the many interviews I want to do from Linux Fest next week, Im also going to visit the Free State Brewery, only a couple blocks away. I called ahead, and they wont fill other pubs growlers (thats going to cost you some points Free State). On the upside, Ill have a couple new growlers to add to my collection.\r\n
\r\n\r\nMenu: https://hackerpublicradio.org/eps/hpr1730.pdf\r\n
',131,14,0,'CC-BY-SA','5150 Shades of Beer,beer,growler,stout,River City Brewing Company',0,0,1), (1732,'2015-03-24','Renovating another Public-Domain Counterpoint Textbook',2014,'A follow-up to ep. 1512, I reflect on what I\'ve learned digitizing two Counterpoint textbooks.','\r\nI mistakenly referred to episode 1516 while I was speaking. I meant to say 1512. The two musical bumpers I used in the show are by J.S. Bach, examples 90 and 91 in the textbook \"Applied Counterpoint,\" by Percy Goetschius. These are my own MIDI renditions so they have no copyright burden upon them. \r\n
\r\n\r\nMy html-to-epub conversion command (requires calibre): \r\n
\r\n\r\nebook-convert foobar.html foobar.epub \\\r\n--output-profile=tablet \\\r\n--disable-font-rescaling \\\r\n--smarten-punctuation \\\r\n--change-justification=left \\\r\n--preserve-cover-aspect-ratio \\\r\n--cover=./pathto/cover.jpg \\\r\n--use-auto-toc \\\r\n--level1-toc \"//h:h1\" \\\r\n--level2-toc \"//h:h3\"\r\n\r\n\r\n
In this episode I want to look at how you move around the file you are editing in Vim. I also want to add some more elements to the configuration file we started building in the last episode.
\r\nSince the notes explaining this subject are long (the size limit is 4000 characters), they have been placed here: https://hackerpublicradio.org/eps/hpr1734_full_shownotes.html
\r\nI usually create my notes with Markdown and pandoc. As an experiment this time I have used a pandoc template which uses the same CSS that provides the style for the main HPR pages. I hope it makes these notes look better than the very bare HTML I have produced in the past.
\r\nIn February 2015 I created a script to add a section to the monthly Community News show notes. The added section summarises the discussions on the HPR mailing list over the previous month. My script processes the messages archived on the Gmane site and reports on the threads it finds there.
\r\nIn writing this script I noticed the number of times people made errors in replying to existing message threads and initiating new threads on the list. I thought it might be helpful if I explained some of the do\'s and don\'ts of mailing list use to help avoid these errors.
\r\nSince the notes explaining this subject are long (the size limit is 4000 characters), they have been placed here: https://hackerpublicradio.org/eps/hpr1740_full_shownotes.html
\r\nFor this show I have tried generating an EPUB version of the full notes. This can be found here: https://hackerpublicradio.org/eps/hpr1740_full_shownotes.epub. Comments on this idea are welcome.
\r\n\r\nSome good content that we do not publish.\r\n
\r\n\r\nhttps://linuxlugcast.com/?p=162\r\n
',265,0,1,'CC-BY-SA','linuxlugcast,outtakes',0,0,1), (1736,'2015-03-30','How I run my small business using Linux',1139,'How I use Linux for my Business','\r\n
\r\n
Lord Drachenblut introduces himself
\r\n\r\n
\r\nWebsite: https://www.gofundme.com/gysc0o\r\n
\r\nGreetings everyone. I\'m Matthew ”Lord Drachenblut\" Williams. I\'m currently working on gathering the fund to attend the Southern California Linux Expo aka SCALE. As many of you already know I have spent the last year struggling against esophageal cancer. I am nearing a point which I can start traveling and attending conferences again. My goal is to raise the funds so that in February of 2015 I can attend Scale. I am also working on a talk that I hope to give at SCALE. My sincerest thanks to the community that has been there for me during my recovery and to those that will help me in this endeavor. Should I raise more funds than needed to attend SCALE my goal will be to submit my talk to other conferences and to give my talk at those as well.\r\n\r\n\r\n
\r\n
\r\n
Listen to the interview with Jérôme Petazzoni.
\r\n\r\n\r\n
\r\nWebsite: https://www.docker.com/
\r\nLinkedIn: https://www.linkedin.com/profile/view?id=18390427
\r\nTwitter: https://twitter.com/jpetazzo\r\n
\r\nDocker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Consisting of Docker Engine, a portable, lightweight runtime and packaging tool, and Docker Hub, a cloud service for sharing applications and automating workflows, Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. As a result, IT can ship faster and run the same app, unchanged, on laptops, data center VMs, and any cloud.\r\n\r\n\r\n
\r\nThe Fedora Activity Day (FAD) is a regional event (either one-day or a multi-day) that allows Fedora contributors to gather together in order to work on specific tasks related to the Fedora Project.\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\nWebsite: https://getfedora.org/en/\r\n
\r\n\r\n\r\n',24,0,1,'CC-BY-SA','scale 13x,Docker,Fedora,Matthew Miller',0,0,1), (1744,'2015-04-09','Scale 13x Part 2 of 6',3770,' Postgres SQL in Space, Bryan Lunduke, and OpenSuSe Build Service','The Fedora Project is a partnership of free software community members from around the globe. The Fedora Project builds open source software communities and produces a Linux distribution called \"Fedora.\" The Fedora Project\'s mission is to lead the advancement of free and open source software and content as a collaborative community. \r\n
\r\n
\r\n
\r\n\r\n
\r\nWebsite: https://www.postgresql.org/
\r\n
\r\nJosh Berkus has been a member of the PostgreSQL Core Team since 2003 and has been working as a database consultant since 1995. Josh\'s work experience includes 8 years of independant consulting on database applications, primarily building applications for the legal and HR industries. He was also head of Sun Microsystem\'s PosgtreSQL support staff for 2 years and helped launch BI startup Greenplum.\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\nWebsite: https://lunduke.com/
\r\nLinkedIn: https://www.linkedin.com/in/bryanlunduke
\r\nTwitter: https://twitter.com/bryanlunduke\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\nWebsite: https://plus.google.com/+MarkusFeilner/about
\r\nLinkedIn: https://www.linkedin.com/in/markusfeilner
\r\n
\r\nOpen mind. Vigil. Proud citizen and honorable diplomat of the Conch republic. Minister of the Universal Life Church. Jedi knight. Owner of Lunar property. Linux and open source human, occasional and highly provocative Apple troll (#iTroll)\r\n\r\n
\r\n
\r\n
\r\nWebsite: https://osuosl.org/about/people/lance-albertson
\r\n
\r\nDirector | Cat Herder\r\n\r\n\r\n',24,0,1,'CC-BY-SA','scale 13x,postgres sql,Bryan Lunduke,OpenSuSe',0,0,1), (1746,'2015-04-13','Scale 13x Part 3 of 6',3200,'Eight interviews from Scale 13x','
\r\nLance became OSL director in early 2013. He has managed all of the hosting activities that the OSL provides for more than 160 high-profile open source projects since joining the lab as lead systems administrator and architect in 2007. Lance’s involvement in the open source community began in 2003, when he became a developer and package maintainer with Gentoo Linux. Prior to joining the OSL, Lance was a UNIX Administrator for the Enterprise Server Technologies group at Kansas State University. In his free time he helps organize Beaver BarCamp and plays trumpet in local jazz group The Infallible Collective.\r\n
\r\nLance can be reached at lance-at-osuosl-dot-org\r\n
\r\nI am 13 years old and live in Santa Barbara. I have participated in the Open Source community for several years. My dad has been on the SCALE leadership team for a long time, and he introduced me to programming. My favorite programming languages are HTML and Javascript with Enyo because I like creating websites and webOS apps. I also program in Shell and some Python, and like making short animations using Blender. I have recently made the world\'s first emulator for the WITCH, the first currently working fixed-point decimal computer. I recently earned my Technician Amateur Radio license and enjoy attending radio club meetings. Besides geeking, I like to swim, act, and do fun events with the Boy Scouts.\r\n
',24,0,1,'CC-BY-SA','scale 13x,young geeks,programming,amateur radio',0,0,1), (1737,'2015-03-31','Five Steps to Vim',1339,'Frank Bell discusses how he learned to stop worrying and love the vim','\r\nThe vim editor is based on the venerable vi editor, which dates from the very\r\nearly days of Unix. Many persons find it intimidating for the absence of a\r\nmenu bar, a terse command set that is very much its own, and its \"modal\"\r\ndesign.\r\n
\r\n\r\nNevertheless, under its plain surface is a powerful and versatile tool. Frank\r\nBell describes his five steps to learning to use and love vim.\r\n
\r\n\r\nHowdy folks, this is 5150 for Hacker Public Radio. What you are about to hear is a presentation titled \"How to Get Yourself on an Open Source Podcast\" that I delivered at Kansas Linux Fest on 22 March 2015. Since it was not recorded (I was told the SD card was full), and there has been interest expressed by my fellow podcasters, I thought it might be worth re-recording. I am afraid Mike Dupont is not satisfied with any of the video from KLF 2015, this may be the only talk from that event you get to hear. However, show notes are extensive, https://lanyrd.com/2015/klf15/schedule/ All I can tell you is, three out of the four audience members seemed to enjoy my presentation. I shall deliver the rest of this podcast as if you gentile listeners were my live audience.\r\n
\r\n\r\nA. Howdy folks, my name is Don Grier. I\'m an IT consultant and farmer from South Central Kansas. I am also a podcaster. You might recognize my voice from such podcasts as Hacker Public Radio, the Kernel Panic Oggcast, or Linux LUG Cast, where I use the handle, FiftyOneFifty.\r\n
\r\n\r\nI. When fellow Hacker Public Radio host Mike Dupont told me KLF would be a reality, I struggled to find a topic that I knew well enough to give a talk about. It was almost in jest that I said I could talk about \"How to Get Yourself on an Open Source Podcast\". Actually, since that was as far as my proposal went, I was shocked and honored to find myself on the same roster with so many other speakers with impressive credentials and technical topics.\r\n
\r\n\r\nII. This afternoon, I hope not only to chronicle my personal history with Linux and open source related podcasts, but to show you why I believe podcasting can be as an important part of giving back to the community as contributing code, or documentation, or cash. Linux podcasts bind the community by providing education, both as basic as Linux Reality or as specific as GNU World Order. Podcasts announce new innovations, and tell us of Free and Open Source software adoption and opposition in corporations and governments. Podcasts herald community events like this one, and provide a little humor at the end of a long day.\r\n
\r\n\r\nB. Some of you may wonder why I\'m using old school technology to organize my notes at a high tech conference. At this point, 5150 holds up several stapled sheets of paper in large print. The plain and simple truth is that I can\'t read my phone or tablet with my glasses on; and I\'m already using bifocals. It just seems every time I get new glasses, the lower lenses work for about two weeks, then I have to take then off to see the phone. But this last time I figured I\'d outsmart my the system and just order a single focus lenses. I was still congratulating myself on my thriftiness when I put my new glasses on, sat down at the computer, and realized I couldn\'t read the keyboard.\r\n
\r\n\r\nC. Before I talk about my history as a podcaster, I think I should tell you my history with Linux.\r\n
\r\n\r\nI. My first experience with Linux was with a boxed set of Mandrake 7.2 around 2002. I always maintain at least a second running system in the house, in case the primary machine coughs up a hairball. I\'d always been a geek alternative OS\'s, and I wanted a tertiary machine on my network that wouldn\'t be affected by the propagation of Windows viruses. \r\n
\r\n\r\na. There wasn\'t much flash to Linux apps in those days, I recall I was not impressed by whichever browser shipped with Mandrake. I don\'t recall what I knew about installing additional applications from repositories, but in any case I was still on dialup. \r\n
\r\n\r\nb. The Pentium I that I installed Mandrake on had both a modem and an Ethernet card. The installer asked which one I used to reach the Internet, and only set up one of the two devices. This annoyed me as I\'d planned to use the Linux box as a gateway to see if it would save a few CPU cycles on the P4 I used as a gaming machine back then. I really wouldn\'t have know where to go on the Internet for help, and I expect help would not be as forth coming 13 years ago.\r\n
\r\n\r\nII. My next experience with Linux came around 2007. The school I consulted for had several Windows 98 machines not compatible with the software they wanted to run. Even though the machines were P4\'s, we determined the cost of XP plus memory upgrades could better be applied to new machines. As a result, I was able to bring several of the machines home. Over time, I boosted their memory with used sticks from eBay, and even the odd faster processor. As a noob, I installed Feisty Fawn on a system out in the machine shed, and spent a lot of that winter hacking on that box when I should have been overhauling tractors. Just as I was delving into NDIS wrappers, Gusty brought support for my Gigabyte wireless card, which combined with a double fork isolating power box, gave me reasonable certainty that the box out in the shed was safe from lightning storms. About six months later, I rescued up a refugee from a major meteorological event and set it up in my house running Mint. For the first time I didn\'t have to leave the house to get my Linux on.\r\n
\r\n\r\nD. Just before I set up that first Linux box, we finally got broadband out to the farm, and I\'d discovered podcasts. I figured there must be Linux podcasts to go along the general tech and computing podcasts I followed, as well as a fondly remembered weekly SciFi revue show that started out as a Sunday afternoon show on a Wichita radio station, was canceled twice, and re-emerged as a semi weekly podcast, only to disappear forever a couple months after I started listening again, but not before I download all the episodes I missed.\r\n
\r\n\r\nI. In my initial search for Linux related content, all I came up with were four drunk off their ass Scots discussing the minutia of Ruby on Rails. While I liked the format, I lacked the commitment to become a Ruby programmer so I could understand the show.\r\n
\r\n\r\nII. A few days later I came across \"The Techie Geek\". Russ Wenner mixed tutorials with reviews of new applications and upcoming events. Better yet, he introduced me to a world of other Linux podcasts. Through \"The Techie Geek\", I learned of the irreverent banter of the \"Linux Outlaws\", the subdued studiousness of what was then called \"The Bad Apples\", the contained chaos of the \"Linux Cranks\", the classroom like atmosphere of the \"Linux Basement\" during Chad\'s Drupal tutorial period, tech hints and movie reviews delivered at the speed of 75 miles per hour by Dave Yates of \"Lotta Linux Links\", the auditory dissonance of \"The Linux Link Tech Show\", and the constant daily variety of \"Hacker Public Radio\".\r\n
\r\n\r\nE. In 2010, I made my first contribution to Hacker Public Radio. The great thing about HPR is that there is no vetting process, we only ask your audio be intelligible (not polished, not even good, we just have to be able to understand you) and that the topic be of interest to geeks. If you consider yourself a geek, any topic that interests you is welcome. There is no maximum or minimum runtime, just get the show uploaded on-time. While topics tend concern open source, this is not a requirement. I believe my second HPR concerned how to migrate Windows wireless connection profiles between systems. I\'d spent a few hours figuring it out one day for a customer and I thought I should consolidate what I learned in one place. HPR provides a podcasting platform at no cost to the podcaster. It serves as both a venue for broadcasters without the resources to host their own site or without the time to commit to a regular schedule. It can also serve as an incubator for hosts trying to find their own audience. It\'s never been easier to become a podcaster with HPR. I would start with an e-mail introduction (as a courtesy) to admin@HackerPublicRadio.org. Next, record you audio. When you have a file ready to upload, select an open slot in the calendar page and follow the instructions, be prepared to paste in your shownotes. \r\n
\r\n\r\nF. I also credit HPR for getting me my first invite to participate in my first podcast with multiple hosts. Once a month, Hacker Public Radio records a Community News podcast, recorded on the first Saturday afternoon after the end of the previous month (exact times and server details are published in the newsletter). All HPR hosts, and indeed listeners are invited to participate, it is just asked that you have listened to most the the past month\'s shows so you can participate in the discussion. \r\n
\r\n\r\nI. Like most multi-host audio podcast\'s, HPR uses Mumble to record shows, including the annual New Year\'s Eve show, which has dozens of participants. There is a Mumble tutorial on LinuxLUGCast.com to help you get started.\r\n
\r\n\r\nII. I started to take part in Hacker Public Radio\'s Community News a few months after recording my first podcast. I did it because I wanted to take a greater part in HPR, not because I considered it an audition, but it is a good way to show other people that you can politely and intelligently participate in a group discussion. (Actually, I have a tendency to wander off into tangents and unintentionally dominate the topic, something I struggle with to this day).\r\n
\r\n\r\nIII. Another way to join in a round table discussion on HPR is to participate in the HPR Book Club. Once a month, we take an audio book that is freely available on the Internet and share our opinions. Recording schedules and the next book to be reviewed are available in the HPR newsletter.\r\n
\r\n\r\nG. I believe sharing one or more Community News with Patrick Dailey (aka pokey) influenced him to invite me into the cast of Dev Random. The semi weekly Dev Random recorded of the Saturdays Kernel Panic didn\'t. While we sometimes accidentally talked about tech and open source, we always saved the most disturbing things we\'d seen on the Internet in the previous two weeks for discussion on the show, things that could not be discussed on other podcasts. Despite rumors to the contrary, dev random is not dead, only resting, and shall one day rise again to shock and disgust new generations of listeners.\r\n
\r\n\r\nH. Sometimes you just have to be in the right place at the right time. I won\'t insult the Kernel Panic Oggcast by calling it a sister show to Dev Random, it just recorded on opposite Saturdays and had some of the same cast members in common. Anyway, I\'d been participating in the forum for a while, suggesting topics from FOSS stories I\'d come across in social media during the week. I was idling in #oggcastplanet on Freenode when Peter Cross asked for people from the channel to participate in the show on a day only a couple of the regular cast showed up. Dev Random used the same Mumble server, so I used my existing credentials to take Peter up on his offer, and for better or worse I\'ve been a KPO cast member ever since. \r\n
\r\n\r\nI. While we are on the topic, having a presence on Freenode IRC chat is a great way to get your name or handle known in the podcasting world. Many podcasts have their own channel set up that listeners participate in during live streaming podcasts. Saying something helpful, (or more likely smart alecky) might get you mentioned on the show and make you familiar to the shows audience. I\'ve seen several individuals move from regular forum or chat participants to the hosts of their own show or contributors to HPR. From my own experience, after spending several weeks as silent participants in Podbrewers, listening to the stream and commenting in the chat, RedDwarf and myself were invited to bring our own beers and join the cast. \r\n
\r\n\r\nI. While many podcasts still have their own IRC channels, other than providing a conduit between the hosts, they are most active during live broadcasts. Between shows, many of the podcasters I listen to gravitate to hanging around in Freenode\'s #oggcastplanet , since podcasters typically have a chat client open during work and leisure hours. In fact, at KPO we use #oggcastplanet as our primary communications channel during live streaming. \r\n
\r\n\r\nII. I still recall the day monsterb and Peter64 asked me about the origin of my handle, given it\'s similarity to their colleague, threethirty. I\'d heard both on podcasts I followed, and I felt like I was talking to rock stars.\r\n
\r\n\r\nIII. Now that I am a podcaster in my own right, with a presence in #oggcastplanet, I try to make a point to say hello when I see an unfamiliar handle in the channel. I expect the spambots consider me the nicest guy in IRC. \r\n
\r\n\r\nIV. As it happens, IRC was also responsible for my involvement in the Linux LUG Cast. LLC was conceived after the re-imaginging and final demise of Steve McLaughlin\'s project, \"Linux Basix\". Kevin Wisher, chattr, and honkeymaggo wanted to do a show along the same lines while incorporating the spirit of the unrecorded online LUG that always preceded it on the mumble server. I was brought along by the simple expediency of never having closed the #LinuxBasix channel in my chat client. We have been going for a little more than a year and have attracted a following, but frankly we have not found the listener participation we were looking for. This was meant to be a true online Linux Users Group for people couldn\'t travel to a LUG. So far, it\'s usually been the same four of five guys talking about what Linux projects succeed, what failed, and what we we\'re going to try next. I\'ve learned a lot in the past year, and I expect the listeners have as well, but we are always hoping to get more live participation. Rural areas like the midwest are our target audience. The details of the Mumble connection are posted at LinuxLUGCast.com, we always monitor the Freenode.org IRC channel #linuxlugcast while recording, and the Feedback link is posted on the website.\r\n
\r\n\r\nThank you for your time and attention this afternoon, especially considering the caliber of talks running in the other two channels. I can be contacted at FiftyOneFifty@LinuxBasement.com . Are there any questions?\r\n
',131,0,0,'CC-BY-SA','#KLF15,KLF,Kansas Linux Fest',0,0,1), (1750,'2015-04-17','xclip, xdotool, xvkbd: 3 CLI Linux tools for RSI sufferers',1258,'3 command-line tools that save me hundreds of keystrokes a day.','Type the words \"foo bar\" with xvkbd
:
\r\n xvkbd -xsendevent -secure -text 'foo bar'
\r\n
\r\n\r\nTypes out the entire contents of the file \"foobar.txt\" with xvkbd
:
\r\n xvkbd -xsendevent -secure -file "foobar.txt"
\r\n
\r\n\r\nSend text to the clipboard:
\r\n\r\n\r\n xclip -i
\r\n
\r\n\r\nSend clipboard contents to standard output:
\r\n\r\n\r\n xclip -o
\r\n
\r\n\r\nDo virtual Ctrl+C
key combination with xdotool
:
\r\n xdotool key Control+c
\r\n
\r\n\r\nSave this complicated command as an environment variable—then the variable \"$KEYPRESS\" expands to this command.
\r\n\r\n\r\n export KEYPRESS="xvkbd -xsendevent -secure -text"
\r\n
\r\n\r\nWith virtual keystrokes and CLI access to the clipboard, you\'re limited only by your imagination and scripting ability. Here are some examples of how I use them, both for the manipulation of text and for navigation. The words in bold-face are the voice commands I use to launch the written commands.
\r\n\r\nCapitalize this. Copies selected text to the clipboard, pipes it through sed
and back into the clipboard, then types fixed text back into my document:
\r\n\r\n\r\nxdotool key Control+c && xclip -o \\\r\n
| sed \'s/\\(.*\\)/\\L\\1/\' \\
| sed -r \'s/\\<./\\U&/g\' \\
| xclip -i && $KEYPRESS "$(xclip -o)"
\r\n
Go to grades. This example takes advantage of Firefox \"quick search.\" I start with a single quote to match the linked text \"grades\" and press the Return key (\\r
) to follow the link:
\r\n\r\n\r\n\r\n$KEYPRESS "\'grades\\r"
First Inbox. From any location within Thunderbird I can run this command and it executes the keystrokes to take me to the first inbox and put focus on the first message:
\r\n\r\nxdotool key Control+k && $KEYPRESS "\\[Tab]\\[Home]\\[Left]\\[Right]\\[Down]" && sleep .2 && xdotool key Tab
\r\n
\r\n\r\nsingle ex staff. Type out an entire Lilypond template into an empty text editor window:
\r\n\r\nxvkbd -xsendevent -secure -file "/path/to/single_ex_staff.ly"
\r\n
\r\n\r\nParagraph Tags. Puts HTML paragraph tags around selected text:
\r\n\r\n\r\n\r\n\r\n#!/bin/bash\r\n
KEYPRESS=\'xvkbd -xsendevent -secure -text\'
xdotool key Control+c
$KEYPRESS \'<p>\'
xdotool key Control+v
$KEYPRESS \'</p>\'
\r\n
I normally use blather voice commands to launch the scripts and keystroke commands, but I have a handful of frequently-used commands that I launch using keystroke combos configured in the Openbox config file (~/.config/openbox/rc.xml
on my system). This block configures the super+n
key combo to launch my examplelink.sh
script.
\r\n\r\n\r\n\r\n<keybind key="W-n">\r\n <action name="Execute">\r\n <startupnotify>\r\n <enabled>true</enabled>\r\n <name>special</name>\r\n </startupnotify>\r\n <command>examplelink.sh</command>\r\n </action>\r\n</keybind>\r\n\r\n
sed
stream editor: https://sed.sourceforge.net/sed1line.txt\nWelcome to our new host:
\n Geddes.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 43 comments:
\n\nWelcome to our new hosts:
\n clacke, \n Moral Volcano, \n JustMe, \n thelovebug.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 32 comments:
\n\nWelcome to our new hosts:
\n Eric Duhamel, \n OnlyHalfTheTime.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 37 comments:
\n\nWelcome to our new hosts:
\n Clinton Roy, \n Archer72, \n The Linux Experiment, \n Cov.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 26 comments:
\nThe games mentioned were:
\nRory\'s\nStory Cubes
\nDark\nCults
\nOnce\nUpon a Time
Examples\nof ending cards in the \"Dark Tales\" expansion of Once Upon a\nTime
\nKlaatu\'s\nMastodon post about Dark Cults
\n',399,95,0,'CC-BY-SA','storytelling',0,0,1), (1751,'2015-04-20','How I got into Linux',1114,'How I got into linux, LFS and where I use Linux now.','\r\nMy third show, its my How I got into Linux show, Crunchbang for the win, thank you Corenominal. \r\n
\r\n\r\nI actually wrote some of this up before I recorded my first show. I wasn\'t happy that I did a good enough job originally. However I decided to make use of a rainy day and get it updated and recorded. I cut out a chunk of rambling about floppy drive cleaners, and stuck some more up to date info on the end.\r\n
',240,29,0,'CC-BY-SA','Crunchbang',0,0,1), (1752,'2015-04-21','Penguicon 2015 Promo',1838,'Penguicon 2015 happens on April 24-26, 2015 in Southfield, Michigan','\r\nPenguicon 2015 is a combined technology and sicence fiction convention in Southfield, Michigan, a suburb of Detroit, and will present over 350 hours of programming over the entire weekend. Of this, around 100 hours are open source, tech-related. In this episode I try to cover the coming attractions of the weekend and maybe entice some people to come join us. It will be a great weekend.\r\n
\r\n\r\n\r\nThis was me introducing my 5 year old to her new laptop with Sugar on Toast. \r\n
\r\n\r\nA family member had no use for an old 7 year old netbook so I installed the trisquel version of Sugar, the one laptop per child operating system.\r\n
\r\n\r\nThis is a response to this episode: https://hackerpublicradio.org/eps.php?id=1726 I find it ticks all the boxes. \r\n
\r\n\r\nRecorded with a phone and spoken mainly in a different language. I did conversion to FLAC from a mono mp3 probably the same if I just uploaded the MP3 directly. No editing was done. \r\n
',301,0,0,'CC-BY-SA','5 year old',0,0,1), (1754,'2015-04-23','D7? Why Seven?',832,'I explain what 7th chords are and when to use them.','In this episode I respond to one of the community-requested topics (\"Music Theory\") and try to explain what seventh chords are and why they are used. Below are some of the terms that I use in the course of the discussion.
\r\n\r\nFree public-domain music reference book: Music Notation and Terminology by Karl Wilson Gehrkens: https://www.gutenberg.org/ebooks/19499 (see ch. 18)
\r\n\r\nFree Online Music Dictionary: https://dictionary.onmusic.org/
',238,0,0,'CC-BY-SA','chords, music theory, music, harmony',0,0,1), (1756,'2015-04-27','Ranger File Manager',1340,'Introduction to the ranger command line file manager','From Man Page:
\n\n\nDESCRIPTION
\n
ranger is a console file manager with VI key bindings. It provides a minimalistic and nice curses interface with a view on the directory hierarchy. The secondary task of ranger is to figure out which program you want to use to open your files with.This manual mainly contains information on the usage of ranger. Refer to the README for install instructions and to doc/HACKING for development specific information. For configuration, see the files in ranger/config. They are usually installed to /etc/ranger/config and can be obtained with ranger\'s --copy-config option.
\nInside ranger, you can press 1? for a list of key bindings, 2? for a list of commands and 3? for a list of settings.
\n
Extract pages 3–5 from file foobar.pdf
:
\r\npdftk foobar.pdf cat 3-5 output excerpt.pdf\r\n\r\n\r\n
Same thing but also grab the cover page:
\r\n\r\n\r\npdftk foobar.pdf cat 1 3-5 output excerpt.pdf\r\n\r\n\r\n
Combine multiple PDFs:
\r\n\r\n\r\npdftk file1.pdf file2.pdf file3.pdf cat output combined.pdf\r\n\r\n\r\n
Reassemble a 50-page document with all of the pages in reverse order (I once actually did this for my wife and she was very grateful—she had scanned an article at the library and it ended up with all of the pages in the wrong order from last to first. This command solved her problem in about one second.):
\r\n\r\n\r\npdftk wrongorder.pdf cat 50-1 output rightorder.pdf\r\n\r\n\r\n
Check the pdftk man page for all kinds of other manipulations you can do, including \"bursting\" a PDF into its component pages, rotating pages in any direction, applying password protection, etc.
\r\n\r\nYou can also use pdftk
to embed a table of contents in a flat PDF file. This is incredibly useful, as it can make large, unwieldy files very easy to navigate. All you have to do is add some bookmark data in a fairly straightforward format as shown below. As a starting point you should that dump the current metadata content of the file with this command:
\r\npdftk foobar.pdf dump_data_utf8\r\n\r\n\r\n
Save the contents of this data dump in a text file and then add bookmark information just below the NumberOfPages
value. Here is an excerpt from the huge anthology of public-domain scores I assembled for my music history class:
\r\nInfoBegin\r\nInfoKey: ModDate\r\nInfoValue: D:20150106100000-06\'00\'\r\nInfoBegin\r\nInfoKey: CreationDate\r\nInfoValue: D:20150106100000-06\'00\'\r\nInfoBegin\r\nInfoKey: Creator\r\nInfoValue: pdftk 2.02 - www.pdftk.com\r\nInfoBegin\r\nInfoKey: Producer\r\nInfoValue: itext-paulo-155 (itextpdf.sf.net-lowagie.com)\r\nPdfID0: ece858bf9affbcad3b575cf3891a187f\r\nPdfID1: 23f89459e103dd43c6e7bc92028245c0\r\nNumberOfPages: 765\r\nBookmarkBegin\r\nBookmarkTitle: Beethoven: Symphony no. 5 in C minor Op. 67\r\nBookmarkLevel: 1\r\nBookmarkPageNumber: 205\r\nBookmarkBegin\r\nBookmarkTitle: Beethoven 5: I. Allegro con brio\r\nBookmarkLevel: 2\r\nBookmarkPageNumber: 205\r\nBookmarkBegin\r\nBookmarkTitle: Beethoven 5: II. Andante con moto\r\nBookmarkLevel: 2\r\nBookmarkPageNumber: 235\r\nBookmarkBegin\r\nBookmarkTitle: Beethoven 5: III. Allegro\r\nBookmarkLevel: 2\r\nBookmarkPageNumber: 256\r\nBookmarkBegin\r\nBookmarkTitle: Beethoven 5: IV. Allegro\r\nBookmarkLevel: 2\r\nBookmarkPageNumber: 275\r\n\r\n\r\n
And here is the command to update the PDF with the table of contents embedded. This tells it to take the input file foobar.pdf
and update its metadata using the file foobar.info
(with utf8 encoding) and output the results as foobar_with_toc.pdf
.
\r\npdftk foobar.pdf update_info_utf8 foobar.info output foobar_with_toc.pdf\r\n\r\n\r\n
pdftk
man page: https://www.pdflabs.com/docs/pdftk-man-page/I made a screencast as a follow-up, showing the process of embedding bookmarks to make a table of contents:\r\nhttps://m.youtube.com/watch?v=5dv_02v0zzc
\r\n',238,0,0,'CC-BY-SA','pdftk,pdf',0,0,1), (1770,'2015-05-15','The OpenDyslexic Font',1087,'Introduction to the OpenDyslexic font','In this episode I talk about how you can take advantage of the OpenDyslexic font as a user, and also how as a content provider you can use it to help your readers. Incidentally, we also talked about this for a while during episode 1418, one of the 2013 New-Year shows.
\r\n\r\nfonts-opendyslexic
opendyslexic-fonts
open-dyslexic-fonts
\r\n cowsay "Hacker Public Radio"
\r\n
\r\n\r\nResult:
\r\n\r\n\r\n _____________________\r\n< Hacker Public Radio >\r\n ---------------------\r\n \\ ^__^\r\n \\ (oo)\\_______\r\n (__)\\ )\\/\\\r\n ||----w |\r\n || ||\r\n\r\n\r\n
\r\ncowsay -t "Ken is tired of begging for shows"
\r\n
\r\n\r\nResult:
\r\n\r\n\r\n ___________________________________\r\n< Ken is tired of begging for shows >\r\n -----------------------------------\r\n \\ ^__^\r\n \\ (--)\\_______\r\n (__)\\ )\\/\\\r\n ||----w |\r\n || ||\r\n\r\n\r\n
-f
Threaten someone with a dragon:
\r\n\r\n\r\ncowsay -f dragon \'record and upload a show OR ELSE!\'
\r\n
\r\n\r\nResult:
\r\n\r\n\r\n\r\n ___________________________________\r\n< record and upload a show OR ELSE! >\r\n -----------------------------------\r\n \\ / \\ //\\\r\n \\ |\\___/| / \\// \\\\\r\n /0 0 \\__ / // | \\ \\ \r\n / / \\/_/ // | \\ \\ \r\n @_^_@\'/ \\/_ // | \\ \\ \r\n //_^_/ \\/_ // | \\ \\\r\n ( //) | \\/// | \\ \\\r\n ( / /) _|_ / ) // | \\ _\\\r\n ( // /) \'/,_ _ _/ ( ; -. | _ _\\.-~ .-~~~^-.\r\n (( / / )) ,-{ _ `-.|.-~-. .~ `.\r\n (( // / )) \'/\\ / ~-. _ .-~ .-~^-. \\\r\n (( /// )) `. { } / \\ \\\r\n (( / )) .----~-.\\ \\-\' .~ \\ `. \\^-.\r\n ///.----..> \\ _ -~ `. ^-` ^-_\r\n ///-._ _ _ _ _ _ _}^ - - - - ~ ~-- ,.-~\r\n /.-~\r\n\r\n\r\n
On Linux, praise Ahuka with a Random Cow:
\r\n\r\n\r\necho \'Ahuka Rocks!\' | cowsay -f $(locate *.cow | shuf -n1)
\r\n
\r\n\r\nOne Result:
\r\n\r\n\r\n ______________\r\n< Ahuka Rocks! >\r\n --------------\r\n \\ ,-^-.\r\n \\ !oYo!\r\n \\ /./=\\.\\______\r\n ## )\\/\\\r\n ||-----w||\r\n || ||\r\n\r\n Cowth Vader\r\n\r\n\r\n\r\n
Make ASCII banner text with figlet. This one uses the default font and wraps the lines at 45 characters:\r\n
\r\n\r\n\r\nfiglet -w 45 "Hacker Public Radio"
\r\n
\r\n\r\nResult:
\r\n\r\n\r\n\r\n _ _ _ \r\n| | | | __ _ ___| | _____ _ __ \r\n| |_| |/ _` |/ __| |/ / _ \\ \'__|\r\n| _ | (_| | (__| < __/ | \r\n|_| |_|\\__,_|\\___|_|\\_\\___|_| \r\n \r\n ____ _ _ _ \r\n| _ \\ _ _| |__ | (_) ___ \r\n| |_) | | | | \'_ \\| | |/ __|\r\n| __/| |_| | |_) | | | (__ \r\n|_| \\__,_|_.__/|_|_|\\___|\r\n \r\n ____ _ _ \r\n| _ \\ __ _ __| (_) ___ \r\n| |_) / _` |/ _` | |/ _ \\ \r\n| _ < (_| | (_| | | (_) |\r\n|_| \\_\\__,_|\\__,_|_|\\___/ \r\n \r\n\r\n\r\n
Use an alternate font with -f
option:
\r\n figlet -f digital "Community News"
\r\n
\r\n\r\n\r\n\r\n+-+-+-+-+-+-+-+-+-+ +-+-+-+-+\r\n|C|o|m|m|u|n|i|t|y| |N|e|w|s|\r\n+-+-+-+-+-+-+-+-+-+ +-+-+-+-+\r\n\r\n\r\n\r\n
cowsay
\"is it Friday yet\" page: https://jonkulp.net/iify.htmlI enjoy writing Bash scripts to solve various problems. In particular I have a number of scripts I use to manage the process of preparing a show for HPR, which I am developing at the moment.
\r\nMy more complex Bash scripts use a lot of functions to perform the various tasks, and, in the nature of things, some of these functions can be of use in other scripts and are shared between them.
\r\nI thought I would share some of these functions with HPR listeners in the hopes that they might be useful. It would also be interesting to receive feedback on these functions and would be great if other Bash users contributed ideas of their own.
\r\nSince the notes explaining this subject are long, they have been placed here: https://hackerpublicradio.org/eps/hpr1757_full_shownotes.html, and an experimental ePub version is available here: https://hackerpublicradio.org/eps/hpr1757_full_shownotes.epub.
\r\n\r\nhttps://www.radiotopia.fm/\r\n
\r\n\r\nA part of PRX (Public Radio Exchange), they are a collection of story-driven podcasts sponsored in part\r\nby the Knight Foundation.\r\n
\r\n\r\nPRX : https://www.prx.org/\r\n
\r\n\r\nKnight Foundation : https://www.knightfoundation.org\r\n
\r\n\r\nHeaded up by their flagship podcast 99% Invisible which is based on architecture and design and hosted by \r\nRoman Mars\r\n
\r\n\r\n\r\nrxvt = Roberts XVT. X = X Window System, VT = VT102 terminal\r\n
\r\n\r\nVT Terminal : https://www.en.wikipedia.org/wiki/VT100\r\n
\r\n\r\nrxvt started as a replacement for xterm. Written by Rob Nation\r\nhttps://en.wikipedia.org/wiki/Rxvt\r\n
\r\n\r\nForked by Marc Lehmann and called rxvt-unicode or urxvt. \r\nGave features such as transparency, Perl extensions and better font support\r\nhttps://en.wikipedia.org/wiki/Rxvt-unicode\r\n
\r\n\r\nUses the .xdefaults configuration file in your home directory for customizations.\r\n
\r\n\r\n\r\nAlso known as The Bad Astronomer\r\n
\r\n\r\nWikipedia : https://en.wikipedia.org/wiki/Phil_Plait\r\n
\r\n\r\nBlogs at Slate : https://www.slate.com/authors.phil_plait.html\r\n
\r\n\r\nTed Talks : https://www.ted.com/speakers/phil_plait\r\n
\r\n\r\nCrash Course on YouTube:\r\nhttps://www.youtube.com/playlist?list=PL8dPuuaLjXtPAJr1ysd5yGIyiSFuh0mIL\r\n
',252,0,0,'CC-BY-SA','Radiotopia,urxvt256c,astronomy',0,0,1), (1759,'2015-04-30','A brief review of Firefox OS',1007,'I recently bought a Geeksphone Revolution and this is my review of running Firefox OS on it.','\r\nThis is phone I\'m using: https://www.geeksphone.com/#the-phone\r\n
\r\n\r\nAnd here are some useful links about Firefox OS:\r\n
\r\n\r\nThe marketplace (app store): https://marketplace.firefox.com/\r\n
\r\n\r\nThe marketing site: https://www.mozilla.org/en-US/firefox/os/2.0/\r\n
\r\n\r\nDeveloper documentation: https://developer.mozilla.org/en-US/Firefox_OS\r\n
',302,0,0,'CC-BY-SA','mobile,firefox,operating system,review',0,0,1), (1762,'2015-05-05','HPR Audio Book Club 10',7043,'In this episode, the HPR_AudioBookClub reviews Revolution Radio by Seth Kenlon','In this episode, the HPR_AudioBookClub reviews Revolution Radio by Seth Kenlon. You can download this AudioBook for free from https://aesdiopod.com/books/.
\r\nWe all liked the pace of the story, as well as the reading and the audio quality. Overall this is a very polished work, even though there is some noise intentionally added at times.
\r\nAs usual, the HPR_AudioBookClub took some time to review the beverages that each of us were drinking during the episode
\r\nStreet Candles by David Collins-Rivera\r\n
https://www.cavalcadeaudio.com/stardrifter.html
We\'re still really excited about this AudioBook not only because the author is an HPR community member (lostinbronx), but also because the book is really good!
\r\nDavid Collins-Rivera\'s personal blog: https://www.cavalcadeaudio.com/index.html\r\n
David Collins-Rivera\'s HPR correspondent page: https://hackerpublicradio.org/correspondents/0107.html
Our next book club recording will be 2014/09/09T23:00:00+00:00. https://en.wikipedia.org/wiki/ISO_8601#Times If you\'d like a Google calendar invite, or if you\'d like to be on the HPR_AudioBookClub mailing list, please get in contact with us on the HPR mailing list \'hpr at hackerpublicradio dot org\'
\r\nThis episode was processed using Audacity https://audacity.sourceforge.net/. We\'ve been making small adjustments to our audio mix each month in order to get the best possible sound. It\'s been especially challenging getting all of our voices relatively level, because everyone has their own unique setup. Mumble is great for bringing us all together, and for recording, but it\'s not good at making everyone\'s voice the same volume. We\'re pretty happy with the way this month\'s show turned out, so we\'d like to share our editing process and settings with you and our future selves (who, of course, will have forgotten all this by then).
\r\nMumble uses a sample rate of 48kHz, but HPR requires a sample rate of 44.1kHz so the first step in our audio process is to resample the file at 44.1kHz. Resampling can take a long time if you don\'t have a powerful computer, and sometimes even if you do. If you record late at night, like we do, you may want to start the task before you go to bed, and save it first thing in the morning, so that the file is ready to go the next time you are.
\r\nNext we use the \"Compressor\" effect with the following settings:
\r\nAfter compressing the audio we cut any pre-show and post-show chatter from the file and save them in a separate file for possible use as outtakes after the closing music.
\r\nAt this point we listen back to the whole file and we work on the shownotes. This is when we can cut out anything that needs to be cut, and we can also make sure that we put any links in the shownotes that were talked about during the recording of the show. We finish the shownotes before exporting the .aup file to .FLAC so that we can paste a copy of the shownotes into the audio file\'s metadata. We use the \"Truncate Silence\" effect with its default settings to minimize the silence between people speaking. When used with its default (or at least reasonable) settings, Truncate Silence is extremely effective and satisfying. It makes everyone sound smarter, it makes the file shorter without destroying actual content, and it makes a conversations sound as easy and fluid during playback as it was while it was recorded. It can be even more effective if you can train yourself to remain silent instead of saying \"uuuuummmm.\" Just remember to ONLY pass the file through Truncate Silence ONCE. If you pass it through a second time, or if you set it too aggressively your audio may sound sped up and choppy.
\r\nAt this point we add new, empty audio tracks into which we paste the intro, outro and possibly outtakes, and we rename each track accordingly.
\r\nWe adjust the Gain so that the VU meter in Audacity hovers around -12db while people are speaking, and we try to keep the peaks under -6db, and we adjust the Gain on each of the new tracks so that all volumes are similar, and more importantly comfortable. Once this is done we can \"Mix and Render\" all of our tracks into a single track for export to the .FLAC file which is uploaded to the HPR FTP server.
\r\nRemember to save often when using Audacity. We like to save after each of these steps. Audacity has a reputation for being \"crashy\" but if you remember to save after every major transform, you will wonder how it ever got that reputation.
\r\nIf you liked Pirate Radio, you may also like The movies THX-1137, Logan\'s Run or The Illustrated Man.
\r\nThank you very much for listening to this episode of the HPR_AudioBookClub. We had a great time recording this show, and we hope you enjoyed it as well. We also hope you\'ll consider joining us next time. Please leave a few words in the episode\'s comment section.\r\n
As always; remember to visit the HPR contribution page HPR could really use your help right now.
https://hackerpublicradio.org/contribute.php
\r\nSincerely,\r\n
The HPR_AudioBookClub
P.S. Some people really like finding mistakes. For their enjoyment, we always include a few.
\r\n1: The HPR_AudioBookClub doesn\'t laugh at anyone for reviewing tea, nor any other drink. We intentionally call the segment a \"beverage review,\" not a \"beer review\" so that no one should feel alienated. Also because some of us drink wine.
\r\n2: The HPR_AudioBookClub does laugh when people try to spell flavor with a \"u\"
\r\n',157,53,1,'CC-BY-SA','HPR AudioBookClub',0,0,1), (1763,'2015-05-06','Intro to Homebrewing',1209,'Beer! and the joy of making it.','\r\nI talk a bit about homebrewing, how to do it, what it is, and how to get started. \r\nIf there is interest, I will do more in-depth shows on the topic, otherwise I will let it stand alone. \r\n
\r\n\r\n\r\nI ramble on about brewing your own beer. Here are a few internet resources to help you along:\r\n
\r\n\r\n\r\nThis is my first episode ever, so any advice is greatly appreciated. My email is amneher007@gmail.com\r\n
',303,0,1,'CC-BY-SA','brewing, beer, homebrewing',0,0,1), (1764,'2015-05-07','Introduction to Rogue Class Linux',990,'Rogue Class Linux is a specialty distribution of Linux for playing the old games.','\r\nRogue Class describes itself as \"a toy Linux distribution for playing games and reading books. RCL favors turn-based games, such as puzzles and rogue-like games. \"\r\n
\r\n\r\nWhat are Rogue Class games? According to a link at the Rogue Class website, Rogue Class games are characterized by\r\n
\r\n\r\n
\r\n\r\n(Source: https://www.zincland.com/powder/?pagename=about)\r\n
\r\n\r\nRogue Class contains four dozen or so games, two of which are actually categories which in turn contain additional games, as well as a number of utilities, including a network manager, an IRC client, and more. Some representative games include the following, picked quite at random: Angband, Fargoal, Magus, Moria, Nethack, and Tome. \r\n
\r\n\r\n\r\nIf you liked the old games, give Rogue Class a spin.\r\n
\r\n\r\n\r\nWebsite: https://rogueclass.org/\r\n
\r\n\r\n\r\nThe Rogue Class forum is located at Linux Questions.org: https://www.linuxquestions.org/questions/rogue-class-106/\r\n
\r\n\r\n\r\nYou can see an interesting chart of Rogue Class\'s graphics subsystems at this link: \r\nhttps://www.linuxquestions.org/questions/rogue-class-106/rcl-graphics-sub-systems-4175522637\r\n\r\n
\r\n',195,0,1,'CC-BY-SA','games,Rogue Class,gamebooks',0,0,1), (1766,'2015-05-11','Sox of Silence',616,'Using SOX to speed up and remove silence in a podcast','\r\nMany of you may be aware of the \"truncate silence\" filter in audacity. As I already use SOX to speed up my podcasts, I wanted to see if it could also remove silence as well. While the man page is detailed, it is difficult to follow. https://sox.sourceforge.net/\r\n
\r\n\r\nFortunately Jason Navarrete posted an excellent article on digitalcardboard.com called The SoX of Silence which went through the process step by step https://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/\r\n
\r\n\r\n\r\n # -S, --show-progress\r\n # -V verbose\r\n # tempo Change the audio playback speed but not its pitch. \r\n # remix Select and mix input audio channels into output audio channels. \r\n # remix - performs a mix-down of all input channels to mono.\r\n # silence Removes silence from the beginning, middle, or end of the audio.\r\n # https://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/\r\n # \r\n sox -S -v2 \"${FILENAME}\" \"${FILENAME}-faster-${SPEED}.ogg\" -V9 tempo ${SPEED} remix - silence 1 0.1 1% -1 0.1 1%\r\n\r\n',30,0,1,'CC-BY-SA','sox, truncate silence',0,0,1), (1808,'2015-07-08','David Whitman reads \'The Shooting of Dan McGrew\' written by Robert W Service',467,'For his birthday David Whitman recites the Robert W Service ballad, ','
\r\nfrom The Project Gutenberg EBook of Songs of a Sourdough, by Robert Service\r\n
\r\n\r\nThis eBook is for the use of anyone anywhere at no cost and with\r\nalmost no restrictions whatsoever. You may copy it, give it away or\r\nre-use it under the terms of the Project Gutenberg License included\r\nwith this eBook or online at www.gutenberg.org\r\n
\r\n\r\nThe orginal work published 1907. Copyright expired in U.S. See the Project Gutenberg website for their copyright notices\r\n
\r\n\r\nBibliographic Record
\r\nAuthor Service, Robert W. (Robert William), 1874-1958
\r\nTitle Songs of a Sourdough
\r\nLanguage English
\r\nLoC Class PR: Language and Literatures: English literature
\r\nSubject Yukon River Valley (Yukon and Alaska) -- Poetry
\r\nCategory Text
\r\nEBook-No. 25546
\r\nRelease Date May 20, 2008
\r\nCopyright Status Public domain in the USA.
\r\nDownloads 55 downloads in the last 30 days.
\r\nPrice $0.00\r\n
\r\nTitle: The Spell of the Yukon\r\n
\r\n\r\nAuthor: Robert Service\r\n
\r\n\r\nPosting Date: July 11, 2008 EBook https://www.gutenberg.org/ebooks/25546
\r\nRelease Date: January, 1995\r\n
\r\nhttps://hackerpublicradio.org/eps/hpr1808_Songs_of_a_Sourdough.pdf\r\n
\r\n\r\nInteresting Info at https://en.wikipedia.org/wiki/The_Shooting_of_Dan_McGrew\r\n
',209,0,1,'CC-BY-SA','Poetry, Birthday, Yukon',0,0,1), (1767,'2015-05-12','An interview with Ed Cable of the Mifos Initiative',704,'David Whitman interviews Ed Cable of the MIFOS Iniative at Linux Fest Northwest on April 25, 2015.','\r\nDavid Whitman interviews Ed Cable of the MIFOS Initiative\r\nhttps://mifos.org/\r\n
\r\n\r\nFrom their website:\r\nMifos X is an extended platform for delivering the complete range of financial services needed for an effective financial inclusion solution.\r\n
\r\n\r\nAs the industrys only open platform for financial inclusion, we provide affordable, adaptable and accessible solutions for any segment of the market, new and small financial institutions can easily start with our community app in a hosted environment, medium and large institutions that are evolving into full-service providers of financial inclusion can use our global network of IT partners to configure a Mifos X solution, and innovators can build and scale entirely new solutions on our API-driven platform.\r\n
',209,78,1,'CC-BY-SA','Microfinance, LinuxFest Northwest',0,0,1), (1774,'2015-05-21','Router Hacking',1190,'A Quick What, Why, and How of Hacking Routers','This episode of HPR is inspired by the recent release of a new recording by Kimiko Ishizaka of J.S. Bach\'s Well-Tempered Clavier, Book I. This is a very special recording because it is free and open, licensed to be shared freely forever. The recording was crowdfunded and immediately released with a public license after editing. This allows for legal remixing and sharing, and also makes it perfect for stuff like I do in this episode—cutting the recordings up for inserting as musical examples and then presenting the whole thing for your listening enjoyment.
\r\n\r\nPlease see the full show notes for detailed descriptions of the parts of a fugue and a few musical examples as well.
\r\n\r\n\r\nI recorded this conversation with Mike Hingley about a year ago (12 June 2014) but never released it because I thought the audio didn\'t sound very good and I didn\'t feel like editing it at the time. Honestly I forgot all about it until now when the HPR queue is low again. I apologize for the slightly clippy quality of my audio, I must have had my microphone too hot on the mumble. It\'s really interesting to listen to this conversation a year later because I have worked out so many of the problems that I was mentioning to Mike, including the automation of the entire build process using command-line tools from Calibre.
\r\n\r\nI don\'t know if I\'m ignorant and everyone else already knows about this, but I decided to record a quick show about Audacity \"Label Tracks,\" something I discovered while working on another HPR episode today.
\r\n\r\nThe label track is one of the most useful things I\'ve found in a long time. It allows you to annotate your audio project so that you can quickly see important spots or summarize the contents of whole segments and see at a glance what they are about without hunting all over the place and playing things back, trying to find the part where you were talking about X,Y, or Z. You can also export the labels as a plain text file with exact timestamps. I have not tried this, but according to the documentation you can also use labels to mark the beginnings of separate songs in a long track and export multiple separate files at once from a single source based on the labels.
\r\n\r\nTo add a label track, go to the Tracks
menu and select Add New --> Label Track
, and it will add the label track to the bottom of your list of tracks. To add a label, either stick the cursor where you want the label to be and press ctrl+b
to add text, or select a region to label by clicking and dragging over a region in the label track, then do ctrl+b
to start typing the label text.
\r\nhttps://anthonyvenable110.wordpress.com\r\n
\r\n\r\nhttps://anthonyvenable110.wordpress.com/2014/05/07/lovely-walk-in-may-part-1/\r\n
\r\n\r\nMy blogsite as well as just one of the many posts on my site that deal with what I appreciate about my life in general\r\n
',297,0,0,'CC-BY-SA','life, random',0,0,1), (1773,'2015-05-20','LFNW 2015 interview with Deb Nicholson',1052,'David Whitman interviews Deborah Nicholson of the Open invention Network. Enjoy!','\r\nDeb Nicholson:
\r\nhas been a free speech advocate, economic justice organizer and civil liberties defender. After working in Massachusetts politics for fifteen years, she then became involved in the free software movement at the Free Software Foundation. \r\n
\r\nDefensive Publications info: https://www.linuxdefenders.org/?page_id=150\r\n
\r\n\r\nSeattle GNU/Linux Conference https://seagl.org/ IRC on Freenode in #seagl.\r\nWere very excited to be returning to Seattle Central College for SeaGL on Friday October 23rd and Saturday October 24th, 2015. \r\nSeaGL is a grassroots technical conference dedicated to spreading awareness and knowledge about the GNU/Linux community and free/libre/open-source software/hardware.\r\nCost of attendance is free.\r\nAttendee Registration will not require the use of non-free software.\r\nYou may attend SeaGL without identifying yourself, and you are encouraged to do so to protect your privacy. \r\n
\r\n\r\n\r\nIn this review of the Sonic Pi software I have mentioned a couple of programs that I wrote the listings are here:\r\n
\r\n\r\n============================\r\nThe Hippopotamus Song\r\n============================\r\nuse_bpm 180\r\n# use_transpose -12\r\nuse_synth :fm\r\n2.times do\r\nplay_pattern_timed [:D3,:G3,:G3,:G3], [1,1,1,1] # 1 extra note from bar an bar 2\r\nplay_pattern_timed [:G3,:D3,:B2,:G2], [0.5,0.5,1,1] # 3\r\nplay_pattern_timed [:a2,:b2,:c3], [1,1,1] # 4\r\nplay_pattern_timed [:b2,:b2,:a2], [2,0.5,0.5] # 5\r\nplay_pattern_timed [:g2,:g3,:g3], [1,1,1] # 6\r\nplay_pattern_timed [:fs3,:g3,:e3], [1,1,1] # 7\r\nplay_pattern_timed [:d3,:d3], [4,1] # 8 9\r\nplay_pattern_timed [:g3,:g3,:g3], [1,1,1] # 10\r\nplay_pattern_timed [:g3,:d3,:b2,:g2], [0.5,0.5,1,1] # 11\r\nplay_pattern_timed [:a2,:b2,:c3], [1,1,1] # 12\r\nplay_pattern_timed [:b2,:b3,:a3], [2,0.5,0.5] # 13\r\nplay_pattern_timed [:g3,:fs3,:e3], [1,1,1] # 14\r\nplay_pattern_timed [:a3,:fs3,:e3], [1,1,1] # 15\r\nplay_pattern_timed [:d3,:d3], [4,1] # 16 17\r\nplay_pattern_timed [:a3,:a3,:a3], [1,1,1] # 18\r\nplay_pattern_timed [:e3,:e3,:e3], [1,1,1] # 19\r\nplay_pattern_timed [:a3,:a3,:a3], [1,1,1] # 20\r\nplay_pattern_timed [:e3,:a3], [2,1] # 21\r\nplay_pattern_timed [:c4,:b3,:a3], [1,1,1] # 22\r\nplay_pattern_timed [:a3,:b3,:gs3], [1,1,1] # 23\r\nplay_pattern_timed [:a3,:d3], [4,1] # 24 25\r\nplay_pattern_timed [:e3,:fs3,:g3], [1,1,1] # 26\r\nplay_pattern_timed [:fs3,:d3,:d3], [1,1,1] # 27\r\nplay_pattern_timed [:e3,:fs3,:g3], [1,1,1] # 28\r\nplay_pattern_timed [:fs3,:d3,:d3], [1,1,1] # 29\r\nplay_pattern_timed [:c4,:b3,:a3], [1,1,1] # 30\r\nplay_pattern_timed [:g3,:fs3,:e3], [1,1,1] # 31\r\nplay_pattern_timed [:fs3],[1], sustain_level: 0.6, sustain: 1, decay: 3 # 32 sustain note into next bar\r\nplay_pattern_timed [:g3,:fs3], [1,1] # 32\r\nplay_pattern_timed [:e3,:d3,:fs3], [1,1,1] # 33\r\nplay_pattern_timed [:g3,:d3],[3,3] # 34 35\r\nplay_pattern_timed [:c3,:b2,:a2], [1,1,1] # 36\r\nplay_pattern_timed [:d3],[3] # 37\r\nplay_pattern_timed [:g3,:fs3,:g3], [1,1,1] # 38\r\nplay_pattern_timed [:e3,:a3,:g3], [1,1,1] # 39\r\nplay_pattern_timed [:fs3,:e3,:fs3], [1,1,1] # 40\r\nplay_pattern_timed [:d3,:d3],[2,1] # 41\r\nplay_pattern_timed [:b3,:b3,:a3], [0.5,1.5,1] # 42\r\nplay_pattern_timed [:g3,:d3,:d3], [0.5,1.5,1] # 43\r\nplay_pattern_timed [:c4,:c4,:b3], [1,1,1] # 44\r\nplay_pattern_timed [:a3,:e3,:d3], [0.5,1.5,1] # 45\r\nplay_pattern_timed [:e3,:fs3,:g3], [1,1,1] # 46\r\nplay_pattern_timed [:d3,:b2,:g2], [1,1,1] # 47\r\nplay_pattern_timed [:a2],[3], decay: 3 # 48\r\nplay_pattern_timed [:a2,:b2,:a2], [1,1,1] # 49\r\nplay_pattern_timed [:g2],[3], decay: 3 # 50\r\nplay_pattern_timed [:g2],[1] # 51\r\nsleep 2\r\nend\r\n\r\n=======================================\r\nThe HPR Outro theme - hack on this improve it and make a show\r\n=======================================\r\nin_thread do\r\n use_bpm 180\r\n use_transpose 24\r\n use_synth :beep\r\n 19.times do\r\n play_pattern_timed [:a,:as,:a,:a], [0.5],release: 0.02, amp: 0.3 #\r\n play_pattern_timed [:as,:f,:as,:a], [0.5],release: 0.02, amp: 0.3 #\r\n end\r\nend\r\nuse_bpm 180\r\nsample :elec_hi_snare\r\nsleep 0.5\r\nsample :elec_hi_snare\r\nsleep 0.5\r\nsample :drum_bass_hard\r\nsleep 0.5\r\n\r\nuse_transpose -0\r\nuse_synth :saw\r\n2.times do\r\n play_pattern_timed [:a,:a,:a,:a], [0.5,1,0.5,1] # 3\r\n play_pattern_timed [:a,:as,:a], [1,1,1]\r\n play_pattern_timed [:c5], [3], decay: 2 # 6\r\n play_pattern_timed [:a,:a,:a,:a], [0.5,1,0.5,1] # 3\r\n play_pattern_timed [:a,:as,:a], [1,1,1] # 6\r\n play_pattern_timed [:f], [3], decay: 2 # 6\r\nend\r\nuse_synth :dsaw\r\nplay_pattern_timed [:f],[1]\r\nplay_pattern_timed [:c5],[2], decay: 1.5\r\nplay_pattern_timed [:as,:a,:as],[1,1,1]\r\nplay_pattern_timed [:a],[1]\r\nplay_pattern_timed [:c5],[2], decay: 1.5\r\nplay_pattern_timed [:f],[1]\r\nplay_pattern_timed [:c5],[2], decay: 1.5\r\nplay_pattern_timed [:as,:a,:as,],[1,1,1]\r\nplay_pattern_timed [:a],[1]\r\nplay_pattern_timed [:f],[2], decay: 1.5\r\nplay_pattern_timed [:f],[1]\r\nplay_pattern_timed [:c5],[2], decay: 1.5\r\nplay_pattern_timed [:as,:a,:as],[1,1,1]\r\nplay_pattern_timed [:a],[1]\r\nplay_pattern_timed [:c5],[2], decay: 1.5\r\nplay_pattern_timed [:f],[1]\r\nplay_pattern_timed [:c5],[2], decay: 1.5\r\nplay_pattern_timed [:as,:a,:as,:a],[1,1,1,1]\r\nplay_chord [:c4,:f], decay: 4\r\n===========================\r\n\r\n\r\n------------------------------------------------------------\r\n',240,0,0,'CC-BY-SA','Raspberry PI, music, programming, review',0,0,1), (1769,'2015-05-14','A Demonstration of Dictation Software on my Office Computer',825,'I record a whole show in dictation mode to demonstrate Dragon dictation software capabilities','
Hi everybody! This is John Kulp In Lafayette, Louisiana. I am going to do a rather strange episode today. What I\'m doing is demonstrating the dictation software that I use on the office computer that I have here at work. If you listen to my previous episodes, then you have heard me speak of the blather speech recognition program that I use on my Linux desktop, but as you may also remember, blather is not a dictation tool. Blather is a tool where you have to set up commands that will run other commands. In other words, you have to configure everything from scratch. I do have some capabilities for dictation on my Linux desktop, but they involve using the Google Web speech API and a special dictation box that I have set up, and these are not at all good for longform dictation. For serious dictation, such as writing letters and memos and other longform text, you really need a proper dictation tool. These are available built into the operating systems of Windows and Mac OS 10, but I normally use the Dragon naturally speaking software instead. I have found that it is more accurate and more powerful than the built-in versions that you can get on either Windows or Mac. That doesn\'t mean you shouldn\'t try out the built-in speech recognition on Windows and Mac, you definitely should, because I think you would be very impressed with him. I know for sure that the version on Windows learns from your voice and from the corrections that you make to the text that you were spoken, and eventually becomes very powerful in recognizing your speech. The biggest problem that I had with the Windows speech recognition was that it was a huge memory hog and frequently brought my system to a grinding halt. This is not good. Blather never does that, but then again bladder cannot take dictation. The latest system that I use for dictation is on a fairly recent Mac Mini running the nuance Dragon Dictate software. This is a very powerful dictation program that learns from your speech patterns and you can also add words to the vocabulary so that it will get them right when it hears them. This is especially important to do if you have frequently used unusual words, such as a name with an alternate spelling from what is normally in the program\'s dictionary. One of the great things about the Mac Dragon Dictate program, also, is its ability to do transcriptions of audio files. In fact the reason I am speaking this way is that I plan to use the transcription of this recording as the show notes verbatim without any corrections. The difficulty that most people have with dictation software at least initially is doing things like punctuation and capitalization. You have to remember to do these things or else your transcript will come out without any punctuation or capitalization, unless the words that you are speaking are known proper nouns. It also capitalizes automatically at the beginning of the sentences, so that if you use periods frequently then you will have capitalized words after those periods. You can see that I\'m having trouble speaking this text in a fluent way, and this is one of the other difficulties that people have when initially using transcription software. It works best when you can express complete thoughts without pausing, because it learns from the context of your words. It has algorithms that calculate the possibility of one word or another based on the context, and so it is much better to speak entire sentences at one than it is to pause while trying to gather your thoughts. This is a major difference from trying to write at the keyboard, where it does not matter at all if you pause for seconds or even minutes while you think of what you want to write next. Anyhow, I highly recommend using some kind of dictation software if you suffer from repetitive strain injuries like I do. This will save you many thousands of keystrokes. Even if it\'s only using the speech recognition that\'s available on your phones over the web, that\'s better than nothing. The disadvantage of any of these services that have to send your recording over the web to \r\nget a transcription and then send it back into your device is that they will never learn your voice and your particular speech patterns. In order for that to work best, you really have to use a dedicated standalone speech recognition program that resides locally on your computer and saves your profile and learns from your speaking. Well, I guess that is about it for today, I hope you have enjoyed hearing this brief lesson on dictation. See you next time!
\r\n\r\nName: Colin Mills, (cjm)
Occupation: Software Engineering Student in Canada
I have been a UNIX geek and open source software FANATIC for about four years now.
Website: c-jm.github.io
\r\n\r\n\r\nC was originally developed by Dennis Ritchie between 1969 and 1973 at AT&T \r\nBell Labs,[5] and used to (re-)implement the Unix operating system.[6] \r\nIt has since become one of the most widely used programming languages of all \r\ntime, [7][8] with C compilers from various vendors available for the\r\nmajority of existing computer architectures and operating systems. \r\nC has been standardized by the American National Standards Institute (ANSI) > since 1989 (see ANSI C) and subsequently by the \r\nInternational Organization for Standardization (ISO).
\r\n
SIGNED: It means it can hold either negative or positive values.
UNSIGNED: Unsigned means it can only hold positive values.
Retrieved From: Wikipedia On Signedness
\r\n\r\nAn int is a variable that is at leas 16 bits in size.
It is actually the most efficent for the processor itself.
Capable of storing -32767 -> 32767
short: 16 bits in size
\r\n\r\nshort int intThatIsAShort = 0;
long: 32 bits in size
\r\n\r\nlong intThatIsALong = 0;
long long: 64 bits in size
\r\n\r\nlong long reallyBigInteger = 0;
One byte in memory. (8 bits).
Holds a character but can also hold a number
\r\n\r\nchar thisCanHoldALetter = \'x\';\r\nchar thisCanHoldANumber = 72;
ASCII is just a number corresponding with a letter.
Look here for more information.
Holds floating point numbers
\r\n\r\nfloat thisIsAFloat = 72.2;
Like a float but bigger.
\r\n\r\ndouble thisIsADouble = 0;
Arrays are collections of multiple things
Have to be a set size.
Use braces to initalize
If you initalize one you initalize all.
\r\n\r\nint arrayOfNums[100] = {0};
\"Strings\" are made up of mutliple chars. (Yes it does make sense! :))
\r\n\r\nchar arrayOfChars[81] = {0};
Null termination is added to the end.
\r\n\r\n\'\0\'
In this episode I cover a bit of music theory as well as some bash scripting. The topic is the Twelve-Tone System of music composition and the scripting of a random 12-tone row to be generated daily. For a full transcript of the show click here.
\r\n\r\n\r\n\r\n \r\n
\r\n\r\n\r\nThis is a story of my last days as a Windows Users at home and my eventual switch to Linux. My name is Kevin and my online name is GNULinuxRTM. The name GNULinuxRTM was recently created for a project I am working on. But maybe Ill talk about that another time.\r\n
\r\n\r\nAlthough I listened to every single episode of Linux Reality, many episodes of Linux Outlaws, Linux Link Tech Show, The Bad Apples aka GNU World Order, and other Podcast shows, I just recently listened to my first episode to Hacker Public Radio. What caught my attention was the plea for content to keep Hacker Public Radio going. So I have been HPR binging and I have to say that the fact that this kind of Podcast format exists, is amazing.\r\n
\r\n\r\nYes, I had heard the words Hacker Public Radio before, but I just thought it meant that this was some kind of show for extreme Hacker types, which I didnt think described me.\r\n
\r\n\r\nAnother confession, my day job is mostly in a Windows environment. And although I kept myself up to date on the progress of Linux, I had very few opportunities to use Linux at work. I had enough challenge keeping up to technology I had to know to do my job. Although I heard and understood the significance of making a commitment to use Linux, I never did make the switch. Sure I dabbled with Linux as a Server platform and maybe to get some use out of some old hardware. But not on my most powerful and most used home machine. The computer I use every day for my own personal projects was, until last Summer, a Windows PC.\r\n
\r\n\r\nYou see I hate wasting effort and time, something we all have a limited amount of. I remember after a particularly frustrating bout with Linux I turned to a Co-Worker and said \"Windows, because Lifes too short\".\r\n
\r\n\r\nAlso, I am one of those weirdos who loves the little red Trackpoint on IBM Thinkpads. Last Spring I traded in my old Thinkpad plus some cash for an off-lease Lenovo Thinkpad W510 Notebook. I got it cheaper because they didnt have the original power supply, instead it came with a 3rd party power supply. Eventually it got to me that it took more than twice as long to charge the notebook, so i spent the money to replace it with a higher wattage power supply. \"In a for penny, in for a pound\", why not upgrade to 8Gb of RAM too.\r\n
\r\n\r\nShortly after the 90 day warranty I started having weird lockup issues. The hard drive light would go solid and the machine would just freeze. Ive seen this before. Suck it up and back to local computer store to replace the Hard Drive. But \"In for a penny, in for a pound\", why not get one of those slick new SSD drives. Got home, do a drive copy and I am back in business Or so I think. After a while I realize I am still suffering from intermittent Lockups. Time for a fresh install.\r\n
\r\n\r\nInstall Windows 7, Windows Update, Reboot, Windows Update Reboot, Windows Update Reboot almost done. Blue-Screen-of-Death. Reboot, Blue Screen of Death. Start over, Re-install Windows 7, trickle install Updates, Save System State, Reboot, Repeat, Blue Screen, Ahhhhh!!@!!! System Restore, its that update, Blue Screen, not its that update, Blue Screen, Blue Screen, Blue Screen Ahhhhh!!##$\r\n
\r\n\r\nIs it my new RAM, switch that out. No difference. Power Supply? Nope. Go back to Non-SSD drive? Still No Change. Different Windows Install Disc? No, No and No. \r\n
\r\n\r\nNow Im really \"In for a Pound\" with this machine and I cant use it. Deflated, I put the computer down in the corner of the room and try to forget about it. The sleek black Thinkpad just sits there mocking me every time I walk by, but I am determined to ignore it. Weeks go by, now a month. Ive gone back to my desktop, but its no use, I miss having a notebook. Im an easy-chair Notebook guy now. I dont want to regress down the evolutionary scale and hunch over my desktop anymore. Im at home, I should be reclining!\r\n
\r\n\r\nLike a bad hangover, time has numbed the memory of the pain. I pick the Thinkpad, its time to drink again! Im back baby and Ive got that \"You cant beat me\" Techy Battle cry pumping through my veins. \"LINUX! Ill try Linux!\" At least that is the way I prefer to remember it. But really, I was thinking that Ive spent sooo much money on the piece of Crap, Ill use it even i have to switch to Linux.\r\n
\r\n\r\nLets see Ive got to approach this logically. Uhhh, choose a Distro, Desktop, hmmmm. Video on Richard Stallman spanking Ubuntu on Amazon Deal, hmmm. Ok, Linux Mint 17 is based on the LTS release of Ubuntu, 5 years Support, Cool! Top of the Distrowatch charts. Looks like a good start.\r\n
\r\n\r\nI install Linux Mint 17 and it is up and running in no time. Run the Update Manager and hold my breath. Wow! It updated 100%, no Crash Screen of Doom!\r\n
\r\n\r\nNow what? What do i do now? Google \"First things to do after install Linux Mint 17\", wow Direct hit, Yeehaw! Oh cool, Steam Games, Yummy. PlayOnLinux, Bonus! What a blast. But the fun of discovery was better than any game I played.\r\n
\r\n\r\nAlas, my machine was running great but still had a locked up issue, just not as often. But it was a victory nonetheless. Besides, I had a mostly working machine and I would just ignore the problem. An infrequent lockup didnt seem to bother Linux Mint, it just boot back up fine.\r\n
\r\n\r\nAfter about a month on Linux Mint a little message popped up, I cant remember exactly what it said. But it was like machine was talking to me. \"Hey Buddy, this battery in your notebook, uhh it kinda sucks. And you might want it replace because well I need steady power to you know, breath. And it sure would be a lot easier if I could Huh Huh Huh AHHHHH count on some steady air flow\".\r\n
\r\n\r\nYeah, you know I was elated, but even more so amazed! I had installed no diagnostic software, I had spent no additional time troubleshooting, I had just installed Linux and started using it. And my computer just told me what was wrong with it.\r\n
\r\n\r\nNew battery arrived and now the machine is solid as rock. Did I go back to Windows 7, Hell No! I had kicked the habit once a for all and I was not missing Windows at all.\r\n
\r\n\r\nI distinctly remember a standout moment when I was working on my brother-in-law\'s wedding video. Circumstances were that the key family members could not be at the Wedding and the they were anxiously waiting for the Wedding Video. I didnt want to delay finishing the project and was reluctant to do anything else with the computer during the Render process. Rendering the Video took quite a bit of time and was very CPU intensive. But I had broken the Wedding into several segments and there was lots of Rendering and getting feedback. \r\n
\r\n\r\nKdenlive lets you assign how many processors would be used during Rendering, and I had set that to four. There were processors to spare, maybe I can do something else while I am waiting for the Render.\r\n
\r\n\r\nIll read a few emails. Hey, I dont notice any performance difference. \r\nMaybe Ill surf a bit. Still fine. Youtube Video, smooth, now in HD, wow! no problem or no slow down. Multi-tasking as it should be!\r\n
\r\n\r\nNext day at work, I cant help but talk about it with my Co-Workers. \"Why not get a Mac?\" they say. it wasnt a question, it was a strong suggestion. Most of them had written off Linux years ago. I start talking about how great my system is working for me and how I have been able to get so much done with 100% open source applications.\r\n\"So what\", they say. \"You can install most of those applications on the Mac and Windows as well\". \r\n
\r\n\r\nIts no use, I guess I am not much of an evangelist. Or maybe I just work with cynical people. But it does cause me to question. Why am I so excited about Open Source Software now? At this point in history. Really most of the fundamental building blocks of Open Source Software have already happened. It seems to me we are now in a fine tuning stage.\r\n
\r\n\r\nI think it is that maturity that appeals to me. No longer do you have to say, you can install Linux, BUT. And word \"But\" lands with a thud. There is very little creative work that you cannot do on Linux and Open Source software, right now.\r\n
\r\n\r\nI dont regret a single moment I have invested in switching to and learning Linux.\r\n
\r\n\r\nMy story continues, but well save that for another time. I hope to tell you more about my project and the hurdles Ive gone through in a future HPR episode.\r\n
\r\n\r\nBye for now,\r\nGNULinuxRTM signing off.\r\n
',306,0,0,'CC-BY-SA','Linux,Mint,GNU,RTM,Mac,Windows,Open Source,Distro,Richard Stallman,Thinkpad,PlayOnThis is a stoLinux',0,0,1), (1776,'2015-05-25','Vim Hints 004',2840,'Hints and Tips for Vim users - part 4','In this episode I want to look at more movement commands and how to use them in conjunction with commands that change things in the file. I also want to add some more elements to the configuration file we have been building over the last few episodes.
\r\nI have covered a lot of ground in this episode, introducing a number of new subjects. This is partly because I felt the series needed to get to the point where you could start to make full use of Vim if you are following along, and partly because the episodes up to this point have been moving a little too slowly! I hope the change in pace and length hasn\'t put you off.
\r\nSince the notes explaining this subject are particularly long, they have been placed here: https://hackerpublicradio.org/eps/hpr1776_full_shownotes.html and an ePub version is also available here: https://hackerpublicradio.org/eps/hpr1776_full_shownotes.epub.
\r\n\r\nPreviously we looked at the issues around TrueCrypt and Heartbleed, and noted that a fundamental problem was that technologies we rely on to be safe are often developed and maintained by volunteers or people on a shoestring budget. There is now more news worth looking at in this respect, so it is time for an update.\r\nFor more go to https://www.zwilnik.com/?page_id=825\r\n
\r\n\r\nLinks:\r\n
\r\n\r\nEditor\'s Note 2022-03-27: Tag changed from GnuPGP to GnuPG
\r\n',198,74,0,'CC-BY-SA','TrueCrypt, GnuPG, support',0,0,1), (1785,'2015-06-05','54 - LibreOffice Impress - Creating a Presentation',674,'The mechanics of creating a presentation in Impress','\r\nHaving looked at the theory of building a good presentation, now we can look at the mechanics of how to build a presentation. This will take you step-by-step through the creation process and get you ready to create your own awesome presentations.\r\nFor more go to https://www.ahuka.com/?page_id=1188\r\n
\r\n\r\nLinks\r\n
\r\n\r\n\r\nPenguicon 2015 is a combined technology and science fiction convention in Southfield, Michigan, a suburb of Detroit, and presented over 500 hours of programming over the entire weekend. Of this, around 100 hours were open source, tech-related. In this episode I give you my personal diary of my experience at this great event.\r\n
\r\n\r\nLinks:\r\n
\r\n\r\n\r\nThe terms Template and Master Pages refer to the same thing, but inside the Impress application they are referred to as Master Pages, and they are accessed on the right-hand side of the page. If you as the author do not choose a specific Template to use when creating a new presentation, Impress will base the presentation on the default Template that is built in to Impress. But you can create your own default Template if you like.\r\nFor more go to https://www.ahuka.com/?page_id=1188\r\n
\r\n\r\nLinks\r\n
\r\n\r\n1:2345:respawn:/sbin/mingetty tty1
1:2345:respawn:/sbin/mingetty –autologin steve tty1
\r\nclear # this ensures that the screen is clean prior to running the game
\r\nnethack # to run the game
\r\nsudo shutdown -h now # to close the VM when you exit the game
\r\n
\r\nAlthough my wife and I have a Cable TV subscription, I have maintained I could give it up easily because so much of what I am interested in is online anyway. For many people that might mean Netflix or Hulu, but for me it means YouTube. This is the golden age of narrow-casting, as opposed to broadcasting, because YouTube gives so many creators the opportunity to find their own audience for things that dont appeal to the masses.\r\nFor more go to https://www.palain.com/?p=243\r\n
\r\n\r\nLinks:\r\n
\r\n\r\n\r\n(Added)\r\n
\r\n\r\n\r\nWe have previously looked at Styles for Writer, and for Calc, and now it is time to look at them for Impress. You may recall from both Writer and Calc that we saw it is important to know that Styles live inside of Templates. So any time you change a Style you needed to make sure it was saved inside of a Template, and if you wanted it to be generally available in all documents or spreadsheets you needed to be sure to make the change inside the Default Template.\r\nFor more go to https://www.ahuka.com/?page_id=1125\r\n
\r\n\r\nLinks\r\n
\r\n\r\nAndrew Conway and Dave Morriss, who each have a lifetime membership with Magnatune, talk about the label and share some favourite tracks.
\r\nMagnatune is an American independent record label based in Berkeley, California. It was founded in 2003 by John Buckman.
\r\nWhen first set up music could be bought from Magnatune through a download interface on the website with a "pay what you like" pricing model. Later it was possible to purchase physical CDs and in 2007 complete albums and individual tracks could be bought through Amazon.com.
\r\nMagnatune moved to a membership plan in 2008 and in 2010 dropped the CD printing service. The subscription model offers monthly or lifetime membership. Members can download as much as they want, or with a streaming membership can stream as much as they want. Many download formats are available and all music is without DRM.
\r\nMagnatune encourages buyers to share up to three copies with friends. All of the tracks downloaded free of charge are licensed under the Creative Commons Attribution-NonCommercial-ShareAlike (BY-NC-SA) License.
\r\nIt\'s legal to play Magnatune music on a non-commercial podcast without paying collecting society fees to organisations such as ASCAP, BMI or SoundExchange.
\r\nThe picture we mentioned when discussing the artist Kalabi
https://magnatune.com//artists/img/kalabi2.jpg
See also https://www.museumwaalsdorp.nl/en/airacous.html if you want more.
\r\n\r\nShownotes in pdf format
\r\nShownotes in docx format
\r\n
MapReduce is inspired by three approaches from\r\nfunctional programming for applying a function to each item of a\r\ncollection of data, namely, Map, Filter and Reduce. That is pretty\r\nabstract, so I will try to bring some of these ideas down to Earth. \r\nI\'ll use lists to represent the “data” in any examples, but the\r\nconcepts in MapReduce can apply equally well to any data source:\r\nmultiple streams from the Internet, a number of internal data stores\r\nfrom multiple sites, and even user keystrokes/mouse moves. \r\n
\r\nIf a function (or operation) can be applied to\r\neach item in some kind of input data, you may be able to use map,\r\nfilter and reduce.
\r\n\r\nWhen we use the expression\r\nMap(function: f, data: [1,2,3,4,5,6]), we are declaring that we want\r\nto apply the function \"f\" to each element in the data. In\r\nthis case, we have a list of numbers, but the data could be names,\r\nemployee records, or URLs for Internet documents from the Internet\r\nthat we would like to parse to extract useful information.
\r\nExample: function f is square(x) = x * x, and the\r\ndata is our list [1..6].
\r\n\r\nMap( square(x), [1,2,3,4,5,6]) = [square(1),square(2), ..., square(6)], or [1, 4, 9, 16, 25, 36]\r\n\r\n
Filtering data is essentially a variation of Map. \r\nYou could think of it in two stages:
\r\nApply a \"test\" function to Map each item to either True or False (\"In\" or \"Out\")
Use the results of that Map operation to drop any item that fails the test (False)
Having said this, a Filter does not have to be implemented in this way. By\r\ndeclaring that we want to use a Filter operation, we have specified WHAT we\r\nwant to do. It really does not matter HOW it gets done.
\r\n\r\nMost functional programming tutorials would illustrate a Filter by\r\nselecting prime numbers from a list of integers, or to isolate numbers that\r\nare not multiples of 3. A more useful illustration of Filter is a search\r\nfilter that reviews documents in a repository, or a set of search engine\r\nresults, and returns only those that pass the \"relevance test\". The test\r\nitself could be defined using a \"fuzzy\" criterion for relevance (0-20% Not,\r\n20-50% A Little, 50-75% Fairly, > 75% Very -- or what have you), but the\r\nend result is that you\'ll choose some documents to accept, and omit the\r\nrest.
\r\n\r\nIn a filter operation on a large number of data items, you might want to\r\ndrop the items as early as possible. There is no law that requires you to\r\nmake these decisions in advance when you offer Map or Filter operations on\r\na server.
\r\n\r\nIn a MapReduce context, Map and Filter will often end up lumped together.\r\nThis is fine, because you don\'t want to waste processing time to perform\r\npotentially expensive transformations on data or documents that you can rule\r\nout immediately with a less computationally expensive filter.
\r\nA Reduce operation on a collection of data is any\r\nkind of aggregate operation that boils down all of the detail items\r\ninto one or more summary metrics computed on the (filtered) data. \r\nThe canonical examples of a Reduce operation would be a Sum or a\r\nCount, but there are other possibilities.
\r\n\r\nReduce is usually defined as an operation: \r\n
\r\n\r\nReduce(function(accumulator, data item) -> new\r\naccumulator value; initial value; data).
\r\n\r\nSometimes, you may see the Reduce operation\r\ndefined recursively:
\r\n\r\n\r\nReduce( function: f, initial_value, data = {first_item, all_other_items} ) is equal to \r\nReduce ( function: f, new_value = f(initial_value, first_item), data: {all_other_items})\r\n\r\n
If you follow that script, you can just\r\nrinse-and-repeat until you\'ve processed all of the items.
\r\n\r\n\r\nIf you look at this characterization of Map and\r\nReduce, you\'ll see that these operations are fairly abstract. The\r\ndeclarations typically state only what needs to be done, and the\r\nimplementation steps that specify how it is to be done are left open.
\r\n\r\nFor operations on data items that are fairly\r\nindependent of each other, there are advantages in defining things in\r\nthis way. If there are no dependencies between data items, in the\r\nsense of the two rules listed below, you can use distributed\r\nprocessing across several \"servers\" to get to the result\r\nfor the entire data collection much faster. \r\n
\r\n\r\nBasic ground rules for the simplest case \r\n(Exceptions and additional constraints will apply in real projects):
\r\n\r\nComputations for each data item do not depend on those for other data items, so no communication, coordination or shared memory is needed between \"worker\" machines.
The order of the computations does not matter.
Under these conditions, Map and Reduce operations\r\ncould be outsourced from a MapReduce server installation to a fleet\r\nof \"worker\" computers that can take on pieces of the\r\noverall computation, and send their results back to the Aggregation\r\nServer (or \"Boss\" machine). That could give you a\r\ntremendous speed-up over the alternative of running on a single\r\ncomputing cluster. So there can be speed advantages that come from\r\nMapReduce.
\r\n\r\nWith the right infrastructure, you can relax these\r\nconstraints and still get many of the same benefits on data that\r\nneeds to be ordered or preprocessed into some kind of table\r\nstructure. \r\n
\r\n\r\nAnother advantage of the Boss/Workers paradigm for\r\nMapReduce operations, which may be less obvious, is fault tolerance. \r\nComputers sometimes fail to complete their assigned tasks. Network\r\nconnections can be lost. In a Boss/Workers setup, a Worker could\r\nsend a status report back to the Boss machine (or a Supervisor, since\r\neven the Boss role can be shared) that either contains a SUCCESS\r\nstatus flag and the results of its assignment, or a FAILED flag. \r\n
\r\nIf a Boss receives a FAILED message, that piece of\r\nthe overall computation could be re-assigned to other Worker(s). In\r\nthe case of a network outage, the Boss could respond to a Timeout\r\nevent for the Worker, flush that assignment to that Worker, and\r\nre-assign the unfinished task to other resources with a new unique\r\nID. Any homework that is turned in after the Timeout event can then\r\nbe ignored.
\r\n\r\nNote: This is just one way to build in parallelism\r\nand fault tolerance. \r\n
\r\n\r\nAn additional advantage to this sort of vague\r\ndefinition of MapReduce tasks is the ability to work with distributed\r\ndata in a way that allows greater use of local processing. A central\r\nserver (Hub) processing model forces remote sites to transmit all the\r\noriginal data to the Hub, wait for the Hub to do the processing, and\r\nthen possibly transfer the processed results back from the Hub to\r\nthe remote data repository. That\'s a lot of network traffic, any\r\npart of which could be lost, corrupted or even intercepted by third\r\nparties.
\r\n\r\nIn a Reduce operation, where everything is boiled\r\ndown to some [set of] summary measures, the local site could do much\r\nof the processing work, and transmit only the needed intermediate\r\nresults to the Boss back at the Hub for inclusion in the final totals\r\nover all Worker machines.
\r\n\r\nSummary: Leaving the implementation details out of\r\nthe MapReduce specification allows for flexibility and some degree of\r\noptimization in getting these operations done in the most beneficial\r\nway. \r\n
\r\nYou can optimize to save time, even if that means spending more on hardware and communications.
You can design to save money (local processing, servers that are easier to replace, etc.).
Whatever your objectives, you can adjust your\r\nimplementation to get the best result for your application.
\r\n\r\n\r\nHadoop is an open source project from the Apache\r\nFoundation that lets you set up massively parallel distributed\r\nprocessing schemes for computations that can be fit into the\r\nMapReduce paradigm. The best part is that you can make Hadoop work\r\non varying types of hardware, so you don\'t need to run the pieces of\r\ncomputational work solely on high-end, expensive supercomputers or\r\ncomplex computing cluster installations. \r\n
\r\n\r\nHadoop makes it possible to farm out the bits of\r\ncomputational \"homework\" to \"commodity hardware\"\r\n– whatever that may mean for your installation. Commodity hardware\r\nis also an abstract term. In practice, you can match the level of\r\ncomputing power for Workers to meet the requirements of the assigned\r\nwork. The worker machines could be set up on computers that are\r\neasy to provision and replace, so you won\'t have to buy\r\nspecial-purpose servers that require extended periods for setup and\r\nconfiguration. \r\n
\r\n\r\nMapReduce does NOT refer to the process of\r\nsplitting up a large data processing job into assignments. The\r\nconcepts behind MapReduce help us to think about and plan classes of\r\nprocessing tasks that are frequently applied to large datasets, or to\r\na lot of data streams that are coming in from many sources and\r\nlocations. \r\n
\r\n\r\nSo far, it sounds like MapReduce and Hadoop are a\r\nkind of silver bullet that can eliminate the time and expense\r\nrequired to solve “Big Data” problems. As helpful as these ideas\r\nand their supporting technologies may be, not every potential\r\nMapReduce job can be optimized as much as we might like. Hadoop\r\nwill not offer a cure-all for every problem. \r\n
\r\n\r\nWe still have to understand the problem, determine\r\nwhat is needed, and work hard to do the right thing.
\r\n\r\nBut when there is a good fit between the problem\r\nand this approach toward providing a solution, Hadoop and MapReduce\r\ncan be very helpful.
\r\n\r\n',229,0,1,'CC-BY-SA','map,reduce,hadoop',0,0,1), (1799,'2015-06-25','Posting From the Command Line on Open Social Networks',764,'I explain how to post content from the command line on open social networks pump.io and GNU Social','You can post to your open social media timelines from the command line using API access. Why would you want to do this?
\r\n\r\nHere is the basic format for the command to post a message to a Statusnet / GNU Social timeline:
\r\n\r\ncurl -s --basic --user <username:password> --data status=\"Hello World\" --output /dev/null https://instance.domain.com/api/statuses/update.xml
And here is the script I use to post a message to my timeline, launched by a blather voice command:
\r\n\r\n\r\n#!/bin/bash\r\n\r\n# SN account info\r\nuser=johndoe\r\npass=\'password123\'\r\n\r\n# a place to store the text message \r\ntext=/tmp/message.txt\r\n\r\n# Virtual keystrokes to copy selected text to the clipboard\r\nxdotool key Control+c\r\n\r\n# pipe text out of clipboard into the text file\r\nxclip -o > $text\r\n\r\n# rest for half a sec\r\nsleep .5\r\n\r\ncurl -s --basic \\\r\n--user $user:$pass \\\r\n--data status=\"$(cat \"$text\")\" \\\r\n--output /dev/null \\\r\nhttps://instance.domain.com/api/statuses/update.xml \r\n\r\nrm $text\r\n\r\nexit 0\r\n\r\n\r\n
On pump.io you have to install the pump.io
software on your computer. You don\'t have to be running a server, you just have to have the binaries so that you can run the commands. I will not go into how this is done on this podcast, but there\'s a link to the pump.io website below and there should be installation instructions available there. Once you have the software installed, you also have to allow command-line access to your account and get the token for authentication, maybe authorize the user too:
\r\npump-register-app -s instance.domain.com -P 443 -t CLI\r\n\r\n\r\n
\r\npump-authorize -s instance.domain.com -P 443 -u username\r\n\r\n\r\n
Finally you can post to your timeline from the command line:
\r\n\r\npump-post-note -s instance.domain.com -P 443 -p -u username -n \"Hello World.\"
My script to post a message to the pump.io
timeline, launched by a blather voice command:
\r\n#!/bin/bash\r\n\r\n# a place to put the text. \r\ntext=/tmp/message.txt\r\n\r\n# --------------------------------\r\n# Since markdown is possible, I run \r\n# the text through markdown to get\r\n# a bit of formatting and save it\r\n# as a separate file \r\n# --------------------------------\r\npump=/tmp/pump.txt\r\n\r\n# Virtual keystrokes to copy selected text to the clipboard\r\nxdotool key Control+c\r\n\r\n# pipe text out of clipboard into the text file\r\nxclip -o > $text\r\n\r\n# run Markdown\r\nmarkdown $text > $pump\r\n\r\n# Post message\r\npump-post-note -s instance.domain.com -P 443 -p -u username -n \"$(cat $pump)\"\r\n\r\nsleep 1\r\n\r\nrm $text\r\nrm $pump\r\n\r\nexit 0\r\n\r\n
\r\nMerriam-Websters defines \"stir-fry\" as \"to fry quickly over high heat in a lightly oiled pan (as a wok) while stirring continuously.\"\r\n(Source: https://www.merriam-webster.com/dictionary/stir-fry)\r\n
\r\n\r\nTalk about stir-frying. Not an expert by any means, but think I\'ve learned enough to share a bit.\r\n
\r\n\r\nFrank bought a wok, quite on impulse, and has been experimenting with stir-fry recipes and has found it surprisingly easy--much easier than, say, making a souffle or oysters Rockefeller. In this podcast, he discusses what he has learned and in the context of narrating the preparation of a meal.\r\n
\r\n\r\n\r\nWok How-Tos:\r\n
\r\n\r\n\r\nDave Morriss and Kevie have a yarn about the upcoming Glasgow Podcrawl. The event takes place on the 10th of July 2015 and kicks off at 6pm in the State Bar, Holland Street. The event is open to anybody with an interest in open source software or creative commons music. Whether you\'re an enthusiast or just interest in finding out more, also if you\'re a member of a band then we would love to have you along for a yarn over a few pints.
\r\nCheck out https://kmacphail.blogspot.co.uk/2015/01/podcrawl-glasgow-2015.html for more details and a map of how to get to the bar.\r\n
In this episode I provide an overview of how I use bash to automate my process\r\n for orgainizing photographs on my computer.
\r\n\r\nThere are two main objectives of this script:
\r\nThis script is hosted on Github and you can download the latest version using following command:
\r\n\r\ngit clone https://gist.github.com/81e489b2a7397bb17305.git
\r\n\r\n\r\n\r\n#!/bin/bash\r\n\r\nshopt -s -o nounset\r\n\r\n# Create variables and configure script.\r\ndeclare -rx SCRIPT=${0##*/}\r\ndeclare TMPDIR=/tmp/photos\r\ndeclare -r CURRENTDIR=`pwd`\r\ndeclare FILES=$TMPDIR/*\r\ndeclare DESTINATION=/media/Tyr/Pictures/Photos\r\ndeclare -r GOOGLEUSER=\"tnyplz@gmail.com\"\r\ndeclare -r OPTSTRING=\"-h, -d:\"\r\ndeclare -r LONGOPTSTRING=\"help, destination-directory, no-google-backup, sd-card, tmp-dir, no-delete, backup\"\r\ndeclare RESULT\r\ndeclare GOOGLE_BACKUP=true\r\ndeclare SD=false\r\ndeclare SDDIR\r\ndeclare NODELETE=false\r\ndeclare S3=false\r\n\r\n# Executable dependencies\r\ndeclare -rx find=\"/usr/bin/find\"\r\ndeclare -rx gphoto2=\"/usr/bin/gphoto2\"\r\ndeclare -rx google=\"/usr/bin/google\"\r\ndeclare -rx dcraw=\"/usr/bin/dcraw\"\r\ndeclare -rx rsync=\"/usr/bin/rsync\"\r\ndeclare -rx rename=\"/usr/bin/rename\"\r\ndeclare -rx tar=\"/usr/bin/tar\"\r\ndeclare -rx s3cmd=\"/usr/bin/s3cmd\"\r\n\r\n# Sanity Checks\r\nif test -z $BASH; then\r\n printf \"$SCRIPT:$LINENO: please run this script with the BASH shell\\n\" >&2\r\n exit 192\r\nfi\r\n# check for find\r\nif test ! -x $find; then\r\n printf \"$SCRIPT:$LINENO: the $find command is not available -- \\\r\naborting\\n\" >&2\r\n exit 192\r\nfi\r\n# check for gphoto2\r\nif test ! -x $gphoto2; then\r\n printf \"$SCRIPT:$LINENO: the $gphoto2 command is not available -- \\\r\naborting\\n\" >&2\r\n exit 192\r\nfi\r\n# check for google\r\nif test ! -x $google; then\r\n printf \"$SCRIPT:$LINENO: the $google command is not available -- \\\r\naborting\\n\" >&2\r\nfi\r\n# check for dcraw\r\nif test ! -x $dcraw; then\r\n printf \"$SCRIPT:$LINENO: the $dcraw command is not available -- \\\r\naborting\\n\" >&2\r\nfi\r\n# check for rename\r\nif test ! -x $rename; then\r\n printf \"$SCRIPT:$LINENO: the $rename command is not available -- \\\r\naborting\\n\" >&2\r\n exit 192\r\nfi\r\n# check for rsync\r\nif test ! -x $rsync; then\r\n printf \"$SCRIPT:$LINENO: the $rsync command is not available -- \\\r\naborting\\n\" >&2\r\nfi\r\n# check for tar\r\nif test ! -x $tar; then\r\n printf \"$SCRIPT:$LINENO: the $tar command is not available -- \\\r\naborting\\n\" >&2\r\nfi\r\n# check for glacier-cmd\r\nif test ! -x $s3cmd; then\r\n printf \"$SCRIPT:$LINENO: the $s3cmd command is not available -- \\\r\naborting\\n\" >&2\r\nfi\r\n\r\n\r\n# Check for Options\r\n# =================\r\n\r\ngetopt -T\r\nif [ $? -ne 4 ]; then\r\n printf \"$SCRIPT:$LINENO: %s\\n\" \"getopt is in compatibility mode\" >&2\r\n exit 192\r\nfi\r\n\r\nRESULT=$(getopt --name \"$SCRIPT\" --options \"$OPTSTRING\" --longoptions \"$LONGOPTSTRING\" -- \"$@\")\r\nif [ $? -gt 0 ]; then\r\n exit 192\r\nfi\r\n\r\neval set -- \"$RESULT\"\r\n\r\nwhile [ $# -gt 0 ]; do\r\n case \"$1\" in\r\n -h | --help) # show help\r\n printf \"%s\\n\" \"\r\nThis script helps you automate the process of downloading photos from\r\nyour camera, uploading backups to Google Picasa, and syncing the files\r\nwith a specified directory.\r\n\r\nDependendies:\r\n gphoto2\r\n dcraw\r\n googlecl\r\n rsync\r\n s3cmd\r\n\r\nusage: $SCRIPT [options]\r\n\r\nOptions:\r\n -h | --help Show help for $SCRIPT\r\n --destination-directory {LOCATION} Set the location where the photos will be\r\n copied to.\r\n --tmp-dir {LOCATION} Set the temporary directory where images\r\n will be downloaded to initially. The\r\n default is /tmp/photos.\r\n --no-google-backup Disable uploading low rez copies to Google\r\n Plus.\r\n --sd-card {LOCATION} Set the location of the sd card.\r\n --no-delete Do not delete from temp file.\r\n --backup {FOLDER} {S3 BUCKET} Create archive from folder and upload to S3.\r\n \"\r\n exit 0\r\n ;;\r\n --destination-directory ) shift\r\n if [ $# -eq 0 ]; then\r\n printf \"$SCRIPT:$LINENO: %s\\n\" \"Invalid argument for destination. No destination given.\" >&2\r\n exit 192\r\n fi\r\n DESTINATION=\"$1\"\r\n ;;\r\n --tmp-dir ) shift\r\n if [ $# -eq 0 ]; then\r\n printf \"$SCRIPT:$LINENO: %s\\n\" \"Invalid argument for tmp-dir. No temporary directory given.\" >&2\r\n exit 192\r\n fi\r\n TMPDIR=\"$1\"\r\n FILES=$TMPDIR/*\r\n ;;\r\n --no-google-backup ) shift\r\n GOOGLE_BACKUP=false\r\n ;;\r\n --sd-card ) shift\r\n SD=true\r\n if [ $# -eq 0 ]; then\r\n printf \"$SCRIPT:$LINENO: %s\\n\" \"Invalid argument for sd directory. No sd card directory given.\" >&2\r\n exit 192\r\n fi\r\n SDDIR=\"$1\"\r\n ;;\r\n --no-delete ) shift\r\n NODELETE=true\r\n ;;\r\n --backup ) shift\r\n if [ $# -eq 0 ]; then\r\n printf \"$SCRIPT:$LINENO: %s\\n\" \"Invalid argument for AWS Glacier Backup. Backup folder and vault must be specified.\"\r\n fi\r\n S3=true\r\n BACKUP_FOLDER=\"$1\"\r\n BUCKET=\"$2\"\r\n ;;\r\n esac\r\n shift\r\ndone\r\n\r\n# Functions\r\n# =========\r\n\r\n# function to convert a raw image to jpg.\r\n# input: requires the user to specify the file extention ($1).\r\nfunction convert_to_jpg () {\r\n FILES2CONVERT=$TMPDIR/*\"$1\"\r\n for FILE in $FILES2CONVERT\r\n do\r\n FILE2BACKUP=$TMPDIR/Backup/`basename \"$FILE\" \"$1\"`\'.jpg\'\r\n if [ -e $FILE2BACKUP ]; then\r\n printf \"$SCRIPT:$LINENO: Skipping $FILE, jpg file already exists\\n\"\r\n elif [ -e $FILE ]; then\r\n printf \"$SCRIPT:$LINENO: Converting $FILE to $FILE2BACKUP\\n\"\r\n $dcraw -cvz -w -o 1 -q 3 \"$FILE\" | cjpeg -quality 80 -optimize > \"$FILE2BACKUP\"\r\n else\r\n printf \"Did not convert $FILE\\n\"\r\n fi\r\n done\r\n}\r\n\r\n# function to resize jpeg to upload to picasa\r\nfunction resize_to_thumb () {\r\n FILES2RESIZE=$TMPDIR/Backup/* # TODO pass this in as argument along with destination directory\r\n for FILE in $FILES2RESIZE\r\n do\r\n printf \"$SCRIPT:$LINENO: Creating thumbnail for $FILE...\"\r\n convert $FILE -resize 2048x2048 $TMPDIR/Backup/Upload/`basename \"$FILE\" \".jpg\"`\'_thumb.jpg\'\r\n printf \"done\\n\"\r\n done\r\n}\r\n\r\n# function to import photos\r\nfunction import_photos () {\r\n printf \"$SCRIPT:$LINENO: Importing Photos\\n\"\r\n if $SD; then\r\n cp -p \"$SDDIR\"/* .\r\n else\r\n $gphoto2 --quiet --get-all-files\r\n fi\r\n}\r\n\r\n# function to remove spaces in file names\r\nfunction remove_spaces () {\r\n $find $1 -depth -name \"* *\" -execdir $rename \'s/ /_/g\' \"{}\" \\;\r\n}\r\n\r\n# function to sort images into direcotries based on date.\r\n# input: directory to sort ($1)\r\n# directory to sort into ($2)\r\nfunction sort_images () {\r\n SORTDIR=$2\'/Sorted/\'\r\n for FILE in $1\r\n do\r\n printf \"$SCRIPT:$LINENO: Sorting $FILE\\n\"\r\n DATEDIR=$SORTDIR`date -r \"$FILE\" +%Y`\'/\'`date -r \"$FILE\" +%Y-%m-%d`\r\n mkdir -p $DATEDIR\r\n cp \"$FILE\" $DATEDIR/\r\n done\r\n}\r\n\r\n# function create archive and upload to AWS S3\r\n# input: directory to create an archive for ($1)\r\n# s3 bucket name ($2)\r\nfunction archive_folder () {\r\n ARCHIVE=$TMPDIR/$(basename $1).tar.bz2\r\n printf \"$SCRIPT:$LINENO: archiving $ARCHIVE\\n\"\r\n $tar -cvjf $ARCHIVE $1\r\n $s3cmd put $ARCHIVE $2\r\n}\r\n\r\n# Create temporary directory\r\nmkdir -p $TMPDIR\r\ncd $TMPDIR\r\n\r\n# Create AWS Glacier archive\r\nif $S3; then\r\n archive_folder $BACKUP_FOLDER $BUCKET\r\n cd $CURRENTDIR\r\n if [ $NODELETE = false ]; then\r\n rm -rf $TMPDIR\r\n fi\r\n exit 0\r\nfi\r\n\r\n# Import files from camera\r\nimport_photos\r\nprintf \"$SCRIPT:$LINENO: Importing Photos Done!\\n\"\r\n\r\n# Remove Spaces in Filenames\r\nremove_spaces $TMPDIR\r\n\r\n#Convert all files to lower case\r\nprintf \"$SCRIPT:$LINENO: Converting Photos to Lower Case.\\n\"\r\nfor FILE in *\r\ndo\r\n f=`echo $FILE | tr \'[:upper:]\' \'[:lower:]\'`\r\n mv \"$FILE\" \"$f\"\r\ndone\r\nprintf \"$SCRIPT:$LINENO: Converting Photos to Lower Case Done!\\n\"\r\n\r\n# Sort files\r\nsort_images \"$FILES\" \"$TMPDIR\"\r\nprintf \"$SCRIPT:$LINENO: Sorting Images Done!\\n\"\r\n\r\n# Create backup jpgs and upload them to Picassa\r\nmkdir -p $TMPDIR/Backup\r\ncp $TMPDIR/*.jpg $TMPDIR/Backup/\r\n\r\nconvert_to_jpg \".nef\"\r\nconvert_to_jpg \".nrw\"\r\nmkdir -p $TMPDIR/Backup/Upload\r\nresize_to_thumb\r\n\r\nif $GOOGLE_BACKUP; then\r\n # Upload jpgs to Picassa\r\n # Requires that you authorize googlecl through the web browser.\r\n $google picasa create --user $GOOGLEUSER --title \"Backup \"`date +%Y-%m` $TMPDIR/Backup/Upload/*\r\nfi\r\n\r\n# Copy files to final locations\r\n$rsync -ravv $TMPDIR/Sorted/ $DESTINATION # TODO test to make sure destination works\r\n\r\ncd $CURRENTDIR\r\n\r\n# Remove temp folder\r\nif [ $NODELETE = false ]; then\r\n rm -rf $TMPDIR\r\nfi\r\n\r\nprintf \"$SCRIPT:$LINENO: Processing Complete!\\n\"\r\nexit 0\r\n
\r\n
\r\n',263,42,1,'CC-BY-SA','bash, photography, automation',0,0,1),
(1792,'2015-06-16','An Interview with Andrea Frost',607,'David Whitman interviews Andrea Frost during LinuxFest Northwest.','\r\nI interview Andrea Frost at LinuxFest Northwest.\r\n
\r\n\r\nAndrea Frost holds a B.A. in German language and a concentration in mathematics from Western Washington University. A passionate advocate of youth and education, Frost has a wide spectrum of volunteer experience with youth organizations.\r\n
\r\n\r\nShe is currently an office assistant for Kids Council Northwest and finishing a post-graduate degree in computer science from Western.\r\n
\r\n\r\nhttps://awc.cs.wwu.edu/\r\nWestern Washington University\r\nAssociation for Women in Computing\r\n
\r\n\r\n\r\nhttps://www.bellinghamherald.com/news/local/article22275924.html\r\n
\r\n',209,78,1,'CC-BY-SA','LinuxFest Northwest, Andrea Frost, Women in Computing',0,0,1), (1793,'2015-06-17','Some thoughts about the Go language',539,'I\'ve been learning Go recently. Here are my initial thoughts about the language and framework.','\r\nShow_Notes:\r\n
\r\n\r\nHere are some useful links when learning Go:\r\n
\r\n\r\n\r\nAnd here are some links to things I mentioned during the show:\r\n
\r\n\r\nhttps://en.wikipedia.org/wiki/Python_%28programming_language%29
\r\nUnless otherwise stated, all are made by Park Bicycle Tools: https://www.parktool.com/
\r\n\r\n\r\nAn Interview with Aaron Wolf of the Snowdrift Co-op project by David Whitman during LinuxFest Northwest 2015\r\n
\r\n\r\nAaron Wolf https://blog.wolftune.com/\r\n
\r\n\r\nSnowdrift: https://snowdrift.coop\r\nAbout:\r\nWe\'re building a sustainable funding platform for freely-licensed works. Our innovative matching pledge creates a network effect where we all work together to support these public goods.\r\n
\r\n\r\nIntroducing Snowdrift.coop\r\n
\r\n\r\nOur matching patronage system allows everyone to support FLO projects with minimal risk and maximum impact.\r\n
\r\n\r\nUnlike the one-to-one matching used in traditional fundraising, we use a many-to-many matching pledge that creates a network effect (like the internet itself) so that we all reinforce one another. Unlike one-time fundraising campaigns that help projects get started, Snowdrift.coop pays out monthly to provide sustainability for ongoing work.\r\n
\r\n\r\nBefore the times of modern market capitalism, creative workers were supported by wealthy patrons. With Snowdrift.coop, the global community becomes the patron. Instead of businesses deciding the options that we then merely choose from as consumers, we will support and actively work with projects that best serve the interests of the public.\r\n
\r\n\r\nSnowdrift wiki: https://snowdrift.coop/p/snowdrift/w\r\n
\r\n\r\nIRC at: freenode.net at #snowdrift \r\n
',209,78,1,'CC-BY-SA','Free Software Support',0,0,1), (1802,'2015-06-30','An Interview with Emily Hampton a LinuxFest Northwest Volunteer',415,'An Interview with Emily Hampton a LinuxFest Northwest Volunteer','\r\nI expand some on Jon Kulp\'s show on using Labels in Audacity. Specifically, I comment on importing a Label track from a Tab separated text file.\r\n
\r\n\r\n\r\nI go on to talk about using Notch filters, a Nyquist-effect plugin for Audacity. Notch filters work extremely well on certain frequency centered noise like mains hum.\r\n
\r\n\r\n\r\nI follow up by talking about chains. A way of doing batch operations directly in Audacity.\r\n
\r\n\r\nLink to the videos of the crawling robots: https://iki.hs-weingarten.de/?lang=eng&page=p_crawler\r\n
\r\n\r\nLink to the general Ravensburg-Weingarten University of Applied Sciences page, where you can also find videos of the service robots \"Kate\" and \"Marvin\": \r\nhttps://iki.hs-weingarten.de/?lang=eng&page=aktuelles\r\n
',271,78,0,'CC-BY-SA','machine learning, robots, maker',0,0,1), (1801,'2015-06-29','How to tell your left earbud from your right',152,'Lowering the quality of shows, Ken provides a lifehack tip.','\r\nTie a knot in your left ear bud lead, and you can feel which is which without looking.\r\n
',30,0,0,'CC-BY-SA','lifehack, earphones, knots, tips, hints, tricks',0,0,1), (1956,'2016-02-01','HPR Community News for January 2016',2340,'HPR Community News for January 2016','\n\nThere were no new hosts this month.\n
\n\n\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 55 comments:
\n\nWelcome to our new hosts:
\n Nacho Jordi, \n Jon Doe, \n m1rr0r5h4d35.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 17 comments:
\n\nWelcome to our new hosts:
\n Brian in Ohio, \n noplacelikeslashhome.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 29 comments:
\n\nWelcome to our new hosts:
\n Joe, \n brian.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 46 comments:
\n\nWelcome to our new hosts:
\n Bitbox, \n njulian, \n schism, \n pope523, \n Steve Saner, \n matthew, \n Lyle Lastinger.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 57 comments:
\n\r\n\"Apt spelunking\" is a silly term I made up for the act of searching through the Debian package repositories with vague terms, and trying out random applications therein.\r\n
\r\n\r\nToday, we will be covering three packages: surf, lightyears, fbterm\r\n
\r\n\r\n\r\nSurf is a lightweight, graphical browser. It uses the webkit rendering engine, and is a GTK-based application (not that you can tell). It is extremely spartan. Part of the suckless project, surf takes the Unix philosophy to it\'s extreme.\r\n
\r\n\r\nEssentially, you only get a single browser window. No tabs, bookmarks, or other interface to speak of. Any navigation is accomplished through links on the page, or some very rudimentary keyboard shortcuts. Ctrl+H goes forward in history, and Ctrl+L goes backwards. If you want to visit a URL, you can either send it as a command-line argument, or use Ctrl+G to bring up a drun-like text input. It is perfect for lightweight system configurations, surf does the bear minimum to qualify as a web browser.\r\n
\r\n\r\nIf you\'re looking for zen simplicity, or want an easy way to embed a web app in its own window without a lot of overhead, surf is an excellent option.\r\n
\r\n\r\n\r\n20,000 light years into space bills itself as a \"single player real-time strategy game with steampunk sci-fi\". In it, you are given a square of alien landscape, dotted with steam vents, and a small settlement at the center. This settlement runs on the steam so abundant on this alien world, and it\'s your job to keep the steam flowing.\r\n
\r\n\r\nThe game consists of building steam nodes, which capture steam from the vents, and connecting them back to your settlement. Of course, you can\'t simply build a straight pipe back to your settlement; the length of the pipe is taken into account, and the longer the pipe, the harder it is to get steam to travel through it. You can get around this by daisy chaining nodes together in a web, and providing multiple routes back to your settlement. Running a steam-powered base on this alien planet isn\'t without its share of dangers, however! There are aliens, inclement weather, and seismic instability that can all damage your network of steam pipes and nodes. If your steam pressure falls below a certain threshold, you lose. \r\n
\r\n\r\nThis game has an eerie similarity to network engineering, and I\'ve always enjoyed it a lot. It can get very frustrating, though, and the difficulty levels are steep steps. If you\'re interested in strategy games, I\'d highly recommend giving this one a try.\r\n
\r\n\r\n\r\nAnother in the lightweight category, fbterm is a terminal emulator that\'s designed to be run with a framebuffer. A framebuffer is a low-level method for displaying text and/or graphics on a monitor, and is often used to run GUI applications without the overhead of an X server.\r\n
\r\n\r\nYou can use fbterm to get an antialiased terminal, with freetype font support. That means you can use bitmap and vector fonts, just like most full-featured terminal emulators, without the extra weight of running an X session and window manager.\r\n
\r\n\r\nIf you like window managers, you could also use fbterm as a replacement for one of your consoles, using a program called \"rungetty\". Here\'s the instructions: https://superuser.com/a/810655/21018 I don\'t mind having fbterm as a backup terminal, in case I need to debug an X session or my window manager has locked up. Having an option that is more graphically pleasing than a bare getty TTY can be a lifesaver.\r\n
',196,98,0,'CC-BY-SA','games,debian,terminal,browser',0,0,1), (1809,'2015-07-09','My \"New\" Used Kindle Touch',665,'I talk about why used stuff is often better than new stuff, with my new used Kindle Touch as example','In this show I talk about why I like to buy stuff used whenever possible, whether it be printers, routers, shirts, books, or my latest acquisition, a used Kindle Touch, which in many ways is much better than my (much newer) Kindle paperwhite. Just for fun, I allow the Kindle Touch itself (using its built-in text-to-speech capabilities) to tell me the ways in which it\'s better than the Kindle Paperwhite.
',238,0,0,'CC-BY-SA','Kindle, eBook Readers, Used Stuff, Recycling, Thrifting',0,0,1), (1814,'2015-07-16','Custom Context Menus in GNU/Linux GUI File Managers',763,'I describe how to add custom context menu items in the Nautilus and Thunar file managers.','On Nautilus you have to put your scripts into the Nautilus scripts
folder, which on my system is located here:
\r\n~/.local/share/nautilus/scripts\r\n\r\n\r\n
You can either put copies of the scripts in there, or you can do like I did and make symlinks from the Nautilus scripts folder to your /home/bin
folder. (I prefer to make symlinks instead of copying the files in there, just in case I make any changes to my scripts. If I have made a symlink instead of copying the file, then I only have to change original script and the symlink will automatically use the updated version.) Once you\'ve done that, you right-click on a file and choose scripts
then <yourscriptname>
to run your script on the file.
On Thunar you don\'t have to put your scripts anywhere special. It actually handles custom actions much better than Nautilus, in my opinion. What you do is go to the Edit
menu and choose Configure custom actions
. Then you get a dialog box with two tabs. The first tab is where you can give your custom action a name and then tell it what command to run, and also tell it whether to apply the custom action only to the selected file, to all files in the directory, or to all selected files. On the other tab you choose the context in which this custom action will appear. You can select categories of files—like images, audio files, or text files, and so forth—or you can specify filetypes by extension, so that your custom action will only appear if you right click on a file that has the extension.
\r\nThe blog on Knightwise.com which inspired/sourced this episode: https://knightwise.com/whats-in-your-bag-week-day-3-matt-mcgraw/\r\n
\r\n\r\nThe photo of my gear: https://cloud.thestrangeland.net/index.php/s/meDq3hozvgkay2W
\r\n\r\n
\r\nComplete show notes: https://hackerpublicradio.org/eps/hpr1807.html\r\n
',286,0,1,'CC-BY-SA','Arch Linux, dev, environment',0,0,1), (1810,'2015-07-10','17 - LastPass Hacked - What Does It Mean?',1380,'LastPass was hacked, but how bad is it?','\r\nOn June 15, LastPass disclosed that it had been hacked, and I think by now just about everyone has heard about it. I know I received questions because I have recommended LastPass often, and my advice has been to stay with them. What I want to do now is explain exactly why this was not quite the big deal it was made out to be in some quarters, and that anyone telling you to stop using password vaults is only asking you to lower your own security.\r\n
\r\n\r\nFor more go to https://www.zwilnik.com/?page_id=841 \r\n
\r\n\r\nIn the last part I told you of my first encounter with a mainframe computer and the Algol60 language while an undergraduate student at Aberystwyth University.
\r\nToday I want to talk about the next stage as a postgraduate student at the University of Manchester.
\r\nIt seems to have taken me over 6 months to prepare this episode of this series, for which I apologise. I seem to get distracted as I do my background research.
\r\nSince the notes explaining this subject are particularly long, they have been placed here: https://hackerpublicradio.org/eps/hpr1811_full_shownotes.html and an ePub version is also available here: https://hackerpublicradio.org/eps/hpr1811_full_shownotes.epub.
\r\nIn this episode I use a https://www.amazon.com/gp/product/B005DJOIHE $2 microphone to record as I walk from home to my office. The topic is the 5 pairs of headphones I have and their various features, qualities, drawbacks, etc.
\r\n\r\n\r\nThe web site that started this all:\r\n
\r\n\r\n\r\nBig Muff Pi:\r\n
\r\n\r\n\r\n\r\n\r\nParts Distributors:\r\n
\r\n\r\n\r\nHammond Box:\r\n
\r\n\r\n\r\nJoe Knows:\r\n
\r\n\r\n\r\nPicture of the gathered parts:\r\n
\r\n\r\n\r\n\r\n\r\nWhen I made the reference to \"two red lips\" regarding resistor colors I didn\'t quite explain what that meant. It was a way I learned, way back when, to remember which color was which number on a resistor. I hadn\'t thought about it in years. It used rhyming and references scheme to line the colors up with values. \r\n
\r\n\r\n0- Black - It\'s a \"no\" color, a zero\r\n1- Brown - \'brow-one\'\r\n2- Red - Two red lips\r\n3- Orange - Orange tree\r\n4- Yellow - Yell for help\r\n5- Green - a five dollar bill is green\r\n6- Blue - Blue and sick\r\n7- Violet - Violet heaven\r\n8- Gray - Great\r\n9- White - White wine\r\n\r\n',235,103,0,'CC-BY-SA','electronics,guitar pedal,fuzzbox,resistor colours',0,0,1), (1816,'2015-07-20','Visualising HPR tags',549,'Using GraphViz to visualise the tags on HPR episodes','
As you know, HPR asks for tags to be added to the episodes we contribute. These are intended to be used to produce some kind of improved topic search at some point in the future.
\r\nI find it difficult to decide what tags to add to my shows, and I expect many people feel the same way about it. Should I use common tags like Linux or does that not differentiate it enough? How many tags should I add, should the words be plural or singular?
\r\nWe have recently been asked to contribute to the task of adding tags to previous shows, so it\'s very much a hot topic at the moment.
\r\nIn thinking about this I wondered if there was a way in which existing tags could be represented in a visual way to help with the process of choosing and rationalising tags. It was the type of thought that occurs to you in the shower or while out for a walk.
\r\nIn my last job I occasionally used a package called GraphViz to generate graphical representations. I used it to generate a chart showing how the organisation (a university) was divided up into schools, departments, sections and so on in a hierarchical manner. I wondered if it could be used for this task.
\r\nI decided to use my currently preferred scripting language, Perl, and found there was a module which let me access GraphViz. I started putting together a script.
\r\nThe script was created in an evening and is still rather rough. It performs a very simple query on the database to obtain the show numbers of shows with tags, their titles and their tags. It then uses a CSV parser to parse the tag list and builds a hash table indexed by tags, where the contents per tag are the show numbers that use this tag.
\r\nHaving built this hash table it is used to generate GraphViz data by making each tag and each show number a node and joining them together.
\r\nFinally the script processes the graph to produce output in SVG format which is available to view.
\r\nBear in mind that this is not a finished project - it may never be finished! The script may not be ideal. My understanding of GraphViz may be insufficient, and the rendering of the SVG may not be good (I got various results on different browsers).
\r\nHowever, you might find it interesting or even useful. Feedback on the idea is welcome.
\r\ntag_visualise
script as an SVG file: https://hackerpublicradio.org/eps/hpr1816_tag_visualise.svgOne of these things is how to create horizontal lists in LibreOffice. This is something that I wanted to do, I think it was maybe a year ago that I was really trying to find out how to do this. What I mean by that is I wanted to be able to do in LibreOffice the equivalent of an in-line list in HTML and CSS. There\'s a way in CSS to tell the browser to display a series of list items in-line rather than vertically—and this is used all the time for footers and headers and things of that sort—and I wanted to be able to do that in LibreOffice because it would ease the process of creating the exams that I make in my classes, where I have a numbered list for all of the questions, and the answers for each question are also done in a numbered list but at the 2nd level—usually done with a, b, c and d, whereas the numbers of the questions are 1, 2, 3, 4, and so forth. What I wanted to be able to do was have the ordered list a, b, c, d spread out horizontally across the page without having to do it manually. So in other words I wanted to be able to type a word for an answer and then press enter
, and instead of having it go into a new line, have it simply move over to the right a little bit with a new letter in place for the next item in the ordered list. I hope it\'s clear what I\'m after here.
Anyway I never did find a way to do this. I searched online and there were a couple of other people who were interested in doing the same thing but they were all told this is impossible. Well, sort of. I found a workaround for this and it\'s not all that elegant but in a pinch it could work, and I don\'t think I would want to do it for an entire test but I thought it was kind of a cool way to do it.
\r\n\r\nSo what you do his make up the ordered list just like usual. I have here on my computer right now opened a document with a single question, question no. 1. And then it has at the 2nd level of ordered list a series of 4 options: red, purple, green, and blue. And each one of these is in a font color of the same name, so that the word \"Red\" is red, the word \"Purple\" is in purple, \"green\" is in green. I do this because it makes it easier to see how these things move up and down. There are little buttons down at the bottom of the screen where if you click on the arrow up or the arrow down, it will move the list item up or down. So right now red is in the 1st position, but if I click the down arrow it will go down to the 2nd position and the one that was formally 2nd is now 1st. So purple and red have switched places.
\r\n\r\nI want to have this kind of flexibility going horizontally as well, and the way I found to do this was to use columns. I select the 4 items and then under the Format
menu choose Columns
and tell it I want 4 columns because I have 4 items, and I click OK
and suddenly these things are distributed across the screen horizontally. Now if I click the up arrow, the item moves left and right!
The bad thing about using columns is that the columns are of uniform width, so they do not dynamically change according to the number of characters that are in the word the way it would do in HTML with CSS.
\r\n\r\nTo convert a Word .docx
file to HTML
, run the following command (LibreOffice must not be open in a graphical environment when you try to do this):
\r\nlibreoffice --headless --convert-to html foobar.docx\r\n\r\n\r\n
To convert the same document to .odt
format, run this command.
\r\nlibreoffice --headless --convert-to odt foobar.docx\r\n\r\n\r\n
\r\nFrank describes James Beard\'s simple and almost infallible recipe for making Hollandaise sauce with a blender.\r\n
\r\nThe recipe from the _Theory_and_Practice_of_Good_Cooking_, used copies of which can be readily found via a web search. According to Amazon.doc, new copies are also available. Frank\'s copy is a first edition dating from 1977, though it\'s been used too much to be a collector\'s item.\r\n
\r\nIn the previous tutorial we looked at Presentation Styles, and I started with them because they were mostly similar to what we already covered in Writer when we looked at Paragraph styles. But Impress is a graphical product, so we need to wrap our heads around a different set of issues here. and that brings us to Drawing Object Styles.\r\n
\r\n\r\nFor more go to https://www.ahuka.com/?page_id=1182\r\n
\r\n',198,70,0,'CC-BY-SA','LibreOffice, Impress, Presentations, Styles',0,0,1), (1825,'2015-07-31','58 - LibreOffice Impress - Creating a Template for Hacker Public Radio',850,'Creating a sample template illustrates these concepts','\r\nThe idea in this tutorial is to tie together some of the concepts developed in the previous tutorials to create a Master Page, or Template, or Slide Master. (They all mean the same thing, but within Impress they are shown on the Sidebar as Master Pages, so I will stick with that terminology here.) I say we will use some of these concepts because trying to put everything into one Master Page would create a hideous end result. And since it helps to have a definite objective in mind I have decided to create one for Hacker Public Radio, where I record these tutorials as podcasts for the Internet.\r\nFor more go to https://www.ahuka.com/?page_id=1204\r\n
\r\n\r\n\r\nNo longer owning a car of our own, we use the car-sharing service GreenWheels, which for a subscription of €5 per month, we are allowed to rent any of the hundreds of cars confidentiality parked all around the Netherlands.\r\n
\r\n\r\nOnce you subscribe you get mailed a credit card sized RFID card and a PIN code.
\r\n\r\nGo to the website and enter in your location using ZIP/postcode or town name. You specify the times range you want to use it for and then press find to list the available options. A Google Map will appear with the availability of the cars displayed green for available and red for booked. Pick the one you want, login and confirm.\r\n
\r\n\r\n
\r\n\r\nGo to the car location and then open the car by placing the RFID card next to the RFID reader located just above the steering wheel. The central locking will open the doors allowing you to get in.\r\n
\r\nTake the controller out of the glove compartment and enter your pin code to unlock the ignition system.\r\n
\r\nYou can confirm that there is no damage, or log any damage that has occurred. Take the regular key and use that to start the car.\r\n
\r\n\r\nIf you need to refuel then go to any [gas|petrol] station and refuel. Make note of the current distance travelled on the Odometer, and take the fleet refuelling card from the glove compartment. Instead of paying yourself, the bill will be charged directly to GreenWheels. Return the refuelling card and receipt to the glove compartment.\r\n
\r\nLoads to see in the Netherlands.
\r\n\r\n\r\nWhen you are finished, return the car and after checking that you have all your stuff, answer yes to the question \"Have you returned to the start point ?\". Then leave and use the RFID card to lock the car.\r\n
\r\n\r\n\r\nAs we pointed out previously, Impress is inherently a graphical, and even multimedia, way of communicating. In fact, we saw in the previous tutorials that Impress and Draw share a common set of Styles that apply to both programs, and I have often seen in documentation that Impress and Draw are often mentioned in the same breath, so to speak. So it is important that we start developing an understanding of the graphical elements in Impress.\r\nFor more go to https://www.ahuka.com/?page_id=1217\r\n
\r\n\r\nI like to use images in HPR shows if I can. I have experimented with various ways of preparing them since I first started contributing, but I\'m particularly impressed with what I am able to do using ImageMagick.
\r\nThe ImageMagick
system contains an enormous range of capabilities, enough for a whole series of shows. I thought I would talk about some of the features I use when preparing episodes to give you a flavour of what can be done.
I\'m the rawest amateur when it comes to this kind of image manipulation. Just reading some of the ImageMagick documentation (see links) will show you what an enormous number of possibilities there are. I am only using a few in this episode.
\r\nI have prepared longer show notes and demonstrated some scripts to explain how I process images. These can be found here.
\r\n\r\nIn the last tutorial we looked at pictures and how they can be used in Impress. But I left out one area because the tutorial was already running a bit long, and I wanted to give the Gallery and Themes the full attention they deserve. I think this is something a lot of people have missed when working with Impress, at least I have not seen these elements includes much in peoples presentations. But they are a wonderful addition to your toolkit, and well-worth some attention. Note that the Gallery is a common feature of all LibreOffice applications, and is available in applications like Writer and Calc, though there is less need for it there. It is when you get to applications like Impress and Draw that you really discover how useful it can be.\r\nFor more go to https://www.ahuka.com/?page_id=1222\r\n
\r\n\r\nLately I\'m finally getting around to learning some Python. I wouldn\'t go as far as to say I\'m learning it properly—that\'s not really my way—I\'m kind of poking around in the dark learning things on an \"as-needed\" basis, but I\'m finding that it\'s incredibly powerful and making me much more efficient in my daily life. In this podcast I discuss some of my favorite ways of using it and some of the cool modules and libraries that I\'ve found that make things surprisingly easy in Python that used to be difficult for me in bash
.
pyperclip | A cross-platform clipboard module for Python. (only handles plain text for now) https://pypi.python.org/pypi/pyperclip/1.5.11 |
pyttsx | A Python package supporting common text-to-speech engines on Mac OS X, Windows, and Linux. https://pypi.python.org/pypi/pyttsx |
bs4 | HTML parsing library. Beautiful Soup Documentation |
htmlmin | A configurable HTML Minifier with safety features. https://pypi.python.org/pypi/htmlmin/ |
smartypants | smartypants is a Python fork of SmartyPants, which easily translates "plain" ASCII punctuation characters into “smart” typographic punctuation HTML entities. |
titlecase | Changes all words to Title Caps, and attempts to be clever about SMALL words like a/an/the in the input. https://pypi.python.org/pypi/titlecase |
swnamer | A name generator that uses Star Wars characters, species and planets to create un fisique names. https://pypi.python.org/pypi/swnamer/0.1.0 |
I talk about my latest gadget, a used Kindle DX, which is a discontinued model with a 9.7 inch epaper screen. I talk about its features, limitations, how to navigate it, and I demonstrate its text-to-speech capabilities. Incidentally I really low-balled the original price of the Kindle DX. Looking around a little bit, I find that the original retail price was $479, which was then reduced to just under $400. Mine now seems like a bargain at $128 used.
\r\n\r\n\r\n',238,0,0,'CC-BY-SA','ebooks, ereaders, kindle, gadgets, reviews',0,0,1), (1827,'2015-08-04','How I make bread',1112,'I\'ve been making my own bread for nearly 40 years, and I thought I\'d share my methods','Ken Fallon was asking for bread-making advice on a recent Community News recording. I\'ve been making my own bread since the 1970\'s and I thought I\'d share my methods in response. Frank Bell also did an excellent bread-making episode in 2013.
\r\nI have prepared a long description of my bread-making process, with photographs and a recipe, and this is all available here: https://hackerpublicradio.org/eps/hpr1827/full_shownotes.html
\r\n\r\nNYbill talks about modifying his UNI-T UT61E multimeter to add two features he finds lacking. \r\n
\r\n\r\nIn part one an LED back light gets installed for the LCD screen. Part two will cover the second mod, a auto-time out feature to save the units battery. \r\n
\r\n\r\n\r\nTheru and NYbill talk about moving a Statusnet instance to a new server. Also, upgrading an existing Statusnet instance to GNU-social.\r\n
\r\n\r\nIt\'s okay to write your password down and keep it in your wallet, but it\'s best to try to hide it as well. Here\'s how to keep your password secure and handy at the same time by embedding it in a password card.
\r\n\r\nGenerate a fancy symbol-and-color-coded password card at passwordcard.org: https://www.passwordcard.org/en. Follow the directions there on how to use it best.
\r\n\r\nMake your own. Use the password generation package pwgen
on Linux to generate a whole bunch of random passwords. In the following example, the -s
flag tells it you want secure passwords that are generated randomly, not suitable for human memory. The -y
flag tells it to include special characters, and 24
indicates how many characters each password should contain.
\r\npwgen -sy 24\r\n\r\n\r\n
Then either use one of the passwords that was generated from this command or embed your own existing password somewhere inside the giant block of gibberish such that only you will know where your password begins and ends. You can put a copy of this in your wallet.
\r\n\r\n\r\n4b$0<k=#;?MJ^K:Uw\\6zmP5s\r\n\r\n
Y;4T3G+jUwJ!R+DT{2=6-^$"
!]""YmR%x.2uG"MGhm)TLyJA
}L)xpxG\\1n"\\]bC#+/t<a1*@
\'3^B`&mSHP@2p1s0;.Rrz_8k
skXLD!YAq|Ic!Y9(?DZKD:Oq
;#/)sCz7PEbly7>/W|KlbveO
a0}amC@^{+aKhnHMgc$qq$XX
A#!o2FhIkD1Fu(K?nE!Szru4
iDAw2=MIa~KE)q\'C>S|`A*q.
Y=g\'_0i{BOXr8O4N11f8&yRf
~+r^kB%#4o;zs:HWA/a\'4U#`
3":6E$PQ:y%D=^ENM5;!q^n4
i"n~oy"4KT/XYY2IV_A%3Sg\\
/evf,L5NSX$2-5b;OvZuhN$_
ds4ZD.t/!0yqcey.1?%P\'M!u
\'GDS-jBN+\'NB}cr7~Wy=;JSE
aI&7Byy$79Yf#gU|>@x_3IY2
-jyziY2pZ5M*#iL?9p+^F%PO
QUj&|HVDw2#x+t`1&zW"\'Rp{
\r\n
If you want extra security make two columns or increase the character count.
\r\n\r\n\r\nra;aH5v"}2lF()\\;K0f-G;YT 3XGq>wQ6")UvSU#NpYfr,M(h\r\n\r\n
PCgM%L)O[mra3vgsX{"0rV"0 7>qSluuegS<#;V-nI"uyc$bX
JE+4MxT/[t&i0\\(ndpE(z\\%@ }ZS\\3<xdG1]G%wf9;k6*_94%
FFZ}gR9hyZ=EsC6QgMz:n$=U h&-O+Wz7L8LmehF&znhF8#Ig
p`4C3PN^1F"AmlQe=[pkz<EM /,FOfQtR|"c8EzN8ug?i359=
a%i;X3~g0SqbKM|]#{hReCmP }.#EOVPxCX)b!r_>o@V9J_^9
H-<FAQ4I]SPlX!$o#I?~2ACy -<JE82-\'YV@bl;O_>(nxPgVH
PNHYp2_[-q9G?$Z:m?yZiAH. Xj(mZ0,7EabI-TL4-7RWK]n9
HCmiaZV{8EHREpS5Ppi_^SCl DTzK!CkZ#.c<3I;#}A#D(n$c
<koQz[`F99"{/vB~GcSt@n,* :J&*}n~.#F%{ErSs7j:}eyly
=!F:m65sA5utY,<AU\\8~Omz2 @P"*SIR/\\Ln0H;1JjM7P"{[0
8hk%p-)_3(P>;p.ROtRevNX_ BbwP00-Vq-5:38O.Z9MGom-n
9,txEI%j+\'7=7T@?X7^j^*`U ;!R<$|r3(QuJmsZe6}C(7%&s
X]`(;_6S@@<}Ia[&fZ3*naG7 fij5f)Mkp;EDO.CP""*~8{-^
S2_\'(C8Fn&[%nJ%`S3&r.N2< *$o\\Nrl*vJ0;zq7G3}wtMd0h
%is{8%\'^[b$Cu;a5_RYpy]LM k-=7(<\\uQ|hQH-m9.WYq6tx+
Vmb&c!$.@P>\\`1;1@ln(B#GY eQu\\~"L\'*xX%_)CTl*}8#2oD
=6I\'>(_nIsu=D2J{l4a4tf5x 3/7J1Rm.G.Hwo=Xm=Lv"o}jF
RYV/lC1|t&;!]@4#2r-h<88/ o[B[qZq@;=/MD8hX|nnZ-0$j
5k`x|:.0G{sra@WiuhHr^aU> Dy@Df^op.WCT)3jD(|T,I7E"
\r\n
\r\nThe Hacker Public Radio network owns a Zoom H1 digital voice recorder. If you are going to attend an open source event and think you would like to record interviews for Hacker Public Radio, make inquires to the mailing list and the correspondent with the recorder in their possession (currently FiftyOneFifty) will send it to you. This episode is a review of the devices features and how to use them.\r\n
\r\n\r\nManufacturer page: https://www.zoom-na.com/products/field-video-recording/field-recording/zoom-h1-handy-recorder\r\n
\r\n\r\nHow to use the H1 as an USB Mic https://www.youtube.com/watch?v=GG8hZ6PvfrQ\r\n
',131,78,0,'CC-BY-SA','Zoom H1, microphone, recording, review, DVR, digital voice recorder, tutorial, getting started, guide, howto, HPR',0,0,1), (1820,'2015-07-24','Kansas Linux Fest 2015, March 21-22, Lawrence KS, Interview 1 of 2',1248,'Interview Alex Juarez Rackspace Principal Engineer','\r\nFrom the LAMP Stack break-fix competition, to the breakfast buffet they funded on Sunday, the Rackspace crew presented their organization as the managed hosting company that puts the customer first, by making sure no customer has to wait in a long queue before taking to a human, and to staying on the line as long as it takes to make sure all problems are solved and all questions are answered. This kind of commitment to service naturally requires are larger number of people working tech support, and by the end of the weekend I think it was clear to everyone Rackspace was in Kansas to recruit. I was impressed when one of the Rackspace representatives told me, \"We can teach people tech. We can\'t teach people to want to help other people\". Rackspace dedicates a significant part of employee time to training and improving the skills of their help desk staff. If there is a drawback it\'s that when one shift is training, the other two are expected to pull extra hours to cover the third shift.\r\n
',131,78,0,'CC-BY-SA','interview,Kansas Linux Fest,Rackspace',0,0,1), (1823,'2015-07-29','Kansas Linux Fest 2015, March 21-22, Lawrence KS, Interview 2 of 2',1689,'Interview: Ryan Sipes, Organizer, Administrator, Coder, Innovator, Raconteur','\r\nRyan Sipes: KLF Organizer; Systems Administrator, Northeast Kansas Library System; Organizer of Lawrence (KS) Linux User Group; with Ikey Doherty, Ryan is a developer for Solus (formerly Evolve OS); a contributor to Vulcan text editor, written in Vala (Ryan\'s KLF talk, \"How to Write a GTK/Gnome Application\", was pretty much a tutorial in Vala)\r\n
\r\n\r\nRyan\'s projects and employer \r\n
\r\n\r\n\r\nKLF related interviews with Ryan Sipes \r\n
\r\n\r\n\r\nEvolve OS related interviews \r\n
\r\n\r\n\r\nKLF sponsors: \r\n
\r\n\r\n\r\nThe beers: \r\n
\r\n\r\n\r\nThis is A Shadowy Figure speaking to you from southwest Florida on Hacker Public Radio,\r\n
\r\n\r\nBrought to you by An Honest Host Dot Com where you can Get a 15% discount on all shared hosting with the offer code HPR15 thats H P R one five. Better webhosting that honest and fair at An Honest Host Dot Com.\r\n
\r\n\r\nNot only do I mention An Honest Host Dot Com out of commitment, but also out of respect. I\'ve listened to the interview by Ken Fallon of the man behind An Honest Host Dot Com Josh Knapp not long ago, and came away with a certain amount of appreciation for what Josh does. Which is basically keeping Hacker Public radio alive, along with the many other things he does. Thanks Josh, your generosity does not go unnoticed.\r\n
\r\n\r\nI\'ve been listening to HPR for about a year now and just recently purchased a Blue Yeti Microphone off of Ebay which turned out to be misrepresented and not in the condition it was claimed. As a side note, the day I received the Blue Yeti in the mail, I found the same microphone brand spanking new on Amazon.com for the same price as the used one I purchased on ebay. At one time I would have been disappointed by such a situation, but if theres anything I\'ve learned from experience, no matter how hard you punch the wall, the train still left at 4 o\'clock \r\nIf I were to devote an emotion to every real or perceived injustice I come across, I wouldn\'t have time to devote any emotions to the things enjoy.\r\n
\r\n\r\nAnyway, My computing background goes all the way back to the original TRS-80.\r\nThe experience of writing basic for 4 hours to create a pathetic facsimile of the game pong turned me away from computing until the graphical user interface of windows 3.11 came along.\r\nI was alright with the direction of where computing was moving along once windows matured, but I never had any love for microsoft products, Mac\'s were prettier, but a lot more expensive, and had great hardware to boot, but I never caught the mac addiction either. \r\n
\r\n\r\nSlackware caught my interest, but wasn\'t ready for prime time, and red hat was a bit more complicated than I was comfortable with in the mid 90\'s\r\n
\r\n\r\nsince 2006 I\'ve been using debian based operating systems exclusively, but still keep a macbook pro and a windows 8.1 laptop nearby for specific tasks I don\'t want to taint my linux box with.\r\n
\r\n\r\nKDE plasma has been my desktop of choice since 2010, and I don\'t use google, facebook, twitter, or any other corporate tracking devices. Including cell phones.\r\nSmoke signals and email are about the best way to get a hold of me, and smoke signals have been notoriously ineffective in the past.\r\n
\r\n\r\nMoving alone,\r\n
\r\n\r\nMy day job includes leadership training, which was a big step up from my old job in one of the most reviled professions known to man, yes that\'s right, I used to be a used car salesman, (you thought I was going to say lawyer didn\'t ya?) no, but I date a lawyer, but I try to keep that a secret. \r\n
\r\n\r\nSo now that I\'ve tainted my reputation for good with the hacker public radio audience, I may as well plow forward and see what other damage to my reputation I can do. You can think of my handle A Shadowy Figure as damage control for all the stupid things I end up doing by mistake. (like buying things of ebay).\r\n
\r\n\r\nAnyway, I thought I\'d share with the HPR audience my experience as a listener, and what I feel I can do to contribute. I love the mission statement behind HPR, and feel the need to do my part to see to it HPR continues to offer something of value to the hacker community.\r\n
\r\n\r\nLike many listeners and contributers to HPR, I listen to dozens of podcasts each week. Many of which belong in their spot of most downloaded podcasts, but I find a certain amount of charm in the grass roots nature of HPR.\r\n
\r\n\r\nMuch like the Norwegian trend of engaging in slow media content. As mentioned in a recent hpr episode, I actually found myself hypnotically engaged in 5150\'s whats in my pickup toolbox episode.\r\nI found myelf cheering on 5150 to come up with a pair of lugnuts to an unknown vehicle.\r\n
\r\n\r\nI was looking for solidarity there, being as for some reason, my prior toolboxes always seemed to have a couple of unknown parts, or even broken tools that should have been thrown out years ago, \r\nlike 5150\'s wire strippers.\r\n
\r\n\r\nI have to admit, Ken Fallons Amazing life hack episode of how to tell your left earbud from your right, lived up to its claim of setting a low bar. Ken has given some terrific episodes in the past, but this one fell a bit short of his standard of excellence. But I must admit, his goal was achieved.\r\nAs I listened, I said to myself, even I can top that! And thus, Ken inspired me to step over that low bar of quality he set, and record my own episode.\r\n
\r\n\r\nAfter reading up on the procedures for contributing a show, I came across the advice to not use bedding or background music, due to the diverse listening style of many HPR listeners.\r\n
\r\n\r\nOne of those listening styles Im vaguely familiar with was listening to podcasts speeded up.\r\nSomewhere I read about some people really really speeding up their recordings to the point most people can only hear a rapid fire series of blips and clicks. \r\nI don\'t know if that is typical, but I\'m inclined to think that is something found on the fring, and that most speed listeners fall in the range of 2 to 3 times normal rate.\r\n
\r\n\r\nI\'m also aware of a trend of some people to listen to music slowed down to the point of being one long drone that changes pitch every now and then.\r\n
\r\n\r\nPerhaps in the future, depending on what sort of feedback I receive, I\'d like to experiment with combining the two.\r\n
\r\n\r\nBasically, recording Normally recorded vocal content, with an ultra slow music soundtrack that would balance out with speed listening.\r\nIn essence, hacking the audio, to provide speed listeners with a soundtrack.\r\n
\r\n\r\nOn the flip side, one could hack the audio to appeal to slow listeners, speeding up the soundtrack, and changing the pitch of the vocals to account for slow listening.\r\nBut that would probably kill some speed listeners with weak hearts, so I\'ll steer away from that unless there is enough demand to justify that.\r\n
\r\n\r\nIt seems like a concept that\'s destined to fail, but it\'s something I was pondering and would try if there were an audience for it.\r\n
\r\n\r\nIf there were any interest, what I\'d need to know is how fast do speed listeners listen to their audio.\r\nWhich is probably all over the map, making any effort futile.\r\n
\r\n\r\nBut it\'s just a thought I thought I\'d throw out there, along with introducing myself to the HPR audience, and saying thanks to all the people who make HPR possible.\r\n
\r\n\r\nThis is a Shadowy Figure signing out.\r\n
\r\n',308,0,0,'CC-BY-SA','Speed Listening',0,0,1), (1832,'2015-08-11','Simplify writing using markdown and pandoc',1288,'How I use Markdown and Pandoc in my writing workflow','I write almost exclusively in Markdown https://daringfireball.net/projects/markdown when writing documents and taking notes. I use the program, Pandoc https://www.pandoc.org to convert markdown to different formats, including odt, docx, and pdf.
\r\nThe original purpose of Markdown: 1 > Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).
\r\nMarkdown has since been extended to include more features and functionality. Extended versions include Github-flavored markdown https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet and multi-markdown https://fletcherpenney.net/multimarkdown.
\r\nSome of the basic syntax:
\r\n#
to make headings__
or **
for bold_
or *
for italics[text](link)
for hyperlinks![text](link)
for imagesHead1 | Head2 | Head3
----- | ----- | -----
stuff | stuff | stuff
-
or *
or +
at the beginning of a line>
for block quote, tab for block code, ``` for fenced code. Highlighting is availablePandoc: 2 Pandoc can convert documents in markdown, reStructuredText, textile, HTML, DocBook, LaTeX, MediaWiki markup, TWiki markup, OPML, Emacs Org-Mode, Txt2Tags, Microsoft Word docx, EPUB, or Haddock markup to
\r\nI use Ubuntu because it is the only distro that does not bundle pandoc in the haskell libraries. With pandoc, you can specify the template that you are using, so that the same one document can be formatted quickly in many different ways and file formats.
\r\nWorkflow:
\r\nUse markdown for:
\r\nOther programs and tools:
\r\n\r\nKate is an excellent text editor. The \"Text Filter\" - enables easy text filtering, which by pressing Alt + Backslash pops up a screen that allows you to enter commands.\r\n
\r\n\r\n\r\nSettings > Configure Kate > Plugins > Text Filter\r\n
\r\n\r\n\r\nKate (short for KDE Advanced Text Editor) is a text editor developed by KDE. It has been a part of KDE Software Compilation since version 2.2, which was first released in 2001. Geared towards software developers, it features syntax highlighting, code folding, customizable layouts, regular expression support, and extensibility.\r\n\r\n
\r\nSource: https://en.wikipedia.org/wiki/Kate_(text_editor)\r\n
\r\n',30,0,0,'CC-BY-SA','kate, plugins, Text Filter',0,0,1), (1855,'2015-09-11','61 - LibreOffice Impress - Slide Layouts and AutoLayout Text Boxes',1066,'LibreOffice Impress Slide Layouts and components are explored','\r\nWe have spent several tutorials on graphics, including the Themes and the Gallery, and that is all to the good since Impress is a graphical program to some degree. But it also is a way of presenting text content, and it worth a little time to develop that further. Impress does some things with text that resemble other programs like Writer, but it also does some things differently so it is worth a moment to discuss these specifics.\r\nFor more go to https://www.ahuka.com/?page_id=1245\r\n
\r\n\r\n\r\nText Boxes are considered graphical objects, actually, so they are controlled by the Drawing Object Styles. These can be a little bit confusing because they are shared among different LibreOffice modules, so some of the things you see arent really meant for Impress. For example, there are three Title styles, but none of them are meant for putting titles on slides. They are actually meant for putting titles on drawings, such as engineering drawings. If you you wanted to have a slide title but use Text boxes, you should select the Title Only slide layout. The Title would be controlled by the Title Presentation Style.\r\nFor more go to https://www.ahuka.com/?page_id=1250\r\n
\r\n\r\n\r\nIn 1995 there was a password-sniffing attack on the network of the University of Helsinki in Finland, and this lead a researcher there, Tatu Ylönen, to create the first SSH implementation. SSH is an acronym for Secure Shell, and expresses the idea that you can securely log in and get a shell on a remote server. This was initially released as free software, but in later versions he took it proprietary. But the developers at OpenBSD decided that a free software implementation was needed, and they created OpenSSH, which is the basis for most implementations today. \r\nFor more go to https://www.zwilnik.com/?page_id=722 \r\n
\r\n\r\n\r\nI let espeak describe my way through the world of bits and bytes from the punch cards of our Partnerbrigade to my Manjaro-laptop of today.\r\n
',309,29,1,'CC-BY-SA','espeak,East Germany,punched cards,Commodore 64,Atari Mega ST,Macintosh,iMAC,MAC OS,LaTex,Debian,Ubuntu,Mint,Bodhi,ArchBang',0,0,1), (1837,'2015-08-18','Put an SSD in your Linux Box',1102,'What to check, read, and update if you want to upgrade your Linux PC with an Solid State Disk. ','\r\nSome commands I mentioned that you should check out:\r\n
\r\n\r\nCheck SSD disk specs: \r\n
\r\n\r\nsudo hdparm -I /dev/sdb\r\n\r\n
\r\nCheck for TRIM support: \r\n
\r\n\r\nsudo fstrim -v /\r\n\r\n
\r\nPerform TRIM support \r\n
\r\n\r\nsudo hdparm -I /dev/sdb | grep -i TRIM\r\n\r\n
\r\nNYbill does a quick review of his favourite multimeter for electronics, the UNI-T UT61E:\r\n
\r\n\r\n\r\nA photo of the inside and outside of the meter:
\r\n\r\n
\r\nI forgot to mention or show a picture of the data logging cable. I never use this feature so I tend to forget its there. \r\n
\r\n',235,103,1,'CC-BY-SA','multimeter,RMS meter,diode test,auto range',0,0,1), (1839,'2015-08-20','My \"New\" Used Pickup Truck',1320,'I talk about my pickup truck and doing some repairs and stuff','After 16 years my wife and I decided to become a 2-vehicle family, and as a result I got myself a 2004 Ford Ranger. In this episode I talk about the process of finding and purchasing the truck, and then about some repairs I did and some other stuff related to it.
\r\n\r\n\r\n',238,0,0,'CC-BY-SA','DIY, automobile',0,0,1), (1844,'2015-08-27','The Marantz PMD 660 Professional Solid State Recorder',886,'I talk about the recording device I inherited from my mother-in-law and use it to record the show','\r\nI inherited a really nice audio recorder and microphone from my mother-in-law recently and in this episode I talk all about it and use the new device to record the show.
\r\n\r\n\r\n\r\n\r\n
\r\n\r\nhttps://www.thinkwiki.org/wiki/Category:T40\r\n
',297,0,0,'CC-BY-SA','ThinkPad T40,PCLinuxOS',0,0,1), (1838,'2015-08-19','Waking up with Windigo',925,'An overview of a terrible, hacky method of waking up.','This is a quick summary of my alarm clock system, written in bash and highly\r\nunreliable.\r\n\r\n\r\nMy preferred hardware platform is a Dell Mini 9.\r\n
\r\n\r\n\r\nMy alarm clock is an embarrassing combination of bash scripts and Audacious, my\r\nfavorite media player. Any media player will do, as long as it\'s scriptable.\r\n
\r\n\r\n\r\nThere are currently two bash scripts in my crappy alarm setup. One script is\r\ncalled \"wakeup\" and the other is called \"wakeup-at\".\r\n
\r\n\r\nwakeup is simply a wrapper that adds some error handling around audacious. It\r\nlaunches audacious if it can\'t find an instance running already, waits five\r\nseconds for it to get itself together, and then causes it to play. It is also\r\ncurrently broken, so the \'launching audacious\' part doesn\'t work. I have to\r\nmanually start audacious myself. FAILURE.\r\n
\r\n\r\n\r\n#!/bin/bash\r\naudacious &\r\n\r\nsleep 5s\r\n\r\naudacious -p &\r\n\r\n\r\n
\r\nYou\'ve noticed that the \"wakeup\" script doesn\'t actually have any timing\r\ninvolved; If you want to use it as an alarm, you get to combine it with the bash\r\n\"sleep\" command. This is not a failure, this is by design! An example alarm:\r\n
\r\n\r\n\r\nsleep 8h; wakeup\r\n\r\n\r\n
\r\nOne problem with this methodology is that it requires math, and is prone to\r\nerrors. If I\'m going to sleep at 10:46:33 PM and need to wake up at 7:00 AM, I\r\nneed to chain sleep commands together for each unit of time:\r\n
\r\n\r\n\r\nsleep 7h; sleep 14m; sleep 27s; wakeup\r\n\r\n\r\n
\r\nGet some of that math wrong, and you wake up at the wrong time. FAILURE.\r\n
\r\n\r\n\"wakeup-at\" is a wrapper around \"wakeup\" that uses the \"at\" utility to schedule\r\nthe wakeup script. So, instead of using multiple sleep commands, it accepts any\r\nof the time formats that at accepts:\r\n
\r\n\r\n\r\nwakeup-at 7:00 AM\r\nwakeup-at 6:00AM 2018-02-02\r\nwakeup-at teatime\r\n\r\n\r\n
\r\nHere is the wakeup-at script:\r\n
\r\n\r\n\r\n#!/bin/bash\r\n\r\n## Make sure we have enough arguments\r\nif [ $# -lt 1 ]\r\nthen\r\n echo \"Usage: `basename $0` <time>\"\r\n exit 1\r\nfi\r\n\r\necho \"$@\"\r\n\r\n## Add custom time keywords\r\ncase \"$1\" in\r\n\"eternaldarkness\")\r\n echo wakeup | at 3:33 AM\r\n ;;\r\n\r\n## Catch-all; send all arguments to at\r\n*)\r\n echo wakeup | at $@\r\n ;;\r\nesac\r\n\r\n
\r\nIf you make a syntax error, \"at\" tells you about it immediately. Its only\r\nfailings are what it inherits from the original \"wakeup\" script.\r\n
\r\n',196,42,0,'CC-BY-SA','bash, scripting, terrible',0,0,1), (1842,'2015-08-25','TiT Radio 20 You\'ve Been Pwned (probably)',7543,'While Peter is on walkabout, TiT Radio returns for a very short engagement','\r\nLongtime listeners of Hacker Public Radio will remember \'TiT Radio\', a semi-weekly FOSS \"news\" and commentary show that appeared on HPR, recorded by the cast of \"Linux Cranks\" on the off schedule weeks. \"Linux Cranks\" eventually morphed into the \"Kernel Panic Oggcast\". While Peter is on walkabout, the cast of KPO has resurrected \"Tit Radio\" on a temporary basis. The listener is cautioned, while KPO is family friendly, \"TiT Radio\" makes no such commitment. Please join netminer, FiftyOneFifty, and pegwole as they drag you down the rabbit hole that has always been \"TiT Radio\".\r\n
\r\n\r\nOur show topics were drawn from these links. Not all these topics made it into the show, but feel free to browse anyway:\r\n
\r\n\r\n\r\nNYbill talks about the second modification to his UNI-T UT61E multimeter. In this episode the switch and auto-timeout circuitry is installed.\r\n
\r\n\r\nThis is a follow up to Multimeter Mod\'s Part 1:\r\n
\r\n\r\n\r\nA video of Asphere\'s 3D printer in action: \r\n
\r\n\r\n\r\nPictures for the episode:\r\n
\r\n\r\n\r\nNYbill talks about setting up Irssi Connectbot on a Android phone to access IRC.\r\n
\r\n\r\nhttps://f-droid.org/repository/browse/?fdid=org.woltage.irssiconnectbot\r\n
\r\n\r\nI don\'t know him. But, thanks for this handy guide on setting up key pairs with Connectbot, Michael:\r\n
\r\n\r\nhttps://michaelchelen.net/0f3e/android-connectbot-ssh-key-auth-howto/\r\n
',235,0,0,'CC-BY-SA','Android,phone,IRC,Irssi,Irssi ConnectBot,ssh',0,0,1), (2066,'2016-07-04','HPR Community News for June 2016',5832,'Dave and Ken review the last month without talking about brexit much','\n\nWelcome to our new hosts:
\n handsome_pirate, \n Tony Hughes AKA TonyH1212, \n Todd Mitchell.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 38 comments:
\n\nThere were no new hosts this month.\n
\n\n\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive.\n
\nThe main threads this month were:
\nEditor\'s Note:
\nThe list of mail threads above date from a time when HPR mailing list\nmessages were copied to Gmane. At that time the Mailman mailing list software\nused to run the list seemed not to be able to archive messages, or possibly\ncouldn\'t make them visible. We built lists of threads by reading the Gmane\ndata and showed them here.
\nSince then Gmane has failed, and been restored, but the HPR lists have been\nlost. However, a later version of Mailman made these messages available as\nthey should have been, so nothing was actually lost!
\nThe above thread links have been disabled, but the threaded list for the month in question can be seen at:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2016-July/thread.html\n
\n\n\n
These are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 17 comments:
\n\nWelcome to our new host:
\n mattkingusa.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This discussion takes\nplace on the Mail List which is open to all\nHPR listeners and contributors. The discussions are open and available on the\nGmane\narchive and the Mailman archive.\n
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2016-August/thread.html\n\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 32 comments in total.
There are 8 comments on 4 previous shows:
\nThere are 24 comments on 12 of this month\'s shows:
\nThis is a response show to\nhpr3959\n:: Download any HPR series with english file names \"A dir with the\nseries name will be created and all shows will be renamed to\nShowTitle.mp3 inside it\"
\nThis was the first show by gemlog and he used Bash, sed, grep, wget,\nto scrape the HPR site. This is great but as he points out any change to\nthe site will break the script.
\nA safer way to get the episodes is by scraping the rss feed, and the\nfollowing is an example of how you might do that
\n#!/bin/bash\n\nseries_url="https://hackerpublicradio.org/hpr_mp3_rss.php?series=42&full=1&gomax=1"\ndownload_dir="./"\n\nwget "${series_url}" -O - | xmlstarlet sel -T -t -m 'rss/channel/item' -v 'concat(enclosure/@url, "→", title)' -n - | sort | while read episode\ndo\n url="$( echo ${episode} | awk -F '→' '{print $1}' )"\n ext="$( basename "${url}" )"\n title="$( echo ${episode} | awk -F '→' '{print $2}' | sed -e 's/[^A-Za-z0-9]/_/g' )"\n wget "${url}" -O "${download_dir}/${title}.${ext}"\ndone
\n',30,42,0,'CC-BY-SA','response, bash, rss, xml, xmlstarlet',0,0,1),
(1847,'2015-09-01','Client Side C- WTF Is Wrong With You?',640,'In this episode of hackerpublicradio sigflup talks about her efforts porting stuff with emscripten','\r\nThis is the link to the emulator: https://theadesilva.com/web_nes \r\n
\r\n\r\nemscripten\'s website is here https://kripken.github.io/emscripten-site\r\n
',115,0,1,'CC-BY-SA','emscripten,c,c++,browser, javascript',0,0,1), (1848,'2015-09-02','Introduction to w3m, a Command Line Web Browser',901,'A brief introduction to using w3m, a command line web browser with tab and image support.','W3M is a text browser with image and tab support which supports both keyboard and mouse navigation. (Image support is not available in some terminals, but does work in Xterm and rxvt, but images may be opened in a external viewer)). Mouse and keyboard navigation are supported, but I recommend learning the keybindings. Keybindings are case sensitive.
\r\nThe manual is 12 pages long and quite exhaustive. Here are some useful keybindings to get started with.
\r\nClose tab: CTRL-Q
Close tab: CTRL Q
Go right one tab: }
Back in the same page: b
Page Down: SPACE or PG DOWN
There is no "forward" button, but you can use view History: CTRL-h
Search in page: / (opens search dialog at bottom of window)
Help: H
View bookmarks: ESC-v
Run shell command: # (Opens a dialog at the bottom of the window. Exit with B.)
Paste into dialogs (e. g., passwords): Middle mouse button.
Scroll right: , (comma)
W3M Manual: https://w3m.sourceforge.net/MANUAL Note: If you want to use W3M, I recommend having the manual handy.
How-To Geek Intro to W3M: https://www.howtogeek.com/103574/how-to-browse-from-the-linux-terminal-with-w3m/
gotbletu\'s Youtube w3m tutorial: https://www.youtube.com/watch?v=Z22cFTB-uqg&list=PLzp-Yldf70WnwhVP-7CsgWkpLXY_pSLtu
Stack Exchange article on how to configure W3M to enable copying URLs (not tested). https://unix.stackexchange.com/questions/12497/yanking-urls-in-w3m
Xterm configuration menus: https://scarygliders.net/2011/12/01/customize-xterm-the-original-and-best-terminal/
\r\nSome good content that we do not publish to the show https://linuxlugcast.com/?p=197\r\n
\r\n',265,0,1,'CC-BY-SA','linuxlugcast,outtakes',0,0,1), (1852,'2015-09-08','Operation Wallacea',1769,'I talk to my daughter about her recent trip to Indonesia','This summer my daughter Clara spent a month as a volunteer Research Assistant on Hoga Island in Indonesia learning to dive and helping to survey the coral reef and other habitats.
\r\nIn this episode we talk about Clara\'s experiences with Operation Wallacea.
\r\n\r\nI know we have focused a lot on using Styles to control the formatting of text, and there is a reason for that. As I have said so often, uniformity of appearance is an important part of a professional-looking presentation, and that is best done by using the Presentation and Drawing Object styles appropriately. But there is a place for all of the other tools Impress has, and I want to go over some of them now before we move on to other topics.\r\nFor more go to https://www.ahuka.com/?page_id=1262\r\n
\r\n\r\n\r\nOne thing that Impress lets you do that can be kind of fun is to use Multimedia files in your presentations in various ways. Now, there are some interesting limitations here. First of all, any time you want sounds, whether from an audio file or as part of a movie file, you need to have the right hardware. This means a little planning ahead. In many of the places where I do presentations the video is all I have. But most modern projectors, particularly in corporate meeting rooms, have the capability of playing audio as well as video. \r\nFor more go to https://www.ahuka.com/?page_id=1271\r\n
\r\n\r\n\r\nThe next topic we want to cover involves something called OLE, which stands for Object Linking and Embedding. This was developed by Microsoft, but has spread to the free software world as well. What it means is that you can use data from two different programs together, and changes made in place are automatically reflected in the other place. A great example comes with spreadsheets, since you create them in a spreadsheet program like Calc, but you might want to take a table created there and put it into a slide to display. \r\nFor more go to https://www.ahuka.com/?page_id=1275\r\n
\r\n\r\n\r\nIn the last tutorial we looked at OLE objects, and saw that Charts could be brought into Impress from Calc via OLE. But you can create the Charts directly in Impress. Bear in mind that due to the modular nature of LibreOffice you will be using the same tools to do this as Calc uses: LibreOffice developers never reinvent the wheel if they can avoid it.\r\n
\r\n\r\nThere is a lot to know about Charts if you are going to use them effectively, and we covered all of this in our Calc tutorials.\r\nFor more go to https://www.ahuka.com/?page_id=1291\r\n
\r\n\r\n\r\nWe now have looked at three of the four objects that are offered to you on a new slide: Charts, Pictures, and Movies. So now it is time to take a look at Tables. You have options here, such as embedding a table from Calc or Writer, and there are times when you need that degree of power. But most of the time you can do what you need inside of Impress using its own functionality. As we saw last time with Charts, you can just click the button in the middle of a new slide and insert a Table that way, but that may not always be feasible, so you have the alternative option of going to the Insert menu and selecting Table. \r\nFor more go to https://www.ahuka.com/?page_id=1285\r\n
\r\n\r\nShift+click
on the Restart
or Shutdown
buttons then clicking through to advanced options until you find \"enter setup.\" Pressing F2
never worked for me\r\nI talk about how Vista got me into Linux, and my computing experience in general.\r\n
',303,0,0,'CC-BY-SA','Windows Vista,Ubuntu,Macintosh,Acer,Debian',0,0,1), (1856,'2015-09-14','ssh config',747,'Klaatu talks about ssh config.','Put a file called \'config\' into ~/.ssh and you can define any option you would normally provide as part of the command as an automatically-detected configuration.
\r\n\r\n\r\nFor example:\r\n
\r\n\r\nhost foo\r\n hostname foo.org\r\n identityfile /home/klaatu/.ssh/foo_rsa\r\n port 2740\r\n protocol 2\r\n\r\n
\r\nMakes the command \'ssh klaatu@foo\' look like this to SSH:\r\n
\r\n\r\nssh -p2740 -i ~/.ssh/foo_rsa klaatu@foo.org\r\n',78,0,0,'CC-BY-SA','ssh,configuration,tutorial,hints and tips',0,0,1), (1857,'2015-09-15','Adventures In Coffee',1131,'CPrompt talks about his adventures in coffee making and how he finally realized that the French Pres','
This podcast is about a little programming exercise I learned in my first programming class. The idea is to generate a random text-based maze and make mouse (\'@\') search the maze systematically to find the cheese (\'V\'). If it does so before it runs out of energy (moves) it wins (\'$\' == happy mouse). Otherwise it starves (\'%\' == dead mouse).
\r\nYou can find my git repos for the Raspberry PI code including this program at these locations:
\r\n\r\nThe Mouse-in-a-maze program also requires the catlib library as well which is at:
\r\n\r\nYou may note that these directories are different from those in my previous RPI episodes. The repositories used to be on gitorious. However since gitlab acquired gitorious, I have migrated the repositories. They currently live on both github and gitlab and I have pushing updates to both for the time being. So I have been waffling about which one will be the ultimate master for these projects. But since, I am doing most all the work on this code myself, it doesn\'t much matter for the time being.
\r\nIf this is your first time playing with bare metal programming in the RPI you can get more info and tips from HPR episodes 1619, 1630 and 1666. Note that the gitorious links in those episodes are outdated as mentioned above. The github links therein should still be fine though.
\r\nThe mouse code itself is in the apps/mouse0
directory. If you haven\'t played with this environment before you\'ll need to do the following:
Once those prerequisites are taken care of you can:
\r\n/path/to/catrpi/apps/mouse0
type make
to buildmouse0.bin
to send.These pages describe VT100 Terminal codes:
\r\nSample traversal:
\r\n ########################################\r\n #+0****## #+#...###...#..$ ## # # #\r\n ##+###+## #+++......#...# ## # #\r\n # #.+++++#....# # # # # #\r\n # #+++++#+.+..# # # # #\r\n # #.##.+++#+.### # # # ## #\r\n # ###.+.##++.## # ### # # #\r\n ####+.#..#++#.## # ##### ## #\r\n #++#.#.###+.## ## ## # # #\r\n #++++++.##.++.# # ## # # # # ##\r\n #+++++#..##.## ## # #### # # ##\r\n #+.....#..#. ## # # ## ## #\r\n #+..+....... # # # # ## #\r\n #+...#..### # # # ## ##\r\n #.#..#.........# # # # ##### # # ## #\r\n #.......## ##.... # ### ## #\r\n ##......# ## ##..# ##### # #\r\n #.+.#...### ###. ## ## # ##\r\n ##.+...# # #### # ## # #\r\n ########################################\r\n Mouse found the cheese! :) Press any key to restart!
\r\nThe Renovated Main Library
\n\n\n\nSewing Area
\n\n\n\nRolling pin with laser-etched π symbols
\n\n\n\n\nKnitting Area
\n\n\n\nLego Robotics Space
\n\n\n\nThe Ultimaker2
\n\n\n\nTrying to print my Kindle paperwhite stand.
\n\n\n\nThe Taz 3D printer by Lulzbot
\n\nThe finished Kindle stand:
\n\n\n\nIt worked! Bad part of this design is that it does not accommodate the case that I have on my Kindle, so to use the stand with the Kindle I\'ll have to remove the case. The next photo shows my son\'s nook color sitting sideways on it. I might try to modify the design so that it will accommodate the Kindle with its case and also prop it up a bit more vertically. Still, this was a really fun experiment with my first 3d printout.
\n\n\n\n\n\r\nA great command line music player\r\n
\r\n\r\nCMUS Home Page: https://cmus.github.io/\r\n
\r\n\r\nA good guide: https://www.tuxarena.com/static/cmus_guide.php\r\n
\r\n\r\n\r\nPodcast where musicians take apart their songs bit by bit\r\n
\r\n\r\nhttps://songexploder.net/\r\n
\r\n\r\n\r\nhttps://www.imdb.com/title/tt4158110/\r\n
\r\n\r\n\"Follows a young computer programmer (Malek) who suffers from social anxiety disorder and forms connections through hacking. He\'s recruited by a mysterious anarchist, \r\nwho calls himself Mr. Robot.\"\r\n
\r\n\r\nThe pilot for Mr. Robot was directed by Niels Arden Oplev (The Girl With The Dragon Tattoo) \r\n
\r\n\r\nDirected by: \r\n
\r\n\r\n\r\nStarring:\r\n
\r\n\r\n\r\nHello my name is Geddes and this is my first HPR Episode. Its part 1 of an audio voice recording of an article entitled THE AWESOMELY EPIC GUIDE TO KDE. This is a tutorial on the KDE Desktop, which I did for Linux Voice Magazine back at the start of 2015. Its primarily in response to the call from HPR for more shows, but in my introduction I\'ve also mentioned a few other reasons which I hope listeners will find interesting, a couple are around the issues of diversity and accessibility. \r\n
\r\n\r\n\r\nThe best way to get familiarity with the concepts we will discuss is by experimentation. I think that it is becoming more common these days for people to own more than one computer and set them up in a network. And with cheap computers like Raspberry Pi it is really easy to get started. In this tutorial I want to discuss how you can set up such a server for your experiments in ssh. I encourage you to do this even though I dont intend this series to focus on server administration. The idea is that by practising these these techniques behind a good firewall you can get some familiarity with them before you get out on the Internet where it matters. For most Linux users, at least, installing and setting up a server is really simple, and you can do it minutes.\r\nFor more go to https://www.zwilnik.com/?page_id=847 \r\n
\r\n\r\n\r\nSo as we saw in the introductory tutorial, SSH uses the Client-Server model. Now, technically a server is just the machine you are connecting to, and there is no reason in principle that it could not be another desktop, a laptop, or even a telephone if it has the appropriate software. and in the previous tutorial we showed how you can easily install and set up an ssh server on your home network using another computer or a Raspberry Pi so that you can experiment with these commands. The model really reduces to you as the client, and the other machine as the server. As with all Internet connections there are standards and protocols involved. The original Telnet communicated over TCP through port 23. Because SSH was conceived as a replacement, it used the same TCP protocols, and was assigned the adjacent port number of 22. \r\nFor more go to https://www.zwilnik.com/?page_id=726 \r\n
\r\n\r\n\r\nHello my name is Geddes and this is my second HPR Episode. Its part 2 of an audio voice recording of an article entitled THE AWESOMELY EPIC GUIDE TO KDE. This is a tutorial on the KDE Desktop, which I did for Linux Voice Magazine back at the start of 2015. In this half the topics I cover are - Upgrade Launch Menu, File Management, Window Management, and Visual Effects.\r\n
\r\n\r\n\r\nWhen you first try to login to a remote server you need to authenticate yourself, which means you have to demonstrate that you have rights to be on that server. You can do this in several ways:\r\n
\r\n\r\n\r\nFor more go to https://www.zwilnik.com/?page_id=733 \r\n
\r\n\r\nI have a USB printer I bought back in 2005 when I bought a Windows PC for the family. It\'s an HP PSC 2410 PhotoSmart All-in-One printer. This device is a colour inkjet printer, with a scanner, FAX and card-reading facilities. It has been left unused in a corner for many years, and I recently decided to to see if I could make use of it again, so I cleaned it up and bought some new ink cartridges for it.
\r\nIt is possible to use this printer on Linux using CUPS for the printing and SANE for scanning. I connected it to my Linux desktop for a while to prove that it was usable. However, rather than leaving it connected in this way, I wanted to turn it into a network printer that could be used by the rest of the family. My kids are mostly away at university these days but invariably need to print stuff when they pass through. I searched the Internet and found an article in the Raspberry Pi Geek magazine which helped with this project.
\r\nSince the notes explaining this subject are long, they have been placed here: https://hackerpublicradio.org/eps/hpr1864_full_shownotes.html.
\r\nCUPS.org
main web site: https://www.cups.org/\r\nQuvmoh speaks with Eric 15 and Emily 10 about their computer usage and implore others to contribute to HPR\r\n
',110,0,0,'CC-BY-SA','young computer users',0,0,1), (1873,'2015-10-07','TiT Radio 21 - I Thought I Had Better Links',4183,'TiT Radio rides again, again','\r\nAnother installment of TiT Radio with Kevin Wisher, pegwole, netminer, and FiftyOneFifty\r\n
\r\n\r\nSome of these links may have bee discussed during the show:\r\n
\r\n\r\n\r\nThe Save WiFi program has been instituted to combat the greatest threat the open source movement has faced from government over regulation. If you have listened to LinuxLUGCast.com, The Linux Link Tech Show, Linux for the Rest od US,or HPR recently, you may already be aware that recent decisions by the FCC have already forced router manufactures to lock down their equipment against the installation of non factory firmware. My guest, Chris Waid, CEO of Think Penguin and a leader in the Save WiFi project, joins me to explain how Linux on the desktop may also become subject to FCC regulation. As manufacturers incorporate more Software Defined Radio into PC\'s, the FCC may feel it has no choice but to lock down (or lock out), not only open source software, but any software that is not pre vetted and pre certified, even on proprietery OS\'s.\r\n
\r\n\r\nRight now, there is a narrow window where the FCC has invited comment from the public, and Hacker Public Radio invites all our listeners to add their voices against this ill advised course of action.\r\n
\r\n\r\nThere is one small saving grace. Kevin Wisher found an Ars Technica article where an unnamed FFC spokesman seems to be saying locking open source firmware out of routers was not the intended consequence (even though Open-WRT was mentioned by name in the updated rules). I think the FCC might prefer manuafacturers avoid incorporating radio hardware that is so easily manipulated:\r\nhttps://arstechnica.com/information-technology/2015/09/fcc-accused-of-locking-down-wi-fi-routers-but-the-truth-is-a-bit-murkier/\r\n
\r\n\r\nI want to give special thanks to Chris Waid for going above and beyond for recording our conversation because I was having ISP problems. I want to appologize in advance for any audio problems, I was way low and had to fix it in post.\r\n
\r\n\r\n',131,78,1,'CC-BY-SA','Save WiFi,router,FCC',0,0,1), (1868,'2015-09-30','Glasgow Podcrawl review',2908,'The intrepid Glasgow Podcrawlers meet to discuss their experiences back in July','The second Glasgow Podcrawl took place on the 10th of July 2015. The participants were:
\r\nThe event started at 6pm in the State Bar on Holland Street, moved on to the Bon Accord, the Inn Deep and finally to the Three Judges.
\r\nDave Morriss departed after visiting the second bar to head back to Edinburgh, but everyone else lasted to the very end!
\r\nIn this episode hear the details of this singular event, and a whole lot about many other things.
\r\n\r\nDefinately focus on getting enough golden keys as it allows you to get some very good buildings\r\n
',297,0,0,'CC-BY-SA','games, iPad, android, google play',0,0,1), (1876,'2015-10-12','MicrobeLog, or: On Shaving Yaks and Doing Things',561,'Why I\'m making an HPR episode, and why I\'m making a vaporware social network engine','\r\nThe MicrobeLog overview: https://gitlab.com/microbelog/manifest\r\n
\r\n\r\nhpr1726 :: 15 Excuses not to Record a show for HPR:\r\nhttps://hackerpublicradio.org/eps.php?id=1726\r\n
\r\n\r\nI think I\'ve pretty much had to fight excuses 5, 7, 10 and 12. :-)\r\n
',311,0,0,'CC-BY-SA','federation, python, microservices, gtd, yakshaving',0,0,1), (1877,'2015-10-13','Recording HPR on the fly on your Android phone',378,'How quickly can you get an HPR recording done? 10 minutes including app install! Sort of.','This episode was produced entirely on my phone, including upload.
\r\n\r\nApologies for the atrocious sound quality and the low volume. Consider it performance art. I know I need to speak closer to the phone next time. There\'s DroidGain, but I guess it only accepts mp3.
\r\n\r\nTL;DL: Install Urecord from F-Droid, choose 44.1 kHz, RECORD!
\r\n\r\n\r\nI estimate the total amount of time spent on this episode at:
\r\nA large part of the typing time was angle brackets. HATE screen input. I want a modern phone with sliding QWERTY like the good old X10 Mini Pro, or maybe the slightly larger HTC Desire Z. Apparently the market doesn\'t. :-(
\r\n\r\nWow, turns out the difficult part was to upload the file. Had to use a file manager as a \"provider\" for Firefox to get the \"document\" from.
\r\n',311,0,1,'CC-BY-SA','android, hpr, audio, recording',0,0,1), (1881,'2015-10-19','My road to Linux',912,'I\'m so old I actually installed Watchtower on an Amiga and I review 22 years of Linux distributions','I went against my own recommendations from my previous episode \r\nand used Rehearsal Assistant, because it can rename files inside the app. \r\nWell, turns out it records at 8 kHz and encodes it as 3GPP.
\r\n\r\nSound quality: Yes, it\'s at a terrible sample rate, but you can \r\nhear what I\'m saying and at least I\'m Holding It Right.\r\nThere\'s no problem with sudden drops in \r\nlevel.
\r\n\r\nDo as I say, don\'t do as I do. Use\r\nUrecord,\r\nwhich is obviously \r\npronounced you record
as in telling someone to record something, not \r\nyou record!
as in insulting someone by comparing them to a vinyl disc. \r\nDon\'t say as I say.
Slirp can use either SLIP or \r\nPPP. I think I used Slirp with SLIP, and there was some other connection \r\nmethod that provided PPP directly without logging in and running a command. \r\nMaybe their getty even understood the PPP blurb and just went directly to \r\npppd. Anyway, my Amiga-side software didn\'t support it. When I switched to \r\nLinux I was able to use the other method and just talk PPP directly and \r\nauthorize using CHAP.
\r\n\r\nDebian didn\'t support Amiga\r\nuntil Debian Hamm, which was released in 1998. So I didn\'t have much\r\nchoice but to run Watchtower and compile my own stuff. By 1998 the Amiga was\r\nalready gathering dust in my wardrobe back at my parents\' place, while my PC\r\nand I were preparing to travel the seas with the Swedish Royal Navy and\r\nhang out (not really) with David Letterman on Saint Barths.
\r\n\r\nWikipedia says that \r\nyes, it was Bruce Perens who tried to get UserLinux going, but they claim \r\nUbuntu killed it. I don\'t remember UserLinux getting any traction at all. I \r\nthink it\'s more accurate to say that Ubuntu put the last nail in its coffin. \r\nLWN seems to agree: The \r\nimmediate cause of death was an inability to deliver software. Today there \r\nstill is no real delivered product, over three months after the release of \r\nDebian Sarge.
But the same article reveals that I was completely wrong about Bruce \r\ntrying to gather existing vendors together: It was occasionally \r\nconfused with UnitedLinux by people familiar with the Linux market. \r\nUnitedLinux is the old Caldera, Conectiva, SUSE and Turbolinux \r\ninitiative.
Yeah, I was thinking of the one with Turbolinux in it. \r\nThat name rings a bell. But I thought Turbolinux was Finnish. Apparently they \r\nwere Japanese. Or actually, \r\napparently they are Japanese.
Ah yes, Best Linux, that was the Finnish one.
\r\n\r\nI know that guix\r\nis pronounced geeks
. I just don\'t know it in my heart. Just \r\nlike I actually think GNU/Linux is the better descriptive term, but I keep \r\ntalking about the Linux ecosystem
* etc, where 95% of that ecosystem is \r\nabstracted away from Linux by glibc and runs just as well on \r\nFreeBSD.
* Yes, you may hate the term ecosystem
. I happen to think it\'s an \r\napt** analogy.
** You see what I did there.
\r\n\r\nHere are some links from the highlights of the episode
\r\nfallocate -l 3G myimage.img
. Then I mount it and created a luks encrypted partition on the img file.\r\nWelcome to my first podcast for Hacker Public Radio. \r\n
\r\nPS1=\"\\a\\n\\n\\e[31;1m\\u@\\h on \\d at \\@\\n\\e[33;1m\\w\\e[0m\\n$ \"\r\n https://www.vsubhash.com/article.asp?id=13&info=Ubuntu_and_Gnome_Diary#change_terminal_prompt
wget https://googlefontdirectory.googlecode.com/hg/ofl/ -r -nc -nd -np -A.ttf\r\n This command takes a while to parse all the pages and find the fonts that need to be downloaded.
\r\nWe started producing shows as Today with a Techie 10 years ago this weekend. To mark the project we track down droops one of the founders and ask him about the early days.\r\n
\r\nHacker Public Radio (HPR) is an Internet Radio show (podcast) that releases shows every weekday Monday through Friday. HPR has a long lineage going back to Radio FreeK America, Binary Revolution Radio & Infonomicon, and it is a direct continuation of Twatech radio. Please listen to StankDawg\'s \"Introduction to HPR\" for more information.
\r\n \r\nWhat differentiates HPR from other podcasts is that the shows are produced by the community - fellow listeners like you. There is no restrictions on how long the show can be, nor on the topic you can cover as long as they \"are of interest to Hackers\". If you want to see what topics have been covered so far just have a look at our Archive. We also allow for a series of shows so that host(s) can go into more detail on a topic.
\r\n\r\n
You can download/listen to the show here or you can subscribe to the show in your favorite podcatching client (like BashPodder) to automatically get our new shows as soon as they are available. You can copy and redistribute the shows for free provided you adhere to the Creative Commons Attribution
We do not filter the shows in any way other than to check if they are audible and not blatant attempts at spam.
\r\n \r\n\r\n Hacker Public Radio is dedicated to sharing knowledge. We do not accept donations, but if you listen to HPR, then we would love you to contribute one show a year.\r\n
\r\n \r\nIn this episode I talk while I\'m performing a belt hack. I bought a belt at Goodwill that is in excellent condition but does not fit me. To make it fit I need to cut off 6.25 inches and then put it back together.
\r\nThis is the belt as I got it. Notice the very small screws holding the buckle to the belt.
\r\n\r\nThe screws are out, the belt removed from the buckle. You can see here the two holes that accommodate the screws as well as the rectangular notch.
\r\n\r\nI\'ve cut off 6.25" from the belt, ready to make the holes and notch in the remaining part.
\r\n\r\nHere I\'ve clamped the part of the belt that I cut off to the remaining part to use as a template for making the holes and the notch.
\r\n\r\nHoles and notch cut in the remaining part of the belt. Doesn\'t look as nice as the original but it should work.
\r\n\r\nAll done. Belt is reassembled and I\'m wearing it, fits just right!
\r\n\r\n\r\n',238,0,0,'CC-BY-SA','DIY, belts, dressing spiffily',0,0,1), (1880,'2015-10-16','Arduino Bluetooth HOWTO',2494,'Klaatu talks about getting a bluetooth module for an arduino, and how to make it work','\r\nKlaatu talks about the HC-05 and -06 series of bluetooth modules and how to use them with an Arduino, including some basic code on the Arduino to get it to respond to signals over bluetooth, and some basic PyQt code on how to send signals to the bluetooth device. PLUS, he talks about configuring the bluetooth so that it is connected to the serial port of your system (so that Python can use it).\r\n
\r\n\r\nA super basic bluetooth controller app can be found here:\r\nhttps://gitlab.com/makerbox/rovcon \r\n(it\'s Klaatu\'s code, and it\'s not quite finished, so if you have improvements or questions, feel free to comment or merge or email)\r\n
',78,91,0,'CC-BY-SA','arduino,python,qt',0,0,1), (1882,'2015-10-20','How I Compute Away From My Computer',1666,'Thaj explains his setup for computing outside of the house, without his laptop.','Here is a list of the stuff I bought, as well as the apps I list in the episode:
\r\nNVIDIA SHIELD Tablet (WiFi) - https://www.amazon.com/NVIDIA-940-81761-2505-000-SHIELD-Tablet-WiFi/dp/B00LM6KF7O/ref=sr_1_1?ie=UTF8&qid=1444100607&sr=8-1&keywords=nvidia+shield+tablet
Fintie NVIDIA SHIELD Tablet SmartShell Case - https://www.amazon.com/Fintie-NVIDIA-SHIELD-Tablet-SmartShell/dp/B00MN98ATE/ref=sr_1_1?ie=UTF8&qid=1444100658&sr=8-1&keywords=fintie+nvidia+shield+cover
Tonor® Rechargeable Bluetooth Wireless Mouse - https://www.amazon.com/gp/product/B00XN20U5W?psc=1&redirect=true&ref_=oh_aui_detailpage_o00_s00
iKross Bluetooth 3.0 Wireless Folding Compact Size Keyboard - https://www.amazon.com/iKross-Bluetooth-Wireless-Keyboard-Smartphone/dp/B00JJ39YPG/ref=sr_1_1?ie=UTF8&qid=1444100697&sr=8-1&keywords=ikross+bluetooth+keyboard
Anker PowerPort 5 - https://www.amazon.com/Anker-PowerPort-Charging-Multi-Port-Charger/dp/B00VH8ZW02/ref=sr_1_1?ie=UTF8&qid=1444100730&sr=8-1&keywords=anker+powerport+5
\r\nIn this episode Knightwise talks about the cross-platform tools he uses for\r\nhis day job as a freelance IT consultant. All three of the major OS platforms\r\n(Linux, OS X and Windows) have their strengths, so by leveraging systems from\r\nacross all ecosystems Knightwise can use what he feels is the best tool for\r\nany individual task.\r\n
\r\n\r\nUse the tool that\'s right for you without letting the fanboys or the zealots get in your way.\r\n
\r\n',111,0,0,'CC-BY-SA','cross-platform tools ',0,0,1), (1884,'2015-10-22','Some more Bash tips',949,'Some information about brace expansion in Bash that you might not know','We looked at Parameter Expansion back in HPR episode 1648 where we saw how Bash variables could be used, checked and edited. There are other sorts of expansions within Bash, and we\'ll look at one called "Brace Expansion" in this episode, which follows on from episode 1843 "Some Bash tips".
\r\nI have written out a moderately long set of notes about this subject and these are available here https://hackerpublicradio.org/eps/hpr1884_full_shownotes.html.
\r\nHi. This is "JustMe". I\'ve been in & out of computing since the late 70s. I\'m currently running the latest version of Linux Mint LMDE Mate on this Intel Core2 Q8300 CPU running @ 2.50GHz, on an ASRock motherboard with 8G of memory. Storage is provided by a 120Gb Samsung 850 EVO SSD for the OS and a Western Digital WD20 2T HD as home & swap. Video is provided by nVidia. My monitor is an LG E2441 wide screen. I built this box a few years ago and haven\'t seen a need to modernize it beyond upgrading the OS because it suits my purposes well. Although I\'m seriously contemplating switch my desk top to XFCE because Mate is still too buggy.
\r\n\'nught about me. Let\'s get on to the subject at hand.
\r\nI just finished listening to the HPR Community News for September 2015 episode 1871 a couple of days ago. I listened to the two volunteer hosts talking about coffee, coffee preparation and how hard it was to get water to the correct temperature for that optimal cup of coffee. I\'d like to ask the two of them a couple of questions before I continue elucidating on this topic.
\r\nThe first question is, can you blind taste test the difference between Nescafé Instant and a cup of, let\'s say, Starbucks brewed coffee? (a blind taste test is where someone prepares cups of coffee without you knowing which cup has which coffee.) Also notice, I didn\'t say cappuccino or latte. I said, good ol\' fashioned brewed coffee, drunk black.
\r\nDon\'t be ashamed if you can\'t because many people don\'t have the taste buds for it. But if you can\'t, I\'d say forget making your own and stay with the crappy, Nescafé instant. You\'ll save yourself a lot of time, money.
\r\nOn the other hand, if you can taste the difference, and you live in the San Francisco area of California, then I\'d like to ask another question. Can you taste the difference between Starbucks and Pete\'s Brewed coffee?
\r\nIf you can, then I propose one more question. Can you taste the difference between a cup of coffee made with Columbian beans and one made with Brazilian beans or Ethiopian beans or Costa Rica Beans?
\r\nIf you can answer yes to all of these questions, then I\'d say you should take the time to learn how to make a proper cup of coffee. You will be rewarded a thousand times over with each cup.
\r\nNow, providing you have answered all in the affirmative or you\'re just interested in listening to the rest of this podcast, let\'s digress no further and proceed to the heart of the matter.
\r\nMaking a cup of good coffee, just like making a bottle of good wine or a good omelet, takes understanding of the basics and practice in preparation.
\r\nThe basics of coffee making are simple: Freshly roasted whole beans, a good grinder & proper grind for the type of coffee preparation method, water, water temperature, and brew time.
\r\nI\'m not going to go into a step-by-step dissertation on each brewing method. Suffice it to say, you can take the time for that later. I\'ll only discuss the essentials here.
\r\nLet me dally a moment longer. Do you drink wine or beer? When you do or if you do, do you add ice to it? Do you want watered down beer or wine? NO!!! Then why in the hell would you add milk or sugar to your coffee?????? \'nough said on that subject.
\r\nLet\'s proceed:
\r\nBy freshly roasted whole beans, I mean just that. Whole beans that have been roasted in the past couple of days. NOT two, three, four, five or more months ago. Beans lose their flavor, go stale, with time. Just like day-old bread. Ground beans lose their flavor even faster, so use only whole beans and grind them as you need them just before brewing. In addition, to maintain their freshness, keep whole beans in an air-tight bag or container, out of direct sunlight and in a cool, dry place (NOT refrigerated). Beans hate time, temperature, sunlight, and air.
\r\nAnother side note here. How much ground coffee per cup? General rule of thumb - 10 grams of ground coffee per 6 ounces of water. The average American cup/mug holds 8-14 ounces of water. So adjust the amount of ground coffee accordingly - experiment. Keep all the other factors the same and only vary the quantity of ground coffee until you get that "just right" cup. But, of course, if you like Nescafé instant, you\'ll like stale coffee beans and add extra just for fun.
Grinder. A good grinder is imperative. The greatest cost is going to be the grinder. Not all grinders are equal, nor do they grind beans equally well. So don\'t be afraid to spend good money for a good grinder. Look for a conical or burr grinder. No damn blade grinders. Blade grinders are for spices and grinding dog food. And I don\'t mean Kitchen Aid or Sunbeam or Cuisinart or Mr. Coffee or such. Look for brand names like Mazzer, Rancilio, Gaggia, Bunn, Macap, or Baratza. Spend good money now, it\'ll save you money and ensure years of good service.
\r\nNote that each brewing method needs a different "grind" - coarseness/fineness. Experiment. Keep all the other factors the same and only vary the grind until you get that "just right" cup. But, of course, if you like Nescafé instant, don\'t worry about the grind.
\r\nAnother side note here. If you answered yes to all of the above questions, I\'ll guarantee that if I were to prepare two cups of coffee where all of the factors are the same except for the grinder (one cheap & one quality), that you would most definitely swear that different beans were used to make each cup. No Joke. That\'s the difference a good grinder makes. It, more than any other factor, will change the flavor of your coffee. And you\'ll more likely than not be missing out on a great cup and be constantly plagued with shit coffee if you cheap out.
\r\nI can personally attest to this fact. I cheaped out in the beginning. Then I spent the money to buy a great grinder. My first sip of my first cup using the great grinder knocked my socks off. Night and day! I discovered the great taste of coffee that a great grinder provides. So don\'t cheap out. But, of course, if you like Nescafé instant, you\'ll like the cheap blade grinder. Or, hell, do it caveman style, just use a hammer to smash the beans.
Water. Mountain spring water is a MUST. The minerals in it help extract the delicate flavors of the coffee giving it a much more fuller, richer flavor. Distilled water leaves coffee tasting flat and lifeless. But, of course, if you like Nescafé instant, you\'ll like distilled water.
Water temp. Yes. Water temp makes a difference. It\'s like the difference between scalding milk and burning milk. Coffee\'s delicate flavors require a temp between 195-200 degrees F or 90-94 degrees C. Too cold, no flavor extraction - flat coffee. Too hot and the oils are extruded - bitter coffee.
\r\nFirst bring water to a rolling boil. This airiates the water. Once the water comes to a full boil, remove from the heat. Wait 30-40 seconds then pour into or over your freshly ground coffee beans and stir. For an even more accurate temp reading, use a thermometer. If you make espresso, the espresso maker will take care of the temp, provided you bought a GOOD espresso maker and not a cheap Cuisinart or the likes thereof. But, of course, if you like Nescafé instant, use boiling hot water.
Brew time. Each brewing method\'s brew time varies (French Press, espresso, pour over, drip, Aero Press, etc.). As little as 30 seconds (espresso) to between three to four minutes for the others is needed. So, experiment. Keep all the other factors the same and only vary the brew time until you get that "just right" cup. But, of course, if you like Nescafé instant, let it steep for 10 minutes.
Does all of this seem like a lot of time and bother just for a cup of coffee? Hell, yes!! But didn\'t it seem like a lot of time and bother to make that first perfect omelet? And wasn\'t it worth it, once you got the hang of it. It was no fuss at all. It\'s just like putting your pants on or brushing your teeth. You no longer have to think about it. You just do it.
\r\nAnd once you get the hang of it, the timing and flow to making that "Just right" cup of coffee, you\'ll be able to enjoy a perfect cup every time without breaking a sweat or furrowing a brow.
\r\nSo, here\'s to ya. Enjoy. And maybe next time we\'ll look at blending beans to create a euphoric cacophany of mouth flavors.
\r\nBye bye
',313,88,1,'CC-BY-SA','coffee,coffee making ',0,0,1), (1888,'2015-10-28','Diceware Passphrase',758,'Demonstration of using the diceware method of passphrase generation','A walk through of how to use diceware (https://world.std.com/~reinhold/diceware.html) to create a passphrase and update your GPG key to use it.
',277,74,1,'CC-BY-SA','security, gpg',0,0,1), (1889,'2015-10-29','experiencing the meegopad T-02 part one',789,'And now for something completely different','This is HPR episode ${1889r) entitled "${experiencing the meegopad T-02 part one}". It is hosted by ${A Shadowy Figure} and is ${13} minutes long. The Summary: "${And now for something completely different}"
\r\nApologies to speed listeners. I just couldn\'t make this episode speed-listener-friendly.
\r\nThis episode was made out of respect and admiration for the HPR contributers mentioned throughout the show.
\r\nI barely have a clue of what I am doing. And there are mistakes all over the place in this episode. It\'s just something I wanted to through out there to change things up a little, and pay homage to those I admire, and with a little luck, inspire others to use their creativity to record an episode of their own.
\r\nYou can do better. And I want to hear what you have to offer.
\r\nThe meegopad T-02 turned out to be something I wouldn\'t recommend to others, and the follow-up episode to this one will be a walk through of what it takes to "hack" the T-02 into being something that is usable.
\r\nDepending on the feedback to this episode, I can either follow the theme I started with this show, or do a more traditional HPR episode with a no frills walk through of the process of hacking the T-02 to work as advertised. So let me know what you prefer.
\r\nApologies to listeners from outside North America. The many slang terms used throughout the episode are representative of the hard boiled genre of noir to give this episode a certain "feel".
\r\n70 roadrunner (not for sale.) https://drive.google.com/file/d/0B84o-HiBbf8mNzY0YlZYYjdKSHc/view?usp=sharing
Blue Yeti Microphone https://www.amazon.com/gp/product/B002VA464S?keywords=blue%20yeti&qid=1444928224&ref_=sr_1_1&sr=8-1
All music contained within, courtesy Kevin MacLeod of Incompitech.com https://incompetech.com/wordpress/
\r\nSound effects courtesy
\r\nof Freesound.org. https://freesound.org
\r\nWe start the show by saying ta-ra to the wife and daughters and starting on our walk.
\r\nNote to self: record an HPR episode about coffee
\r\nThis episode inspired by jonkulp\'s emergency HPR episode entitled "biking2work", as mentioned on his GNUsocial post: https://micro.fragdev.com/notice/1425116
\r\nI give a brief introduction to who I am, and where I live.
\r\nNeewer Lapel Microphones from Amazon UK https://www.amazon.co.uk/dp/B005DOTSM4/
\r\nThe lapel mic issue at our church. £1.50 a piece, rather than £25+ for an official replacement.
\r\nBackground to my 7½ year podcasting history:
\r\nThe Bugcast https://thebugcast.org/
Duffercast https://duffercast.org/
Other music podcasts too
\r\nNote to self: record an HPR episode on my journey into podcasting
Note to self: record an HPR episode on my journey into Linux
Metric vs Imperial measurements
\r\nNote to self: record an HPR episode on variances between different measurement systems
\r\nA comparison between my Nexus 7 and my Olympus DM-3 recorder, both with and without the lapel mic. https://media.thelovebug.org/u/thelovebug/m/lapel-microphone-comparisons/
\r\nSmall glitch in the recording resulted in about 5 seconds being dropped, so it sounds a little disjointed at one point
\r\nOpinion around acceptable audio quality.
"If you can hear it, it\'s good enough."
Note to self: record an HPR episode on Auphonic and how to improve audio quality with very little effort
\r\n\r\nWhat would happen if Alex slipped and rolled down the hill.
Alex gives a quick introduction to himself.
He\'s also the slowest human in history.
I did run this episode through Auphonic, which didn\'t do a bad job in the slightest.
Settings used: Adaptive Leveler, Filtering, Noise and hum reduction set to Auto.
According to the processing results, hum reduction wasn\'t needed.
It would appear as though I\'ve promised Ken 5 new shows - no pressure, eh.
\r\nContact me:
\r\n\r\nDoor hardware build: https://www.jezra.net/blog/GNU_Linux_chicken_coop_door_hardware.html\r\n
\r\n\r\nThe twilight checker: https://www.jezra.net/blog/The_magic_starts_at_330AM_a_coop_story.html\r\n
',243,103,1,'CC-BY-SA','chicken',0,0,1), (1940,'2016-01-08','WASHLUG Talk on LastPass',3446,'An expanded discussion of the LastPass intrusion as delivered at our LUG.','\r\nI had the opportunity to present a talk on the LastPass intrusion at our local LUG, the Washtenaw Linux Users Group, which expanded on a previous HPR episode and added some additional material that I think might be of interest to our listeners. I still stand by my claim that LastPass was not seriously affected by the intrusion and is still an excellent security solution for most computer users.\r\nFor more go to https://www.zwilnik.com/?page_id=841 \r\n
\r\n\r\n\r\nMy LastPass Alternative\r\n
\r\n\r\n\r\nSave file to a location that will be synced between devices. Im my case Owncloud. Desktop Client syncs available for Linux, Windows and Mac. Mobile clients for Android, IOS, and even blackberry. Syncing note: I do not launch the desktop client on login. This allows the owncloud client to sync files before launching keepass. Also, I exit keypass before logging out for the same reason.\r\n
\r\n\r\nFor integration with browser, there are\r\n
\r\n\r\n\r\nAnd finally when on machines I don\'t control:\r\n
\r\n\r\n\r\nOn same server with ownlcloud, can open files\r\n
',273,74,0,'CC-BY-SA','Lastpass, keepass, password management',0,0,1), (1894,'2015-11-05','Interview with Davide Zilli and Dr Marianne Sinka of the HumBug Project',3648,'Mosquito Detection and Habitat Mapping for Improved Malaria Modelling','\r\nBack in 2012 I put up a blog post on my site related to the need for an Open Source Mosquito Locator. Mosquitoes are the greatest killer of humans per year.\r\n
\r\n\r\n\r\nRecently Alexandre Azzalini left a comment pointing me to the HumBug project which is dedicated to Mosquito Detection and Habitat Mapping for Improved Malaria Modelling. I got in touch, and so today I talk to Davide Zilli, and Dr. Marianne Sinka who were winners of the Google Impact Challenge UK 2014.\r\n
\r\n\r\n
\r\nMosquitoes are responsible for the spread of some of the most deadly and costly diseases, with more than half the world\'s population living in areas where they are routinely exposed to disease carrying mosquitoes. One of the most deadly diseases that they transmit is malaria, that kills over 600,000 people every year. The Royal Botanic Gardens Kew will equip villagers in rural Indonesia with wearable acoustic sensors to detect the sound of mosquitoes. Each species has its own wing beat allowing the research team to record the occurrence of different species, as well as daily readings of critical environmental conditions. Combined with detailed vegetation maps, this will be able to track disease-bearing mosquitoes. Over the next three years, Kew Gardens will work with Oxford University to turn this project into a reality, creating a downloadable smartphone app and a range of wearable acoustic detectors. This novel technology will be trialled in 150 rural households in Indonesia with the aim of preventing and managing outbreaks of mosquito-borne disease. This prototype technology has the potential ultimately to be rolled out in every region of the world where mosquito-borne diseases pose a threat to life.
\r\nhttps://impactchallenge.withgoogle.com/uk2014\r\n
\r\nTheir approach is to use a Goertzel algorithm running on either a dedicated device or on a smart phone to identify species. This data will then be used for Habitat Mapping and Vector modeling to try and target only species that are a danger to Humans.\r\n
\r\n\r\n\r\nReach them on Twitter @humbugmozz\r\n
\r\n\r\n\nWelcome to our new host:
\n norrist.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available in the archives run\nexternally by Gmane\n(see below) and on the HPR server under Mailman.\n
\nNote: since the summer of 2016 Gmane has changed location and is currently\nbeing reestablished. At the moment the HPR archive is not available there.
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2016-September/thread.html\n\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 26 comments in total.
There are 4 comments on\n3 previous shows:
\nThere are 22 comments on 9 of this month\'s shows:
\n\nWelcome to our new host:
\n The Bishop.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available in the archives run\nexternally by Gmane\n(see below) and on the HPR server under Mailman.\n
\nNote: since the summer of 2016 Gmane has changed location and is currently\nbeing reestablished. At the moment the HPR archive is not available there.
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2016-October/thread.html\n\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 30 comments in total.
There are 10 comments on\n7 previous shows:
\nThere are 20 comments on 10 of this month\'s shows:
\n\nWelcome to our new hosts:
\n Bill \"NFMZ1\" Miller, \n spaceman.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available in the archives run\nexternally by Gmane\n(see below) and on the HPR server under Mailman.\n
\nNote: since the summer of 2016 Gmane has changed location and is currently\nbeing reestablished. At the moment the HPR archive is not available there.
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2016-November/thread.html\n\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 21 comments in total.
There are 5 comments on\n5 previous shows:
\nThere are 16 comments on 9 of this month\'s shows:
\n\nThere were no new hosts this month.\n
\n\n\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available in the archives run\nexternally by Gmane\n(see below) and on the HPR server under Mailman.\n
\nNote: since the summer of 2016 Gmane has changed location and is currently\nbeing reestablished. At the moment the HPR archive is not available there.
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2016-December/thread.html\n\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 68 comments in total.
There are 16 comments on\n9 previous shows:
\nThere are 52 comments on 14 of this month\'s shows:
\n\r\n Welcome to the another episode of apt spelunking! If you missed the first\r\n episode, I should explain. Apt spelunking is the act of aimlessly searching\r\n through your distribution\'s software repositories, and picking out the gems\r\n that you find. I call it apt spelunking because I use Debian, which uses the\r\n apt packaging format.\r\n
\r\n\r\n Let\'s jump into the first package: tvtime.\r\n
\r\nhttps://tvtime.sourceforge.net/
\r\n\r\n\r\n The package tvtime is a simple one, but it does what it does very well. tvtime\r\n interfaces with a TV tuner - specialized hardware that allows your computer to\r\n process analog television signals, via coaxial or RCA video cables. If you have\r\n this hardware, usually an expansion card or USB peripheral, tvtime allows you to\r\n use your computer as an analog television.\r\n
\r\n\r\n tvtime binds to the card of your choosing, allows you to switch between NTSC and\r\n PAL modes (NTSC is what I use, that being the American standard), and shows you\r\n a wonderfully grainy video. It has filters that can help smooth out the image a\r\n bit, but it\'s still an analog video.\r\n
\r\n\r\n tvtime is video only, so you need to use something else to handle the audio of\r\n whatever you are hooking up. Often this is done by the hardware tv tuner\r\n somehow; my PCI card tuner has a 3.5mm jack that offloads any sound received\r\n over the coaxial wire, and I patch that into my sound card. RCA cables have\r\n separate wires for audio, and I plug those into my sound card via a converter\r\n cable.\r\n
\r\n\r\n I have used tvtime to hook up videogame consoles, VCRs, and older computers like\r\n the TRS-80. It\'s helped me to defeat Eternal Darkness, an old GameCube game that\r\n is still worth a look, and it\'s allowed me to digitize old VHS tapes we have\r\n lying around. More on that in another episode.\r\n
\r\n\r\n It is a fantastic alternative to keeping an older analog TV around. If you have\r\n older equipment that needs to dump analog video somewhere, tvtime and a hardware\r\n tuner makes for a great setup.\r\n
\r\nhttps://en.wikipedia.org/wiki/Phatch
\r\n\r\n\r\n This absurdly spelled program is incredibly good at what it does. Phatch, some\r\n sort of unholy combination of \"photo\" and \"batch\", is a GUI interface for\r\n assembling chains of actions to manipulate image files.\r\n
\r\n\r\n I use this program for web development to save time when creating static photo\r\n galleries or other types of images with similar constraints.\r\n
\r\n\r\n To use phatch, you assemble a set of operations (phatch refers to these as\r\n \"actions\") in an ordered \"action list\". I\'ll use my gallery thumbnail action\r\n list as an example.\r\n
\r\n\r\n There are only two actions in my thumbnail action list: \"fit\", and \"save\". Each\r\n action has a set of predefined parameters and options that let you tweak what\r\n happens to your files. The \"fit\" action resizes an image without goofing up the\r\n aspect ratio. You give it a box to fit the image in, and it fits it fully into\r\n that box and cuts off any extra edges. The most important parameters for this\r\n action are canvas width, and canvas height - which tells phatch how big the box\r\n is. The save action has parameters that let you set which image format to use,\r\n which folder to save to, and even what to name the file. For my thumbnails, I\r\n have it use the original filename, and append a \"_t\".\r\n
\r\n\r\n Once you have your action list together, you can tell phatch to run on an entire\r\n directory and include or exclude different file types.\r\n
\r\n\r\n There is much, much more to phatch than just resizing images. Sounds like\r\n another episode idea… anyhow, moving on!\r\n
\r\n\r\nhttps://packages.debian.org/hu/jessie/xstarfish\r\n
\r\n\r\n I left xstarfish until the end, because it\'s so much fun and so very, very\r\n weird. xstarfish generates a random, tileable background that can be dumped to\r\n a file, or assigned directly to the X display of your choice.\r\n
\r\n\r\n It uses some sort of magic randomsauce to pick a color palette, some patterns,\r\n and some other distortions to that you get a brand-new, unique background every\r\n time you run it.\r\n
\r\n\r\n It can also be started in daemon mode, with a timer, to automatically change\r\n your wallpaper periodically.\r\n
\r\n\r\n There are at least two problems with this.\r\n
\r\n\r\n First of all, let\'s start with the practical. You can set the size of the image\r\n xstarfish generates, by either using the -g flag and manually setting the\r\n geometry with a pixel width and/or height, or you can use the -s flag and set a\r\n general size like \"small\", \"large\", or \"full\". If you use \"full\", xstarfish\r\n automatically generates a full wallpaper for your display.\r\n
\r\n\r\n Since xstarfish generates randomness (which is often CPU intensive) and uses\r\n that to generate random filters (which can be hard on your CPU) and can be set\r\n to do it periodically (which, depending on frequency, could keep your CPU busy),\r\n this utility can be a resource hog. I have two monitors, each running 1280x1024\r\n resolution, and when I set it to generate a new background every 10 seconds...\r\n well, it didn\'t. It just maxed out one of my CPU cores, and spit out a\r\n background every once and a while. Cutting it down to only generate a single\r\n monitor-sized image every 60 seconds made things much more reasonable.\r\n
\r\n\r\n The second, more pertinent issue with xstarfish is that it randomly picks colors\r\n and patterns. It is exceptionally random about it. Imagine for a moment that you\r\n needed to paint a room, and you wanted to pick random colors and patterns for a\r\n room in your house. You would begin by blindfolding a friend and pushing them\r\n into the paint isle at your nearest hardware store. Whatever three buckets of\r\n paint they bump into first, well, that\'s your color palette. What do you mean\r\n you don\'t like orange, sea foam and gunmetal grey? \r\n
\r\n\r\n Then, you take those paint cans and proceed to tie one to your ceiling fan, one\r\n to your eight-year-old child and swing the third around your head at a 35 degree\r\n angle. Fairly quickly, you\'ll have your own xstarfish-inspired decor.\r\n
\r\n\r\n With all of the potentially awful things that can happen, I really do like\r\n xstarfish. It\'s not something I keep running all the time, and a lot of the\r\n options remind me of early 90s Encino Man fashion and school photo backdrops\r\n with lasers. But sometimes the patterns are actually quite pleasing, and if I\r\n keep the tile size small, it reminds me of 90s web design.\r\n
\r\n\r\n That concludes the second installment of apt spelunking. Please don\'t let me\r\n take all the glory; take a tour through your package manager, whatever distro\r\n you use, and tell us about some cool stuff you find!\r\n
',196,98,0,'CC-BY-SA','apt,tvtime,xstarfish,phatch,images,batch,video,wallpaper,terrible',0,0,1), (1899,'2015-11-12','MyTinyTodo List',752,'Introduction to one of my favorite productivity tools, the web-based todo list called MyTinyTodo','This show is about my favorite tool to keep track of stuff I have to do, stuff I want to do, gift ideas for my family, books I want to read, HPR topics to record, etc. It\'s called MyTinyTodo. It\'s a web app that you can host on your own server and access from any device that has a web browser.
\r\nThe website claims that it is already mobile friendly, but I did not like the mobile interface they had, and also did not like the fact that I had to use a different URL to get the mobile interface, so I hacked the stylesheet and the index.html file in the code to make it a responsive design. Now it looks great on all of my devices.
\r\nSetup is very easy as these things go. Check out the installation instructions at their website.
',238,0,0,'CC-BY-SA','productivity, organization, web apps, self-hosting',0,0,1), (1911,'2015-11-30','Thoughts on GUI v CLI and the best distro',909,'Thoughts on which desktop to use, and which GUI to use','\r\nDeciding which GUI to present to a non techie, is simply a non issue as they can and do use different OS\'s all the time. We all have family and friends who have managed to operate phones, TV\'s and tablets as they iterate through their UI changes. Think about the changes in phones from Symbian to Android, iOS. The move from up and down channel tv\'s to DVR\'s, STB\'s and smart TV\'s. An then they all managed to get the hang of iPads and tablets without even calling you.\r\n
\r\n\r\n\r\nTeach someone to use a GUI and they can use that computer.
\r\nTeach someone the command line and they can use any computer.\r\n
\r\nGUI\'s change and do so all the time. This happens across the board. On all OS\'s Windows, Mac, KDE, Android, Gnome, Nokia.
\r\nhttps://en.wikipedia.org/wiki/History_of_the_graphical_user_interface\r\n
\r\nOn the other hand, if you learn to computer via the command line ONCE, then you know how to operate computers from 46 years ago, and most likely in 46 years. If you plans involve a career in the tech industry, you need to be using the command line.\r\n
\r\n\r\nMost of the issues are the fear of not been the expert any more.\r\n
\r\n\r\n\r\nYes. Android
\r\nhttps://www.businessinsider.com/iphone-v-android-market-share-2014-5?IR=T\r\n
\r\nBut you cry \"Android isn\'t Linux\".\r\n
\r\n\r\nYes. ChromeOS is now shipping more units to educational market than Apple.
\r\nhttps://www.forbes.com/sites/anthonykosner/2014/12/01/google-unseats-apple-in-u-s-classrooms-as-chromebooks-beat-ipads/
\r\nhttps://events.linuxfoundation.org/sites/events/files/slides/chrome.pdf\r\n
\r\nDon\'t worry about it. Find what works for you and use it. Try and learn as much as you can. Learning stuff that will be around in 5 years is a good investment, but that is your choice.\r\n
\r\n',30,0,0,'CC-BY-SA','GUI,Graphical User Interface,CLI,Command Line Interface',0,0,1), (1897,'2015-11-10','Installing Windows 7 Ultimate',1357,'I talk about installing Windows 7 Ultimate on a 320 GB HDD I got from a friend','\r\nhttps://anthonyvenable110.wordpress.com is my blog so feel free to check me out there.\r\n
\r\n',297,0,0,'CC-BY-SA','windows, operating system installation, windows 7 Ultimate, windows 7',0,0,1), (1901,'2015-11-16','Instaling Linux programs without internet',294,'I install supertuxkart at home on my PC','\r\nhttps://www.supertuxkart,net/downloads to get your copy of the game\r\n
',297,0,0,'CC-BY-SA','linux, open source games, free',0,0,1), (1921,'2015-12-14','How to run a conference',700,'How to organise and run a conference, and what can go wrong.','\r\nThe slides that this podcast are based upon can be found here:\r\n
\r\n\r\n',315,0,0,'CC-BY-SA','conference,PyCon Australia,linux.conf.au',0,0,1), (1898,'2015-11-11','Free my music!',392,'How I got my music off my Mac and ended my iDependence.','\r\nHow I got my music library transferred from my Mac to my Linux box, thereby allowing me to fully switch to Linux. This is a problem I\'ve been neglecting for a while that has been keeping me tethered to iTunes whenever I want to hear my music. This probably isn\'t the best or simplest solution, but it\'s how I felt comfortable doing it.\r\n
',303,0,1,'CC-BY-SA','Linux, Mac, music, iTunes, switch',0,0,1), (1902,'2015-11-17','My Linux Tool Box',1411,'Fin talks about his digital box of Linux tools.','\r\nTools I use:\r\n
\r\nIn this recording I describe how I decided where to store software that I downloaded manually, as opposed to software that is installed and organized automatically by GNU/Linux systems.
\r\nSPOILER: I settled on ~/local/src/
and ~/local/opt/
Happy Halloween.
\r\nThis is my first time recording a podcast. I recorded this in an afternoon when no one else was around except the furry kids and the neighbors outside. I\'ve had the idea for this episode for a while, but having never recorded before didn\'t really know when/where/how to do it until just now.
\r\nThe perspective of this episode comes from a GNU/Linux user since Sept. 2012, and a little bit of experience from 2002-2004. I\'m interested in easy, simple solutions that everyone can use to solve problems or use new things.
\r\nSpecial thanks to Clacke for recommending in his recent episode the free/open-source Android recording application uRecord available from F-Droid. The resulting audio sounds great and uRecord is very easy to use. I recorded several separate paragraphs and concatenated them with Audacity.
\r\n',317,0,0,'CC-BY-SA','linux, gnulinux, freesoftware, sourcecode',0,0,1), (1922,'2015-12-15','The case to backup Google email.',57,'A quick example of how I imported a backup of Gmail.','\r\nGoogle Takeout, good for backup of gmail, or anything else from the Google-verse.\r\n
\r\n\r\nThunderbird email client\r\n
\r\n\r\nImportExportTools for Thunderbird\r\n
\r\n',318,0,0,'CC-BY-SA','google, email, thunderbird, backup, export',0,0,1), (1903,'2015-11-18','Some further Bash tips',1758,'Some more information about types of expansion in Bash','There are seven types of expansion applied to the command line in the following order:
\r\nWe will look at some more of these in this episode but since there is a lot to cover, we\'ll continue in a later episode.
\r\nI have written out a moderately long set of notes about this subject and these are available here https://hackerpublicradio.org/eps/hpr1903_full_shownotes.html.
\r\nHello, HPR. I am OnlyHalfTheTime, the Reluctant Windows Admin. I am a Linux user at home and at heart. I run VPSs on Digital Ocean, host websites all in Linux, mostly Ubuntu. By day, however, I work for an Managed Services Provider which deals with all Windows boxes.
\r\nToday, I would like to talk about some tips and tricks I have come across while being forced to make the best out of a Windows environment. Being a Linux user, I find that many functions are more quickly completed if you drop to a Command Line Interface. This holds true for many Windows functions as well.
\r\nFirst, let\'s establish the kind of environment you will need.
\r\nUnfortunately, there is no sudo command built in to Windows. What we will need to do is run a command prompt as an administrator. On Windows 7, you can accomplish this by clicking the start menu, typing cmd, then rightclicking the command prompt program and choosing \'run as administrator\'. In Windows 8 and 10, you can right click the start menu directly and click Command Prompt Admin.
\r\nThis is almost the equivalent to running as root. You can affect almost anything except some system protected files. No rm -rf /* for you! The windows user most like root would be SYSTEM. Running a command prompt as SYSTEM is possible to accomplish a few ways, but is very very rarely needed. I can make another podcast about that later, but it is out-of-scope here.
\r\nLets get into our first example: User creation is so much easier at the Windows command line. For example, I want to add a local user to a system with administrative rights. From an admin command prompt, I type:
\r\nnet user john hunter2 /add
\r\nthis creates the user john with the password hunter2. Then I type:
\r\nnet localgroup administrators john /add
\r\nThis adds john to the local group administrators. This group has admin rights on this local machine. Say john abuses this privilege and needs to have his permissions revoked.
\r\nnet localgroup administrators john /delete
\r\nThis is much easier than going to the control panel, searching for users, adding a user, defining a password, choosing to make it an admin user. For me at least.
\r\nAnother thing the net command is used for is restarting services. Does that sounds silly to you? I agree! Regardless, let say you want to restart the print spooler on a troubled workstation. You could open a run prompt by hitting Windowskey+R and type "services.msc". This opens up the services window where you can find the service "print spooler" and right click it to restart. or you could just type:
\r\nnet stop spooler\r\nnet start spooler
\r\nThis is easier to script as well, in case a user is always having trouble printing. Provide a simple batch file (the equivalent of a shell script) to resolve and get on with your day.
\r\nAffecting files can be a pain in Windows as the paths tend to be esoteric and alien to a Linux user. For example. Let\'s say I want to copy file foo.bar in the openVPN programs folder to my desktop. I could type:
\r\ncopy "C:\\Program Files (x86)\\OpenVPN Technologies\\OpenVPN Client\\etc\\profile\\foo.bar" "C:\\Users\\john\\desktop\\foo.bar"
\r\nGotta remember those doublequotes since Windows has spaces AND parentheses in the full path. Wow. Even with tab completion, that\'s a lot of work. I have a better solution if you have access to the GUI. Find the file you wish to copy and drag and drop it into the command window. Windows will enter the full path into the prompt. If the files does not already exist where you want it you can\'t drag it into the prompt. There are variables that can speed up this process. It may not be as elegant and simple as ~, but Windows does have a variable for the local user\'s home directory. You can type:
\r\n%HOMEPATH%\\desktop\\foo.bar
\r\nBut you are saying, wait OnlyHalfTheTime, this doesn\'t save me any time or keystrokes! This is true in this specific case, but in scripting, it becomes important to use variables instead of full paths. I may not have Windows installed in the "C" drive for example. Also, some are real time-savers. if you use %APPDATA% for example, it maps to C:{username}.
\r\nNow, let\'s say I am going to be doing a lot of work in a specific directory. I could keep entering the full path, but come on, no one likes that guy. I could open a command prompt and cd
or change directory, just like in Linux. or I could find the directory in the file explorer and right click in the folder while holding down shift. This gives you and extra option in the context menu named \'open command windows here\' which does exactly that. You will get a command window opened with the working directory set as the folder in which you right clicked.
Hopefully some of these methods will help folks like me: Windows admin by day, Linux enthusiast by night. This is OnlyHalfTheTime, the Reluctant Windows Admin, signing off.
\r\n',319,0,0,'CC-BY-SA','Windows, command line',0,0,1), (1912,'2015-12-01','OpenNMS at All Things Open Conference',476,'Klaatu talks to the OpenNMS project at the All Things Open Conference','\r\nKlaatu talks to Jessie the OpenNMS project at the All Things Open Conference.\r\n
',78,78,0,'CC-BY-SA','interview,OpenNMS',0,0,1), (1907,'2015-11-24','Charlie Reisinger and Penn Manor',366,'Klaatu interviews Charlie Reisinger of Penn Manor school district','\r\nKlaatu interviews Charlie Reisinger about how Penn Manor school district uses of open source...on every student\'s laptop.\r\n
',78,78,0,'CC-BY-SA','linux,laptop,school',0,0,1), (1917,'2015-12-08','OpenSource.com',888,'Klaatu interviews Rikki Endsley from opensource.com','\r\nKlaatu interviews Rikki Endsley from https://opensource.com, a community-driven website covering news and events in the open source world. Klaatu sometimes contributes to https://opensource.com, so this interview is tainted and biased. Beware!\r\n
',78,78,0,'CC-BY-SA','open source, journalism',0,0,1), (1923,'2015-12-16',' Klaatu and System76',479,'Klaatu interviews Sam about kjd newest line of System76 computers','\r\nKlaatu interviews Sam about kjd newest line of System76 computers, now with an all metal body! (the computers, not Klaatu, or Sam)\r\n
\r\n\r\nhttps://system76.com/\r\n
',78,78,0,'CC-BY-SA','laptop, heavy metal, apple, mac, ubuntu, system76',0,0,1), (1927,'2015-12-22','Ansible Interview',480,'Klaatu talks to Ansible at All Things Open conference','\r\nKlaatu talks to Ansible at All Things Open conference.\r\n
\r\n',78,78,0,'CC-BY-SA','ansible,automation,chef,puppet',0,0,1), (1908,'2015-11-25','Arduino Pumpkin',448,'droops talks about how his class built a pumpkin that comes alive for halloween.','\r\nint ledPin1 = 5;\r\nint ledPin2 = 6;\r\nint motorPin = 8;\r\nint lightPin = 3;\r\nint lightVal;\r\nint potPin = 0;\r\nint potVal;\r\n\r\nvoid setup(){\r\n Serial.begin(9600);\r\n pinMode(ledPin1, OUTPUT);\r\n pinMode(ledPin2, OUTPUT);\r\n pinMode(motorPin, OUTPUT);\r\n pinMode(potPin, INPUT);\r\n pinMode(lightPin, INPUT);\r\n digitalWrite(ledPin1, LOW);\r\n digitalWrite(ledPin2, LOW);\r\n digitalWrite(motorPin, LOW);\r\n}\r\n\r\nvoid loop(){\r\n potVal = analogRead(potPin);\r\n lightVal = analogRead(lightPin);\r\n Serial.println(lightVal);\r\n if (lightVal < potVal){\r\n animate();\r\n }\r\n}\r\n\r\nvoid animate(){\r\n digitalWrite(ledPin1, HIGH);\r\n digitalWrite(ledPin2, HIGH);\r\n digitalWrite(motorPin, HIGH);\r\n delay(100);\r\n digitalWrite(ledPin1, LOW);\r\n digitalWrite(ledPin2, LOW);\r\n digitalWrite(motorPin, LOW);\r\n}\r\n\r\n',1,91,0,'CC-BY-NC-SA','Arduino,Arduino Uno,LED,pumpkin,Halloween',0,0,1), (1909,'2015-11-26','Creating an Open, Embedded-Media Music Textbook',1795,'This is a recording of my presentation at the recent national joint CMS/ATMI meeting in Indianapolis','
\r\nThis is a recording of a presentation I gave on November 7th, 2015, at the national joint meeting of the College Music Society (CMS) and the Association for Technology in Music Instruction (ATMI) in Indianapolis, Indiana. I even have some action photos! Click on the first image below to visit the Flickr photo album, which also includes the slides from my presentation.\r\n
\r\n\r\n\r\n\r\nMany of the tedious repetitive processes I had to do on image files and audio files are done by bash scripts that are launched by voice commands, as demonstrated in the YouTube video above. The processes I\'m talking about are things like renaming files according to my filenaming conventions, putting the files in the right place, resizing images, converting images to different formats, optimizing them for file size, converting audio from MIDI to ogg and mp3, and reducing audio from two channels to one in order to reduce file size. Below are the main tools I use for this, apart from the Linux bash shell itself. If you\'re interested in actually seeing the scripts I wrote to perform the magic, I am happy to share. Just drop me an email.
\r\n\r\n\r\nIs free software ready for the mainstream? Has Linux progressed far enough in its evolution to be a practical desktop environment for those who dont have degrees in computer science? Can a user really just switch off Windows or Mac and be as productive on a completely open source operating system?\r\n
\r\n\r\nThe Linux Experiment is relatively simple in its goals. Friends, all with varying degrees of experience with Linux in general (even some with zero experience and others who have experience with multiple distributions), will install some distribution or another of Linux on their home computers for four months.\r\n
\r\n\r\nOver the course of these four months, the users will administrate, tinker with, and use Linux as their primary home operating system, utilizing the power of open-source operating systems and applications to see just how productive they can be. Updates will be made on this very site along the way, providing an in-depth look into how each user is adapting to their new environment. The trials, tribulations, triumphs, and other nouns beginning with t will all be laid out here, bare for everyone to see.\r\n
\r\n\r\nBy the end of the four month cycle, each user has imposed their own goals as to where they want to be with Linux; running a server environment? Comfortable to tinker with bash commands? Time will tell.\r\n
\r\n\r\nFor now, sit back, relax, and enjoy this isnt your normal experiment. We are the guinea pigs.\r\n
\r\n\r\nQmmp is an audio and video player for Linux, BSD, and Windows that\'s similar in appearance and functionality to Wimamp and XMMS. The Linux and BSD version are capable of playing video as well, through an mplayer plugin.
\r\nIf you like eye candy, it\'s skinnable; a library of skins is available from the maintainer. In addition, it works nicely with legacy XMMS and Winamp skins.
\r\nQmmp interface.
\r\n
Qmmp video play:
\r\n
Qmmp settings dialog:
\r\n
Homepage: https://qmmp.ylsoftware.com/
\r\nSlackbuilds links:\r\nQmmp: https://slackbuilds.org/repository/14.1/audio/qmmp/\r\nQmmp Plugins: https://slackbuilds.org/repository/14.1/audio/qmmp-plugin-pack/
\r\nWikipedia article: https://en.wikipedia.org/wiki/Qmmp
\r\nPlaylist (*.m3u) specification:\r\nhttps://tools.ietf.org/html/draft-pantos-http-live-streaming-17
\r\nSkinamp: https://www.saschahlusiak.de/skinamp/
\r\nLibrivox: https://librivox.org/
\r\n',195,0,0,'CC-BY-SA','Audio,Video,Player,Playlist',0,0,1), (1925,'2015-12-18','Kdenlive Part 1: Introduction to Kdenlive',1085,'Geddes narrates the first part of Seth Kenlon\'s An Introduction to Kdenlive','\r\nThis article has been written by Seth Kenlon and is narrated for you by Geddes. It was first published on 2011-11-16 and some of the commands may have changed slightly. Please see https://opensource.com/life/11/11/introduction-kdenlive for the complete text.\r\n
\r\n\r\n\r\nSeth Kenlon is an independent multimedia artist, free culture advocate, and UNIX geek. He is one of the maintainers of the Slackware-based multimedia production project, https://slackermedia.ml\r\n
\r\n\r\n\r\nGNU/Linux has infamously been wanting for a good, solid, professional-level free video editor for years. There have been glimpses of hope here and there, but mostly the editors that have the look and feel of a professional application are prone to blockbuster-worthy crashes, and those that have been stable have mostly been stable because they don\'t actually do anything beyond very basic editing. Kdenlive changes all of that.\r\n
\r\n\r\nAt the film production facility at which I work, Kdenlive is the Linux editor in production use, and it performs (and frequently out-performs) the Mac boxes in cost, upkeep, flexibility, speed, and stability. This article series seeks to illuminate for professional editors how Kdenlive can replace proprietary tools, nearly as a drop-in replacement.\r\n
\r\n\r\nA good video editor is one that is suitable for anyone wanting to edit video, with powerful features that enable the video professional to do any task required of the job, yet with the simplicity that allows a hobbyist to quickly cut together footage off of a phone or point-and-click camera. Kdenlive can be both of those things, but regardless of the scope of your video project, there are right and wrong ways of doing things. Over the course of five articles, we will review the practical usage and the common set of best practices that will ensure your projects are successful.\r\n
\r\n',310,0,0,'CC-BY-SA','Kdenlive,opensource.com,Slackermedia',0,0,1), (1932,'2015-12-29','Klaatu interviews Grafana',478,'An interview with the Grafana project at All Things Open Conference 2015','\r\nGrafana provides a powerful and elegant way to create, explore, and share dashboards and data with your team and the world.\r\n
\r\n\r\nGrafana is most commonly used for visualizing time series data for Internet infrastructure and application analytics but many use it in other domains including industrial sensors, home automation, weather, and process control.\r\n
\r\n\r\nhttps://grafana.org\r\n
\r\n\r\n',78,78,0,'CC-BY-SA','go,graph,monitor,devop,admin,server',0,0,1), (1937,'2016-01-05','Klaatu talks to Cloudera about Hadoop and Big Data',647,'Klaatu talks to Cloudera about Hadoop and Big Data','\r\nCloudera delivers the modern platform for data management and analytics. We provide the world’s fastest, easiest, and most secure Apache Hadoop platform to help you solve your most challenging business problems with data.\r\n
\r\n\r\nhttps://www.cloudera.com/
\r\nhttps://hadoop.apache.org/\r\n
Klaatu reviews the Kobo Touch N-905 e-reader.
\r\nToo Long; Didn\'t Listen: it\'s a positive review and the device mostly works well with Linux. There are some exceptions, such as the need to hack around the registration process; luckily, that\'s easy:
\r\nhttps://gedakc.users.sourceforge.net/display-doc.php?name=kobo-desktop-ereader-setup
\r\nThat being \"the ugly\", here are the Good and the Bad:
\r\nA dependency system for unix services.
\r\nAnd, a set of basic unix services to make a unix system usable.
\r\nAnd, a growing list of not quite so basic services
From a programmers perspective, it\'s the mainloop phenomenon.
\r\nSolaris: Service Management Facility
\r\nMac OSX: launchd
\r\nUbuntu: upstart (until recently)
SYSV
\r\nLSB (actually implements LSB deps)
units
\r\ntargets
\r\nProper, explicit dependencies between system compontents
\r\nStarts components in parallel
\r\nA proper separation of concerns, lots of situations covered.
Configuration is not runnable shell.
\r\n[Unit]\r\nDescription=CUPS Scheduler\r\nDocumentation=man:cupsd(8)\r\n\r\n[Service]\r\nExecStart=/usr/sbin/cupsd -l\r\nType=simple\r\n\r\n[Install]\r\nAlso=cups.socket cups.path\r\nWantedBy=printer.target\r\n
\r\nSeparate system and user daemons.
\r\nModify configuration without modifying upstream configuration
\r\nService watching (startup, watchdog, failure modes)
\r\nsystemd-delta
[EXTENDED] /lib/systemd/system/rc-local.service → /lib/systemd/system/rc-local.service.d/debian.conf\r\n[EXTENDED] /lib/systemd/system/systemd-timesyncd.service → /lib/systemd/system/systemd-timesyncd.service.d/disable-with-time-daemon.conf\r\n[EQUIVALENT] /etc/systemd/system/default.target → /lib/systemd/system/default.target\r\n\r\n3 overridden configuration files found.\r\n
\r\nRemoval of some error and security prone code
\r\nstandardized cgroup controls
\r\ncontainers
\r\ndebootstrap ; systemd-spawn-boot\r\n* systemd takes care of all pseudo file systems for you
quick to boot
\r\ncan reduce load later on (services start & stop as required)
Color legend:
\r\nsystemd-analyze plot gdm.service
\r\nJournald
\r\nIt’s a little new, so LTS distros necessarily have older versions
\r\nnetwork-online.target is a bit flakey
\r\nDBUS
Deeply hooked into linux specific details, not portable
\r\nSome cool features relient on file system e.g. btrfs for snapshot
\r\nI haven’t had a chance to play with networkd yet, but it sounds like it’s going to be very good.
\r\nMigrating
\r\nUserspace
\r\n\r\nWhen I first heard Windigo\'s episode about waking up, I literally uttered \"Windigo, yer fucking killing me, man\".\r\n
\r\n\r\nhttps://hackerpublicradio.org/eps.php?id=1838\r\n
\r\n',243,0,1,'CC-BY-SA','computer-based alarm system,media player,LED',0,0,1), (1918,'2015-12-09','DerbyCon Interview with Dave Kennedy',197,'Dave Kennedy talks about a capture the flag contest','\r\nDavid Kennedy (ReL1K) is a security ninja and penetration tester that likes to write code, break things, and develop exploits. Dave is a Chief Information Security Officer (CISO) for a Fortune 1000. Dave is on the Back|Track and Exploit-Database development team and a core member of the Social-Engineer podcast and framework. David continues to contribute to a variety of open-source projects. David had the privilege in speaking at some of the nations largest conferences on a number of occasions including BlackHat, Defcon and Shmoocon. David is the creator of the Social-Engineer Toolkit (SET), Fast-Track, modules/attacks for Metasploit, and has released a number of public exploits. David heavily co-authored the Metasploit Unleashed course available online and has a number of security related white-papers in the field of exploitation. David has a book soon to be released in June from NoStarch Press, “Metasploit: A Penetration Testers Guide”. David is one of the founders of DerbyCon, a hacker con located in Louisville, Kentucky. Lastly, David worked for three letter agencies during his U.S Marine Corp career in the intelligence field specializing in red teaming and computer forensics.\r\n
\r\n\r\nhttps://www.derbycon.com/talks-2011/\r\n
',79,78,1,'CC-BY-SA','interview,penetration testing,metasploit,DerbyCon',0,0,1), (1919,'2015-12-10','DerbyCon Interview with Paul Koblitz',284,'A brief interview with a pen tester','\r\nXoke interviews Paul Koblitz (@ph4que), Senior Security Consultant at TrustedSec focusing on physical penetration. Also in the shownotes is a template for a \'loid\' which Paul discusses in the interview as his favourite tool.\r\n
\r\n',79,78,1,'CC-BY-SA','interview,penetration testing,loid',0,0,1), (1924,'2015-12-17','Port Forwarding',1366,'In HPR 1900, Ahuka suggests changing the default ssh port, I ask why not employ port forwarding?','In Episode 1900, Ahuka advised you not to expose the ssh service to the Internet on the default port 22, there we agree. This is called "Security Through Obscurity". Whenever possible, server functions exposed to the Internet should be on non-default port numbers (the exception being HTTP on a public web server). I disagree however, in Ahuka\'s method of changing the port. He said you should change the port on the server itself:
\r\nFrom https://www.cyberciti.biz/tips/setup-ssh-to-run-on-a-non-standard-port.html
\r\nOpen /etc/ssh/sshd_config file and look for line Port 22 and change line to Port 2222. Restart sshd server. systemctl restart sshd
\r\nSshd is running on a non-standard port, connection attempts to the system will fail. You need to connect using following command:
\r\n$ ssh -p 2222 user@your-ip OR $ ssh -p 2222 user@you.homenetwork.org
\r\nThis could make sense if you manage a business or school network, where you have numerous users within your network with whom you share varying levels of trust. Still, I don\'t think anyone who can brute force your shh logon or shared keys would be stymied by a simple change of ports. But Ahuka also mentioned home networks, and I think we would rather keep things simple. I would humbly suggest keep ssh servers set to port 22 internally, and using a technology called "port forwarding" available on most consumer routers. Port forwarding is simply an administrator configured table that redirects incoming traffic on one IP port to a specific internal IP address and IP port on your internal network. In fact, unless you have only one PC connected directly to you ISP with no router or firewall, you will still need to setup port forwarding to tell the router which machine on your network the for which incoming communication is intended.
\r\nIn other words, let\'s say you\'ve enabled ssh on port 40001 of a machine with an internal address of 192.168.1.5. You try to login remotely via ssh on port 40001 using the external IP assigned to you by your ISP (which is taken from a range assigned to them by the IANA). The external IP of your router should be displayed on your router\'s status page, or you could type "what is my IP" into Google. Instead of an IP in the range 192.168.x.y, like you are probably using internally, your external address will be in the Class A or B range, for instance 73.149.12.124.
\r\nSo let\'s say you have ssh server running on port 40001 on a machine with IP adddress 192.168.1.5 on your home network. Your server has an external address of 73.149.12.124. You are at work or on vaction or whatever and you want to ssh into that machine on your home network, i.e,
\r\nssh -p 40001 you@73.149.12.124
\r\nUnless the router itself supports ssh server (entirely possible with third party Linux based firmwares like Open-WRT and DD-WRT), if you haven\'t configured port fowarding, the router won\'t have any idea what to do with an incoming request on port 40001. You need to set up your port forwarding table in your router (don\'t worry, it\'s all point and click). IP forwarding may be under Advanced, in the menus, or Security, or Firewall, or a combination of the above.
\r\nYou will be asked to enter the external port number (in our example, 40001), TCP or UDP or both (in our case, ssh is both, so you may have to create two separate entries), the internal IP address (in our example 192.168.1.5) and the internal port number (if you changed it internally as Ahuka recommended, in our example 40001, but, and this is the whole point of this podcast, you are going to have to set up port forwarding anyway, so why change the port number locally in the first place? If the terms TCP (Transport Control Protocol) and UDP (User Data Protocol) are unfamiliar to you, the difference can easily be explained. Using TCP, the computer transmitting data stops every few packets (I think the default is three, but don\'t hold me to it) until it gets an acknowledgment from the receiver that the packets were successfully received, then the sender continues. With UDP, the sender blurts out the whole transmission without caring whether the receiver go it or not.
\r\nWikipedia has a great article on official and unofficial standardized port numbers. Once you get into five digits, conflicts to already assigned ports are rare, but it\'s still best to consult the Wiki. The higher numbers are generally not officially assigned, some particular software product is just "squatting" on the number. In fact, using the port number for a technology you are certain will never be used on your network may further obfuscate the service for which you are actually using it. You may think port 40001 is surely high enough to be free of conflict, but the Wiki says 40000 is used by "SafetyNET p Real-time Industrial Ethernet protocol".
\r\nAnother advantage of port redirection is you could use a different external port number with every host on your network, i.e., 40001 redirects to you server, 40002 redirects to your desktop, 40003 redirects to the old laptop in the kid\'s room, etc. Personally, I\'d only have port redirection into a single machine that is connected persistently (like a server), and the ssh from it into other hosts on the network (yes, this would be a connection of at least three nested shells). You can even run graphical programs over ssh with the -X argument, but I\'m leaving that on for later discussion. Of course, we will loose that functionality when we move from x-server to Wayland, so if you need a GUI you may have to investigate technologies like VNC or VPN.
\r\nOf course, everything depends on having a static IP locally on the ssh server (either set on host itself or manual assignment of IP on the router, if possible). You either need a static external address on the WAN (i.e., external address as seen from the Internet) side or employ a domain forwarding service. Also keep in mind, once we get Ivp6, everything above goes out the window.
\r\nI give a short personal view on what are National Measurements Institutes. More info can be found here:
\r\nhttps://en.wikipedia.org/wiki/International_Bureau_of_Weights_and_Measures
https://en.wikipedia.org/wiki/National_Physical_Laboratory_%28United_Kingdom%29
https://en.wikipedia.org/wiki/Physikalisch-Technische_Bundesanstalt
https://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technology
One thing not mentioned but related is ISO:
\r\nhttps://en.wikipedia.org/wiki/International_Organization_for_Standardization
',301,0,1,'CC-BY-SA','science, measurement, NMI, national measurement institute',0,0,1), (1931,'2015-12-28','Atomic force microscopy',1566,'General view of the nanoscale tools. Special interest with Atomic force microscopes AFM','I give a quick overview of what is nanotechnology. go over some of the tools used to view the small scale. I go a bit more in depth with atomic force microscopy.
\r\nI left many things out that I would like to have said but mostly you can get further information here:
\r\nhttps://en.wikipedia.org/wiki/Atomic_force_microscopy
',301,0,1,'CC-BY-SA','science, measurement, nanotechnology, small scale',0,0,1), (1929,'2015-12-24','I Found a Flashlight',820,'I talk about an amazing flashlight I found while walking to work one day recently','A couple of weeks ago on the way to work I found a flashlight (or a \"torch,\" for those folks across the pond). It was rolling around on the street getting run over by cars and seemingly not suffering any damage as result. As soon as it was safe, I walked out into the street and grabbed it and took it with me. A little poking around online showed me that this was no ordinary device, but a police-grade flashlight.
\r\n\r\n\r\n\r\nI contacted the Lafayette Police Department to find out what kind of flashlights they used and whether anyone had reported one missing. Ordinarily when I find something I don\'t worry about this, but I discovered that this thing cost quite a lot of money—around $125 on Amazon with a retail price of $225—and if a police officer had lost it I certainly didn\'t want him going into his own pocket to replace it if I could just give it back to him. The police department wrote back to me saying, yes, this was the kind of flashlight that they issued to their officers but no one was missing one. I also asked the University Police and they said they don\'t normally issue flashlights but that sometimes officers bought their own and no one had reported missing one.
\r\n\r\nAfter seeing the amazing build quality and absolutely unbelievable light quality this thing produced, I decided to keep it and so I had to buy a charger to recharge the battery. This cost about $28 and now I\'m the proud owner of a Streamlight SL-20L flashlight. This is truly one of the greatest tools I\'ve ever had. Listen to the show to hear me sing its praises!
\r\n\r\n\r\n\r\n\r\nThe playlist can be found at https://www.jamendo.com/playlist/500146000/cov-s-jams-001\r\n
\r\n\r\nIn this episode, the HPR_AudioBookClub reviews Street Candles by David Collins-Rivera. You can download this AudioBook for free from https://www.cavalcadeaudio.com/.
\r\nIf you liked this book, or are a fan of David Collins-Rivera, you can purchase it from https://www.amazon.com/s?ie=UTF8&page=1&rh=n%3A283155%2Cp_27%3ADavid%20Collins-Rivera.
\r\n(summary)
\r\nAs usual, the HPR_AudioBookClub took some time to review the beverages that each of us were drinking during the episode
\r\nThe Call of Cthulhu by H. P. Lovecraft\r\n
https://hppodcraft.com/podcasts/TheCallofCthulhu-hppodcraft.mp3
pegwole suggested this AudioBook, and we all thought that horror was a pretty good selection for our October recording.
\r\nWe record the second Tuesday of every month at 20:00 Eastern US time Which = the second Wednesday of each month at 01:00z (unless its daylight saving time, then its the second Tuesday 24:00zhttps://en.wikipedia.org/wiki/ISO_8601#Times If you\'d like a Google calendar invite, or if you\'d like to be on the HPR_AudioBookClub mailing list, please get in contact with us on the HPR mailing list \'hpr at hackerpublicradio dot org.\' We\'re way behind on publishing, so if you want to join us, get in contact one of these ways and we\'ll let you know what the current book is.
\r\nThank you very much for listening to this episode of the HPR_AudioBookClub. We had a great time recording this show, and we hope you enjoyed it as well. We also hope you\'ll consider joining us next time. Please leave a few words in the episode\'s comment section.\r\n
As always; remember to visit the HPR contribution page HPR could really use your help right now.
https://hackerpublicradio.org/contribute.php
\r\nSincerely,\r\n
The HPR_AudioBookClub
P.S. Some people really like finding mistakes. For their enjoyment, we always include a few.
\r\n',157,53,1,'CC-BY-SA','HPR AudioBookClub',0,0,1), (1934,'2015-12-31','Experiencing the Meegopad T-02 Part two',901,'Part 2 of the saga of the meegopad T-02','\r\nPart 2 of \"Experiencing the Meegopad T-02.\r\n
\r\n\r\nMany thanks to all the HPR contributers that inspire such great stories.\r\n
\r\n\r\nGlossary of slang terms to be updated upon show release, along with the list of sound effects contributers.\r\n
\r\n\r\nSpecial thanks to the following individuals from freesound.org for their sound effects used throughout this episode.Quassel is a centralized IRC hub that allows several client computers to appear as only one connection to the IRC server, i.e. Freenode. About the same time NYBill posted Episode 1869 "IRSSI Connectbot", I was wondering how to merge all my simultaneous IRC connections from multiple hosts to the same channel on the same server into one connection. I did a search on "GUI front end IRSSI" and came up with Quassel instead. I think NYBill and I are trying to solve pretty much the same problem. I\'m not trying to say my solution is better than NYBill\'s, I\'m just saying it\'s the one that appeals the most to me.
\r\nProblem: IRC servers (or at least Freenode) do not allow simultaneous connection from multiple hosts using the same user identifier. I.E., if I was logged in on the PC on my desk via XChat as FiftyOneFifty, if at the same time I was connected to IRC via a PC on the kitchen counter, I would have to use "Kitchen5150" as my identifier. If I was away from home, but left a computer connected to IRC back home, if I connected againover Android I\'d have to be Andro5150. I could adopt all these other personas as aliases, which protected them from theft and allowed me to still have admin rights on channels where I was admin depite using a different login. These multiple versions of me running in IRC inevitably lead to confusion about which was the "real" FiftyOneFifty, a situation which MrJackson is all too familiar with, I\'m sure.
\r\nIRSSI Solution: Connect to a server via ssh, then login into IRC using the IRSSI terminal client inside a GNU screen or TMUX session. When moving between local hosts, disconnect from the current screen or tmux session, ssh into the server from the new host, and reconnect to the session running irssi. The irssi ncurses interface may not be as pretty or easy for some users as a GUI, but I understand it is quite functional.
\r\nQuassel Solution: Connect to IRC server via a single host running quassel-core. Connect multiple simultaneous clients to the core via quassel-client. All clients share the same IRC display at the same time, all the while transparent to the server (i.e. Freenode), which only sees the one login from the host running quassel-core.
\r\nThere are two components two this system, quassel-core and quassel-client. You want to install quassel-core on to a system with a persistent Internet connection, say a home or cloud server. I first used Arch on and RPI model 2, so quassle-core setup for Arch may be found here: https://wiki.archlinux.org/index.php/Quassel .
\r\nA. Install the core
\r\nInstall quassel-core on the server [sudo pacman -S quassel-core]
Generate a certificate
Start core (i.e. sudo systemctl start quassel)
Enable quassel on every startup (sudo systemctl enable quassel)
\r\nSet up Port Forwarding on your router. I suggest you use an external port other than the default 4242 (Security Through Obscurity, see my Port Forwarding episode).
All the configuration is done by the client!
\r\nB. Install quassel-client
\r\nAll you need to connect is an IP address and the external port number. The first account you create will be master and the only account with the ability to create other users. In other words, if someone else had your server\'s IP address and the port Quassel-core is listening on, they could beat you to establishing a master account and controll Quassel on your server.
Once you have established a connection to a core and set your password, you can set up the default IRC servers and channels. It\'s a GUI interface, so I\'m not going to walk you through the menus and various inputs. I only had success setting up one IRC server (Freenode) in the initial setup on the first client (as you connect addition clients, you will find your channels are already configured), and then only if I avoided ssl connections. Channels are entered into a list in the normal way (#channel_1, #channel_2, etc), but once you connect to a server, /join commands become persistant. I added a second IRC server, tllts, once I finished the initial setup.
The user interface is similar to XChat,but not quite as polished.
\r\nYou get popup notifications when someone uses your handle in a chat, but scrolling back to find it, rather than being in a different color, it shows up in a garish reverse text. Easier to spot, but not as eligant.
No way to search back posts for your handle or anything else.
Links posted by others only have "copy this link function", not "open this link in default browser"
I don\'t seem to have spellchecking enabled in my IRC client. I discovered spell checkwas central in Linux, rather than every app having it\'s own version (i.e. I assume FireFox under Windows has it\'s own spellcheck libraries as Office has it\'s own library). I wonder if I installed hunspell on the Quassel core server, if I would suddenly get spellcheck ( https://hackerpublicradio.org/eps.php?id=1356 ).
There is a perfectly adequate Android client for Quassel. Like AndChat, YAAIC, and the others, it seems to drop the connection unless you actively participating, but since the server is persistent, you never miss out on what was said while your client was disconnected.
\r\nThe last time I was awy for the weekend, I shut off all my PC\'s and network devices. One drawback of a local Quassel server would be my LAN and Quassel Core server would need to be up even when I was away from home.
\r\nMigrating Quassel from my local server to the cloud: About a week after I\'d set up Quassel, a buddy anounced he had secured a Digital Ocean Droplet ($5 a month, limited storage, limited bandwidth). He was open to letting his friends use the service, as long as their requirements were low impact. I jumped on the oppurtunity to move my quassel-core over to the "cloud". Remember the five and a half steps to setting up quassel-core under Arch? According to my friend who manages the Digital Ocean Droplet running Ubuntu Server, it was pretty much "sudo aptitude install quassel-core". Once the core was running I then configured the new core from one of the clients (i.e., pointed quassel-client to a new IP and port number, then created an account and password). Since I was on a new server, I had to set up connections my IRC channels again. After that, every client I migrated to the new core inherited those channels from the server. A week or so after moving the core to the cloud, I came home to find my Internet had been down for a few hours. Cycling the power on the ISPs tranceiver and my router fixed my Internet connection, and since Digital Ocean had experienced no interruption, I was still able to scroll back to the five hours of IRC I missed.
\r\nI\'m a fountain pen geek and I thought I\'d share my geekiness on HPR in case there are any other FPGeeks out there.
\r\nI have a pen case which I bought from China through eBay, and so I felt that this allowed me to add this show to the \'What\'s in my ...\' series.
\r\nI have written out a long set of notes to accompany this episode and these are available here https://hackerpublicradio.org/eps/hpr1941/full_shownotes.html.
\r\nNot for the first time I\'m following in the footsteps of Frank Bell. Frank did an HPR episode entitled "A Beginner with a Wok", episode number 1787, on 2015-06-09. On it he spoke about his experiences stir-fry cooking using a wok.
\r\nFrank got a lot of comments about his episode and there seemed to be an interest in the subject. I have been interested in Chinese, Indonesian and other Far Eastern cookery styles for some time, and do a lot of cooking, so I thought I\'d record a show about one of the recipes I use.
\r\nMy son visits around once a week and eats dinner with me. I offered to cook him my version of Chow Mein, which since he is vegetarian, needed to use no meat. This is my description of the recipe I used.
\r\nI loosely based this version of Chow Mein on Ken Hom\'s recipe in his book Chinese Cookery, page 226. This is from his 1984 BBC TV series, which I watched. I also learnt many of my preparation techniques from Ken Hom\'s books and TV shows.
\r\nI have written out a long set of notes to accompany this episode and these are available here https://hackerpublicradio.org/eps/hpr1946/full_shownotes.html.
\r\nApologies for the sounds of a mouse scroll wheel in the audio. I was trying a new microphone position and didn\'t realise how sensitive it was to these sounds.
\r\n\r\nBashpodder is a great Bash script for downloading the latest episodes of podcasts and other media from their feeds.\r\n
\r\n\r\nThere are a few feeds that are not handled properly by Bashpodder, namely, the TED Talks podcast feed and the NPR digest show called the TED Radio Hour.\r\n
\r\n\r\nThe URLs for the audio files have a number of additional fields at the end of the string after the media file name, and Bashpodder picks up the last field as if it were the media file name for the show. So every TED Radio Hour episode is called \"510298\". If you download more than one episode at a time, only the last episode to be saved will survive. Each new file clobbers the last one, because they all get the same filename.\r\n
\r\n\r\nCharles in NJ made a simple fix to Bashpodder.shell to correct this problem, and he shares it in this episode.\r\n
\r\n\r\n\r\nHappy New Year from Charles in NJ. \r\n
',229,0,1,'CC-BY-SA','Bashpodder, podcast, bash, awk',0,0,1), (1939,'2016-01-07','Collating Pages with pdftk',934,'I describe how to collate the pages of two separate PDF files using pdftk','I\'m moving into my new office at work, and among many things I had to move are file boxes full of old class notes from graduate school. The academic hoarder in me doesn\'t want to recycle them—I might need these things again! I\'m scanning.
\r\n\r\nI\'ve inherited an excellent scanner/copier with a feeder that lets you scan stacks of pages with one click. This works great for single-sided documents, but most of my handwritten notes are double-sided. I scan one side, then turn the stack over and scan the other side, and I end up with two PDFs for a single stack of pages—one with the front pages and the other with back pages in reverse order. The difficulty is to collate the pages of those two files so that the front and back sides appear in a single PDF in the correct order. Sounds like a job for a shell script!
\r\n\r\nThe script takes two CLI arguments. The first argument is the PDF containing front pages, and the second is the PDF of the back pages.
\r\n\r\nThe first job is take the backsides and reverse the page order, because they were scanned in last-page-to-first. This is very easy with pdftk
:
pdftk back.pdf cat end-1 output backfix.pdf\r\n\r\n
Now that the pages are all in the correct order it\'s time to collate them. We\'re going to use the burst
function of the PDF toolkit to explode each of the two PDFs into separate pages. After that, we recombine the separate pages in the correct order. The trick is finding a way to do this efficiently. In concept, it\'s not hard to collate pages in whatever order you want after they\'ve been burst. You simply keep giving pdftk
CLI arguments for all of the files you want to combine and then output them as a single file. However, if you have 40 or 50 pages, it\'s extremely tedious to provide that many CLI args one at a time. This must be automated!
The way I figured out how to do this was to ensure that the burst
command would output files that would appear in the correct order automatically when using the ls
command inside the working directory. The burst
command automatically numbers the output files, but you can specify certain filename formatting parameters if you want to. I chose a format that would begin the filename with the numerical page count in at least three digits with leading zeros (001, 002, etc), followed by an underscore and either the word \"front\" for the front pages or \"reverse\" for the back pages.
So here are the burst
commands:
\r\npdftk front.pdf burst output %03d_front.pdf\r\npdftk backfix.pdf burst output %03d_reverse.pdf\r\n\r\n\r\n
At this point a bunch of new files appear, looking something like this:
\r\n\r\n\r\n001_front.pdf\r\n001_reverse.pdf\r\n002_front.pdf\r\n002_reverse.pdf\r\n003_front.pdf\r\n003_reverse.pdf\r\n...\r\n\r\n\r\n
Notice how the front and back pages all appear in the correct order? Now, instead of typing in the filename for every page, we can use the output of the ls
command, filtering out any files not beginning with numbers.
pdftk $(ls |grep ^[0-9]) cat output collated.pdf\r\n\r\n
And it\'s done. The entire script loks like this:
\r\n\r\n\r\n#!/bin/bash\r\n\r\n# Requires: pdftk\r\n\r\nfront=$(readlink -f "$1")\r\nback=$(readlink -f "$2")\r\nbasedir=$(dirname $front) \r\nstem=$(basename $back .pdf)\r\nbackfix="$stem"-fixed.pdf\r\nnew=$(basename $front .pdf | sed -e \'s/[Ff]ront/Combined/\')\r\n\r\ncd $basedir\r\npdftk $back cat end-1 output $backfix &> /dev/null\r\npdftk $front burst output %03d_front.pdf &> /dev/null\r\npdftk $backfix burst output %03d_reverse.pdf &> /dev/null\r\npdftk $(ls |grep ^[0-9]) cat output "$new".pdf\r\n\r\n\r\n
pdftk
man page: https://www.pdflabs.com/docs/pdftk-man-page/pdftk
: hpr1760As we saw in the last episode 1903 there are seven types of expansion applied to the command line in the following order:
\r\nThere is also another, process substitution, which occurs after arithmetic expansion on systems that can implement it.
\r\nWe will look at one more of these expansion types in this episode but since there is a lot to cover, we\'ll continue in a later episode.
\r\nI have written out a moderately long set of notes about this subject and these are available here https://hackerpublicradio.org/eps/hpr1951_full_shownotes.html.
\r\nThis time, in the spirit of experimentation and as a way of learning Audacity I processed my audio thus:
\r\nTurned the stereo tracks to mono
Used a Noise Gate plug-in to reduce background noise (after "training" it on some silence)
Performed a Truncate Silence pass to reduce the length of pauses
Applied a small amount of amplification
Let me know if this had any positive or negative effects on the end product.
\r\nIn this episode I talk about installing an alternate ebook reader app on your Kindle paperwhite. The one I\'m using is called the Kindle/Kobo Open Reader (KOReader), and it has many features that the stock Kindle reader does not have:
\r\n\r\nHow to get it running:
\r\n\r\nYou can allow KOreader to take over styling of whatever book you\'re reading. If you don\'t like the style rules it applies, you can hack the epub CSS file located here: /koreader/data/epub.css
I have been contributing shows to Hacker Public Radio since 2012. In those far off days (!) we sent everything in via FTP, and had to name the files with a combination of our host id, our name, the slot number and the title. The show notes had to contain a chunk of metadata in a defined format to signal all of the various attributes of the show. I found myself making numerous mistakes with this naming and metadata formatting and so started designing and writing some tools to protect myself from my own errors.
\r\nI started developing a Bash script in mid-2013 which I called hpr_talk
. I used Bash since I thought I might be able to make something with a small footprint that I could share, which might be useful to others. The script grew and grew and became increasingly complex and I found I needed to add other scripts to the toolkit and to resort to Perl and various Perl modules to perform some actions.
Then in 2014 Ken changed the upload procedure to what it is now. This is a much better design and does away with the need to name files in odd ways and add metadata to them. However, this left my toolkit a bit high and dry, so I shelved the plans to release it.
\r\nSince then I have been enhancing the hpr_talk
toolkit, adding features that I found useful and removing bugs, until the present time. Now it is probably far too complex and idiosyncratic to be of direct use to others, and is rather too personalised to my needs to be easily shared. Nevertheless, it is available on GitLab and I am going to describe it here in case it (or the methods used) might be of interest to anyone.
I have written out a moderately long set of notes about this subject and these are available here https://hackerpublicradio.org/eps/hpr1938_full_shownotes.html.
\r\nI had to record this in two parts. In the second part there was a constant background hum which I tried to remove. My removal process was not particularly successful I\'m afraid, so it cuts in and out. I\'m still learning how to do this sort of thing in Audacity!
\r\nIn this episode, the HPR_AudioBookClub interviews David Collins-Rivera.
\r\n(summary)
\r\nAs usual, the HPR_AudioBookClub took some time to review the beverages that each of us were drinking during the episode
\r\n\r\n
The Call of Cthulhu by H. P. Lovecraft\r\n
https://hppodcraft.com/podcasts/TheCallofCthulhu-hppodcraft.mp3
pegwole suggested this AudioBook, and we all thought that horror was a pretty good selection for our October episode.
\r\nOur next book club recording will be 2014/10/14T23:00:00+00:00. https://en.wikipedia.org/wiki/ISO_8601#Times If you\'d like a Google calendar invite, or if you\'d like to be on the HPR_AudioBookClub mailing list, please get in contact with us on the HPR mailing list \'hpr at hackerpublicradio dot org\'
\r\nThis episode was processed using Audacity https://audacity.sourceforge.net/. We\'ve been making small adjustments to our audio mix each month in order to get the best possible sound. It\'s been especially challenging getting all of our voices relatively level, because everyone has their own unique setup. Mumble is great for bringing us all together, and for recording, but it\'s not good at making everyone\'s voice the same volume. We\'re pretty happy with the way this month\'s show turned out, so we\'d like to share our editing process and settings with you and our future selves (who, of course, will have forgotten all this by then).
\r\nMumble uses a sample rate of 48kHz, but HPR requires a sample rate of 44.1kHz so the first step in our audio process is to resample the file at 44.1kHz. Resampeling can take a long time if you don\'t have a powerful computer, and sometimes even if you do. If you record late at night, like we do, you may want to start the task before you go to bed, and save it first thing in the morning, so that the file is ready to go the next time you are.
\r\nNext we use the \"Compressor\" effect with the following settings:
\r\nAfter compressing the audio we cut any pre-show and post-show chatter from the file and save them in a separate file for possible use as outtakes after the closing music.
\r\nAt this point we listen back to the whole file and we work on the shownotes. This is when we can cut out anything that needs to be cut, and we can also make sure that we put any links in the shownotes that were talked about during the recording of the show. We finish the shownotes before exporting the .aup file to .FLAC so that we can paste a copy of the shownotes into the audio file\'s metadata. We use the \"Truncate Silence\" effect with it\'s default settings to minimize the silence between people speaking. When used with it\'s default (or at least reasonable) settings, Truncate Silence is extreemly effective and satisfying. It makes everyone sound smarter, it makes the file shorter without destroying actual content, and it makes a conversations sound as easy and fluid during playback as it was while it was recorded. It can be even more effective if you can train yourself to remain silent instead of saying \"uuuuummmm.\" Just remember to ONLY pass the file through Truncate Silence ONCE. If you pass it through a second time, or if you set it too agressively your audio may sound sped up and choppy.
\r\nAt this point we add new, empty audio tracks into which we paste the intro, outro and possibly outtakes, and we rename each track accordingly.
\r\nWe adjust the Gain so that the VU meter in Audacity hovers around -12db while people are speaking, and we try to keep the peaks under -6db, and we adjust the Gain on each of the new tracks so that all volumes are similar, and more importantly comfortable. Once this is done we can \"Mix and Render\" all of our tracks into a single track for export to the .FLAC file which is uploaded to the HPR FTP server.
\r\nRemember to save often when using Audacity. We like to save after each of these steps. Audacity has a reputation for being \"crashy\" but if you remember save after every major transform, you will wonder how it ever got that reputation.
\r\nThank you very much for listening to this episode of the HPR_AudioBookClub. We had a great time recording this show, and we hope you enjoyed it as well. We also hope you\'ll consider joining us next time. Please leave a few words in the episode\'s comment section.\r\n
As always; remember to visit the HPR contribution page HPR could really use your help right now.
https://hackerpublicradio.org/contribute.php
\r\nSincerely,\r\n
The HPR_AudioBookClub
P.S. Some people really like finding mistakes. For their enjoyment, we always include a few.
\r\n',157,53,1,'CC-BY-SA','HPR AudioBookClub, Pokey, Thaj, lostnbronx, David Collins-Rivera, X1101, Street Candles',0,0,1), (1944,'2016-01-14','sshfs - Secure SHell FileSystem',1861,'How to mount remote storage using sshfs','\r\nThis is a topic Ken Fallon has been wanting someone to do for some time, but I didn\'t want to talk about sshfs until the groundwork for ssh in general was laid. Fortunately, other hosts have recently covered the basics of ssh, so I don\'t have to record a series of episodes just to get to sshfs.\r\n
\r\n\r\nFrom the sshfs man page: SSHFS (Secure SHell FileSystem) is a file system for Linux (and other operating systems with a FUSE implementation, such as Mac OS X or FreeBSD) capable of operating on files on a remote computer using just a secure shell login on the remote computer. On the local computer where the SSHFS is mounted, the implementation makes use of the FUSE (Filesystem in Userspace) kernel module. The practical effect of this is that the end user can seamlessly interact with remote files being securely served over SSH just as if they were local files on his/her computer. On the remote computer the SFTP subsystem of SSH is used.\r\n
\r\n\r\nIn short, sshfs offers a dead simple way of mounting remote network volumes from another system on at a specified mount point on your local host, with encrypted data communications. It\'s perfect for at hoc connections on mobile computers or more permanent links. This is tutorial is going to be about how I use sshfs, rather than covering every conceivable option. I really think my experience will cover the vast majority of use cases without making things complicated, besides, I don\'t like to discuss options I haven\'t used personally.\r\n
\r\n\r\nThere are other ways to mount remote storage, most noteably SAMBA, but unless you are trying to connect to a Windows share, sshfs is far less trouble to set up, escpecially since most distros come with ssh-server already installed.\r\n
\r\n\r\nThe first thing to do when preparing to use sshfs is to create a mountpoint on your local computer. For most purposes, you should create a folder inside your home folder. You should plan to leave this folder empty, because sshfs won\'t mount inside a folder that already has files in it. If I was configuring sshfs on a machine that had multiple users, I might set up a mount point under /media, then put symlinks in every user\'s home folder.\r\n
\r\n\r\nThe sshfs command syntax reminds me of many of the other extended commands based ssh, like scp. The basic format is:\r\nsshfs username@<remote_host>: mountpoint
\r\n
\r\nTo put things in a better perspective, I\'ll use my situation as an example. My home server is on 192.168.2.153. If you have a hostname set up,you can use that instead of an IP. For the sake of arguement, my mountpoint for network storage is /home/fifty/storage . So, I can mount the storage folder on my server using:\r\n
\r\n\r\nsshfs fifty@192.168.2.153: /home/fifty/storage
\r\n
\r\nBy default, your whole home directory on the remote system will be mounted at your mountpoint. You may have noticed the colon after the IP address, it is a necessary part of the syntax. Lets say you don\'t wish to mount your whole remote home folder, perhaps just the subdirectory containing shared storage. In my case, my server is an Raspberry Pi 2 with a 5Tb external USB drive which is mounted under /home/fifty/storage . Say, I only want to mount my shared storage, not everything in my home folder, I modify my command to be:\r\n
\r\n\r\nsshfs fifty@192.168.2.153:storage /home/fifty/storage
\r\n .or.\r\nsshfs fifty@192.168.2.153:/home/fifty/storage /home/fifty/storage
\r\n
\r\nExcept that generally doesn\'t work for me, and I\'ll come to that presently. The 5Tb USB drive on the server isn\'t actually mounted in my home folder, it automounts under /media. The directory /home/fifty/storage on the server is actually a symlink to the actual mountpoint under /media. To make sshfs follow symlinks, you need to add the option \'-o follow_symlinks\', so now my sshfs command looks like:\r\n
\r\n\r\nsshfs fifty@192.168.2.153: /home/fifty/storage -o follow_symlinks
\r\n
\r\nYou may have noticed, the \"-o\" switch comes at end the end of the command. Usually switches come right after the command, and before the arguements. \r\n
\r\n\r\nThis will allow sshfs to navigate symlinks, but I\'ve discovered not all distros are comfortable using a symlink as the top levelfolder in a sshfs connection. For example, in Debian Wheezy, I could do:\r\n
\r\n\r\nsshfs fifty@192.168.2.153:storage /home/fifty/storage -o follow_symlinks
\r\n
\r\nOther distros, Ubuntu, Mint, Fedora so far don\'t like to connect to a symlink at the top level. For those distros, I need to use:\r\n
\r\n\r\nsshfs fifty@192.168.2.153: /home/fifty/storage -o follow_symlinks
\r\n
\r\nand walk my way down to storage.\r\n
\r\n\r\nOther related options and commands I haven\'t used but you may be interested in include -p , for Port. Lets say the remote server you want to mount is not on your local network, but a server out on the Internet, it probably won\'t be on the default ssh port. Syntax in this case might look like:\r\n
\r\n\r\nsshfs -p 1022 fifty@142.168.2.153:storage /home/fifty/storage -o follow_symlinks
\r\n
\r\nReading the man page, I also find \"-o allow_root\" which is described as \"allow access to root\" . I would expect, combined with a root login, this would mount all of the storage on the remote system, not just a user\'s home directory, but without direct expertience, Iwouldn\'t care to speculate further. \r\n
\r\n\r\nThe mount can be broken with \'fusermount -u <mountpoint>\'
. \r\n
\r\nAt this point, I could explain to you how to modify /etc/fstab to automatically mount a sshfs partition. The trouble is, /etc/fstab is processed for local storage before any network connections are made. Unless you want to modify the order in which services are enabled, no remote storage will ever be available when /etc/fstab is processed. It makes far more sense to encapsulate your sshfs command inside a script file and either have it autoloaded with your desktop manager or manually loaded when needed from a terminal.\r\n
\r\n\r\nOne thing to watch out for, is saving files to the mountpoint when the remote storage is not actually mounted, i.e., you save to a default path under a mountpoint you expect to be mounted and is not, so all the sudden you have files in a folder that is supposed to be empty. To remount the remote storage, you have to delete/move the paths created at your designated mountpoint, to leave a pristeen, empty folder again.\r\n
\r\n\r\nWeihenstephaner Vitus - The label says it\'s a Weizenbock, so we know its a strong, wheat based lager\r\n
\r\n\r\n\r\nIBU 17 ABV 7.7%\r\n
',131,0,1,'CC-BY-SA','sshfs, shell commands',0,0,1), (1947,'2016-01-19','ocenaudio ',691,'ocenaudio is a cross-platform, easy to use, fast and functional audio editor.','\r\nocenaudio is a cross-platform, easy to use, fast and functional audio editor. It is the ideal software for people who need to edit and analyze audio files without complications. ocenaudio also has powerful features that will please more advanced users.\r\n
\r\n\r\nocenaudio supports VST (Virtual Studio Technology) plugins, giving its users access to numerous effects. Like the native effects, VST effects can use real-time preview to aide configuration.\r\n
\r\n\r\n\r\nhttps://www.cavalcadeaudio.com\r\n
\r\n\r\n\r\nThere\'s not much documentation out there for Ocenaudio. Here are a couple links to articles that might help:\r\n
\r\n\r\n\r\nReasons why I like OSM for use on my Garmin 60CX and Garmin E-trex Vista\r\n
\r\n\r\nOSM maps have more data for my area than the Garmin supplied map World Wide maps are available. See where Peter64, Ken Fallon or even 5150 lives. It\'s cheaper than buying a commercial map Trails, points and other improvements I put on OSM can be on my map I like the OSM concept and community.\r\n
\r\n\r\nThese older GPS\'s can be purchased for bargain prices. Apparently the suction cup receiver - Garmin Windshield devices can also use OSM maps with other free software.\r\n
\r\n',209,0,1,'CC-BY-SA','Open Street Map, OSM, Navigation, Fun',0,0,1), (1948,'2016-01-20','Check Your Spelling in Vim',699,'Frank summarizes how to use spellcheck in VIM','\r\nFrank Bell describes how to check your spelling in the Vim editor and to create\r\nyour own wordlist.\r\n
\r\n\r\nFrank\'s ~/.vimrc file:\r\n
\r\n\r\nset ruler laststatus=2 number title hlsearch\r\nsyntax on\r\nset textwidth=80\r\nset spell spelllang=en_us\r\nset spellfile=$HOME/.Vim/spell/en.utf-8.add\r\n\r\n\r\n
\r\nText file in Vim with spellcheck enabled:\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\nVim \"choose the right word\" list:\r\n
\r\n\r\n\r\n\r\n\r\n\r\nCAcert.org is a community driven Certificate Authority that issues certificates to the public at large for free. CAcert\'s goal is to promote awareness and education on computer security through the use of encryption, specifically with the X.509 family of standards. We have compiled a document base (Wiki) that has helpful hints and tips on setting up encryption with common software, and general information about Public Key Infrastructures (PKI). CAcert Inc. is a non-profit association, incorporated in New South Wales, Australia.\r\n\r\n\r\n
\r\nDRLM (Disaster Recovery Linux Manager). DRLM is a Centralized Management Open Source solution for small-to-large Disaster Recovery implementations using ReaR. Is an easy-to-use software to manage your growing ReaR infrastructure. Is written in the bash language (like ReaR) and offers all needed tools to efficiently manage your GNU/Linux disaster recovery backups, reducing Disaster Recovery management costs. ReaR is great solution, but when we’re dealing with hundreds of systems, could be complex to manage well all ReaR deployments.\r\n\r\n\r\n
\r\nWith DRLM you can, easily and centrally, deploy and manage ReaR installations for all your GNU/Linux systems in your DataCenter(s). DRLM is able to manage all required services (TFTP, DHCP-PXE, NFS, …) with no need of manual services configuration. Only with few easy commands, the users will be able to create, modify and delete ReaR clients and networks, providing an easy way to boot and recover your GNU/Linux systems through network with ReaR. Furthermore DRLM acts as a central scheduling system for all ReaR installations. Is able to start rear backups remotely and store the rescue-boot/backup in DR images easily managed by DRLM.\r\n
\r\nYou can easily enable or disable the last or any previous backups to restore any client with a single command line. Currently DRLM supports PXE and NETFS(nfs) OUTPUT/BACKUP methods of ReaR, but the Development of DRLM non stops here, we are working on new 2.0 version with new features to improve performance, usability and more ReaR methods, in order to become, together with ReaR, the reference when talking about Disaster Recovery of GNU/Linux systems.\r\n
\r\nGlusterFS is a scalable network filesystem. Using common off-the-shelf hardware, you can create large, distributed storage solutions for media streaming, data analysis, and other data- and bandwidth-intensive tasks. GlusterFS is free and open source software.\r\n\r\n\r\n
\r\n
\r\n\r\n\r\noVirt manages virtual machines, storage and virtualized networks. oVirt is a virtualization platform with an easy-to-use web interface. oVirt is powered by the Open Source you know - KVM on Linux.\r\n\r\n\r\n
\r\nOpenVZ is a container-based virtualization for Linux. OpenVZ creates multiple secure, isolated Linux containers (otherwise known as VEs or VPSs) on a single physical server enabling better server utilization and ensuring that applications do not conflict. Each container performs and executes exactly like a stand-alone server; a container can be rebooted independently and have root access, users, IP addresses, memory, processes, files, applications, system libraries and configuration files.\r\n\r\n\r\n
\r\nOpenVZ is free open source software, available under GNU GPL.\r\n
\r\nOpenVZ is the basis of Virtuozzo, a virtualization solution offered by Virtuozzo company. Virtuozzo is optimized for hosters and offers hypervisor (VMs in addition to containers), distributed cloud storage, dedicated support, management tools, and easy installation.\r\n
\r\nFree Software Foundation Europe is a charity that empowers users to control technology. Software is deeply involved in all aspects of our lives; and it is important that this technology empowers rather than restricts us. Free Software gives everybody the rights to use, understand, adapt and share software. These rights help support other fundamental freedoms like freedom of speech, press and privacy.\r\n\r\n\r\n
\r\nReactOS® is a free open source operating system based on the best design principles found in the Windows NT® architecture (Windows versions such as Windows XP, Windows 7, Windows Server 2012 are built on Windows NT architecture). Written completely from scratch, ReactOS is not a Linux based system, and shares none of the UNIX architecture. The main goal of the ReactOS® project is to provide an operating system which is binary compatible with Windows. This will allow your Windows® applications and drivers to run as they would on your Windows system. Additionally, the look and feel of the Windows operating system is used, such that people accustomed to the familiar user interface of Windows® would find using ReactOS straightforward. The ultimate goal of ReactOS® is to allow you to use it as alternative to Windows® without the need to change software you are used to.\r\n\r\n\r\n
\r\nBareos is a 100% open source fork of the backup project from bacula.org. The fork is in development since late 2010, it has a lot of new features. The source has been published on github, licensed AGPLv3.\r\n\r\n\r\n
\r\nThe Debian Project is an association of individuals who have made common cause to create a free operating system. This operating system that we have created is called Debian. An operating system is the set of basic programs and utilities that make your computer run. At the core of an operating system is the kernel. The kernel is the most fundamental program on the computer and does all the basic housekeeping and lets you start other programs. Debian systems currently use the Linux kernel or the FreeBSD kernel. Linux is a piece of software started by Linus Torvalds and supported by thousands of programmers worldwide. FreeBSD is an operating system including a kernel and other software.\r\n\r\n\r\n
\r\nPostgreSQL is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness. It runs on all major operating systems, including Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), and Windows. It is fully ACID compliant, has full support for foreign keys, joins, views, triggers, and stored procedures (in multiple languages). It includes most SQL:2008 data types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP. It also supports storage of binary large objects, including pictures, sounds, or video. It has native programming interfaces for C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC, among others, and exceptional documentation.\r\n\r\n\r\n
\r\n\r\n\r\nWe are a 100% community-driven association that believes in the values of free software & collaboration. We fight to protect these values and promote solutions anyone can use, change and distribute. OpenMandriva believes in creating, improving, promoting and distributing free software in general, and its projects in particular. We also crave for promoting free exchange of knowledge and equality of opportunity in software access and development, as well as in education, science and research. Our products are developed with passion by the community and aim to be flexible in use by all.
\r\n\r\nOpenMandriva represents the paradigm: from community to community, with passion, fun and dedication.
\r\n\r\n
\r\nMageia is a GNU/Linux-based, Free Software operating system. It is a community project, supported by a nonprofit organisation of elected contributors. Our mission: to build great tools for people.\r\n\r\n\r\n
\r\nGentoo is a free operating system based on either Linux or FreeBSD that can be automatically optimized and customized for just about any application or need. \r\nExtreme configurability, performance and a top-notch user and developer community are all hallmarks of the Gentoo experience.\r\n\r\n\r\n
\r\nThanks to a technology called Portage, Gentoo can become an ideal secure server, development workstation, professional desktop, gaming system, embedded solution or something else—whatever you need it to be. Because of its near-unlimited adaptability, we call Gentoo a metadistribution.\r\n
\r\nOf course, Gentoo is more than just the software it provides. It is a community built around a distribution which is driven by more than 300 developers and thousands of users. The distribution project provides the means for the users to enjoy Gentoo: documentation, infrastructure, release engineering, software porting, quality assurance, security followup, hardening and more.\r\n
\r\nTo advise on and help with Gentoo\'s global development, a 7-member council is elected on a yearly basis which decides on global issues, policies and advancements in the Gentoo project.\r\n
\r\nThe Fedora Project is a partnership of free software community members from around the globe. The Fedora Project builds open source software communities and produces a Linux distribution called \"Fedora.\" The Fedora Project\'s mission is to lead the advancement of free and open source software and content as a collaborative community.\r\n\r\n\r\n
\r\n\r\nopenSUSE, formerly openSUSE Leap 42.1 and openSUSE Tumbleweed, is a international Linux project with different distributions sponsored by SUSE Linux GmbH and other companies. It is widely used throughout the world, particularly in Germany. The focus of its development is creating usable open-source tools for software developers and system administrators, while providing user-friendly desktops, and a feature-rich server environment.\r\n\r\n\r\n
\r\nThis is the home of the illumos project, the open source fork of Sun\'s OpenSolaris. Launched in 2010, the project enjoys financial and technical support from several key companies which rely on the illumos kernel as the technological foundation for their own products, as well as the backing of a growing developer community.\r\n\r\n\r\n
\r\nAccess, Sync and Share your data, under your control! ownCloud provides access to your data through a web interface or WebDAV while providing a platform to view, sync and share across devices easily, all under your control. ownCloud\'s open architecture is extensible via a simple but powerful API for applications and plugins and works with any storage.\r\n\r\n\r\n
\r\nThe original reason Enlightenment exists - The Window Manager. From here everything else spawned. This is really the flagship product, closely followed by EFL itself. The window manager is a lean, fast, modular and very extensible window manager for X11 and Linux. It is classed as a “desktop shell” providing the things you need to operate your desktop (or laptop), but is not a whole application suite. This covers launching applications, managing their windows and doing other system tasks like suspending, reboots, managing files etc.\r\n\r\n\r\n
\r\nWe are moving towards Wayland as the base display system where Enlightenment is being worked on to become a full Wayland compositor on its own. This of course takes time and has its rough edges along the way, but we are not standing still, and one day will leave X11 behind.\r\n
\r\nOf course Enlightenment is built on top of EFL, using the libraries we wrote for it to do its UI as well as to run the entire compositor itself. This means that any improvements to EFL turn up in the compositor as well.\r\n
\r\nEnlightenment also is the Window Manager and Compositor for Tizen due in part to its efficiency and feature-set.\r\n
\r\nTizen is an open and flexible operating system built from the ground up to address the needs of all stakeholders of the mobile and connected device ecosystem, including device manufacturers, mobile operators, application developers and independent software vendors (ISVs). Tizen is developed by a community of developers, under open source governance, and is open to all members who wish to participate.\r\n\r\n\r\n
\r\nThe Kolab Groupware Solution offers Personal Information Management for deployments of any size. It runs on a Rasberry Pi and in clouds spread over multiple data centres. Kolab provides a secure, scalable and reliable collaboration server. Since it is Free Software, it is not only used by large companies and organisation, but also by many individuals who care about being in control of their personal information.\r\n\r\n\r\n
\r\nKolab is a free and open source groupware suite. It consists of the Kolab server and a wide variety of Kolab clients, including KDE PIM-Suite Kontact, Horde Webfrontend, Mozilla Thunderbird and Mozilla Lightning with SyncKolab extension and Microsoft Outlook with proprietary Kolab-Connector PlugIns.\r\n\r\n\r\n
\r\nThe KDE Community is an international technology team dedicated to creating a free and user-friendly computing experience, offering an advanced graphical desktop, a wide variety of applications for communication, work, education and entertainment and a platform to easily build new applications upon. We have a strong focus on finding innovative solutions to old and new problems, creating a vibrant atmosphere open for experimentation.\r\n\r\n\r\n
\r\nLibreOffice is the most widely used free open source office software. It is a community-driven project of The Document Foundation. LibreOffice is developed by professionals and by users, just like you, who believe in the principles of free software and in sharing their work with the world in a non-restrictive way. At the core of these principles is the promise of better-quality, highly-reliable and secure software that gives you greater flexibility at zero cost and no end-user lock-in. LibreOffice works natively with the Open Document Format, but also brings you support for by far the most file types for office-documents. It comes with support for over 80 languages and with a whole amount of other unique features to work with your texts, spreadsheets, presentations, drawings and data.\r\n\r\n\r\n
\r\nAt Mozilla, we’re a global community of technologists, thinkers and builders working together to keep the Internet alive and accessible, so people worldwide can be informed contributors and creators of the Web. We believe this act of human collaboration across an open platform is essential to individual growth and our collective future.\r\n\r\n\r\n
\r\nMozilla is a free-software community, created in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, with only minor exceptions. The community is supported institutionally by the Mozilla Foundation and its tax-paying subsidiary, the Mozilla Corporation.\r\n\r\n\r\n
\r\nMozilla produces many products such as the Firefox web browser, Thunderbird e-mail client, Firefox Mobile web browser, Firefox OS mobile operating system, Bugzilla bug tracking system and other projects.\r\n
\r\nThe mission of the Apache Software Foundation (ASF) is to provide software for the public good. We do this by providing services and support for many like-minded software project communities of individuals who choose to join the ASF.\r\n\r\n\r\n
\r\nIn a nutshell, Jenkins is the leading open source automation server. Built with Java, it provides hundreds of plugins to support building, testing, deploying and automation for virtually any project. \r\n\r\n\r\n
\r\nJenkins is an award-winning, cross-platform, continuous integration and continuous delivery application that increases your productivity. Use Jenkins to build and test your software projects continuously making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. It also allows you to continuously deliver your software by providing powerful ways to define your build pipelines and integrating with a large number of testing and deployment technologies.\r\n
\r\nXWiki Enterprise is a professional wiki with enterprise features such as Blog, strong rights management, LDAP authentication, PDF export, full skining and more. It also includes an advanced Form and scripting engine making it a development environment for data-based applications. It has powerful extensibility features such as scripting in pages, plugins and a highly modular architecture.\r\n\r\n\r\n
\r\nSee the full feature list for more: https://enterprise.xwiki.org/xwiki/bin/view/Main/Features.\r\n
\r\nDokuWiki is a simple to use and highly versatile Open Source wiki software that doesn\'t require a database. It is loved by users for its clean and readable syntax. The ease of maintenance, backup and integration makes it an administrator\'s favorite. Built in access controls and authentication connectors make DokuWiki especially useful in the enterprise context and the large number of plugins contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki.\r\n\r\n\r\n
\r\nTiki is the Free / Libre / Open Source Web Application Platform with the most built-in features. Whatever feature you can imagine running in a browser window, chances are Tiki does it.\r\n\r\n\r\n
\r\nTiki Wiki CMS Groupware or simply Tiki, originally known as TikiWiki, is a free and open source Wiki-based content management system and online office suite written primarily in PHP and distributed under the GNU Lesser General Public License (LGPL) license. In addition to enabling websites and portals on the internet and on intranets and extranets, Tiki contains a number of collaboration features allowing it to operate as a Geospatial Content Management System (GeoCMS) and Groupware web application.\r\n\r\n\r\n\r\n\r\n
\r\nThe Wikimedia Foundation, Inc. is a nonprofit charitable organization dedicated to encouraging the growth, development and distribution of free, multilingual, educational content, and to providing the full content of these wiki-based projects to the public free of charge. The Wikimedia Foundation operates some of the largest collaboratively edited reference projects in the world, including Wikipedia, a top-ten internet property.\r\n\r\n\r\n
\r\nLinux From Scratch (LFS) is a type of a Linux installation and the name of a book written by Gerard Beekmans, among others. The book gives readers instructions on how to build a Linux system from source. The book is available freely from the Linux From Scratch site and is currently in version 7.8.\r\n\r\n\r\n
\r\nLinux From Scratch is a way to install a working Linux system by building all components of it manually. This is, naturally, a longer process than installing a pre-compiled Linux distribution. According to the Linux From Scratch site, the advantages to this method are a compact, flexible and secure system and a greater understanding of the internal workings of the Linux-based operating systems.\r\n
\r\nPowerful, stable, mature, portable\r\n\r\n\r\n
\r\nPerl 5 is a highly capable, feature-rich programming language with over 27 years of development. Perl 5 runs on over 100 platforms from portables to mainframes and is suitable for both rapid prototyping and large scale development projects.\r\n
\r\n\"Perl\" is a family of languages, \"Perl 6\" is part of the family, but it is a separate language which has its own development team. Its existence has no significant impact on the continuing development of \"Perl 5\".\r\n
\r\n\r\n
\r\n\r\n\r\nA Language Independent Code Analysis Application. coala is an application that makes it very easy, writing analysis for any programming language or even arbitrary textual data. It is a useful abstraction that provides a convenient user interface and takes away a lot of common tasks from the algorithm developer, effectively making bare research available for production use.\r\n\r\n\r\n
\r\nThe Google Summer of Code (GSoC) is an international annual program, first held from May to August 2005, in which Google awards stipends (of US$5,500, as of 2015) to all students who successfully complete a requested free and open-source software coding project during the summer. The program is open to students aged 18 or over – the closely related Google Code-In is intended for students under the age of 18.\r\n\r\n\r\n
\r\nWe wanted everyone to be able to enjoy the experience of making. Whether it was a cat dressed as an astronaut or a mechanical masterpiece. We set it as our goal to enable you to make those things. So we built a pioneering device that everyone could use and enjoy. We made it open source so everyone really could pitch in. And we started to grow.\r\n\r\n\r\n
\r\nThe FreeBSD Foundation is a 501(c)(3), US based, non-profit organization dedicated to supporting and building the FreeBSD Project and community worldwide. The Foundation gratefully accepts donations from individuals and businesses, using them to fund and manage projects, sponsor FreeBSD events, Developer Summits and provide travel grants to FreeBSD developers.\r\n\r\n\r\n
\r\nIn addition, the Foundation represents the FreeBSD Project in executing contracts, license agreements, copyrights, trademarks, and other legal arrangements which require a recognized legal entity. The FreeBSD Foundation is entirely supported by donations.\r\n<\r\nThe FreeBSD Foundation will support both the development and the popularization of FreeBSD, the world\'s best open source operating system.\r\n
\r\nMatrix is an open standard for decentralised persistent communication over IP. It provides simple HTTP APIs and open source reference implementations for securely distributing and persisting JSON over an open federation of servers. Matrix can be used for decentralised group chat, WebRTC signaling, Internet of Things data transfer, and anywhere you need a common data fabric to link together fragmented silos of communication. Our focus is on simplicity and security.\r\n\r\n\r\n
\r\nIn the recent years, affordable Brain-Computer Interfaces are becoming more accessible for consumers. Applications range from controlling computers / machines, biofeedback and Quantified Self. At first sight, the current generation of commercial devices seem to be decent in their functionality, and various use cases are suggested. However, neurophysiological signal quality, as well as limitations of software and hardware hackability are among the greatest issues and hurdles towards advancement in user experience. This is why we started to work on Brain-Duino, an open-source brainwave amplifier shield for the Arduino and other microcontrollers. Brain-Duino is a high quality, low noise and affordable EEG / BCI for hackers, makers, researchers, artists and other enthusiasts. \r\n\r\n\r\n
\r\nButterknife is the last missing piece of the puzzle that makes Linux-based desktop OS deployment a breeze. Butterknife complements your Puppet or Salt infrastructure and reduces the time you spend setting up Linux-based desktop machines. Lauri developed Butterknife as part of his MSc thesis at KTH while preparing for deployment of 4000+ dual-boot desktops and laptops of Tallinn Education Board. Butterknife is released under MIT license, feel free to share and improve.\r\n\r\n\r\n
\r\nEine Kliene Eingebettete Musik\r\n\r\n\r\n
\r\n(A little embedded music)\r\n
\r\nReplicating 12th Century Musical Instruments Using Embedded Linux\r\n
\r\ncoreboot is an extended firmware platform for delivering lightning fast and ultra secure boot experience on modern computers and embedded systems. As an Open Source project it provides auditability and helps regaining control over technology.\r\n\r\n\r\n
\r\nflashrom is a utility for identifying, reading, writing, verifying and erasing flash chips. It is designed to flash BIOS/EFI/coreboot/firmware/optionROM images on mainboards, network/graphics/storage controller cards, and various other programmer devices.\r\n\r\n\r\n
\r\nWelcome to OpenEmbedded, the build framework for embedded Linux. OpenEmbedded offers a best-in-class cross-compile environment. It allows developers to create a complete Linux Distribution for embedded systems.\r\n\r\n\r\n
\r\npicoTCP is the answer for a size, speed and feature conscious open source TCP/IP stack for embedded devices.\r\n\r\n\r\n
\r\nEach component of the stack is deployed in a separate module, allowing the user to select at compile time what needs to be included for any specific platform. This allows you to free up memory and resources, which are often mission-critical for a project.\r\n
\r\nThe provided API\'s are small, well documented and give you access to the library facilities, both from the applications and from the device drivers. The library facilitates the integration with the surroundings and minimizes the time needed to combine the stack with existing code. The support required to port to a new architecture is reduced to a set of macros defined in a header file specific for the platform.\r\n
\r\nWhat is the best way to build a Linux distribution for an embedded system in a reproducible way, caring about long term maintenance and small footprint? PTXdist is a GPL licensed build system for userlands, started by Pengutronix. It uses the Kconfig configuration system from the Linux kernel. Although PTXdist (without patches) still fits on one disc, a whole root filesystem can be built as easy as \"ptxdist go\".\r\n\r\n\r\n
\r\nbarebox is a bootloader designed for embedded systems. It runs on a variety of architectures including x86, ARM, MIPS, PowerPC and others. barebox aims to be a versatile and flexible bootloader, not only for booting embedded Linux systems, but also for initial hardware bringup and development. barebox is highly configurable to be suitable as a full-featured development binary as well as for lean production systems. Just like busybox is the Swiss Army Knife for embedded Linux, barebox is the Swiss Army Knife for bare metal, hence the name.\r\n\r\n\r\n
\r\nJava Card OpenPlatform (JCOP) is a smart card operating system for the Java Card platform developed by IBM Zürich Research Laboratory. On 31 January 2006 the development and support responsibilities transferred to the IBM Smart Card Technology team in Böblingen, Germany. Since July 2007 support and development activities for the JCOP operating system on NXP / Philips silicon are serviced by NXP Semiconductors.\r\n\r\n\r\n
\r\nTrack name : Free Software Song\r\nPerformer : Fenster\r\nRecorded date : 2002\r\nCopyright : Copyright (C) 2002, \r\nFenster LLC. Verbatim copying of this entire recording is permitted in any medium, \r\nprovided this notice is preserved. \r\nPerformers: \r\nPaul Robinson (vocals), \r\nRoman Kravec (guitar), \r\nEd D\'Angelo (bass), \r\nDave Newman (drums), \r\nBrian Yarbrough (trumpet), \r\nTony Moore (trumpet). \r\n\r\n',30,78,0,'CC-BY-SA','FOSDEM, FreeBSD, Matrix, Brainduino, Butterknife, pyhurdy, Coreboot, OpenEmbedded, PicoTCP, PTXdist, JavaCardPro, Knitting',0,0,1), (1950,'2016-01-22','Kdenlive Part 2: Advanced Editing Technique',1057,'We discuss advanced editing techniques and review the tools you\'ll be using as a video editor.','
\r\nHello again HPR listeners this is Geddes back with Part 2 in the series covering the video editing application KdenLive.\r\n
\r\n\r\nLast time in part one we looked at Installing, First launch, Your workspace, Importing footage, Three-point editing, and lastly The basic tools.
\r\nhttps://hackerpublicradio.org/eps.php?id=1925\r\n
\r\nThis time round we’ll be looking at advanced editing technique and Part 2 covers the following topics: \r\n
\r\n\r\nHere’s the link to the original article.
\r\nhttps://opensource.com/life/11/11/advanced-editing-kdenlive\r\n
In the show \"hpr1943 :: HPR AudioBook Club 11.5 - Interview with David Collins-Rivera\" pokey asked if there was a way to get the duration for media. The following three options springs to mind immediately.
\r\nThe first option is fix_tags and was written by our own Dave Morriss.
\r\n$ date --utc --date=\"@$(echo $(fix_tags *mp3 *ogg 2>/dev/null | \\\r\nawk -F \'\\\\(|\\\\)\' \'/length/ {print $2}\' | \\\r\nsed \'s/ sec//g\' ) | \\\r\nsed \'s/ /+/g\' | bc )\" +\"%T\"\r\n03:09:49\r\n
\r\nNext up is mediainfo which provides a lot of information on media files.
\r\n$ date -ud @$(echo $(mediainfo --full --Output=XML *mp3 *ogg | \\\r\nxmlstarlet sel -T -t -m \"Mediainfo/File/track[@type=\'Audio\']/Duration[1]\" -v \".\" -n - | \\\r\nsed \'s/.\\{3\\}$//\') | \\\r\nsed \'s/ /+/g\' | bc) +\"%T\"\r\n03:09:49\r\n
\r\nThe last option is to use ffprobe from the ffmpeg team.
\r\n$ date -ud @$(echo $(for i in *mp3 *ogg;\\\r\ndo \\date -ud 1970-01-01T$(ffprobe -i $i 2>&1 | \\\r\ngrep Duration | awk \'{print $2}\'| \\\r\nsed \'s/,//g\' ) +%s;done) | \\\r\nsed \'s/ /+/g\' | bc) +\"%T\"\r\n03:09:49\r\n
\r\nFor complete shownote please visit https://hackerpublicradio.org/eps/hpr1952.html
\r\n',30,42,0,'CC-BY-SA','fix_tags,ffprobe,ffmpeg,bc,sed,awk,grep,time,iso8601,date,mediainfo,xmlstarlet',0,0,1), (1965,'2016-02-12','Adding SQLite as a datasource to SQLeo',601,'Using the graphical query builders from SQLeo with SQLite','I have been looking for a tool that will graphically and programmatically track identifiers as they pass through systems. I could have done this in Inkscape after following the excellent tutorials on https://screencasters.heathenx.org/, however I also wanted to be able to describe the relationships programmatically.
\r\nThis got me to thinking about graphical query builders for databases. The idea is to show each system as a table block and then draw lines between them to show how \"Field_X\" in \"System_A\" will map to \"Field_Y\" in \"System_B\". Many of the proprietary and some free database solutions allow this type of view. However I also want to easily package the entire thing up, so that someone else could access it without needing to pay for or install any specialized software. That limited the choice of database to SQLite, which is small, supported on many platforms and is released into the Public Domain.\r\n
SQLite is an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. The code for SQLite is in the public domain and is thus free for use for any purpose, commercial or private. SQLite is the most widely deployed database in the world with more applications than we can count, including several high-profile projects.\r\nPlease follow the instructions on the SQLite site for information on how you can install it on your system. For me on Fedora it\'s simple to install via dnf/yum. You might also want to install some GUI managers if that\'s your thing.\r\n
dnf install sqlite sqlitebrowser sqliteman\r\n\r\nI created a small database for demonstration purposes, consisting of two tables and one field in each.\r\n
Next step is to download SQLeo Visual Query Builder which has support for a graphical query builder.\r\n
A powerful SQL tool to transform or reverse complex queries (generated by OBIEE, Microstrategy, Cognos, Hyperion, Pentaho ...) into diagrams to ease visualization and analysis. A graphical query builder that permits to create complex SQL queries easily. The GUI with multi-connections supports virtually all JDBC drivers, including ODBC bridge, Oracle, MySQL, PostgreSQL, Firebird, HSQLDB, H2, CsvJdbc, SQLite. And top of that, everything is open-source!\r\nSQLeo is a Java Tool and there is a limited version available on the web site which is limited to 3 tables per graph and 100 rows. Now as the program is released under the GPLv2.0, you could download the code and remove the restrictions. You can also support the project to the tune of €10 and you will get the full version ready to rock.\r\n
Unzip the file and enter the newly created directory, and run the program as follows:\r\n
java -Dfile.encoding=UTF-8 -jar SQLeoVQB.jar\r\n\r\nOne slightly confusing thing, and the reason for this post, is that I could not find support for SQLite listed in the list of databases to connect to. A quick search on the support forum and I found the question \"Connection to SQLite DB\". I found the answer a bit cryptic until I read the manual related to JDBC Drivers, which told me how to add the sqlite library.\r\n
SQLeo uses a standard Java sqlite library that is released under the Apache Software License, Version 2.0. You can download it from the SQLite JDBC MVNRepository and save it into the same directory as SQLeo.
\r\nRight Click in the Metadata explorer window and select new driver.
\r\nFor step by step instructions please see https://hackerpublicradio.org/eps/hpr1965.html
\r\n',30,0,0,'CC-BY-SA','SQLite, JDBC, SQLeo',0,0,1), (1961,'2016-02-08','2015-2016 HPR New Years Show Episode 1',9946,'Education, Podcasts, Trains and Bikes','HPR NEW YEARS EVE SHOW EPISODE: 1
\r\nFiftyOneFifty and Thaj Sara discuss modern education
Ken Fallon teaches us how to publish a show
Talking about podcasts and radio shows we listen to https://hackerpublicradio.org/series/0075.html
Thaj\'s Podcast - https://openedtechpodcast.com/
WXPN https://xpn.org/
Art Bell: Midnight in the Desert https://midnightinthedesert.com/
The Cerebral Rift #00radio https://www.cerebralrift.org/oo-radio-2/
Television and movies today....get off my lawn
handsome_pirate model trains: 2 foot gauge HO:
https://photos.jdulaney.com/train/models/hon30/GEDC0157.JPG
\r\nhttps://photos.jdulaney.com/train/models/hon30/GEDC0158.JPG Standard gauge N scale:
\r\nhttps://photos.jdulaney.com/train/models/n/GEDC1995.JPG
\r\nhttps://photos.jdulaney.com/train/models/n/GEDC0145.JPG
\r\nhttps://photos.jdulaney.com/train/models/n/GEDC0137.JPG
\r\nhttps://photos.jdulaney.com/train/models/n/GEDC0013.JPG
\r\nhttps://photos.jdulaney.com/train/models/n/GEDC0010.JPG 3D printed N scale:
\r\nhttps://photos.jdulaney.com/train/models/n/3d_printed_lima_0.jpg
\r\nhttps://photos.jdulaney.com/train/models/n/3d_printed_lima_1.jpg
\r\nHPR NEW YEARS EVE SHOW EPISODE: 2
\r\nTalk on Linux distros
Wearable computing
qtile https://www.qtile.org
Ian Murdock https://arstechnica.com/information-technology/2015/12/ian-murdock-father-of-debian-dead-at-42/
Chromebooks!
Older Fedora image for 11" Samsung ARM Chromebook: https://jdulaney.fedorapeople.org/chromebook-kvm.img.xz
Samsung makes tanks
WWI shipboard communications https://dreadnoughtproject.org/tfs/index.php/Main_Page
Libre Planet https://libreplanet.org/wiki/LibrePlanet:Conference
The current state of TTS
Travel
Linux and open source conferences
What crowd funded devices did we back?
Hacking media devices: https://kodi.wiki/view/HOW-TO:Install_Kodi_on_Fire_TV
Comics based TV shows & movies
StarWars (No spoilers)
HPR NEW YEARS EVE SHOW EPISODE: 3
\r\nIs Game of Thrones a Dyson Sphere?
More Star Wars
Punking tech support spammers
Microsoft fail, Tizen phone
Kevie\'s blog: https://kmacphail.blogspot.co.uk/2013/04/ccjam-community-podcast.html
Fancy TVs
Security
Single board PC\'s in general
More Ian Murdock
Linux distros
HPR NEW YEARS EVE SHOW EPISODE: 4
\r\nCan you buy a NEW CHEAP computer that can run GNU Linux?
Is ARM the future
The HPR audio book club
After hours fun at Linux conferences
Christmas light displays
Southern living and booze
Visit Orlando
Fun with etching
Pronunciation of town names
Pranks
Naval warfare
Some of TwoD\'s background story
Scanning photos and kids\' art
Strange Steam badge: https://gj.reddit.com/r/\'/comments/3yyju8/how_to_get_the_red_herring_steam_badge_holiday/
Happy 2016 to everyone
Warning: this show is kind of long, even though I cut out about half of the original raw audio. While my parents were visiting during the holidays, my dad taught me, the wife, and the kids how to turn pens on his mini lathe. We made a few mechanical pencils, a pen and I also made a giant workshop pencil. Click on the image below to look at the gallery of photos on Flickr.
\r\n\r\n\r\n\r\n[my wife\'s lovely mechanical pencil]
\r\n\r\nI describe the contents of my timbuk2 messenger bag today
\r\nAlso I got the bag in January 2014
',297,23,1,'CC-BY-SA','timbuk2 bag,x201,sony vaio,laptops',0,0,1), (1967,'2016-02-16','How I saw the Linux Light at the end of the Windows tunnel',859,'My personal story of discovery of Linux','\r\nJust a regular story of a Linux power user, or how I loved computers, then I hated computers, then I loved computers again, and then I moved to a love/hate kind of thing...\r\n
',323,29,0,'CC-BY-SA','Linux, Beginners, Computing history, Gaming',0,0,1), (1968,'2016-02-17','Advanced Terminal Usage: byobu',196,'Use this screen multiplexer wrapper to optimize your usage of the terminal, locally, and abroad.','\r\nLong time listener, first time caller, here! My name is Jon Doe, but you can call me Jon.\r\n
\r\n\r\nToday, I am going to be talking about a more advanced usage of the terminal in linux. This basic tutorial assumes that you have a basic knowledge of getting to the terminal, and installing software, so we can skip that, and make my job easier.\r\n
\r\n\r\nFirst, you have software that you may want to run, and keep running, even if we disconnect, or even if we walk to another machine. Classically, there was \'screen\' for this, but times change, and needs advance. My current favorite is byobu, a wrapper for the screen or tmux terminal multiplexers, tmux by default, now, which is a change since featured on episode 770 of HPR.\r\n
\r\n\r\nTo run byobu, simply type it\'s name at the terminal, and watch it\'s magic. When we say it is a wrapper, this is in double context. It encapsulates the tmux or screen binary in script, and it provides some useful enhancements to the already awesome capabilities of a basic multiplexer, including a nice bar at the bottom, detailing the system stats, configurable to whatever stats you need to display.\r\n
\r\n\r\nA screen multiplexer is an application that allows the running of multiple terminals, and their applications, within a single remote or local window, allowing you to change tasks with relative ease, similar to a window manager in X, but with no mouse needed.\r\n
\r\n\r\nFor a basic test, go ahead and hit F2, and you will get a second terminal, the textual task tray at the bottom indicating your current and available terminals. F3 and F4 allow you to cycle between tasks, and F2 spawns additional.\r\n
\r\n\r\nFor those following along, go ahead and hit F6, you will drop back to a shell, with byobu running everything in the background, and you can exit the terminal, or run whatever else you need to, outside of byobu\'s control. Use the byobu command again to reconnect, note that your session has remained open, and all terminal sessions are available for you to peruse. Also note that you can open byobu again, as the same user, both remotely and locally, and keep all of your terminals going, even on multiple systems and screens, at the same time. You can even share the session with others, assuming their ability to login, and cross code, or monitor usage of their session, for educational purposes, or group coding.\r\n
\r\n\r\nA popular and useful feature of terminal windows is the ability to maintain a scroll back buffer, and using a multiplexer, ostensibly, destroys this ability on the graphical side, assuming you are using it in a graphical environment, keeping the text for itself. Fear not, good hacker, for the simple application of F7 will activate scroll back mode, and allow your cursor (or arrow) and page keys to scroll up and down the text buffer. Enter settles you back to the end, allowing quick access to whatever just happened in that specific task windows while you were away.\r\n
\r\n\r\nThis has been an introduction to advanced terminal usage, brought to you by Jon Doe.\r\n
\r\n\r\nAnd for those NPR nerds out there, \"This is HPR, Hacker Public Radio\"\r\n
\r\n\r\nhttps://byobu.co/\r\n
',324,0,1,'CC-BY-SA','byobu, bash, terminal, ssh, remote, linux',0,0,1), (1971,'2016-02-22','BlinkStick',1080,'The BlinkStick is a small USB device with an RGB LED which you can build yourself','In late 2013 I noticed the local Edinburgh Hacklab were offering soldering courses building a BlinkStick. I offered to sign my son Tim up to the next course since he wanted to learn to solder. He couldn\'t afford the time at that point, but we agreed to buy some BlinkSticks to build at home.
\r\nThis episode describes some of our experiences with building and using the device.
\r\nThe version we bought and built was the v1.0 release, since that and the BlinkStick Pro were all that was available. The base version now available is v1.1, and there are several other products available from the manufacturer in addition to these. The company is called Agile Innovative Ltd, based in the UK.
\r\nI have written out a moderately long set of notes about this subject and these are available here https://hackerpublicradio.org/eps/hpr1971/full_shownotes.html.
\r\ncronjob_scrape
script: https://gitlab.com/davmo/hprmisc/blob/master/cronjob_scrape\r\nSpam Filtering isn\'t magic. A lot of work goes into helping keep your inbox clean, but there is still more hosting providers could do.
\r\n',174,0,0,'CC-BY-SA','Spam, Spam Filtering, Hosting Providers',0,0,1), (1972,'2016-02-23','How I got into Linux',1224,'My first podcast. Me rambling about how I got into Linux.','\r\nI will apologize now for some of the rough sound. This was recorded on a very old Sony tape recorder (all I had at the time). Hopefully, the tape hiss will cover up some of my Kentucky accent. Or vice versa. Whatever. This is the saga of me. And Linux. \r\n
',325,29,1,'CC-BY-SA','Sony tape recorder,RedHat Linux,Enlightenment E16,dial-up,Mandrake,Debian,Icepack Linux,Slackware,Linux Mint,CrunchBang,OpenBSD',0,0,1), (1977,'2016-03-01','What\'s In My Bag',914,'EDC/Gear I carry/use','Links to the gear I mention -
\r\n3V Velox II - https://3vgear.com/index.php/packs-and-bags/3v-gear-velox-ii-tactical-assault-pack.html
SOG Powerlock EOD - https://www.sogknives.com/everyday-carry/multi-tools/powerlock-eod-black-oxide.html
Mini ALICE Pack - https://www.amazon.com/G-I-TYPE-CANVAS-ALICE-PACKS/dp/B000Q7E698/ref=sr_1_1?ie=UTF8&qid=1454647425&sr=8-1&keywords=mini+ALICE+pack
Engineers Field Bag - https://www.amazon.com/Rothco-Black-M-51-Engineers-Bag/dp/B000YV6Q58/ref=sr_1_1?ie=UTF8&qid=1454647462&sr=8-1&keywords=engineers+field+bag
The Pocket Ref - https://www.amazon.com/Pocket-Reference-Thomas-J-Glover/dp/1885071000
Stanley Pocket Screwdriver - https://www.amazon.com/Stanley-66-344-4-in-1-Pocket-Screwdriver/dp/B0014KMDZ0
Dell Latitude E6500 - https://www.dell.com/us/dfb/p/latitude-e6500/pd
Motorola Nexus 6 - https://www.motorola.com/us/smartphones/nexus-6/nexus-6-motorola-us.html
Thermos - https://www.thermos.com/products/vacuum-insulated-40-oz-stainless-king-beverage-bottle.aspx
\r\nThis story begins at the beginning of 2010. I was broke at the time so I was trying to find a free operating system. I needed something I could run on my PC’s at home. I had searched on the Internet, but found nothing useful for a long time. But one day I was at Barnes and Noble and I saw a magazine for Linux. (While I had heard of linux before I never thought of it as something I would ever be able to use.) When I asked people who I knew were computer professionals, I was told it was for people that were experts, and difficult to use. I never heard anything positive about it. I am so amazed that I hadn’t came across it sooner.
\r\nWhen I read the magazine I became exposed to Ubuntu 9.10. Karmic Koala. It sounded so good, as if it was exactly what I was looking for. As a result, I got very excited took it home, and to my surprise had such an easy time installing it to my PC that I decided to run it along with Windows XP as a dual boot system. All I did was put the live CD in the drive and the instructions were step by step you would have to be pretty slow to not get how to set things up.
\r\nSince then I have been very satisfied with Ubuntu in general and I have been able to check out later versions of it such as 10.04 (Maverick Meerkat) and 10.10 Lucid Lynx. I am looking forward to 11.04 Natty Narwhal for how it integrates multi-touch even more than 10.04. This experience just goes to show once again how I manage to find the coolest stuff by accident.
\r\nI will keep you posted on how I learn and grow with the different distros available so keep posted.
\r\nRead more: https://computersight.com/operating-systems/windows/how-i-got-started-with-linux/#ixzz1aPlfhqoa\r\n
',297,29,0,'CC-BY-SA','linux',0,0,1), (1973,'2016-02-24','Free/Libre/Vrije Software: The Goal and the Path',6929,'A presentation given by Richard Stallman as part of FOSDEM fringe.','\r\nNOTE for mp3 subscribers: On the request of RMS, we are not distributing this show in mp3 format. \r\n
\r\n\r\n\r\nThis is a live recording of the presentation given by Richard Stallman as part of FOSDEM fringe. It was recorded at Auditorium D0.03, Campus Etterbeek, Vrije Universiteit Brussel, Pleinlaan 2, 1050 Ixelles, Belgium on Jan 29, 2016. You may remember that pokey interviewed Richard Stallman in episode hpr1116 (https://hackerpublicradio.org/eps.php?id=1116)\r\n
\r\n\r\n\r\nThe slides for the presentation are available at https://static.fsf.org/nosvn/RMS_Intro_to_FS_TEDx_Slideshow.odp\r\n
\r\n\r\n\r\n\r\nRichard Matthew Stallman (born March 16, 1953), often known by his initials, rms,[1] is a software freedom activist and computer programmer. He campaigns for software to be distributed in a manner such that its users receive the freedoms to use, study, distribute and modify that software. Software that ensures these freedoms is termed free software. Stallman launched the GNU Project, founded the Free Software Foundation, developed the GNU Compiler Collection and GNU Emacs, and wrote the GNU General Public License.\r\n',30,0,0,'CC-BY-SA','RMS, GNU, Four freedoms',0,0,1), (1974,'2016-02-25','Ubuntu Community donations, Governance and Hardware',1598,'In general I was feeling bad about how donations work with Ubuntu','
\r\nStallman launched the GNU Project in September 1983 to create a Unix-like computer operating system composed entirely of free software. With this, he also launched the free software movement. He has been the GNU project\'s lead architect and organizer, and developed a number of pieces of widely used GNU software including, among others, the GNU Compiler Collection, the GNU Debugger and the GNU Emacs text editor. In October 1985 he founded the Free Software Foundation.\r\n
\r\nStallman pioneered the concept of copyleft, which uses the principles of copyright law to preserve the right to use, modify and distribute free software, and is the main author of free software licenses which describe those terms, most notably the GNU General Public License (GPL), the most widely used free software license.\r\n
\r\nIn 1989 he co-founded the League for Programming Freedom. Since the mid-1990s, Stallman has spent most of his time advocating for free software, as well as campaigning against software patents, digital rights management, and other legal and technical systems which he sees as taking away users\' freedoms, including software license agreements, non-disclosure agreements, activation keys, dongles, copy restriction, proprietary formats and binary executables without source code.\r\n
\r\nAs of 2014, he has received fifteen honorary doctorates and professorships.\r\n\r\n
\r\nI went to https://Ubuntu.com - https://Xubuntu.org, https://getfedora.org/ and https://www.opensuse.org/ to see how donations with the linux vendors worked.\r\n
\r\n\r\nThe only one that I found was non profit was debain. It a real nonprofit certification in the USA.\r\n
',129,0,0,'CC-BY-SA','donations,Ubuntu,Xubuntu,Fedora,OpenSUSE,Debian',0,0,1), (1975,'2016-02-26','Interview With An Android App Developer',829,'Sigflup here and holy crud it turns out my brother in law is an android developer','\r\nIt\'s Christmas time and sigflup is spending time interviewing Dillon, who\'s an android developer.\r\n
',115,78,1,'CC-BY-SA','interview,android',0,0,1), (1979,'2016-03-03','How to Make Perfect Steel-Cut Oats',630,'I explain how to make the perfect tasty, nutritious breakfast in a slow cooker','Steel-Cut oats are amazingly good—delicious and nutritious—but they\'re kind of a pain to cook because they\'re so hard and require so much simmering. It can take up to 30 minutes to cook them on the stove top and you have to stir constantly to make sure they don\'t boil over or stick to the pan. I tried doing them in a rice maker and in the microwave, neither of which turned out well. Then I tried the slow cooker and found that this is the perfect way to make steel-cut oats exactly right every time with hardly any effort.
\r\n\r\nJust put all the ingredients in the slow cooker and cook on 200 degrees Fahrenheit for about 4 hours. The water and oats should be combined in a 4 to 1 ratio. When I make this using American measurements, I used 1 Cup water for each ¼ cup of oats. In the metric system this is about 240 ml water for each 40 grams of oats.
\r\n\r\n\r\n\r\nAfter a windows server upgrade in work, I was no longer able to mount samba network drives from my laptop. Basically it boils down to not been able to mount drives on the console, but been able to browse them in the GUI. After investigating and trying all the options presented, I filed a bug with Fedora.
\r\nhttps://bugzilla.redhat.com/show_bug.cgi?id=1092571\r\n
\r\nDespite filling in all the information, the bug remained untouched by human hands. Robots shut it, I reopened it. To be honest I thought it might be my set-up as nobody else was reporting it as an issue. Sure there were other people reporting problems but not attached to this bug.\r\n
\r\n\r\nAnyway I happened to be at FOSDEM (https://hackerpublicradio.org/series/0089.html) and spotted Jeremy Allison from the SAMBA project who I had the pleasure of interviewing previously https://hackerpublicradio.org/eps.php?id=1451).\r\n
\r\n\r\nJeremy was immediately able to pinpoint the issue to the kernel probably only supporting SMB version 1, while user space uses libsmbclient that supports smb1/smb2.\r\n
',30,0,0,'CC-BY-SA','samba, smb1, smb2, /etc/fstab',0,0,1), (1978,'2016-03-02','Ultra High Vacuum: loading samples',162,'A short overview of how to load a sample into UHV (ultra high vacuum)','\r\nI hope this is the correct version of my introduction to Ultra high vacuum systems and loading samples. \r\n
\r\n\r\nPlease consult with a professional before using nitrogen and ultra high vacuum system.\r\n
\r\n\r\nNitrogen is dangerous in close environments as it displaces oxygen so please consult the health and safety risks. \r\n
\r\n',301,0,1,'CC-BY-SA','Ultra high vacuum,nitrogen',0,0,1), (2221,'2017-02-06','HPR Community News for January 2017',5117,'HPR Volunteers talk about shows released and comments posted in January 2017','\n\nWelcome to our new hosts:
\n Reg A, \n \"Hannah, of Terra, of Sol\".\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available in the archives run\nexternally by Gmane\n(see below) and on the HPR server under Mailman.\n
\nNote: since the summer of 2016 Gmane has changed location and is currently\nbeing reestablished. At the moment the HPR archive is not available there.
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2017-January/thread.html\n\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 51 comments in total.
There are 11 comments on\n8 previous shows:
\nThere are 40 comments on 12 of this month\'s shows:
\n\nThere were no new hosts this month.\n
\n\n\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available in the archives run\nexternally by Gmane\n(see below) and on the HPR server under Mailman.\n
\nNote: since the summer of 2016 Gmane has changed location and is currently\nbeing reestablished. At the moment the HPR archive is not available there.
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2017-February/thread.html\n\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 13 comments in total.
There are 5 comments on\n5 previous shows:
\nThere are 8 comments on 6 of this month\'s shows:
\n\nWelcome to our new hosts:
\n BobJonkman, \n @einebiene.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available in the archives run\nexternally by Gmane\n(see below) and on the HPR server under Mailman.\n
\nNote: since the summer of 2016 Gmane has changed location and is currently\nbeing reestablished. At the moment the HPR archive is not available there.
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2017-March/thread.html\n\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 37 comments in total.
There are 6 comments on\n6 previous shows:
\nThere are 31 comments on 11 of this month\'s shows:
\nsed
is an editor which expects to read a stream of text, apply some action to the text and send it to another stream. It filters and transforms the text along the way according to instructions provided to it. These instructions are referred to as a sed
script.
The name \"sed\" comes from Stream Editor, and sed
was developed from 1973 to 1974 as a Unix utility by Lee E. McMahon of Bell Labs. GNU sed
added several new features including better documentation, though most of it is only available on the command line through the info
command. The full manual is of course available on the web.
To read the rest of the notes for this episode follow this link: https://hackerpublicradio.org/eps/hpr1976/full_shownotes.html
\r\nsed
manual: https://www.gnu.org/software/sed/manual/sed.htmlThis podcast details how I solved an audio problem I discovered while trying to record another episode for HPR. I\'ll hopefully get around to recording my original idea at a later date.
\r\nThe recording was done in a bit of a hurry and I was a bit flustered so please excuse the fast talking and ranting.
\r\nLink to article that solved my problem https://blog.tiger-workshop.com/ubuntu-rear-microphone-not-working-on-ad1988b-sound-chip/
\r\nCommand I used to install the app that solved my audio problem. App is from the standard Ubuntu 14.04 repo
\r\nsudo apt-get install alsa-tools-gui
\r\nCommand to run from terminal to launch gui tool that solved the problem
\r\nhdajackretask
\r\nPrograms mentioned:
\r\nPuppy Linux
\r\nhttps://murga-linux.com/puppy
Ratpoison WM
\r\nhttps://www.nongnu.org/ratpoison/doc/index.html
Sakura Terminal
\r\nhttps://launchpad.net/sakura
Vim
\r\nhttps://www.vim.org/
The Vim Outliner
\r\nhttps://github.com/vimoutliner/vimoutliner/downloads
In the last episode we looked at sed
at the simplest level. We looked at three command-line options and the \'s\' command. We introduced the idea of basic regular expressions.
In this episode we will cover all of these topics in more detail.
\r\nWe are looking at GNU sed
in this series. This version contains many extensions to POSIX sed
. These extensions provide many more features, but sed
scripts written this way are not portable.
To read the rest of the notes for this episode follow this link: https://hackerpublicradio.org/eps/hpr1986/full_shownotes.html
\r\nNote: Since recording the audio I have added a sixth example to the full notes to cover the topic of word boundaries, which I had omitted at the time.
\r\nsed
manual:\r\nsed
: https://en.wikipedia.org/wiki/SedThe technique that started everything:
\r\nhttps://www.pomodorotechnique.com/
The Pomodoro timer I used first, efficient, but left me stuck from one day to the other:
\r\nhttps://www.tomato-timer.com/
\r\nThe Script: https://hackerpublicradio.org/eps/hpr1990.bash\r\n
\r\n',323,42,0,'CC-BY-SA','Productivity, Bash basics, Programming design, Pomodoro, Timer, loops, sleep',0,0,1), (1983,'2016-03-09','Review of Sony Vaio VPC',2019,'Sony vaio is discussed','Linux.conf.au, is the name and website of my favourite conference. Known by insiders as simply lca, it is an annual technical conference, focusing on Linux and Open Source technologies. LCA is a roaming conference, going to a different city of Australia and New Zealand every year. I\'ve helped organise the two lca\'s in my home town of Brisbane, Queensland, and it was in fact the first of these that introduced me to lca. This year lca was held in Geelong, down in the state of Victoria and it counts as my fifteenth linux.conf.au. Clearly this conference has become quite a big part of my life and it\'s probably a mature thing to stand back and have a look at why.
\r\nlca is a technical conference, it\'s not a sales oriented conference, as an engineer having non-salesy, technical content makes me feel at home. For the most part, the paper committee only accept talks from people directly working on a project, so the speakers we select know their topic. lca is explicitly an open source conference, and mostly a low level conference.
\r\nlca is a week long conference, so I often add some extra time on the end to make a holiday out of it. A fair percentage of our attendees are from overseas, and it makes sense for them to do the same. I have taken the train to a Perth (Western Australia) lca, that\'s the Indian Pacific train, a three day trip from one side of the country to the other. I\'ve done a day trip on a train in New Zealand, from Auckland to Wellington. I\'ve done a couple of motorcycle trips, down to Ballarat and Geelong (both cities in the state of Victoria). Those two tours are roughly a 3600km (or 2200 mile) round trips taking three to four days each way.
\r\nI\'ve done a motorcycle tour of Tasmania (an island state of Australia) after a Tasmanian lca. Next year, the conference is back in Tasmania for the Hobart lca, I\'m planning on doing a week long hike of about 85kms (50 odd miles) before the conference along the South Coast Track.
\r\nThere are a bunch of people that I only get to see at lca, from year to year, sadly some of these come from my own home town. Keeping these connections strong is an important part of lca for me.
\r\nEvery year, the parent organisation of lca, Linux Australia holds their Annual General Meeting during lca. I\'ve been an Ordinary committee member on the Linux Australia council a couple of times now. This year I didn\'t get enough votes, which means I have more time to devote to other things, like HPR recordings :)
\r\nRegistration for lca normally starts Sunday afternoon, there\'s often a beginners guide to the conference. After fifteen years, I don\'t think I\'ve ever attended one, but I should probably help lead it next year..
\r\nIt\'s very common for lca to choose a charity to raise money for. For many years this meant a loud, long, often raucous auction. In recent years we\'ve had a raffle over the full length of the conference. We\'ve helped many worthy charities over the years, the one that comes to mind was the \'Save the Tasmanian Devils\' fund, for which we raised a substantial amount of money, something around forty thousand dollars, partly based on the auction prize of changing the linux\'s kernel logo from Tux to Tuz, the lca mascot for that year. Tuz is a Tasmanian devil wearing a costume Penguin beak to cover over his case of the Devil Facial Tumour Disease, a communicable cancer, that is threatening their existence. This was also the conference where Linus shaved bDale\'s beard off to raise money for the charity.
\r\nWe often hold lca at a university, and we often use student dormitories as accommodation. If we\'re lucky, this means that a large percentage of attendees can meet up in common areas of the accommodation at the end of the day and continue the conference long into the night. A particularly memorable lca on this front, somewhere in New Zealand, I forget which city, had a whole level of a student accommodation centre set aside as a common area, so a large percentage of the conference were able to fit and continue the conference late into the evening.
\r\nThe first two days of the conference are generally reserved for miniconferences, or miniconfs as we refer to them. These miniconfs go for one or two days and are organised around a particular topic, and separately to the main conference. The miniconfs change every year, but commonly include miniconfs focused on the kernel (this is primarily attended by kernel coders), hardware (based around ardunio, raspi, and this year espy), multimedia and music, sysadmin, OpenRadio, Open Source in Government. A highlight from the second Brisbane lca was the rocketry miniconf, where 25 odd rockets were put together and later launched. We\'ve been blessed over the years to have miniconfs working to improve and enlarge our community, including LinuxChix, Haecksen and the Community Leadership Summits.
\r\nAfter the miniconf days are done, the conference proper begins. These days start off with a keynote, have four or more streams of talks during the day, with longer tutorials running for half the day.
\r\nMy favourite keynote from this year was Genevieve Bell, from Intel. From previous years, Tim Berners Lee, Eben Moglen and Kathy Sierra have left long term marks. These are people who have fundamentally created the world I live and work in now, their contributions cannot be understated.
\r\nThere are a bunch of talks from every year that change the way I think about something, or the way I work. This year, I reckon the Record/Replay talk will probably change the way I debug programs. RR is a Mozilla tool, you run the buggy program under rr, which records exactly what the system calls the program runs, what state effects the program has, then you run that recording under the standard debugger, gdb. Typically with gdb you can only step forwards into the program, but with rr you can actually step back in time as well!
\r\nA hardware talk that really caught my attention this year was the Linux Microwave, a regular microwave with a set of scales and a thermal imaging camera added, so that whenever you heat/warm/defrost something, the microwave will never ever burn/under/over cook the food!
\r\nThe other bit of hardware that I feel warrants a mention was the large loom that one of our venues, the National Wool Museum was built around. It is programmed by a large bunch of punch cards! There\'s always local attractions that add something to the conference.
\r\nDuring the week, ad-hoc groups form around common interests, we call these Birds-of-feather sessions. I usually end up attending the Emacs BoF. A recurring BoF is the jobs BoF, where employers and hopeful employees come together.
\r\nI don\'t tend to attend too many tutorials myself. A number of years back I ran a tutorial on Antlr, a recursive descent parser toolkit.
\r\nThere are a number of social events that happen most years, the conference dinner, the speakers dinner, and the professionals session. These events target the different audiences at the conference. A favourite spin on this was during a Melbourne lca where diners were given food and drink tokens to use around a market, rather than a traditional sit down dinner. The speakers dinner is a smaller, more private thank you to the speakers, many of whom have flown in from overseas. The professionals session tends to be the most varied, as it tends not be a full meal, but just a place where folks can meet, greet and swap business cards.
\r\nI can\'t say it\'s always been a bed of roses, I\'ve had a couple of hospital trips over the years, one for myself where, along with almost half of the conference, I came down with the dreaded noro-virus, a gastro bug that is prevalent on cruise ships. During another lca when I was chaperoning another attendee to hospital I figured my lca was over, but then I struck up a conversation with our ambulance driver, and it turned out he\'d been working on pdp-11s during his uni days!
\r\nThe other awful lca experience I have to mention was the flooding that occurred just one week prior to our second Brisbane lca. All of our venues were affected, some were destroyed completely. We had to shift our main venue about 5kms up the road, hire buses, find new caterers at the last minute, a whole world of pain.
\r\nFor many years now, most of our talks have been recorded, using our own recording system. All of these videos are up on the Linux Australia server and youtube. This means that weeks, months after the conference is finished, I find myself watching a recording that someone has recommended, and it takes me back to that one week in every year where the world makes sense to me.
\r\nAs I mentioned previously, the next linux.conf.au is in Hobart, January 2017, I hope to see some hpr listeners there.
\r\nRatpoison main site: https://www.nongnu.org/ratpoison/index.html
RPbar (add-on for program bar functionality): https://github.com/dimatura/rpbar
Patch to get color in current window: https://lists.nongnu.org/archive/html/ratpoison-devel/2008-08/msg00001.html
Simple Puppy Menu: Start menu functionality, for Puppy Linux distributions (based in aemenu or mygtkmenu): https://www.murga-linux.com/puppy/viewtopic.php?p=885559
Xdotool home: https://www.semicomplete.com/projects/xdotool
Dr. Bunsen\'s file naming convention: https://www.drbunsen.org/naming-and-searching-files-part-1/
\r\n\r\n\r\n
Download the 64-bit version of the iso, then create a bootable USB. I recommend using dcfldd.
\r\nCompile or download grubia32.efi (see links), then move it into the /EFI/BOOT directory on the USB.
\r\nBoot from the disk (assuming you already disabled secure boot from the BIOS). Install the system as you like.
\r\nReboot, but leave in USB. Type c
when grub loads, then enter in:
linux (hd1,gpt2)/boot/vmlinuz.... root=/dev/mmcblk0p2\r\ninitrd (hd1,gpt2)/boot/initrd....\r\nboot
\r\nTo get wi-fi working, put in terminal:
\r\nsudo cp /sys/firmware/efi/efivars/nvram-XXXXXX /lib/firmware/brcm/brcmfmac43340-sdio.txt
\r\nThen reload the brcmfmac driver:
\r\nsudo modprobe -r brcmfmac\r\nsudo modprobe brcmfmac
\r\nFix Bootloader with the following commands as root:
\r\nsudo apt-get install git bison libopts25 libselinux1-dev autogen m4 autoconf help2man libopts25-dev flex libfont-freetype-perl automake autotools-dev libfreetype6-dev texinfo\r\n\r\n# from https://www.gnu.org/software/grub/grub-download.html\r\ngit clone git://git.savannah.gnu.org/grub.git\r\n\r\ncd grub\r\n\r\n./autogen.sh\r\n\r\n./configure --with-platform=efi --target=i386 --program-prefix=\"\"\r\n\r\nmake\r\n\r\ncd grub-core\r\nsudo su\r\n../grub-install -d . --efi-directory /boot/efi/ --target=i386\r\ncd /boot/efi/EFI\r\ncp grub/grubia32.efi ubuntu/\r\nexit
\r\nThen, we can just install grub-efi-ia32:
\r\nsudo apt-get update\r\nsudo apt-get install grub-efi-ia32
\r\nEdit the grub configuration file:
\r\nsudo nano /etc/default/grub
\r\nFind the line starting GRUB_CMDLINE_LINUX_DEFAULT
and add intel_idle.max_cstate=1
before quiet splash\"
.
Then ctrl-o, ctrl-x to save & exit, and type: sudo update-grub
to update Grub.
Remove the USB stick and reboot, and you should now have a self-sufficient booting system.
\r\nDue to some conflict between sdhci-acpi and brcmfmac (https://bugzilla.kernel.org/show_bug.cgi?id=88061), a parameter has to be changed for the sdhci-acpi driver. There are several ways to do this, but a quick fix is to add this line in /etc/sysfs.conf (make sure you have the package sysfsutils installed), this way the option is passed before the brcmfmac driver is loaded :
\r\n# Disable SDHCI-ACPI for Wireless, otherwise WLAN doesn\'t work\r\nbus/platform/drivers/sdhci-acpi/INT33BB:00/power/control = on
\r\nCreate a file /etc/modprobe.d/sdhci.conf with the following content:
\r\n# Adjustment to make micro SD card reader work\r\noptions sdhci debug_quirks=0x8000
\r\nThen run
\r\nupdate-initramfs -u -k all
\r\nAfter a reboot the card reader should be working.
\r\n\r\n\r\n\r\nCheck out the man page for incron and also this write-up by Nixcraft.
\r\n
basic usage:
\r\nincrontab -e
In your editor of choice, follow this syntax:
\r\n<path-to-watch> <event mask> command
This half-hour-long episode describes the complete process for turning an old, limited thin-client terminal (an HP T5740) - and incidentally just about any other kind of hardware - into a simple automatic media-playing kiosk-style device, running VLC on a hand-made minimalist Arch Linux installation. I\'ve tried to describe the procedure I came up with in enough detail that anyone with a little bit of Linux experience can hopefully follow and potentially replicate the whole thing, but not so much detail that it gets horrifically tedious. Some of the extra details I glossed over in the audio are here in the show notes if you want them.
\r\nThis episode will mostly be of interest to people with a little bit of Linux experience, but may hopefully be interesting to a few others. Mac and Windows partisans take note: before you start giggling about how \"complicated\" it is to set up Linux as you listen to what I describe here, I will reiterate that I chose to do the install \"by hand\" like this, and I assure you a more typical Linux install is quite a bit simpler (having just spent several months brutally installing Windows systems on innocent computers, getting and ordinary Linux installation finished is not only easier but faster. (\"Windows is getting ready to start to prepare to configure updates. Please wait 5 hours and don\'t turn off your computer...\") So there.
\r\nI\'m also going to try posting an \"enhanced\" version of this episode in .opus format with chapter markings and so on at my site: https://hpr.dogphilosophy.network Additional information may be found there as well, especially if anyone asks for it.
\r\nInstalling linux on old computers, laptops, etc. is such a well-established tradition that I don\'t see any reason to hunt down specific examples, but I also mentioned:
\r\nI assume I don\'t need to explain that the Dead Badgers thing isn\'t entirely serious... It\'s not entirely a joke, either: https://www.instructables.com/id/Compubeaver---%3E-How-to-case-mod-a-beaver---in-29-e/
\r\n\r\n[Match]\r\nName=en*\r\n\r\n[Network]\r\nDHCP=ipv4
\r\n\r\nAutostart X on tty1 only: https://wiki.archlinux.org/index.php/Xinitrc#Autostart_X_at_login
\r\n[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
\r\nI actually have also tried the \"web browser kiosk\" thing with the browser loading up a particular web page on start. It actually works just fine, except that the Windows DHCP server seems to be kind of slow, and if I just let the system start without checking the browser initially just shows an \"internet no work\" sort of message. I got around this nicely by adding a couple of steps to .xinitrc before starting the web browser. First, I created a graphic to use as an X background that just has text that indicates that it\'s waiting for the network to come up. Then, I put a loop in .xinitrc that checks for a hostname on the internet to see if it resolves to an IP yet, which would tell me the internet had come up. I didn\'t want to have to install any specific additional software utilities or, ideally, to have to do any special parsing. It turns out that you can just use \"getent ahosts4 google.com\" (or other internet hostname) as a test for this - it will return nothing if the name doesn\'t resolve, so you only need to test if the response is not a blank. I used \"sleep 1\" to pause one second between tries. Once the resolution returns something, I had xsetbg change the background graphic to a more appropriate default and continue starting the browser, the VNC server, etc.
\r\nThe .xinitrc for that looks like this:
\r\nif [ -d /etc/X11/xinit/xinitrc.d ] ; then\r\n for f in /etc/X11/xinit/xinitrc.d/?* ; do\r\n [ -x \"$f\" ] && . \"$f\"\r\n done\r\n unset -f\r\nfi\r\n\r\nxset s off\r\nxset -dpms\r\nxsetbg -fullscreen WaitingForNetwork.png\r\n#vlc --extraintf=http --http-host 0.0.0.0:8080 --http-password \'PutPasswordHere\' -L playlist.m3u &\r\n#Not sure this is necessary - chromium seems to retry on its own\r\nwhile [ `getent ahostsv4 google.com` -eq \'\']\r\ndo\r\n##wait one second then check again to see if network is up\r\nsleep 1\r\ndone\r\nxsetbg NetworkNowUp.png\r\n##The URL below is a \"test to see if you can connect to a conference\" link\r\nchromium --incognito --app=https://www3.gotomeeting.com/join/406552062 &\r\nx0vncserver -display :0 -passwordfile /home/tech/.vnc/passwd &\r\nexec openbox-session
\r\nIf you have any questions or comments, you can leave them at either
\r\nhttps://hackerpublicradio.org/eps.php?id=1989
\r\nor on my own blog at
\r\n\r\nYou are along for the ride as NYbill takes his first look at another inexpensive Multimeter.
\r\nThis is part 1 of a quick look at the Owon B35T True RMS multimeter with Bluetooth.
\r\nThe Owon B35T:
\r\nhttps://tinyurl.com/glgpe2f
The Extech TL809 Probe set:
\r\nhttps://tinyurl.com/zmue2z5
Pics for the episode:
\r\nhttps://tinyurl.com/zwabxt9
\r\n',309,0,1,'CC-BY-SA','podcasts,tools,listening,podget',0,0,1), (1997,'2016-03-29','Introduction to sed - part 3',3828,'Looking at some more sed commands than just s','Editor\'s Note 2018-06-12: The links above which previously referenced GitHub\r\nhave been updated to reflect the new location of the software, GitLab.
In the last episode we looked at sed
at a more advanced level. We looked at all of the command-line options which we will cover in this series and examined the s command in much more detail. We covered many more details of regular expressions.
In this episode we will look at more sed
commands and how to use them.
To read the rest of the notes for this episode follow this link: https://hackerpublicradio.org/eps/hpr1997/full_shownotes.html
\r\nsed
manual: https://www.gnu.org/software/sed/manual/sed.htmlsed
: https://en.wikipedia.org/wiki/Sedsed
commands: https://hackerpublicradio.org/eps/hpr1997/example_6.sedsed
script: https://hackerpublicradio.org/eps/hpr1997/example_7.sedCome along for the ride as I repair my pickup truck. The job is to replace the serpentine belt, idler pulley, and belt tensioner in the hope of getting rid of a very annoying loud chirping sound that was coming from my engine. Even after cutting out the long pauses where I was staring at my engine trying to imagine how I was going to get the belt to go in the indicated pattern, this episode still tops out at about one hour. Be warned. There are several sections where you\'re just kind of listening along to sounds of nature as I work.
\r\n\r\nHere\'s the instructional video I watched to learn how to do it:
\r\n\r\n\r\n\r\n\r\nhttps://www.youtube.com/watch?v=alXnTNxO9qw\r\n
\r\n\r\n\r\nhttps://www.jamendo.com/playlist/500161911/cov-s-jams-002\r\n
\r\n',322,22,1,'CC-BY-SA','music',0,0,1), (1998,'2016-03-30','Homebrewing',1438,'A bit about making your own beer.','\r\nIn this episode, I will share some tips about how to get the most out of an inexpensive, entry-level homebrewing kit such as the Mr. Beer branded kit. These tips will work with any kit, however.\r\n
',325,14,1,'CC-BY-SA','home brewing,accents',0,0,1), (1999,'2016-03-31','How I record a full band under Linux',1193,'How I use Ardour, Jack audio, and a Presonus interface to record an entire band practice.','How I use Ardour, Jack audio, and a Presonus interface to record an entire band practice under linux.
\r\nTools:
\r\nHardware
\r\nhttps://anthonyvenable110.wordpress.com
',297,0,1,'CC-BY-SA','raspberry pi',0,0,1), (2014,'2016-04-21','A first look at the Owon B35T Part 2',1306,'More clicking of things, Bluetooth happens, things are taken apart...','In this episode of HPR you get to hear more of the things on NYbill\'s electronics bench that make clicking noises.
\r\nThe review of the Owon B35T\'s continues. Bluetooth is now working. And we get an inside look at the meter.
\r\nThe Owon B35T:
\r\nhttps://tinyurl.com/glgpe2f
Pics for the episode:
\r\nhttps://tinyurl.com/glf3hqb
In this episode NYbill talks about building a DSO138 Oscilloscope kit.
\r\nA note about counterfeits:
\r\nhttps://www.jyetech.com/Products/LcdScope/e138.php
The kit with pre-soldered SMD parts:
\r\nhttps://tinyurl.com/j7sr9zy
Without pre-soldered parts:
\r\nhttps://tinyurl.com/hxp3bz3
The forums:
\r\nhttps://tinyurl.com/htq3tne
Pics for the episode:
\r\nhttps://media.gunmonkeynet.net/u/nybill/collection/the-dso138-oscilloscope-kit/
It this episode NYbill talks about power supplies used for electronics work.
\r\nKen\'s message asking about programmatically checking for the intro and outro: \r\nhttps://thread.gmane.org/gmane.network.syndication.podcast.hacker-public-radio/1039
\r\nThe Echoprint website: https://echoprint.me
\r\nCodegen source code: https://github.com/echonest/echoprint-codegen
\r\nEchoprint - An Open Music Identification Service: https://www.ee.columbia.edu/~dpwe/pubs/EllisWP11-echoprint.pdf
\r\nServer source codehttps://github.com/echonest/echoprint-server
',257,0,0,'CC-BY-SA','Echoprint,music identification',0,0,1), (2053,'2016-06-15','My 2nd HPR Beer Podcast',132,'Describing the taste of beers I\'ve tried','Hi everyone,
\r\nIt\'s MeToo here again recording for HPR with a follow on beer tasting podcast. Let me first apologize for the audio quality of this and the next eleven beer podcasts. They were all recorded live on my phone in the Nobody Knows Bar, so there is a bit of a background noise. I just hope it\'s not too distracting.
\r\nThe following twelve beer podcasts were recorded over a period of several months. A couple of them, even though they were recorded at the same \"sitting\", I\'ve chosen to break up into several podcasts, just so as to add more podcasts to HPR.
\r\nIn a few cases, it\'s obvious that I get a little tongue tied. Please forgive me. I normally tend to just have one beer per sitting, but the beer is so good and I\'m with friends, and as such have had more than one per sitting at those times.
\r\nBut enough of the explanations and apologies. Let\'s get on to the heart of the podcast: my impressions of several beers.
\r\nOne more thing before we start. The beer in this podcast is Old Foghorn. I mislabeled it in the recording as Old Fog.
\r\n\r\n\r\n\r\n\r\n
\r\n[Audio from pre-recorded report]
\r\nWell. there you have it. Not one of my better recordings. But I hope you liked it nonetheless.
\r\nSo, this is MeToo here signing out until next time, wishing you happy trails and happy beers.
\r\n',313,0,0,'CC-BY-SA','beer tasting',0,0,1), (2011,'2016-04-18','Introduction to sed - part 4',2858,'How sed really works. Less frequently used sed commands','In the last episode we looked at some of the more frequently used sed
commands, having spent previous episodes looking at the s command, and we also covered the concept of line addressing.
In this episode we will look at how sed
really works in all the gory details, examine some of the remaining sed
commands and begin to build useful sed
programs.
To read the rest of the notes for this episode follow this link: https://hackerpublicradio.org/eps/hpr2011/full_shownotes.html
\r\nsed
manual: https://www.gnu.org/software/sed/manual/sed.htmlsed
: https://en.wikipedia.org/wiki/SedI attended OggCamp15 in Liverpool at the end of October 2015. As usual I bought some raffle tickets as a contribution to the expenses of the (un-)conference, not paying much attention to the prizes.
\r\nActually, the star prize was a laptop donated by Entroware, a significant sponsor of the event, one of the most impressive prizes ever offered at OggCamp. There was quite a lot of excitement about this prize.
\r\nI attended the drawing of the raffle at the end of proceedings on the Sunday. Dan Lynch (of Linux Outlaws, and a frequent organiser of OggCamp) was in attendance overseeing the selection of the raffle tickets. Various smaller prizes were won and the tension built up as the final drawing approached.
\r\nThings got very tense when the first number drawn for the laptop was called and nobody responded. Then another draw was made.
\r\nImagine my shock and surprise when I realised I had the winning ticket! I had won the star prize in the OggCamp raffle!
\r\nSee the full show notes here https://hackerpublicradio.org/eps/hpr2007/full_shownotes.html for the details of the laptop.
\r\n\r\nYou can help out the Hacker Public Radio project by recording a show today.
\r\nSee https://hackerpublicradio.org/contribute.php for more information.\r\n
\r\nhttps://github.com/CPrompt/configs/blob/master/.screenrc (CPrompt\'s .screenrc file)\r\n
\r\nhttps://www.gnu.org/software/screen/manual/html_node/String-Escapes.html (GNU Man page on String Escapes)\r\n
JSON is a popular way of storing data in a key/value type arrangement so that the data can be parsed easily later. For instance, here is a very simple JSON snippet:
\r\n{\r\n"name":"tux",\r\n"health":"23",\r\n"level":"4"\r\n}
\r\nIf you are like me, three questions probably spring to your mind:
\r\nThat looks an awful lot like a Python dictionary.
\r\nYes, it looks exactly like a Python dictionary. They are shockingly similar. If you are comfortable with Python lists and dictionaries, you will feel right at home with JSON.
I don\'t feel comfortable with dictionaries, can\'t I just use a delimited text file?
\r\nYou can, but you will have to write parsers for it yourself. If your data gets very complex, the parsing can get pretty ugly.
\r\nThat is not to say that you should not use a simple delimited text file if that is all that your programme needs. For example, I would not want to open a config file as a user and find that I have to format all my options as valid JSON.
\r\nJust know that JSON is out there and available, and that the JSON Python module has some little features that make your life easier when dealing with sets of data.
Why not use XML instead?
\r\nYou can. Mostly one should use the most appropriate format for one\'s project. I\'m a big fan of XML, but sometimes JSON makes more sense.
I am not going to make this post about teaching the JSON format. If you need clarification on how to structure data into JSON, go through a tutorial on it somewhere; there are several good ones online. Honestly, it\'s not that complex; you can think of JSON as nested dictionaries.
\r\nStarting from scratch, let\'s say that you write a programme that by nature gathers data as it runs. When the user quits, you want to save the data to a file so that when the user resumes the app later, they can load the file back in and pick up where they left off.
\r\nAt its most basic, the JSON data structure is basically the same as a Python dictionary, and in fact the nice thing about JSON is that it can be directly imported into a Python dictionary. Usually, however, you are resorting to JSON because you have somewhat complex data, so in the sample code we will use a dictionary-within-a-dictionary:
\r\n#!/usr/bin/env python\r\n\r\ngame = {'tux': {'health': 23, 'level': 4}, 'beastie': {'health': 13, 'level': 6}}\r\n# you can always add more to your dictionary\r\n\r\ngame['konqi'] = {'health': 18, 'level': 7}
\r\nThat code creates a ditionary called game which stores the player name and a corresponding dictionary of attributes about how the player is doing in the progress of the game. As you can see after the comment, adding new players is simple.
\r\nNow let\'s see how to save that data to a save file.
\r\n## continued...\r\nimport json\r\n\r\nwith open('dosiero.json', 'w') as outfile:\r\n json.dump(game, outfile)
\r\nThat would be your save command. Simple as that, all the structured content of your game dictionary is committed to a file on your hard drive.
\r\nIf you are saving data to JSON, you probably will evenually want to read the data back into Python. For this, Python features the function json.load
\r\nimport json\r\n\r\ndosiero = open('dosiero.json')\r\ngame = json.load(dosiero)\r\n\r\nprint game['tux'] # prints {'health': 23, 'level': 4}\r\nprint game['tux']['health'] # prints 23\r\nprint game['tux']['level'] # prints 4\r\n\r\n# when finished, close the file\r\n\r\njson_data.close()
\r\nAs you can see, JSON integrates surprisingly well with Python, so it\'s a great format when your data fits in with its model.
\r\nHave fun!
\r\n[EOF]
\r\nMade with Free Software.
\r\n',78,38,0,'CC-BY-SA','Python,dictionary,JSON',0,0,1), (2012,'2016-04-19','Parsing XML in Python with Untangle',1262,'A quick introduction to Untangle, an XML parser for Python.','XML is a popular way of storing data in a hierarchical arrangement so that the data can be parsed later. For instance, here is a simple XML snippet:
\r\n<?xml version="1.0"?>\r\n<book>\r\n <chapter id="prologue">\r\n <title>\r\n The Beginning\r\n </title>\r\n </chapter>\r\n</book>
\r\nThe nice thing about XML is that it is explicit and strictly structured. The trade-off is that it\'s pretty verbose, and getting to where you want to go often requires fairly complex navigation.
\r\nIf you do a quick search online for XML parsing in Python, your two most common results are lxml
and beautifulsoup
. These both work, but using them feels less like opening a dictionary (as with JSON) to look up a definition and more like wandering through a library to gather up all the dictionaries you can possibly find.
In JSON, the thought process might be something like:
\r\n"Go to the first chapter\'s title and print the contents."
\r\nWith traditional XML tools, it\'s more like:
\r\n"Open the book element and gather all instances of titles that fall within those chapters. Then, look into the resulting object and print the contents of the first occurrence."
\r\nThere are at least two libaries that you can install and use to bring some sanity to complex XML structures, one of which is untangle
.
With untangle
, each element in an XML document gets converted into a class, which you can then probe for information. Makes no sense? well, follow along and it will become clear:
First, ingest the XML document. Assuming it\'s called sample.xml
and is located in the current directory:
>>> import untangled\r\n>>> data = untangle.parse('sample.xml')
\r\nNow our simple XML sample is sitting in RAM, as a Python class. The first element is <book>
and all it contains is more elements, so its results are not terribly exciting:
>>> data.book\r\nElement(name = book, attributes = {}, cdata = )
\r\nAs you can see, it does identify itself as "book" (under the name listing) but otherwise, not much to look at. That\'s OK, we can keep drilling down:
\r\n>>> data.book.chapter\r\nElement(name = chapter, attributes = {'id': 'prologue'}, cdata = )
\r\nNow things get more interesting. The next element identifies itself as "chapter", and reveals that it has an attribute "id" which has a value of "prologue". To continue down this path:
\r\n>>> data.book.chapter.title\r\nElement(name = title, attributes = {}, cdata = The Beginning )
\r\nAnd now we have a pretty complete picture of our little XML document. We have a breadcrumb trail of where we are in the form of the class we are invoking (data.book.chapter.title
) and we have the contents of our current position.
That\'s very linear; if you know your XML schema (and you usually do, since XML is quite strict) then you can grab values without all the walking. For instance, we know that our chapters have \'id\' attributes, so we can ask for exactly that:
\r\n>>> data.book.chapter['id']\r\n'prologue'
\r\nYou can also get the contents of elements by looking at the cdata
component of the class. Depending on the formatting of your document, untangle
may be a little too literal with how it stores contents of elements, so you may want to use .strip()
to prettify it:
>>> data.book.chapter.title.cdata.strip()\r\n'The Beginning'
\r\nMy example so far is nice and tidy, with only one chapter in the book. Generally you\'ll be dealing with more data than that. Let\'s add another chapter to our sample file, and some content to each:
\r\n<?xml version="1.0"?>\r\n<book>\r\n <chapter id="prologue">\r\n <title>\r\n The Beginning\r\n </title>\r\n <para>\r\n This is the first paragraph.\r\n </para>\r\n </chapter>\r\n\r\n <chapter id="end">\r\n <title>\r\n The Ending\r\n </title>\r\n <para>\r\n Last para of last chapter.\r\n </para>\r\n </chapter>\r\n</book>
\r\nAccessing each chapter is done with index designations, just like with a dict
:
>>> data.book.chapter[0]\r\nElement(name = chapter, attributes = {'id': 'prologue'}, cdata = )\r\n>>> data.book.chapter[1]\r\nElement(name = chapter, attributes = {'id': 'end'}, cdata = )
\r\nIf there is more than one instance of a tag, you must use a designator or else untangle
won\'t know what to return. For example, if we want to access either the title
or para
elements within a chapter:
>>> data.book.chapter.title\r\nTraceback (most recent call last):\r\nFile "<stdin>", line 1, in <module>\r\nAttributeError: 'list' object has no attribute 'title'
\r\nOops. But if we tell it which one to look at:
\r\n>>> data.book.chapter[0].title.cdata.strip()\r\n'The Beginning'\r\n>>> data.book.chapter[1].title.cdata.strip()\r\n'The Ending'
\r\nOr you can look at the paragraph instead of the title. The lineage is the same, only instead of looking at the title
child, you look at the para
child:
>>> data.book.chapter[0].para.cdata.strip()\r\n'This is the first paragraph.'\r\n>>> data.book.chapter[1].para.cdata.strip()\r\n'Last para of last chapter.'
\r\nYou can also iterate over items:
\r\n>>> COUNT = [0,1]\r\n>>> for TICK in COUNT:\r\n... print(data.book.chapter[TICK])\r\nElement <chapter> with attributes {'id': 'prologue'} and children\r\n[Element(name = title, attributes = {}, cdata = The Beginning ),\r\nElement(name = para, attributes = {}, cdata = This is the first paragraph.)]\r\n\r\nElement <chapter> with attributes {'id': 'end'} and children\r\n[Element(name = title, attributes = {}, cdata = The Ending ),\r\nElement(name = para, attributes = {}, cdata = Last para of last chapter.)]
\r\nAnd so on.
\r\nI\'ll admit the data structure of the classes does look odd, and you could probably argue it\'s not the cleanest and most elegant of all output; it\'s unnerving to see empty cdata
fields or to constantly run into the need to strip()
whitespace. However, the ease and speed and intuitiveness of parsing XML with untangle
is usually well worth any trade-offs.
[EOF]
\r\nMade on Free Software.
\r\n',78,38,1,'CC-BY-SA','python, parse, xml',0,0,1), (2013,'2016-04-20','Parsing XML in Python with Xmltodict',849,'A quick introduction to xmltodict, an XML parser for Python.','\r\nIf Untangle is too simple for your XML parsing needs, check out xmltodict. Like untangle, xmltodict is simpler than the usual suspects (lxml, beautiful soup), but it\'s got some advanced features as well.\r\n
\r\nIf you\'re reading this article, I assume you\'ve read at least the introduction to my article about Untangle, and you should probably also read, at some point, my article on using JSON just so you know your options.
\r\nQuick re-cap about XML:
\r\nXML is a way of storing data in a hierarchical arrangement so that the data can be parsed later. It\'s explicit and strictly structured, so one of its benefits is that it paints a fairly verbose definition of data. Here\'s an example of some simple XML:
\r\n<?xml version="1.0"?>\r\n<book>\r\n <chapter id="prologue">\r\n <title>\r\n The Beginning\r\n </title>\r\n <para>\r\n This is the first paragraph.\r\n </para>\r\n </chapter>\r\n\r\n <chapter id="end">\r\n <title>\r\n The Ending\r\n </title>\r\n <para>\r\n Last para of last chapter.\r\n </para>\r\n </chapter>\r\n</book>
\r\nAnd here\'s some info about the xmltodict
library that makes parsing that a lot easier than the built-in Python tools:
Install xmltodict
manually, or from your repository, or using pip
:
$ pip install xmltodict
\r\nor if you need to install it locally:
\r\n$ pip install --user xmltodict
\r\nWith xmltodict
, each element in an XML document gets converted into a dictionary (specifically an OrderedDictionary
), which you then treat basically the same as you would JSON (or any Python OrderedDict).
First, ingest the XML document. Assuming it\'s called sample.xml
and is located in the current directory:
>>> import xmltodict\r\n>>> with open('sample.xml') as f:\r\n... data = xmltodict.parse(f.read())
\r\nIf you\'re a visual thinker, you might want or need to see the data. You can look at it just by dumping data:
\r\n>>> data\r\nOrderedDict([('book', OrderedDict([('chapter',\r\n[OrderedDict([('@id', 'prologue'),\r\n('title', 'The Beginning'),\r\n...and so on...
\r\nNot terribly pretty to look at. Slightly less ugly is your data set piped through json.dumps
:
>>> import json\r\n>>> json.dumps(data)\r\n'{"book": {"chapter": [{"@id": "prologue",\r\n"title": "The Beginning", "para": "This is the first paragraph."},\r\n{"@id": "end", "title": "The Ending",\r\n"para": "This is the last paragraph of the last chapter."}]\r\n}}'
\r\nYou can try other feats of pretty printing, if they help:
\r\n>>> pp = pprint.PrettyPrinter(indent=4)\r\n>>> pp.pprint(data)\r\n{ 'book': { 'chapter': [{'@id': 'prologue',\r\n 'title': 'The Beginning',\r\n 'para': 'This is the ...\r\n ...and so on...
\r\nMore often than not, though, you\'re going to be "walking" the XML tree, looking for specific points of interest. This is fairly easy to do, as long as you remember that syntactically you\'re dealing with a Python dict, while structurally, inheritance matters.
\r\nExploring the data element-by-element is very easy. Calling your data set by its root element (in our current example, that would be data[\'book\']
) would return the entire data set under the book
tag. We\'ll skip that and drill down to the chapter
level:
>>> data['book']['chapter']\r\n[OrderedDict([('@id', 'prologue'), ('title', 'The Beginning'),\r\n('para', 'This is the first paragraph.')]),\r\nOrderedDict([('@id', 'end'), ('title', 'The Ending'),\r\n('para', 'Last paragraph of last chapter.')])]
\r\nAdmittedly, it\'s still a lot of data to look at, but you can see the structure.
\r\nSince we have two chapters, we can enumerate which chapter to select, if we want. To see the zeroeth chapter:
\r\n>>> data['book']['chapter'][0]\r\nOrderedDict([('@id', 'prologue'),\r\n('title', 'The Beginning'),\r\n('para', 'This is the first paragraph.')])
\r\nOr the first chapter:
\r\n>>> data['book']['chapter'][1]\r\nOrderedDict([('@id', 'end'), ('title', 'The Ending'),\r\n('para', 'Last paragraph of last chapter.')])
\r\nAnd of course, you can continue narrowing your focus:
\r\n>>> data["book"]["chapter"][0]['para']\r\n'This is the first paragraph.'
\r\nIt\'s sort of like Xpath for toddlers. Having had to work with Xpath, I\'m happy to have this option.
\r\nYou may have already noticed that in the dict containing our data, there is some special notation happening. For instance, there is no @id
element in our XML, and yet that appears in the dict.
Xmltodict
uses the @
symbol to signify an attribute of an element. So to look at the attribute of an element:
>>> data['book']['chapter'][0]['@id']\r\n'prologue'
\r\nIf you need to see each attribute of each chapter tag, just iterate over the dict. A simple example:
\r\n>>> for c in range(0,2):\r\n... data['book']['chapter'][c]['@id']\r\n...\r\n'prologue'\r\n'end'
\r\nIn addition to special notation for attributes, xmltodict
uses the #
prefix to denote contents of complex elements. To show this example, I\'ll make a minor modification to sample.xml
:
<?xml version="1.0"?>\r\n<book>\r\n <chapter id="prologue">\r\n <title>\r\n The Beginning\r\n </title>\r\n <para class="linux">\r\n This is the first paragraph.\r\n </para>\r\n </chapter>\r\n\r\n <chapter id="end">\r\n <title>\r\n The Ending\r\n </title>\r\n <para class="linux">\r\n Last para of last chapter.\r\n </para>\r\n </chapter>\r\n</book>
\r\nNotice that the <para>
elements now have a linux
attribute, and also contain text content (unlike <chapter>
elements, which have attributes but only contain other elements).
Look at this data structure:
\r\n>>> import xmltodict\r\n>>> with open('sample.xml') as g:\r\n... data = xmltodict.parse(g.read())\r\n>>> data['book']['chapter'][0]\r\nOrderedDict([('@id', 'prologue'),\r\n('title', 'The Beginning'),\r\n('para', OrderedDict([('@class', 'linux'),\r\n('#text', 'This is the first paragraph.')]))])
\r\nThere is a new entry in the dictionary: #text
. It contains the text content of the <para>
tag and is accessible in the same way that an attribute is:
>>> data['book']['chapter'][0]['para']['#text']\r\n'This is the first paragraph.'
\r\nThe xmltodict
module supports XML namespaces and can also dump your data back into XML. For more documentation on this, have a look at the module on github.com/martinblech/xmltodict.
Between untangle
, xmltodict
, and JSON, you have pretty good set of options for data parsing. There really are diferent uses for each one, so there\'s not necessarily a "right" or "wrong" answer. Try them out, see what you prefer, and use what is best. If you don\'t know what\'s best, use what you\'re most comfortable with; you can always improve it later.
[EOF]
\r\nMade on Free Software.
\r\n',78,38,1,'CC-BY-SA','python, parse, xml',0,0,1), (2015,'2016-04-22','Linux in the Church',1116,'How I\'m using Linux for many of my projects at church.','Linux has been my exclusive OS for many years. When I became the tech director at my church I wanted to utilize the power and freedom of Open Source so I\'m gradually implementing it on many of my projects.
\r\n\r\n\r\n\r\n
\r\n',328,0,0,'CC-BY-SA','Linux, Church, Tech, Sound',0,0,1), (2017,'2016-04-26','Here are my thoughts on a 3D printer Kit.',750,'Bought a 3D printer kit. My thoughts on how it went together.','I purchased a 3D printer kit from AliExpress.
\r\n\r\nHere are some after thoughts on how I liked it, a little overview of 3D printers and why I bought this one.
\r\nPictures of the printer as assembled, and a few items I printed https://www.travestylabs.com/3Dprinter/
\r\nI hope to make this into a series about software, tips and modifications, and other thoughts I have to share about it.
\r\nMakes about 1 gallon
\r\nIngredient | \r\nUS | \r\nMetric | \r\n
---|---|---|
water | \r\n3 1/2 quarts | \r\n?? | \r\n
white sugar | \r\n1 cup | \r\n?? | \r\n
black tea | \r\n8 bags (or 2 tablespoons loose tea) | \r\n?? | \r\n
starter tea from last batch of kombucha or store-bought | \r\n2 cups | \r\n?? | \r\n
scoby | \r\n1 per fermentation jar | \r\nN/A | \r\n
Optional flavoring extras for bottling: 1 to 2 cups chopped fruit, 2 to 3 cups fruit juice, 1 to 2 tablespoons flavored tea (like hibiscus or Earl Grey), 1/4 cup honey, 2 to 4 tablespoons fresh herbs or spices
\r\nEquipment
\r\nNote: Avoid prolonged contact between the kombucha and metal both during and after brewing. This can affect the flavor of your kombucha and weaken the scoby over time.
\r\n1. Make the Tea Base: Bring the water to a boil. Remove from heat and stir in the sugar to dissolve. Drop in the tea and allow it to steep until the water has cooled. Depending on the size of your pot, this will take a few hours. You can speed up the cooling process by placing the pot in an ice bath.
\r\n2. Add the Starter Tea: Once the tea is cool, remove the tea bags or strain out the loose tea. Stir in the starter tea. (The starter tea makes the liquid acidic, which prevents unfriendly bacteria from taking up residence in the first few days of fermentation.)
\r\n3. Transfer to Jars and Add the Scoby: Pour the mixture into a 1-gallon glass jar (or divide between two 2-quart jars, in which case you\'ll need 2 scobys) and gently slide the scoby into the jar with clean hands. Cover the mouth of the jar with a few layers of cheesecloth or paper towels secured with a rubber band.
\r\n4. Ferment for 7 to 10 Days: Keep the jar at room temperature, out of direct sunlight, and where it won\'t get jostled. Ferment for 7 to 10 days, checking the kombucha and the scoby periodically.
\r\nIt\'s not unusual for the scoby to float at the top, bottom, or even sideways. A new cream-colored layer of scoby should start forming on the surface of the kombucha within a few days. It usually attaches to the old scoby, but it\'s ok if they separate. You may also see brown stringy bits floating beneath the scoby, sediment collecting at the bottom, and bubbles collecting around the scoby. This is all normal and signs of healthy fermentation.
\r\nAfter seven days, begin tasting the kombucha daily by pouring a little out of the jar and into a cup. When it reaches a balance of sweetness and tartness that is pleasant to you, the kombucha is ready to bottle.
\r\n5. Remove the Scoby: Before proceeding, prepare and cool another pot of strong tea for your next batch of kombucha, as outlined above. With clean hands, gently lift the scoby out of the kombucha and set it on a clean plate. As you do, check it over and remove the bottom layer if the scoby is getting very thick.
\r\n6. Bottle the Finished Kombucha: Measure out your starter tea from this batch of kombucha and set it aside for the next batch. Pour the fermented kombucha (straining, if desired) into bottles, along with any juice, herbs, or fruit you may want to use as flavoring. Leave about a half inch of head room in each bottle. (Alternatively, infuse the kombucha with flavorings for a day or two in another jar covered with cheesecloth, strain, and then bottle. This makes a cleaner kombucha without "stuff" in it.)
\r\n7. Carbonate and Refrigerate the Finished Kombucha: Store the bottled kombucha at room-temperature out of direct sunlight and allow 1 to 3 days for the kombucha to carbonate. Until you get a feel for how quickly your kombucha carbonates, it\'s helpful to keep it in plastic bottles; the kombucha is carbonated when the bottles feel rock solid. Refrigerate to stop fermentation and carbonation, and then consume your kombucha within a month.
\r\n8. Make a Fresh Batch of Kombucha: Clean the jar being used for kombucha fermentation. Combine the starter tea from your last batch of kombucha with the fresh batch of sugary tea, and pour it into the fermentation jar. Slide the scoby on top, cover, and ferment for 7 to 10 days.
\r\nAdditional Notes:
\r\n• Batch Size: To increase or decrease the amount of kombucha you make, maintain the basic ratio of 1 cup of sugar, 8 bags of tea, and 2 cups starter tea per gallon batch. One scoby will ferment any size batch, though larger batches may take longer.
\r\n• Putting Kombucha on Pause: If you\'ll be away for 3 weeks or less, just make a fresh batch and leave it on your counter. It will likely be too vinegary to drink by the time you get back, but the scoby will be fine. For longer breaks, store the scoby in a fresh batch of the tea base with starter tea in the fridge. Change out the tea for a fresh batch every 4 to 6 weeks.
\r\n• Other Tea Options: Black tea tends to be the easiest and most reliable for the scoby to ferment into kombucha, but once your scoby is going strong, you can try branching out into other kinds. Green tea, white tea, oolong tea, or a even mix of these make especially good kombucha. Herbal teas are ok, but be sure to use at least a few bags of black tea in the mix to make sure the scoby is getting all the nutrients it needs. Avoid any teas that contain oils, like earl grey or flavored teas.
\r\n• Avoid Prolonged Contact with Metal: Using metal utensils is generally fine, but avoid fermenting or bottling the kombucha in anything that brings them into contact with metal. Metals, especially reactive metals like aluminum, can give the kombucha a metallic flavor and weaken the scoby over time.
\r\nTroubleshooting Kombucha
\r\n• It is normal for the scoby to float on the top, bottom, or sideways in the jar. It is also normal for brown strings to form below the scoby or to collect on the bottom. If your scoby develops a hole, bumps, dried patches, darker brown patches, or clear jelly-like patches, it is still fine to use. Usually these are all indicative of changes in the environment of your kitchen and not a problem with the scoby itself.
\r\n• Kombucha will start off with a neutral aroma and then smell progressively more vinegary as brewing progresses. If it starts to smell cheesy, rotten, or otherwise unpleasant, this is a sign that something has gone wrong. If you see no signs of mold on the scoby, discard the liquid and begin again with fresh tea. If you do see signs of mold, discard both the scoby and the liquid and begin again with new ingredients.
\r\n• A scoby will last a very long time, but it\'s not indestructible. If the scoby becomes black, that is a sign that it has passed its lifespan. If it develops green or black mold, it is has become infected. In both of these cases, throw away the scoby and begin again.
\r\n• To prolong the life and maintain the health of your scoby, stick to the ratio of sugar, tea, starter tea, and water outlined in the recipe. You should also peel off the bottom (oldest) layer every few batches. This can be discarded, composted, used to start a new batch of kombucha, or given to a friend to start their own.
\r\n• If you\'re ever in doubt about whether there is a problem with your scoby, just continue brewing batches but discard the kombucha they make. If there\'s a problem, it will get worse over time and become very apparent. If it\'s just a natural aspect of the scoby, then it will stay consistent from batch to batch and the kombucha is fine for drinking.
\r\n',300,93,0,'CC-BY-SA','tea, cooking, kitchen',0,0,1), (2019,'2016-04-28','a pi project and an owncloud project',1032,'A short episode where I describe a couple of geeky projects I\'ve been working on','Intro
\r\n\r\nPi Project
\r\n\r\nPhotoFrame Project
\r\n\r\nPi Project
\r\nSomaFM
\r\nCapital Public Radio
\r\nSonos
\r\nSamsung Shape
\r\nPiMusicBox
\r\nRune Audio
\r\nMusic Player Daemon
\r\nUSB Audio Dongle (amazon link... NOT an affiliate link)
PicFrame Project
\r\nownCloud
\r\nKindle Fire HD 6
\r\nPicFrame
\r\nPicFrame Android App
Contact Info
\r\nMatt McGraw - matty at the strangeland dot net
\r\nStay-At-Home G33k Dad ~ Fatherhood in the digital age
\r\n@sahg33kdad
\r\nGoogle+ www.google.com/+MattMcGraw
\r\nThe following link includes a photo of the RPi in the bookshelf with the stereo as well as a screenshot of the Rune Audio app running on my Android phone.\r\n
\r\nhttps://cloud.thestrangeland.net/index.php/s/CdbU1povrcproZQ\r\n
\r\nI get a call to look at my friend\'s broke down car.\r\n
',329,0,1,'CC-BY-SA','Automotive, Billing, Overhead, Repair, Process',0,0,1), (2022,'2016-05-03','Whats in my bag',1587,'What I carry in my computer bag when I hit the road.','Swissgear messenger bag
\r\n https://www.conrad.com/ce/en/product/977572/Swissgear-Yukon-156-to-173-Laptop-Bag-Wenger-SwissGear-SWISSGEAR-173-Black (this link is to a newer version, closest I could find to my 7 year old bag)
\r\n This bag has been with me since 2009, and for about the last 3 years did double duty, carrying both of my laptops with other assorted gear, and has held up beautifully, No fabric wear, not a stitch or seam broken anywhere. Both zippers are intact and still pull smooth and easily, they haven\'t even lost the pull-tabs (usually my first issue with any zipper). The handle and the shoulder strap are reasonably comfortable (for a single shoulder strap) and show no signs of wear either. Can\'t recommend this bag enough if you are looking for a tough messenger bag. If you are going to haul 2 laptops around (plus gear) I would strongly recommend something with 2 shoulder straps though, if you\'re doing any serious walking about.
Toshiba Satellite P855-S5312
\r\n https://www.cnet.com/products/toshiba-satellite-p855-s5312-15-6-core-i5-3210m-windows-8-6-gb-ram-750-gb-hdd-series/specs/
\r\nI beefed up the ram to 16gb and removed the optical drive in order to install a second hard drive. I also replaced the original 750gb spinning HDD. The new drives were both samsung evo 500gb SSD\'s. https://www.newegg.com/Product/Product.aspx?Item=9SIA2W02DV8166 My only real gripe about this laptop is the screen resolution, which maxes out at 1366x768. IMHO, this is a waste of real estate on a 15.6 inch screen. I am looking into this, but replacement with a higher resolution screen seems to be unfeasible, from what I am reading. ( IF YOU HAVE SUGGESTIONS OR KNOW OF A SOLUTION I WOULD LOVE TO HEAR ABOUT IT!!)
The old HP Pavillion dv5-1235dx
\r\n https://www.cnet.com/products/hp-pavilion-dv5-1235dx-15-4-core-2-duo-t6400-vista-home-premium-64-bit-4-gb-ram-320-gb-hdd-series/specs/
\r\n(I dont presently haul this one around anymore) Got this one in \'09. nice screen doing 1680x1050 , but I didn\'t care for the plastic housing. I like the metal case on the toshiba. - although older, I really liked this laptop, and still prefer the keyboard (although somewhat cramped) over the one on my Toshiba. The feel of the keys themselves and the distinctive stroke and light click as you press down through the detent, just feels better than the chiclet keyboard on my newer machine. Incidentally, I once spilled a rum and coke across this thing, keyboard and all, while it was powered down. After dry out and a good cleaning, it fired up and still works. I don\'t recommend trying to re create this experiment though. Dumb luck, I suppose. I was sure it would be a deader.
Wacom intuos cth480 pen/touch tablet
\r\n https://www.amazon.com/Wacom-Intuos-Tablet-Certified-Refurbished/dp/B00Q7FU5YS
\r\n (this thing isn\'t available in this form anymore) these are very nice and work out of the box for me on debian, and mint, (cant speak for other distros). Getting the pen\'s pressure sensitivity settings in some drawing programs (krita, gimp, etc) can sometimes be a bit fiddly and sometimes hard to find. Overall works quite well, although I am not a professional artist. Trucker, remember? Fun to play with, and reasonably small so its good travel size.
Western Digital 2TB \'my passport ultra\' portable hard drive
\r\nI carry one of these (WD) for extra storage and backups of my laptop. The other ( the Toshiba) I use mostly for storage of my movies and TV series collections (gotta have your firefly fix, right?). As to which one is better, I prefer the case on the Toshiba, just seems more durable in that high impact plastic, but I will let you know when one of them fails me :)
and for those real long distance wifi signals (and/or getting into monitor mode):
\r\nTP-LINK TL-WN722N Wireless N150 High Gain USB Adapter (wifi antennae) 150Mbps https://www.amazon.com/TP-LINK-TL-WN722N-Wireless-Adapter-External/dp/B002SZEOLG?ie=UTF8&psc=1&redirect=true&ref_=oh_aui_search_detailpage
Alfa AWUS036H High power 1000mW with 5dBi Rubber Antenna and a 7dBi Panel Antenna https://www.amazon.com/Alfa-Awus036H-Upgraded-Long-Rang-Panel/dp/B003YHYIT0?ie=UTF8&psc=1&redirect=true&ref_=oh_aui_search_detailpage
NooElec R820T SDR & DVB-T NESDR Mini
\r\n A lightweight toy for playing with software defined radio (SDR) programs, which you can see at nooelec.com if you want
IFIXIT 54 bit driver kit, very handy for ripping open your gear. Crappy tools make for a crappy day, right?
"disposable" reading glasses
\r\nhttps://www.amazon.com/Valupac-Reading-Glasses-Include-Gunmetal/dp/B00JRNIHWY?ie=UTF8&psc=1&redirect=true&ref_=oh_aui_search_detailpage
(missed these in the audio)
\r\nJust to be clear...I included many of the links here from Amazon and other shopping sites, or from c-net, because I couldn\'t see how to load my pictures in with the notes, not because I want to give product reviews or sell anyone anything. I know it can be done, because I see it elsewhere, I\'m just too tired to figure it out now. next one. As I understand it, I owe at least 2-3 shows. Be patient with me Ken, I\'m workin\' on it.
\r\nI bought a Raspberry Pi 3 in March 2016, soon after it was released. I want to use it as a server since it\'s the fastest Pi that I own, so I have tried to set it up in the best way for that role.
\r\nIn this episode I describe what I did in case you want to do something similar.
\r\nRefer to the full notes for the details: https://hackerpublicradio.org/eps/hpr2023/full_shownotes.html
\r\nadafruit-pi-externalroot-helper
script: https://hackerpublicradio.org/eps/hpr2023/adafruit-pi-externalroot-helper.txtIn this episode I talk about how I tried to implement an idea that my son had when we were talking one day. I was complaining about file names with spaces in them, and he asked what if the computer automatically changed the spacebar so that it made underscores whenever somebody was trying to save a file? I thought this was a great idea. I even thought of a way implement it, though not quite as magically as he had envisioned. My solution involves the use of the command-line tools xev
and xmodmap
, and one blather voice prompt to launch the xmodmap
command that will remap the spacebar to make underscores instead. Maybe somebody a whole lot smarter than me can figure out how to make this happen automatically whenever a save dialog box is open.
First you need to find the keycode for your spacebar. Run the xev
command and then press the spacebar to see which key code it is. Here\'s the output on my laptop:
KeyPress event, serial 48, synthetic NO, window 0x4e00001,\r\n root 0xc0, subw 0x0, time 116149126, (-739,-226), root:(448,358),\r\n state 0x0, keycode 65 (keysym 0x20, space), same_screen YES,\r\n XLookupString gives 1 bytes: (20) \" \"\r\n XmbLookupString gives 1 bytes: (20) \" \"\r\n XFilterEvent returns: False\r\n\r\n\r\n
As you can see, my spacebar has the keycode of \"65.\" Now we use xmodmap
to reassign keycode 65 to make underscores:
xmodmap -e \"keycode 65 = underscore\"\r\n\r\n
Now to test it out. While xev
is running, press spacebar. Notice that now when the spacebar is pressed it makes an underscore:
KeyPress event, serial 57, synthetic NO, window 0x2600001,\r\n root 0xc0, subw 0x0, time 116190619, (-520,-247), root:(667,337),\r\n state 0x0, keycode 65 (keysym 0x5f, underscore), same_screen YES,\r\n XLookupString gives 1 bytes: (5f) \"_\"\r\n XmbLookupString gives 1 bytes: (5f) \"_\"\r\n XFilterEvent returns: False\r\n\r\n\r\n
And to change it back:
\r\n\r\nxmodmap -e \"keycode 65 = space\"\r\n\r\n
Now whenever I want to change the spacebar to make underscores or switch it back, I speak one of the following commands, which are in my blather configuration file.
\r\n\r\n\r\nMAKE UNDERSCORES: xmodmap -e \"keycode 65 = underscore\"\r\nMAKE SPACES: xmodmap -e \"keycode 65 = space\"\r\n\r\n\r\n
xmodmap
is a utility for modifying keymaps and pointer button mappings in Xxev
print contents of X eventshttps://www.youtube.com/embed/hKEax8IqxAU
\r\n\r\n',238,0,1,'CC-BY-SA','tips and tricks, CLI, bash, linux, accessibility',0,0,1), (2025,'2016-05-06','Using a Smartphone as a microphone',63,'I talk about an App that pipes the audio input of my Smartphone into my Computer to record this show','Hello citizen of the Internet, my name is njulian, and in my first Episode for HPR I want to talk about an App called \"Microphone\". This App is available for Android in the F-Droid repository, link is in the Shownotes.
\r\nAll it does is sending the audio input from the microphone directly into the audio output. This causes horrible feedback loops, if the output happens to be the Phone\'s speakers. But if you plug a Male-to-Male 3.5mm cable into your Phone and the other end into your Computer you can use your Smartphone as a Microphone. Actually I am using this right now to record this show with Audacity on my Laptop. The reasons for that are pretty simple: I don\'t have enough free space on my Phone to record a show with Urecord and the other is that I was curious if this app really works.
\r\nWell, actually there is not much more I could tell about the App. It has no menu, no way to customize it, and as you can hear no noise suppression.
\r\nThat\'s about it, thanks for listening.
\r\nThe App: https://f-droid.org/repository/browse/?fdfilter=microphone&fdid=net.bitplane.android.microphone
\r\nThe Cable: https://en.wikipedia.org/wiki/Phone_connector_%28audio%29
\r\n\r\nJust a look at what I keep in my bag these days, though I forgot to mention my beloved Zojirushi thermos (SM-JA48-BA)!\r\n
',241,23,1,'CC-BY-SA','edc, personal, bag, backpack, tools, laptops, junk',0,0,1), (2027,'2016-05-10','Old Engineers and New Engineers',782,'I describe my and my children\'s attempts to solve a puzzle','\r\nThis is a short episode about a puzzle that I got for my birthday from my in-laws. I gave the puzzle to two of my children to solve after I\'d taken a crack at it. It was amusing to see see how and old engineer thought about the problem compared with young ones. Pictures of the puzzle are attached. The object is to get one ball in each notch at the end of the block at the same time.\r\n
\r\n\r\n\r\n',259,0,0,'CC-BY-SA','puzzle,problem solving,engineer',0,0,1), (2028,'2016-05-11','Some basic info on alarm systems',458,'A very basic intro into some alarm equipment','\r\nA very basic bit of information on some alarm equipment.\r\n
',332,0,0,'CC-BY-SA','alarm,PIR,sensor',0,0,1), (2030,'2016-05-13','Book Review: The Pocket Ref',886,'This is a short review of the Pocket Ref','Recorded this episode while suffering from some severe seasonal allergies, so please disregard any sniffing, wheezing or coughing that may have crept in.
\r\nThis is a brief introduction to the Pocket Ref by Thomas Glover. In this episode, I don\'t go into great depth of the books many topics, primarily due to the nature of the book itself. It is meant to be a reference book, and as such it contains a treasure trove of reference material from a very broad range of topics.
\r\nAlso, I mention a few other titles in this series - links below.
\r\nThe Pocket Ref-
\r\nOn Amazon - https://www.amazon.com/Pocket-Ref-4th-Thomas-Glover/dp/1885071620
On Barnes & Noble - https://www.barnesandnoble.com/w/pocket-ref-thomas-j-glover/1102586821
On Think Geek - https://www.thinkgeek.com/product/c289/
The Desk Ref - https://www.amazon.com/Desk-Ref-Thomas-J-Glover/dp/1885071604
The Auto Ref - https://www.amazon.com/AutoRef-Richard-Young/dp/1885071485
The Pocket PCRef - https://www.amazon.com/Pocket-PC-Ref-Thomas-Glover/dp/1885071582
The Pocket Partner - https://www.amazon.com/Pocket-Partner-Dennis-H-Evers/dp/1885071574
Handyman in Your Pocket - https://www.amazon.com/Handyman-In-Your-Pocket-Richard-Allen-Young/dp/1885071299
As with my last episode, you may hear some sniffling or pauses as I catch my breath. It is springtime in Kentucky, and my allergies are full force right now.
\r\nIn this episode, I take Bodhi Linux for a test drive. I\'ll tell you what I liked, what I didn\'t like, and how well or bad it performed on my test machine.
\r\nOfficial Website - https://www.bodhilinux.com/
On Distrowatch - https://distrowatch.com/table.php?distribution=bodhi
Wikipedia - https://en.wikipedia.org/wiki/Bodhi_Linux
Youtube -
\r\nhttps://www.youtube.com/watch?v=7x4_tHtJngw
\r\nhttps://www.youtube.com/watch?v=-NUVenmH_CU
I tell the story of how I learned about computers and eventually came to be an avid Linux user.
\r\nI\'ve been using Linux as my primary operating system for almost 20 years now. My primary distribution of choice has always been Slackware, but I have branched out to some more "modern" distributions as well, particularly for workstation environments.
\r\nI have been an HPR listener now for several months and this is my first show. I enjoy the podcast very much and hope to see it continue for many more years. Thank you to the administrators and leaders to make it all possible. And, of course, thank you to everyone that contributes shows.
\r\n',334,0,1,'CC-BY-SA','Linux',0,0,1), (2034,'2016-05-19','Frank\'s Five Seed Bread',426,'Frank describes his recipe for Five Seed Bread, inspired by a Kerry Greenwood mystery novel','Frank describes his recipe for Five Seed Bread, inspired by Kerry Greenwood\'s first Corinna Chapman mystery novel, \"Earthly Delights.\"
\r\n\r\nThis is droops and this is also Hacker Public Radio.\r\n
\r\n\r\n\r\nI love HPR and noticing our current need for shows, I put it on my list that I needed to help out. But what to talk about?\r\n
\r\n\r\n\r\nLet’s talk about growing HPR. It is a cool show and project, but if the community does not grow the show will end. People run out of shows to host and others have to fill that space.\r\n
\r\n\r\n\r\nI think we do a great job doing outreach to the community by going to conventions, getting mentioned in articles and magazines, and being cool with everyone. But as a community we could do a little more to get to the 4000 show mark. Even my lazy butt can help with these things.\r\n
\r\n\r\n\r\nFirst, let’s bring more traffic to the site. To do this we need content, which is really all we have. But we need to be more clever with how we use it.\r\n
\r\n\r\n\r\nWe need to transcribe all of our shows. This allows search engines to better index our content and bring more people to our site. Maybe they won’t subscribe or even listen to a show with the content being readable, but they were not going to listen anyway by not finding us. This is a big chore and we would need a team with leadership to do it.\r\n
\r\n\r\n\r\nWe need more popular hosts (this sounds bad taken at face value) to guest host shows and mention HPR on their shows. We used to do this by sending in bumpers like “this is droops from Hacker Public Radio and we live whatever this show is. Hacker Public Radio is a daily show created by the community”. Let’s make a list of podcasters we want to guest host or mention our show and go after them.\r\n
\r\n\r\n\r\nSpeaking of guest hosts, let’s work on interviewing more people who will put our show on their blog/social media. We did this in the early days of Twatech with Moka5 and we got a lot of traffic from this. I do know that we already do this, but not everyone who listens contributes a show and this is an easy way to do it.\r\n
\r\n\r\n\r\nWhat if we made it easier to record shows? Maybe have an Android/iOS app to record and submit shows from.\r\n
\r\n\r\n\r\nWe could have a tool to submit show topics or do a survey to find out what people are interested in. This may prompt people to record shows by knowing that someone would be interested in it.\r\n
\r\n\r\n\r\nSomeone could get some free stock photos (or better yet we could just take our own) and put show titles over the images to share on social media. People click on images. I will do this so that everyone can see my ugly face.\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\nOn that note, how about a video that explains what HPR is. This may be a good droops project. That would be something awesome to share on social media.\r\n
\r\n\r\n\r\nThe website, which is a lot of work, needs to have related shows listed on each individual shows page. This will take a tag system and someone to tag all of the almost uncountable previous episodes.\r\n
\r\n\r\n\r\nOne of my favorite show formats is reviews of software/media. This is so much in our community to keep up with and HPR is perfect for this. Everyone should do a show about some unique software they use or a cool book they are reading or a cool documentary they watched. Five minutes about something cool would bring me into learning more about it.\r\n
\r\n\r\n\r\nCurrently my classes are watching a documentary about the Silk Road called Deep Web (https://www.deepwebthemovie.com/). I should do a show on it to talk about privacy, government, all the cool things it brings up. We have not gotten far into the documentary yet as we keep stopping it to have discussions. \r\n
\r\n\r\n\r\nAlso I love stickers, we should set up a store to sell stickers and t-shirts. Heck this is HPR, we should have tote bags. We can either sell them at cost or make a profit to pay for hosting or swag to give away.\r\n
\r\n\r\n\r\nHacker Public Radio is driven by the community and our community as a whole is much smarter than I am. Let’s put our minds together and grow our show.\r\n
\r\n',1,0,0,'CC-BY-SA','community',0,0,1), (2039,'2016-05-26','Blather Configuration Part 0: Initial Setup',1146,'In this episode I walk you through the process of getting blather running for the first time','In this episode I walk you through the process of getting the Blather GNU/Linux speech recognition program running for the first time.
\r\n\r\nArch: On Arch Linux this is really easy. Jezra made a package build for the AUR so you can just install it that way.
\r\n\r\nDebian: I wrote an installation script for Debian-based systems that installs the dependencies to build pocketsphinx, plus a few extra packages that I use continually when I\'m running blather (xvkbd, xdotool, espeak, wmctrl, elinks, xclip, curl). It builds/installs the Sphinx stuff, pulls the blather source code, and puts some configuration files and a startup script in place for you. This should take care of pretty much all of the heavy lifting.
\r\n\r\nI refer frequently to Jezra\'s usage notes on the Blather source code page at gitlab, so if you\'re trying to install this as I talk, you might want to follow along over there.
\r\n\r\nThe trickiest bit in the initial run is the creation and placement of the language files. I normally use a bash script for this, but on this first episode of the series I\'m going to use the web-based lmtool to create the language files, just the way Jezra says to do on his usage page. He also includes my automated language updater script in the blather source code, though, so going forward I will be talking about how to use that script instead of the web-based tool.
\r\n\r\nI use a bash script to launch Blather because I want to set several environmental variables: location of the pocketsphinx gstreamer libraries, default browser, default text-to-speech engine, and so forth. Having these environmental variables set means that I can use easy-to-remember shortcuts in my blather commands config file. Here is my launch script:
\r\n\r\n#!/bin/bash\r\n\r\n# tell it where the Gstreamer libraries are\r\nexport GST_PLUGIN_PATH=/usr/local/lib/gstreamer-0.10\r\n\r\n# set some shortcuts to use in the commands file\r\n\r\n#export VOICE=\"/usr/bin/festival --tts\"\r\nexport VOICE=\"/usr/bin/espeak\"\r\nexport CONFIGDIR=\"/home/$(whoami)/.config/blather\"\r\nexport KEYPRESS=\"xvkbd -xsendevent -secure -text\"\r\nexport BROWSER=\"chromium-browser\"\r\n\r\n# add blather script directory to the user\'s PATH\r\nexport PATH=\"$HOME/bin:/home/$(whoami)/.config/blather/scripts:$PATH\"\r\n\r\n# start blather in continuous mode with the GTK GUI \r\n# and a history of 20 recent commands\r\n\r\npython2 /home/$(whoami)/code/blather/Blather.py -c -i g -H 20\r\n\r\n\r\n
Kevie and Dave Morriss chat about the upcoming Glasgow Podcrawl. This year\'s event takes place on the 29th of July 2016 and kicks off at 6pm in the State Bar, Holland Street.
\r\nThe event is open to anybody with an interest in podcasting, open source software or creative commons music. Whether you\'re an enthusiast or just interested in finding out more, also if you\'re a member of a band, then we would love to have you along for a yarn over a few pints.
\r\nCheck out https://kmacphail.blogspot.co.uk/2016/04/glasgow-podcrawl-2016.html for more details and a map of how to get to the bar.
\r\nMusic on this episode is "Beer" from Darkman Sounds https://www.jamendo.com/track/1182203/beer
\r\nIt\'s oatmeal, I don\'t know how much we need in terms of notes.
\r\nI\'m on a boat!
\n',243,0,1,'CC-BY-SA','boat',0,0,1), (2040,'2016-05-27','Why I Use Linux',300,'A short description of why someone would stumble onto Linux and not want to leave.','My first objective in making this show is to actually record a show, which is something I\'ve never done.
\r\nMy second objective was to say something interesting about why I use Linux, how I found it and why I think I keep using it.
\r\nI found Linux by word of mouth. It was a bit of a hassle to use back then and I wouldn\'t have stuck with it if the system didn\'t meet my needs better than everything else that was available to me. Cost was very important at first, but as time has gone by, it\'s been the tools and the usability of the system that have made me stay with it.
\r\nDespite their differences, Apple and Microsoft both try hard to be big, to have lots of users (buyers). They try to be everything to everyone. I think that happens with some Linux distributions too, but Linux is not one thing in the way that Windows is one thing. This means that at least some distributions can be less focused on keeping up with the latest, flashiest things. Linux just works for what I need it to do. I miss it when I\'m not using it.
\r\nMost of the work I do besides household bookkeeping is programming for the web. The tools I use most often are: Vim, git, grep, Filezilla, the LAMP stack, Meteor, Firefox, Chromium. Many of these tools are afterthoughts in other systems, whereas they seem like native inhabitants in a Linux distribution.
\r\n',335,29,0,'CC-BY-SA','linux, Vim, git, grep, Filezilla, LAMP stack, Meteor, Firefox, Chromium',0,0,1), (2041,'2016-05-30','Router Antennas More = better ?',454,'A ham operators view on router antennas','\r\nReally complicated phasing of radio signals.\r\n
\r\n\r\n\r\n\r\n',336,0,0,'CC-BY-SA','router,antenna,ham radio',0,0,1), (2042,'2016-05-31','My podcast list',1027,'Just a listing of the podcasts I listen to','As we saw in the last episode 1951 (and others in this sub-series) there are eight types of expansion applied to the command line in the following order:
\r\nWe will look at process substitution and word splitting in this episode but since there is a lot to cover in these subjects, we\'ll save pathname expansion for the next episode.
\r\nI have written out a moderately long set of notes about this subject and these are available here https://hackerpublicradio.org/eps/hpr2045/full_shownotes.html.
\r\nIFS
): https://www.tldp.org/LDP/abs/html/internalvariables.htmlKnightwise talks about how he uses his Raspberry Pi to get things done, and keep his connection to the Internet secure and private when he\'s away from home. He also discusses a number of command line tools that he uses on the Pi which help to keep the workflow simple and clutter-free.
\r\nI was reading Linux Voice I heard Dave Morriss talking about shows and made a sort one about Neofetch 1.5. Its a command that displays system information.
\r\n',129,0,0,'CC-BY-SA','Linux Voice, Linux command, Neofetch 1.5',0,0,1), (2055,'2016-06-17','GNU Nano Editor',422,'Why GNU Nano is a real Text Editor and Simple Word Processor','I recently heard an HPR Podcast where it was mentioned that Nano was not a real text editor. That somehow VI or Emacs or Kate or Gedit were in some way better than Nano. I just wanted to set the record straight that Nano is a serious editor that has a huge following and a facebook page.
\r\nHey. It\'s MeToo here again. On this episode, were diverging from my last podcast of coffee and switching topics to, wait for it. Wait for it. BEER.
\r\nNow, you might think to yourself, \"What the heck! Beer?\" I know. I know. It\'s so plebeian, right?
\r\nWell. I too, use to think like that. What with the shades of Budweiser, Michelob, Iron Horse, Iroquois, Genesee, etc... All squaw piss. Right?
\r\nI was raised on wines & cocktails. But, over recent years, especially after listening to many of you guys\' podcast on beer-making and drinking, I became interested in wanting to try some of these artisan beers you all have spoken of. But, being overseas in a foreign country, my chances of such are like a snowball\'s chance in hell. Or so I thought.
\r\nThen came one night when I was on my way to teach a class at one of the local universities, and passed by a newly opened bar with the humorous name of \"Nobody Knows Bar.\" Where, when I glanced in the window and to my amazement, were many of the very beers you all had been talking so much about. Wow! Here was my chance to partake. So, I went to class and afterwards stopped in to the bar.
\r\nSo, I tried a beer. It just happened to be an IPA. Now, don\'t get me wrong. Many, many years ago I had tried an IPA and found it far from my liking. So, my first choice wouldn\'t have been an IPA normally. Again you ask, \"Why did you choose an IPA this time?\" Well, the reason was bartender recommended it.
\r\nAnd again to my amazement (to coin a phrase), it was great. I guess the reason for enjoying it over before is that, as like everyone, my taste buds had changed. And truthfully speaking, I\'ve come to like IPAs over many others.
\r\nSo, to no longer digress. Let me tell you what I chose and my opinions on the beer.
\r\nThe beer? A 12oz. 8.2% Alc. by vol., glass bottled Lagunitas Brewery\'s Lagunitas Unlimited Release Maximus IPA Maximus Ale. I love the labeling. It reads: \"Life is uncertain. Don\'t dip.\" Also, \"If some is good, more is better.\" And one final one, \"Instant gratification isn\'t fast enough.\" What a lark!
\r\nEnough diddle dallying. On to the tasting: The nose on this beer is crisp and light. The first mouthing brings a floral, fruity semi-sweet taste. The fruitiness continues into the aftertaste with an added semi-dryness. And yet, despite the alcohol content, doesn\'t ring your clock. The longer after flavor is strongest on the underside of the back of the tongue. Very pleasant.
\r\nSo. There you have it. My first beer tasting. I hope you found it telling. And maybe you too will try a bottle. I highly recommend it. I will continue these tasting over the course of time. Now don\'t get me wrong. I\'m no sot. And I still like my coffees, but I have now found a new \"like\" and it\'s artisan beers.
\r\n\r\n\r\nUntil next time. This is MeToo signing out and wishing you happy trails and happy beers.
\r\n',313,0,1,'CC-BY-SA','Beer Tasting',0,0,1), (2050,'2016-06-10','Developing Black & White Film',964,'Black and white film is actually pretty easy to develop. Follow along as I do so.','0.00 Introduction
0.40 Computer History
6.25 Linux and Freecycle
8.50 Current PC and Distro
9.10 Helping/converting others
0.00 Intro
0.38 Lenovo x201
1.10 Lenovo x200 Tablet
1.30 Lenovo x61s
2.25 Raspberry Pi stuff
3.55 Portable HDD
4.24 sign off
In this episode of HPR sigflup interviews Linden who specializes in databases. The subject of this interview varies wildly. All the way from databases to python and arch linux
\r\n\r\nYou can contact Linden on twitter at @tesherista\r\n
',115,0,0,'CC-BY-SA','MySQL, SQLite, R, C, Python, Logo, Arch ',0,0,1), (2076,'2016-07-18','What Magazines I read Part 1',300,'This is a short episode about the Magazines I read that may be of interest to other listeners','\r\nHi This is Tony Hughes for Hacker Public Radio, I\'m trying to do a show once a month or so and I was thinking of ideas that might be of interest to the listeners out there.
\r\nWhile there are regular shows on \'What\'s on my pod-catcher\' I\'ve never heard one about what magazines that people in the HPR community like to read. With the advent of digital media and subscription services such as Issuu, Magzter, Google Play Newsstand and I\'m sure many others which offer both Free and subscription content I\'m sure many of you like me have quite a number of magazines you regularly read, and some you dip in to from time to time. So this show is about the Magazines I like to read.
\r\nFirst I\'d like to say that to facilitate regularly reading of digital media I feel for me a 10" tablet is the smallest format for comfortable reading (although for those of you with young enough eyesight to be able to read small fonts with no difficulty you may feel different). However my Tablet of choice is the 12" Samsung SM-P900 which I purchased in February 2015. My only gripe with this tablet is I\'ll probably never get Android 6 on it as it\'s now over 2 years since original release. While I agree with Apple that the 4:3 screen configuration for reading on a tablet is more user friendly I can not bring myself to spend that kind of money or be tied to the Apple ecosystem.
\r\nSo what Magazines do I actually read?
\r\nLinux Voice (https://www.linuxvoice.com) This is a Linux magazine that was set up a couple of years ago by some of the former editorial team from Linux Format after a successful Kick Starter Campaign. Good content for and about Linux and the Linux community and they support the community by distributing 50% of their annual profits back to the Open Source Community after a ballot of readers. They also release issues of the magazine with a creative commons licence 9 months after publication. This is the only magazine I currently have a Paper subscription to (it also comes with a free DRM free PDF copy for subscribers)
Linux Format (https://www.linuxformat.com) Similar in content to Linux Voice but without quite the same community philosophy, but still a very good publication.
MicroMart (https://subscribe.micromart.co.uk) This is a more general computer magazine that started in 1985, as a place you could buy and sell computers and components but is now more of a regular weekly magazine format with news, reviews and articles about all things computer and technology related. As I said in my Journey to Linux show this was the Magazine that introduced me to Linux in the late 90\'s early 00\'s. They still have a weekly Linux page and regular Raspberry Pi and other Linux related content.
MagpPi (https://www.raspberrypi.org/magpi) This is the official Monthly magazine of the Raspberry Pi Community and as you will have worked out is focused on all things Raspberry Pi. Lots of Good content including: News, tutorials, and reviews of new peripherals for the Pi, and since being brought in house by the foundation it has a very professional look and feel about it. All the content is provided by members of the Raspberry Pi Community both from inside, and outside the Foundation. You can get a free Creative commons PDF from the website or to support the foundation you can subscribe to both Print and digital copies if you wish to.
Full Circle Magazine (https://fullcirclemagazine.org/) This is a completely community driven magazine for all things related to Ubuntu Linux and its derivatives. They carry news of what is happening in the World of Ubuntu and articles and tutorials of how to use Linux software for both the beginner and more experienced users. This is a Creative Commons and can be downloaded free from the website in both PDF and e-book formats.
PCLinuxOS Magazine (https://pclosmag.com/index.html) This is another community driven magazine from The PCLinuxOS community and is similar to Full Circle in its content, with the aim of helping users of this distro to get the most out of it they can. Also available as a free Creative Commons PDF download from their website.
\nWelcome to our new hosts:
\n fth, \n venam.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available in the archives run\nexternally by Gmane\n(see below) and on the HPR server under Mailman.\n
\nNote: since the summer of 2016 Gmane has changed location and is currently\nbeing reestablished. At the moment the HPR archive is not available there.
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2017-April/thread.html\n\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 43 comments in total.
There are 14 comments on\n8 previous shows:
\nThere are 29 comments on 13 of this month\'s shows:
\n\nWelcome to our new hosts:
\n TheDUDE, \n Knox.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available in the archives run\nexternally by Gmane\n(see below) and on the HPR server under Mailman.\n
\nNote: since the summer of 2016 Gmane has changed location and is currently\nbeing reestablished. At the moment the HPR archive is not available there.
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2017-May/thread.html\n\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 50 comments in total.
There are 8 comments on\n8 previous shows:
\nThere are 42 comments on 16 of this month\'s shows:
\n\nWelcome to our new hosts:
\n\n Mongo, \n bjb.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available in the archives run\nexternally by Gmane\n(see below) and on the HPR server under Mailman.\n
\nNote: since the summer of 2016 Gmane has changed location and is currently\nbeing reestablished. At the moment the HPR archive is not available there.
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2017-June/thread.html\n\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 38 comments in total.
There are 14 comments on\n7 previous shows:
\nThere are 24 comments on 10 of this month\'s shows:
\nThe annual Podcrawl Glasgow will take place on Saturday July 29th\n at 6pm, starting in The State Bar, Holland Street, Glasgow ... and\n going on to who knows where!
\nSee Kevie\'s blog\n for the details.
\nWe hope to see some HPR listeners and contributors there!
\nFrom @timttmy:
\nCould you mention on the community news that I still have the\n HPR table kit and if anyone needs it to let me know via the\n mailing list. Sadly I won\'t be able to make oggcamp this year\n and I\'m a more than a little gutted as this will be the first\n time I\'ve missed the event. I hope somebody can represent HPR\n this year but I\'ve not heard any chatter of excitement about\n it on the interwebs from anyone yet.
\nThe following interview is with a young member of the Maker Space and Raspberry Pi community here in the North West of the UK.
\r\nYou can find more of Josh\'s work at:
\r\nhttps://allaboutcode.wix.com/home
Blackpool Makerspace and LUG
\r\nhttps://blackpoolmakerspace.wordpress.com/
Blackpool Raspberry Jam
\r\nhttps://blackpoolraspberryjam.co.uk/
This episode is the last one in the \"Introduction to sed\" series.
\r\nIn the last episode we looked at the full story of how sed
works with the hold and pattern buffers. We looked at some of the commands that we had not yet seen and how they can be used to do more advanced processing using sed
\'s buffers.
In this episode we will look at a selection of the remaining commands, which might be described as quite obscure (even very obscure). We will also look at some of the example sed
scripts found in the GNU sed manual.
To read the rest of the notes for this episode follow this link: https://hackerpublicradio.org/eps/hpr2060/full_shownotes.html
\r\nsed
manual:\r\nsed
gurus: https://www.gnu.org/software/sed/manual/sed.html#Programming-Commandssed
: https://www.gnu.org/software/sed/manual/sed.html#Extended-Commandssed
: https://en.wikipedia.org/wiki/SedHi HPR listeners this is Tony Hughes talking from Blackpool UK
\r\nI did a show a few weeks ago about my Geek Bags but didn’t talk about the Desktop PC I use and as I’ve just upgraded to a new (used) PC I thought I would tell the story of my Desktop PC’s over the years.
\r\nI was a latecomer to the world of personal computing having been at school in the Late 60’s and early 70’s when we hadn’t even got calculators, if you were lucky to be able to work out the intricacy of it you may have had use of a slide rule. Even after calculators started to be more widely used I had a lecturer at college while studying marine engineering, that was so good with his slide rule and mental calculation, he could, and would often work out equations far faster than those of us using a calculator.
\r\nI first came across my first IBM clone PC back at college in 1987 while studying a control systems course this was a Intel 286 PC which the college ran CAD/CAM software on and we used it to learn how to create engineering drawings electronically. This would be the last time I used a computer until the early 1990’s when by then I had changed career and become a Registered Nurse. I was working in a residential nursing home and we had access to a Windows 3.xx PC which I would use to create templates of the clinical paperwork we used for record keeping.
\r\nAround this time I met my then wife to be and she needed a PC for the University Course she was on so we obtained a used Intel 386 PC from a Friend and upgraded the Ram from 1Mb to 4Mb which cost nearly half the price we paid for the PC £120, which in 1993 was a good chunk of cash. It was a time when there was a world shortage of Ram and offices were getting burgled just for the memory in the office PC’s.
\r\nWhile we had this PC in the house it didn’t much interest me at the time, this was pre internet days for the average user, we weren’t on line at work and the Word processing software was Dos based and I hated using it, so would do the odd things I needed to at work during my break.
\r\nMove forward 5 years and Windows 95 had taken over the world and there was this wonderful new OS called Windows 98 starting to appear in the shops. In September 1998 I went back to do a Nursing Degree in my specialist area of practice and found that we were required to submit all our course work in word processed format, no long hand written assignments this time around. So I decided that I would invest in a new home PC.
\r\nThere were a couple of Big Box PC retailers in the UK at the time that advertised heavily in the press and on TV and I chose to go to one of these and bought a PC with the following specs:
\r\nPentium 2 350 CPU, 128Mb Ram, 6Gig HDD, 56k modem and a DVD Rom. It also came bundled with a Scanner, Inkjet printer and software including MS Office for small Business. All for the grand total of £1400 which at the time was about a month’s take home pay so I had to pay for it with the flexible friend (my Credit Card for those of you too young to remember the ad’s)
\r\nI also signed up for an AOL account to access the internet over the 56k modem, dog slow now but at the time was the only affordable way us mere mortals could afford home internet access. I remember it could take a minute or 2 to render my Bank’s web site when I started online banking in 2001 and that was using compression software to reduce the bandwidth.
\r\nI used that PC to write all my college work and with the help of a couple of friends started to tinker with the PC, getting a 120 ZIP drive for it, and later adding a CD RW drive for storing documents and Photos that I’d scanned and later taken with my first digital Camera.
\r\nBy 2002 the PC was starting to get a bit long in the tooth and I decided it was time for an upgrade and I had a PC built for me by a local shop with P4 2.5Ghz CPU 40Gig HDD and 512Mb Ram (later upgraded to 2Gig) and a CD RW drive again later upgraded to DVD RW drive. This PC cost me half of what I paid for the P2 four years previously and was to be the last PC I bought new, all the PC’s including laptops I’ve owned since this PC have been second hand. Some given by family or friends, some built from parts of Freecycle/Freegle, and lately PC’s I’ve bought at a local computer auction in the north west of the UK.
\r\nThe title of this podcast is “New Toys” and so to the juicy bit, my Desktop for the last 6 years has been a Lenovo ThinkCentre 7373 Core 2 Duo PC with a 2.6Ghz CPU, 250Gig SSD, an upgrade from the 160Gig HDD it came with and 12Gig Ram also upgraded from the 4Gig it came with and requiring a bios flash to get the MB to support 16Gig. This rig has served me well but lately I have found it starting to feel its age and taking a long time to do things I now do regularly such as video and photo editing, Audio editing and virtual PC’s in virtualBox. So I decided it was time I looked around for an upgrade. As usual I was not in the market for a new PC, I could afford one but I don’t like splashing the cash unnecessarily. As luck would have it the monthly Auction catalog included a HP Compaq Elite 8300 i7 Micro Tower. I checked out the specs and liked what I read. So Monday 1st of August I took a trip to the auction and as luck would have it I became the proud owner of said PC for the princely sum of £212.80, hammer price of £190 plus commission.
\r\nThe full spec of the PC is: i7 3.4Ghz CPU (22nm architecture) 4 cores and 8 threads, 8Gig Ram Supports 32Gig 500Gig HDD, DVD RW drive and a card reader. Also came with a Win7 pro CoA but no installed OS.
\r\nSo it took me 10 minutes to install Linux Mint 18 and another 30 to complete the updates and install my software over and above the base install. It boots in just over a minute, which is only slightly slower than the old PC with an SSD, so I guess it will boot mega fast with an SSD upgrade, which is on the cards after I return from Holiday as may an upgrade to the Ram. I’ve already used some Ram from the old PC to increase to 12Gig but I need some matching 8Gig Ram to go to 16 or higher.
\r\nWell that charts my PC hardware journey over the last 20 odd years it’s amazing to think that one of the Raspberry Pi 3’s I own has more processing power than most of the hardware I’ve had up to the Core 2 Duo in 2010.
\r\n',338,57,0,'CC-BY-SA','slide rule,Intel 286,Intel 386,Windows,AOL,modem,Linux Mint,Raspberry Pi',0,0,1), (2048,'2016-06-08','The Hubot chat-bot',1316,'An introduction to the Hubot chat-bot','Hubot is a chat-bot written by the folks at GitHub. It is a node.js application written in CoffeeScript.
\r\nHubot has a variety of adapters that allow it to connect to a variety of chat platforms. These range from IRC to Slack. So, the platform\r\nyou are interested in probably already has an adapter available for it.
\r\nHubot uses individual CoffeeScript scripts to provide chat-bot functionality. There are a slew of existing scripts available in the npm. Just search for hubot-scripts.
\r\nYou can also write your own in order to make sure that Hubot provides the functionality that you need.
\r\nHubot is available as an npm package. So, you will need to install node.js and npm on your system. I will leave this as an exercise for the listener.
\r\nI will however, throw out a tip for those of you using a Raspberry Pi for this. The node.js platform should be deployed on an ARM system using the armhf (ARM hard float) architecture. The nod\r\ne.js stack needed to run Hubot will not properly install if you are using the armel (ARM soft float) architecture.
\r\nOnce you have node.js and npm installed, you can install hubot and its dependencies with the following command.
\r\nnpm install -g hubot yo generator-hubot coffee-script
\r\nYou create your own instance of hubot by using yeoman generator. You need to do this as a non-root user. When you create your bot, you will give it a name and\r\nspecify the adapter to use. These can be specified as command line flags, or the generator will prompt you for this information.
\r\nInteractive
\r\nyo hubot
\r\nProviding the answers
\r\nyo hubot --name mybot --description "My Helpful Robot" --adapter shell --defaults
\r\nOnce hubot is installed, you can run it with the following. I will use the shell adapter, which provides an interactive shell from which to trigger hubot scripts.
\r\n./bin/hubot --adapter shell
\r\nOur Hubot instance is now active and ready to receive commands. We will start with a simple ping command.
\r\nmybot> mybot ping\r\nmybot> PONG
\r\nWe can see the available commands by asking Hubot for help
\r\nmybot> mybot help\r\nmybot adapter - Reply with the adapter\r\nmybot animate me <query> - The same thing as `image me`, except adds a few parameters to try to return an animated GIF instead.\r\nmybot echo <text> - Reply back with <text>\r\nmybot help - Displays all of the help commands that Hubot knows about.\r\nmybot help <query> - Displays all help commands that match <query>.\r\nmybot image me <query> - The Original. Queries Google Images for <query> and returns a random top result.\r\nmybot map me <query> - Returns a map view of the area returned by `query`.\r\nmybot mustache me <url|query> - Adds a mustache to the specified URL or query result.\r\nmybot ping - Reply with pong\r\nmybot pug bomb N - get N pugs\r\nmybot pug me - Receive a pug\r\nmybot the rules - Make sure hubot still knows the rules.\r\nmybot time - Reply with current time\r\nmybot translate me <phrase> - Searches for a translation for the <phrase> and then prints that bad boy out.\r\nmybot translate me from <source> into <target> <phrase> - Translates <phrase> from <source> into <target>. Both <source> and <target> are optional\r\nship it - Display a motivation squirrel
\r\nWe will try a couple more.
\r\nmybot> mybot echo "Hello world"\r\n"Hello world"\r\nmybot> mybot the rules\r\n0. A robot may not harm humanity, or, by inaction, allow humanity to come to harm.\r\n1. A robot may not injure a human being or, through inaction, allow a human being to come to harm.\r\n2. A robot must obey any orders given to it by human beings, except where such orders would conflict with the First Law.\r\n3. A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.
\r\nnpm install hubot-simpsons
\r\nAdd hubot-simpsons
to the array in the external-scripts.json
file.
mybot> mybot simpsons quote\r\nmybot> Disco Stu⦠likes disco.
\r\nhttps://github.com/github/hubot/blob/master/docs/scripting.md
\r\nYou can add your own custom scripts by adding them to the scripts
directory. An examples.coffee
script was included when Hubot was installed. It includes a variety of examples of things Hubot can do. I will illustrate by paring this down to a simple single script that responds to requests to open doors. Our simple script will open most doors, but will politely refuse to open the \'pod bay\' doors.
The script uses the respond
method on the robot
module. This method takes a regex patten to respond to. It returns a result that contains a match array when the pattern has been detected. In our script we capture the group between \'onen the\' and \'doors\'. We then use this to determine which response to provide. The response is triggered with the robots reply
method.
module.exports = (robot) ->\r\n\r\n robot.respond /open the (.*) doors/i, (res) ->\r\n doorType = res.match[1]\r\n if doorType is "pod bay"\r\n res.reply "I'm afraid I can't let you do that."\r\n else\r\n res.reply "Opening #{doorType} doors"
\r\nRestart Hubot by...
\r\nNow we can use our new, useful Hubot script.
\r\nmybot> mybot open the french doors\r\nmybot> Shell: Opening french doors\r\nmybot> mybot open the pod bay doors\r\nmybot> Shell: I'm afraid I can't let you do that.
\r\nA rose by any other name... If you would like your Hubot to respond to another name, you can assign your Hubot aliases to respond to. I really like this feature and I assign the \'!\' as my Hubot alias. This allows me to invoke Hubot with a single character.
\r\nmybot> ! open the pod bay doors\r\nmybot> Shell: I'm afraid I can't let you do that.
\r\nObviously the shell adapter is not very useful aside from allowing us to play with or develop Hubot scripts. Hubot comes with several adapters that allow it to integrate with existing chat systems. These include: * IRC * XMPP * Campfire * HipChat * Slack * IRC * IRC
\r\nI hope this gives you a sense of what Hubot can do and how you can utilize it. Personally, I use Hubot in a variety of ways ranging from silly entertainment to useful communication tool. Using the eight-ball script, I can see if I will have a good day.
\r\nmybot> mybot eight-ball Will I have a good day?\r\nmybot> Shell: Most certainly!\r\nmybot> :-)
\r\nUsing a modified version of of the sms script, I can send text messages to my family members who are not available online.
\r\nmybot> mybot sms trinity See you on the other side!\r\nmybot> Shell: Sent sms to 3125550690\r\nmybot> :-)
\r\n',277,0,1,'CC-BY-SA','hubot chat bot',0,0,1),
(2058,'2016-06-22','My 14th Beer Podcast',415,'Talking about Troegs Brewery\'s Java Head Beer','\r\nThis is my 14th Beer Podcast. I know. I know. I\'ve only put two (2) up online so far. But trust me, the other ten (10) are coming. This one\'s just out of sequence is all.\r\n
\r\n\r\nOh, yeah. A little other morsel/tidbit for those of you inclined to brew your own. Go to https://www.brewdog.com/diydog and download BrewDog\'s DIY Dog pdf of all of their brews/beers.\r\n
\r\n\r\nYou ask, who\'s BrewDog? Well, they\'re two guys and a dog, who in 2005, began home brewing in a garage in North-Eastern Scotland. Two years and countless successes & failures later, BrewDog came howling into the world. Eight years after that - and more than 200 different beers later - they\'ve released the recipe and story behind every single one of those brews.\r\n
\r\n\r\n\r\nSo, if you\'ve ever wanted to try to brew your own, here\'s another reason to start.\r\n
\r\n',313,14,1,'CC-BY-SA','Beer Tasting',0,0,1), (2063,'2016-06-29','My 3rd HPR Beer Podcast',147,'Introducing 2 beers that I feel you may like','JustMe here again.
\r\nThis is my 3rd HPR Beer podcast report.
\r\nWe\'re going to introduce you to two (2) beers. The first is Rebel Rider IPA & the second is Red Seal Carousel.
\r\nAs always, thanks for listening & supporting HPR.
\r\n\r\n\r\n\r\n
\r\n',313,14,1,'CC-BY-SA','beer tasting',0,0,1), (2054,'2016-06-16','Blather Configuration Part 1: Desktop Management',1496,'Blather Configuration Part 1: Desktop Management','\r\nIn this episode I show how to start adding more commands, how to use the language updater script, and how to start doing some basic desktop navigation. I\'ll show you how to open and quit applications, and how to switch from one application to another using your voice.
\r\n\r\nFor information about installing blather for the first time, as well as the startup script that I use, please refer to episode 0 of this series, which has examples and links for this stuff.
\r\n\r\nTo start using the language updater script, you need to move it or copy it from the blather source code directory into your path (e.g. ~/bin/). To add new commands you will have to edit the main command configuration file:
\r\n\r\n~/.config/blather/commands.conf\r\n\r\n
Commands are configured in a \"key: value\" pair, where the key is what you wish to say, and the value is the command that will be executed when you say it. We will start out with some very basic ones, but these can be as elaborate as your imagination and scripting skills will allow. You can execute built-in system commands, or you can write your own scripts that will be executed upon the voice command.
\r\n\r\nHere\'s an example of a basic desktop application command set:
\r\n\r\n\r\nOPEN CHROMIUM: chromium &\r\nGO TO CHROMIUM: wmctrl -a \"google chrome\"\r\nQUIT CHROMIUM: wmctrl -c \"google chrome\"\r\n\r\n\r\n
The first command launches Chromium, the second one will switch focus to Chromium when you are currently in another program, and the third one closes Chromium. This makes use of the command line tool wmctrl
, which is a very handy window management tool. The wmctrl -a
command chooses which window to put focus on (or close) based on the window title, which in the commands above is given in quotation marks. There are many options to how wmctrl
can find windows and take actions, but for now we will just use this basic option.
Once you have one command set of this kind working as you like, it\'s very easy to set up additional command sets for all of the desktop applications you use most often.
\r\n\r\nSome applications are more difficult to handle than others. For example media players typically change the window title based on which track is playing. This makes it impossible to use the static window title option above, so I resort to a bit of scripting to help it find the right window to put focus on or close:
\r\n\r\nOPEN clementine: clementine &\r\nGO TO clementine: rid=$(pgrep clementine -u $(whoami) |head -n 1) && rwinname=$(wmctrl -lp |grep $rid |sed -e \"s/.*$rid * //\" | sed -e \"s/$(hostname) //\") && wmctrl -a \"$rwinname\"\r\n\r\n\r\n
Opening the music player is easy. Switching to it is something else. To make this work I first find the process ID of the Clementine music player, and then I use the wmctrl
list command to list all of the windows that are open and I grep for the process ID that I found in the first part. Then I extract the window name from that command\'s output and use the result inside quotation marks in the very last command to change Focus to that window. Whew!
One last basic desktop navigation command for this episode. This is one that I use probably more than any other command. What it achieves is the alt + Tab Key stroke, which switches Focus to the previous window. Here\'s how I do it:
\r\n\r\n\r\nBACK FLIP: xdotool key alt+Tab\r\n\r\n\r\n
This makes use of the wonderful xdotool
package to execute a virtual keystroke. Magic!
https://www.betteroats.com/brand/oat-revolution-steel-cut-oats/
\r\n',151,93,0,'CC-BY-SA','cooking,Steel-Cut Oats,Pinhead Oats,oats',0,0,1), (2059,'2016-06-23','More Tech, Less Magic',992,'More Tech, Less Magic','This was my first show for HPR! I wanted to offer up something unique–hopefully not too much so to enjoy.
\r\nIn this episode I talk a bit about the differences between how my son will grow up with gaming technology, and how I did. There’s a lot of nostalgia, a little humor, and also a bit of language.
\r\nAll in-show music was created by me.
',339,0,1,'CC-BY-SA','gaming, software development, hobbies',0,0,1), (2061,'2016-06-27','Handwriting',440,'droops argues why people should use handwriting to gain super powers','\r\nYesterday I listened to an episode of Freakonomics (https://freakonomics.com/podcast/who-needs-handwriting/) on handwriting. As a child I disliked penmanship and was horrible at it (still am). Eventually my teachers just told me to print so that they could read my answers. This is also a tech show, which should have an audience that leans toward the fact that computers are awesome. But most of you fine listeners should be interested in what is the best solution to a problem. Especially if that solution is contrary to conventional thought.
\r\nMany reasons were given for handwriting to be a thing of the past and I think most of them are a lot of bull.
\r\nFirst some more qualifications for me. I am a college dropout that did eventually graduate. Until last week I was a teacher who worked with students who were not always the best. I have been without a cell phone for two years and I love fountain pens. This probably does not qualify me for much, as I am certainly not a doctor or a scientific researcher, but I do have some real world experience and have been experimenting on my students (all in a good way).
\r\nSo here are some of the cons:
\r\nThese are all excuses that I have made and are all excuses my students have made. As a computer science teacher, I require all of my students to keep a handwritten notebook in my classes and they can use it on all of their tests, quizzes, and assignments. What an old fashioned stick in the mud I must be (they must have a cooler way to say this).
\r\nThere is nothing wrong with using tech to help with anything, but if you do not understand concepts of why and how, all the tech in the world will not help you and many people try to use tech as a crutch.
\r\nTyping is faster, most students get to the point they can type everything that is said in a lecture. This skips a crucial part of learning where you use your brain to analyze what is being said. Writing is slower but should force you to put content in your own words by thinking about it and being an active listener.
\r\nThe pain in your hand should go away with practice, good form, and proper tools. I like fountain pens as they glide over the paper and you do not have to hold them in a death grip. Form means to use your arm, not your wrist, to write. With practice this can be done.
\r\nI was bad at handwriting as a child and my teacher was wrong to tell me to stop. Part of education is to teach about failure and difficulty. If people only do the easy things who will do the hard ones? A person interviewed on Freakanomics said their school put too much emphasis on handwriting so they moved their child to a different school as this was having too much of a negative effect on his feelings. Way to teach your child to run away from hard things. I hope no college professor ever hurts his feelings to requires too much from them. Life gets harder, education should be hard to prepare students for the work of life.
\r\nSo enough cons, how about some pro argument.
\r\nLaptops are full of distractions, most adults I know cannot focus with their email and social media trying to grab their attention.
\r\nIn an independent study talked about on Freakanomics, two researchers found that handwriters and laptopers had no difference in learning faces, unless they were allowed to review their notes before the quiz, where handwriters gained an edge. Concepts on the other hand, handwriters always held and almost like they thought about the concepts more than the students who just typed everything that was said.
\r\nSomething not really covered was writing new content. I give my students fountain pens as rewards and this makes writing so much more special. They take more time to write things and think more about what they are trying to say. This is a win-win.
\r\nNow everyone is different. Please try handwriting for a few weeks and see if it helps you retain more. If you are not a student, watch a lecture on the internet or read a book and see if you learn more.
\r\nFinally handwriting is personal. I am willing to mail a postcard to almost anyone that sends me their address (droops @ gmail) so that they can get that personal feeling.
\r\nSo I made some arguments, handwriting makes you smarter, helps you develop grit, makes you feel special, and gives you super powers. Hopefully you will try it out.
\r\nThis has been droops and this is Hacker Public Radio… HPR.
\r\nFountain Pens I give my Students: https://amzn.com/B0052HYKC0
Fountain Pens I use the most: https://www.lamyusa.com/fountain_main_safari.php
I’d like to start by apologising for the rather fast and excited speaking style of this show particularly towards the end, hope it doesn’t spoil the content too much, it was all done in rather a hurry.
\r\nIn this show I describe a thought provoking documentary I stumbled upon from 1977, the documentary is about the the silicon chip and explores the far reaching implications it will have on society.
\r\nThe title for the original documentary was “Now the chips are down”.
\r\nI came up with the altered title “Now the chips are definitely down” to signify that not only have the changes already happened but that it’s also had a massive cost reduction impact as my newly purchased piece of equipment demonstrates.
\r\nThe new piece of equipment that I bought only became so affordable because of the great advances and massive reductions in cost over time. A similar piece of equipment cost me around £120 maybe ten years ago and due to inflation you can probably double the cost again. The price of my new piece of equipment was astonishingly cheap I thought though on reflection its cheap price may also be down to it being a more mass produced item than normal amateur radio equipment.
\r\nLinks to Horizon documentary
\r\nBBC Iplayer Link
\r\nhttps://www.bbc.co.uk/iplayer/episode/p01z4rrj/horizon-19771978-now-the-chips-are-down
Youtube Link for those not living in the UK
\r\nhttps://www.youtube.com/watch?v=HW5Fvk8FNOQ
Wikipedia article about the documentary
\r\nhttps://en.wikipedia.org/wiki/Now_the_Chips_are_Down
Standard C510A /C510E links
\r\nBaofeng UV-5R links
\r\nMy new handset available from many places this link from Amazon
\r\nhttps://www.amazon.co.uk/BaoFeng-UV-5R-136-174-400-480-Dual-Band/dp/B007HH6RR4
Offical Baofeng website
\r\nhttps://www.baofengradio.com/en/ProShowcn.asp?ID=141
Top Level UV-5R User manual link
\r\nhttps://www.miklor.com/uv5r/UV5R-Manuals.html
Manufacturers Baofeng UV-5R user manual
\r\nhttps://www.uv3r.com/images/UV-5R%20user%20manual.pdf
The (Chinese) Radio Documentation Project manual Written by Lennart Lidberg
\r\nhttps://www.miklor.com/uv5r/pdf/uv-5r_v1.0.pdf
Interface cable for Baofeng UV-5R from Amazon
\r\nhttps://www.amazon.co.uk/Programming-Cable-Baofeng-UV-5R-Radio/dp/B0083H56MY/ref=pd_sim_504_1?ie=UTF8&dpID=51R6bwEBeNL&dpSrc=sims&preST=AC_UL160_SR160%2C160&refRID=06ZV4EBXADZ72VF6PR6Y
Chirp links
\r\n\r\nFrank Bell takes the Devuan Beta for a test drive and finds it accelerates smoothly, corners nicely, and rides comfortably.
\r\nLinks:
\r\nDebian’s SystemD Announcement: https://wiki.debian.org/Debate/initsystem/systemd
The Devuan fork announcement: https://devuan.org/os/debian-fork/
Announcement of the Beta: https://www.theregister.co.uk/2016/04/29/systemd_free_debian_fork_devuan_reaches_beta/ Approx. one year behind schedule.
Devuan website: https://devuan.org/
Debian website: https://www.debian.org/
Some news stories about the Debian SystemD controversy:
\r\nZDNet: https://www.zdnet.com/article/linus-torvalds-and-others-on-linuxs-systemd/
Technet: https://www.tecmint.com/systemd-replaces-init-in-linux/
ADTMag’s Dev Watch blog: https://adtmag.com/blogs/dev-watch/2014/11/debian-problems.aspx
Linux Voice Interview with Leonart Poettering: https://www.linuxvoice.com/interview-lennart-poettering/
May I suggest that you partake of the layers in this order?
\r\nVoyage of the Liberdade by Joshua Slocum
\r\nFind the book at Gutenberg Press
\r\n“Project Gutenberg offers over 50,000 free ebooks: choose among free epub books, free kindle books, download them or read them online.
\r\nWe carry high quality ebooks: Our ebooks were previously published by bona fide publishers. We digitized and diligently proofread them with the help of thousands of volunteers.
\r\nNo fee or registration is required, but if you find Project Gutenberg useful, we kindly ask you to donate a small amount so we can buy and digitize more books. Other ways to help include digitizing more books, recording audio books, or reporting errors.
\r\nOver 100,000 free ebooks are available through our Partners, Affiliates and Resources”.
\r\n
\r\nFind the book in all available forms (HTML, EPub, Text, Kindle) at: https://www.gutenberg.org/ebooks/18541
\r\nThe text file is here: https://www.gutenberg.org/cache/epub/18541/pg18541.txt
\r\nFirst create an espeak of the text file:
\r\nVoyage of the Liberdade by Joshua Slocum
\r\nhttps://www.gutenberg.org/ebooks/18541
\r\nTo create an espeak run this commmand against the text file:
espeak -f location_text -w output_file_here(.whatever_extension_you_want)
\r\nOr read the book old school
Sailing Alone Around the World by Joshua Slocum (Audio Book read by Alan Chant)
\r\nhttps://librivox.org/sailing-alone-around-the-world-by-joshua-slocum/
A YouTube Movie that explains more about Captain Slocum.
\r\nhttps://www.youtube.com/watch?v=iciZer5cbJ8
The Cremation of Sam McGee Robert W. SERVICE (1874 - 1958) Read by Kristin Hughes https://ia600202.us.archive.org/28/items/cremationsammcgee_0711_librivox/sammcgee_service_klh.mp3
\r\nRight out of my ~./podget/serverlist:
\r\nI can supply my podgetrc upon request. It’s pretty basic.
\r\n',241,75,0,'CC-BY-SA','podcasts,podget,podracer,gPodder,RockBox,Sansa Clip+',0,0,1), (2067,'2016-07-05','Haste - the pastebin alternative',556,'How to install your own haste server','A walk through of installing haste as an open source federated pastebin.com alternative.
\r\nSee the project at hastebin.com
\r\nI ran into project this while following John Kulp’s notes on his blather intro.
\r\nInstalling via a package manager. See nodejs website for most up-to-date information. Commands given below are just for reference.
\r\nRedHat based systems
\r\ncurl --silent --location https://rpm.nodesource.com/setup | sudo bash -\r\nsudo yum install -y nodejs
\r\nDebian based systems
\r\ncurl --silent --location https://deb.nodesource.com/setup | sudo bash -\r\nsudo apt-get install -y nodejs
\r\nnpm install npm -g
\r\nTake a look at the haste-server project on github
\r\ngit clone https://github.com/seejohnrun/haste-server.git\r\ncd haste-server
\r\nChoices
\r\nIf you will be using the file system storage method, delete storage section in config.js using your favorite text editor.
\r\nnpm install\r\nnpm start &
\r\nYou can now browse to your new haste-server at the server name or ip at port 7777
. Follow the icon links on the page for usage.
https://<servername>:7777
\r\nCreate a bash alias to pipe files to the haste file server.
\r\nAdd the following to your .bashrc
file:
HASTE_SERVER='https://myserver:7777'\r\nhaste() { a=$(cat); curl -X POST -s -d "$a" $HASTE_SERVER/documents | awk -v server="$HASTE_SERVER" -F '"' '{print server"/"$4}'; }
\r\nWhen I took over as Director of the School of Music in January, one of the first things I did was to try to get a better handle on the number of faculty I had at various ranks, how many had terminal degrees, how many already had tenure, how many were on tenure track, how many held endowed professorships, and so forth. Somewhere in the process, I discovered a handy trick for generating reports for this kind of thing. It\'s the COUNTIF
function of LibreOffice calc. In this episode I will go through some examples of ways that I\'ve used COUNTIF
to generate reports.
Count occurrences of the string from A6 of current sheet on other sheet Personnel in column K
\r\n\r\n=COUNTIF($Personnel.$K$1:$K$135,Reports.A6)\r\n\r\n
Count occurrences of explicit string on other sheet \"Personnel\" in column K
\r\n=COUNTIF($Personnel.$K$1:$K$135,"=Instructor")\r\n\r\n\r\n
Count greater than or equal to 50
\r\n=COUNTIF($I$2:$I$105,">=50")\r\n\r\n
Using SUMPRODUCT
, count between range greater than or equal to 40 but less than 50
=SUMPRODUCT($I$2:$I$105>=40,$I$2:$I$105<50)\r\n\r\n
Look for the string from sheet \"Reports,\" cell A21, in the sheet \"Personnel\" column U, excluding any rows that have the value \"Adjunct\" in column K.
\r\n\r\n=COUNTIFS($Personnel.$U$1:$U$135,Reports.A21,$Personnel.$K$1:$K$135,"<>Adjunct")\r\n',238,70,0,'CC-BY-SA','LibreOffice, formulas, tips and tricks',0,0,1), (2077,'2016-07-19','libernil.net and self hosting for friends and family',1098,'I talk a little about my network and how you can host services for your friends and family.','
libernil.net is an island of pseudo-freedom. This project was established in order to pursue ideals of Free Software, Free Culture, ethically sourced hardware, self hosting, and sharing with others. Generally it consists of personal content, though some community resources reside here as well.
\r\nThe name came from an old programming group and was repurposed. I would really like to find a new name!
\r\nSet in three physical locations: two in Northwest Arkansas, one (a VPS) in Sweden.
\r\nOne recycled shuttle rig called “summernight”, one ThinkPenguin nano called “aprilshowers”, and a VPS known as “eremit”. Two or three inaccessible machines for backups and other automation.
\r\nWireless access provided in the openwireless.org model at both US physical locations.
\r\nThe community is very loosely organized and rarely operates under the name of the network, though we sometimes gather for events in the same location as the machines. In the past we’ve had a cryptoparty and I am trying to organize a FreeDOOM LAN party.
\r\nHi Hacker Public Radio this is Tony Hughes again with the second episode about the magazines I like to read. All of the magazines I’ll be talking of today I read on my Magzter (www.magzter.com) Application on my tablet. I have a Magzter Gold subscription which gives me access to literally 100’s of magazines.
\r\nVegetarian Times (www.vegetariantimes.com)
\r\nI’m a bit of a foodie and have been a vegetarian for many years, so access to good food magazines is important to me. This is a US publication so not all the advertised products are available in the UK but the articles and recipes are excellent.
Feel Good Food (www.womanandhome.com/recipes/534618/feel-good-food-mag)
\r\nA British magazine aimed at Women but non the less still a source of some brilliant recipes for delicious food for food lovers everywhere. Not a veggie magazine but there is usually something of interest. Like most of the food magazines I read I dip into them find recipes I like save them and move on.
Moving on from food to Sci Fi and cult fiction.
\r\nI’ve grouped these together as they both deal with this subject. They review the latest books, films, TV, comics and audio recordings for this genre . They also cover classic examples, often examining work from the so called golden age of a particular subject. Along with Total Film magazine (www.gamesradar.com/totalfilm) you will always have access to reviews of the latest films & TV and if they are worth the price of a cinema ticket or space as a series record on your PVR.
\r\nAnother armchair hobby of mine is archaeology I’ve loved Time Team from the beginning. So my next magazine on Magzter is Archaeology (archaeology.org) this is a bi monthly magazine published in the US, but covering the latest archaeological news from around the world. For someone into my modern technology its interesting to read about what the latest technology was hundreds or even thousands of years ago.
\r\nMoving on, one of my other interests over the last 20 years has been motorcycles although I no longer ride I still retain an keen interest so a Bike magazine has to be something I dip into to drool over shiny metal every so often. So I currently have Back Street Heroes (www.backstreetheroes.com) as a favourite in Magzter and dip into it when I need a shiny metal fix.
\r\nFinally a more active hobby of mine is photography so there has to be a photography magazine in this list. Amateur Photographer (photographer.magazinesdirect.com) claims to be the worlds oldest weekly photography magazine. It covers all aspect of photography and the equipment you need. From high end Professional stuff to point and shoot cameras, and all the other stuff from bags to flash lights.
\r\n\r\nAn old friend comes home...\r\n
',329,0,1,'CC-BY-SA','cat, compassion, death, medical, hospice, friend, pet, life',0,0,1), (2071,'2016-07-11','Undocumented features of Baofeng UV-5R Radio',531,'Follow on show about undocumented features I found on my Baofeng UV-5R radio','\r\nThis is a short follow on show listing undocumented features I came across while playing with my new Baofeng UV-5R radio
\r\nMy new handset available from many places this link from Amazon
\r\nhttps://www.amazon.co.uk/BaoFeng-UV-5R-136-174-400-480-Dual-Band/dp/B007HH6RR4
Offical Baofeng website
\r\nhttps://www.baofengradio.com/en/ProShowcn.asp?ID=141
Top Level UV-5R User manual link
\r\nhttps://www.miklor.com/uv5r/UV5R-Manuals.html
Manufacturers Baofeng UV-5R user manual
\r\nhttps://www.uv3r.com/images/UV-5R%20user%20manual.pdf
The (Chinese) Radio Documentation Project manual Written by Lennart Lidberg
\r\nhttps://www.miklor.com/uv5r/pdf/uv-5r_v1.0.pdf
Omg, Sigflup deletes her home directory! Commands in this episode include:
\r\n\r\n\r\n\r\ngrep -b -a \"what you remember\" /dev/sd0a > /tmp/log\r\ndd if=/dev/sd0a bs=1 skip=12345 of=/tmp/out count=123456\r\n\r\n
\r\n
\r\n\r\nThis is a capture of the program that sigflup recovered. It\'s a mouth tracker. https://www.youtube.com/watch?v=gf2NJrXGT4U\r\n
',115,0,0,'CC-BY-SA','filesystem, grep, dd',0,0,1), (2351,'2017-08-07','HPR Community News for July 2017',2315,'Murphy is strong but Ken struggles on talking about shows released and comments posted in July 2017','\n\n\nWelcome to our new host:
\n\n Ironic Sodium.\n
\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available in the archives run\nexternally by Gmane\n(see below) and on the HPR server under Mailman.\n
\nNote: since the summer of 2016 Gmane has changed location and is currently\nbeing reestablished. At the moment the HPR archive is not available there.
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2017-July/thread.html\n\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 23 comments in total.
There are 3 comments on\n3 previous shows:
\nThere are 20 comments on 8 of this month\'s shows:
\nIn the past month we have had contributions from \n bjb and\n Windigo \n and I have added a few tags & summaries myself. Many thanks to\n all contributors.
\nSee the current status and instructions for making your own\n contribution at \"Shows without a summary and/or tags\".\n This page has recently been reformatted for easier navigation and\n a new section has been added. This section lists the hosts whose\n shows need attention followed by the show numbers that need work.
\nCurrently there are 957 shows which need summaries or tags to be\n added. All contributions to this project are most welcome.
\nWe all use GNU Readline if we we use the CLI in Linux because it manages input, line editing and command history in Bash and in many tools.
\r\nI have been using Unix and later Linux since the 1980\'s, and gradually learnt how to do things like jump to the start or the end of the line, delete a character backwards up to a space, or delete the entire line.
\r\nI think that learning GNU Readline is worthwhile since it contains a lot more features than what I just described. I thought I would do a few episodes on HPR to introduce some of what I consider to be the most useful features.
\r\nI want to keep the episodes short since this is a dry subject, and, if you are anything like me, you can\'t take in more than a few key sequences at a time.
\r\nThe source of my information is the GNU Readline Manual. This is very well written, if a little overwhelming.
\r\nTo read the rest of the notes for this episode follow this link: https://hackerpublicradio.org/eps/hpr2073/full_shownotes.html
\r\nThis is a very personal podcast, discussing minor surgery. If that sort of stuff makes you cringe at all, this may not be the recording for you. I should also point out that I am not a medical professional, you should not take this recording as medical advice, if you have any concerns about your skin, seek professional medical advice.
\r\nI am a very white person living in Queensland, Australia. Our state has amongst the highest rate of skin cancers in the world, I believe we\'re in a tussle with New Zealand for first place at the moment.
\r\nThere are two main types of skin cancer, melanoma and non-melanoma. The non-melanoma type is slow growing, and rarely spreads to other parts of the body, while melanoma is fast growing and spreads to the rest of the body.
\r\nBoth my parents have had multiple lesions excised, so something like this was always on my mind. We live in a sunny, sub-tropical environment, the sort of clothing you\'d want to wear for comfort is light, breezy, and not covering much skin, exactly the wrong sort of clothes you\'d need to wear to protect yourself from ultraviolet (UV) rays that help cause skin cancer.
\r\nAccording to the Australian BoM FAQ https://www.bom.gov.au/uv/faq.shtml the per capita risk of skin cancer in Australia is ten times higher than America and sixty times higher than the UK.
\r\nThe UV scale rarely gets above eight in the UK, in Brisbane the UV scale is above eight for roughly eight months of the year.
\r\nThere are a lot of variables when it comes to UV. Cloud cover is probably the most important. Something that I can\'t stress enough is that heat and UV are not correlated, you can definitely be exposed to lots of UV when it\'s cold (see New Zealand, they\'re much more south, much more cold, and have more exposure due to the ozone hole). Another example is snow, UV will bounce off the snow and back at you.
\r\nThe link between skin cancer and UV is quite strong, 95-99% of skin cancers are caused by excess sun exposure. (https://www.cancer.org.au)
\r\nSo, with all that history, I started getting yearly skin checks a couple of years ago. I\'d had a couple of skin checks when I was very young, and now that I\'m more advanced in years I wanted something less ad-hoc. Someone working for one such organisation gave a talk at one of the user groups I attended, and i made an appointment with Molemap. It\'s a full on procedure where your entire body is photographed, and each mole, freckle, bump and lump that is of possible concern is photographed from a few centimetres off the skin, and with the magnification lens sitting right on top of the mole.
\r\nI have some near 200 spots on myself that are of interest, so my follow up appointments take about two and half hours to go over all these spots, plus looking for new ones. The hope is that, by doing this close to yearly, small changes in all these spots won\'t go unnoticed, and we can get on top of any cancers early.
\r\nInterestingly, the spot that was actually a problem was a new one, so under a year old, and was hiding underneath my beard, so in future I\'m definitely going to have my skin checked clean shaven.
\r\nThe other thing I want to communicate is that early detection is key, all the skin cancers have a 90% plus survival rate (at five years) if caught early enough. This does potentially mean that a yearly check is not enough, but it\'s already proven it\'s worth to me.
\r\nMolemap only does photography of spots, and visual diagnosis. It does not do any treatment or biopsies or excisions, therefore there it has no self interest in recommending treatment on borderline cases. Molemap sprang out of a University of Queensland project, which is my alma mater. After receiving the diagnosis (via an online form, secured with a second factor sent to my phone) and panicking a fair bit, I contacted my regular doctors practice (we call them general practitioners in Australia, I\'m sure they\'re called different things elsewhere) for an appointment with a GP who had experience with skin cancers. In QLD, most medical centres will have at least one doctor with experience in this area. As it turns out, my regular GP has such experience and I got an appointment for the following week.
\r\nI wasn\'t really sure what to expect from my GP appointment, but I was mostly expecting to get the diagnosis confirmed, and either get sent to a specialist to deal with it, or organise another appointment at the GP.
\r\nWhat actually happened was it took all of five minutes for my doctor to confirm the diagnosis, then work how he had time in his schedule, and there was a nurse free, to excise the lesion straight away. I was given a local anaesthetic, so I felt no pain whatsoever, but you still feel the doctor pulling on your skin up, down left and right, so that the complete lesion can be removed, as well as a small amount of surrounding skin in case the cancer has spread.
\r\nHere I should mention that melanomas spread very fast, and when they\'re excised up to a centimetre of skin may need to be removed, where as for a non-melanomic, a millimetre or so is good enough.
\r\nI got four sutures put in, they stayed for a week (we have a long easter break in Australia) so it ended up being closer to a week and a half. I had no problems, my scar healed up quickly and nicely. Now, a couple of months later, there\'s a little redness along the scar line, but that\'s about it.
\r\nSo. The take aways. UV is not correlated to heat, you can get a lot of UV exposure in cold environments. If you\'re travelling through a high UV area, take precautions (clothes that cover a lot of your skin, hat, sunglasses, sunscreen). If you live in a high UV area, get your skin checked regularly. Also, keep an eye on your own skin. Use a diary to record any new bumps, lumps, spots etc.
\r\nIf you should happen to find me on the road, don’t kill me! I’m an atheist!
\r\nAlso, this will be the contents of my bag:
\r\nIn this episode of hpr sigflup makes some acid house. She uses Technobox2, which simulates the tb-303 and the tr-808
\r\n\r\n',115,0,0,'CC-BY-SA','acid music ',0,0,1), (2081,'2016-07-25','Fixing my daughter\'s laptop',669,'My daughter broke the headphone jack in her laptop. I tried to get the remains out','My daughter is a student at university and uses her laptop with a headset most of the time. She shares a flat with a friend and they are both studying, so they don’t want to annoy each other with noise.
\r\nThe headset my daughter uses has a very long cable and earlier this year she tripped over it. The microphone jack was OK, but the headphone jack snapped off at the first ring and the remaining piece was left in the socket.
\r\nThis episode is about my attempt to remove the broken piece of the jack plug. To find out more about the method I used and how successful it was see the full notes with pictures here.
\r\nNote: The Amazon links below are for information. I have no financial involvement with Amazon; these are not Affiliate links.
\r\nKnightwise talks about how he got into Linux.
\r\nFrom the early beginnings where I dabbled in Suse to the present day where I run my company on Linux, I tell you the story of how I got into Linux .. And how my wife’s 80 year old grandma got me into Linux permanently.
\r\n',111,29,1,'CC-BY-SA','linux, ubuntu, suse, mandriva',0,0,1), (2085,'2016-07-29','Penguicon 2016 Report',1337,'Penguicon 2016 happened on April 29 through May 1, 2016 in Southfield, Michigan','\r\nPenguicon 2015 is a combined technology and science fiction convention in Southfield, Michigan, a suburb of Detroit, and presented over 500 hours of programming over the entire weekend. Of this, around 100 hours were open source, tech-related. In this episode I give you my personal diary of my experience at this great event.
\r\nI had the opportunity to present a talk on SSL Certificates at our local LUG, the Washtenaw Linux Users Group, which uses some material from a previous HPR episode, but may be of interest to our listeners nonetheless. Because this was a lengthy presentation I have divided it into sections. This first section explains how SSL Certificates work, and the second one will explore some of the problems that we have with SSL Certificates, and how we might address those problems. For more go to https://www.zwilnik.com/?page_id=655
\r\nThe bread and butter of open source audio production:
\r\nAudacity: https://sourceforge.net/projects/audacity/
\r\n(Does not allow live processing)
Ardour: https://ardour.org/
\r\n(Heavy duty, full fledged versatile open source digital audio workstation)
In this episode I take you along for the ride as I do a little bit of maintenance on my pickup truck. I\'ve been trying to track down the source of of a rough idling problem that sometimes turns into stalling out. I already replaced the fuel filter (did not solve the rough idling problem but probably was due anyway), and here I make an audio recording as I clean the throttle body, which apparently is one of the first things you should do when your vehicle is idling roughly and stalling out. Still not sure if I have totally fixed it but it seems to run OK so at least I did not mess it up any worse.
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\nThis is a show describing how I solved a problem of using my new Blinkstick Nano in Python, the problem occurred because I inadvertently installed the blinkstick module to the wrong version of Python as I have multiple versions of python installed on my raspberry pi.
\r\nA blinkstick is a USB powered device with attached RGB led’s, it can be controlled using a wide range of languages, and supports the Raspberry Pi, Linux, Microsoft Windows & Apple
\r\nAs a side note I forgot to mention that the blinkstick hardware and software is Open Source
\r\nLink to blinkstick website
\r\nhttps://www.blinkstick.com/
This is the particular model I bought
\r\nhttps://www.blinkstick.com/products/blinkstick-nano
Initially I blindly followed the advice given at https://www.blinkstick.com/help/raspberry-pi-integration which recommended the following commands
\r\nsudo apt-get install -y python-pip python2.7-dev\r\nsudo pip install blinkstick\r\nsudo blinkstick --info\r\nblnkstick --add-udev-rule
\r\nI discovered that the blinkstick module was not being found when I ran my python script, this turned out to be because I was invoking a different version of python in my script from that which I installed the blinkstick module. I installed the blinkstick module to Python 2.7, my script was running python 3.2
\r\nI ran the following commands to rectify the problem
\r\nsudo apt-get install -y python3-pip\r\nsudo pip-3.2 install blinkstick\r\nsudo blinkstick --info (Run in my script)\r\nblinkstick --add-udev-rule (Not required 2nd time round)
\r\nHere are some links I looked at to get some understanding of what was going on
\r\nInstalling Python Modules
\r\nhttps://docs.python.org/3.6/installing/index.html
Wikipedia entry for pip
\r\nhttps://en.wikipedia.org/wiki/Pip_(package_manager)
You can get a list of your installed python modules by first going to the python interpreter by typing python
at the command prompt and issuing the following command
>>> help('modules')
\r\nYou can list your python search path by first going to the interpreter by typing python
at the command prompt and issuing the following commands, the search path is the list of system directories that python will search to run things like commands and modules
>>> import sys\r\n>>> sys.path
\r\nThaj and Lyle (x1101) have a discussion about Docker and its use.
\r\nI had the opportunity to present a talk on SSL Certificates at our local LUG, the Washtenaw Linux Users Group, which uses some material from a previous HPR episode, but may be of interest to our listeners nonetheless. Because this was a lengthy presentation I have divided it into sections. This is the second section which will explore some of the problems that we have with SSL Certificates, and how we might address those problems. The first section contains our description of how SSL Certificates work.
\r\nFor more go to https://www.zwilnik.com/?page_id=686
\r\n\r\n\r\n\r\nHere are some of the tools I use to process and clean data from all manner of customers:
\r\n
The detox utility renames files to make them easier to work with. It removes spaces and other such annoyances. It’ll also translate or cleanup Latin-1 (ISO 8859-1) characters encoded in 8-bit ASCII, Unicode characters encoded in UTF-8, and CGI escaped characters.
\r\nSee other episodes for great sed information. I like to remove DOS end of line and end of file characters:
\r\n\r\nsed -i 's/\r\n//g' *.txt
\r\nor
\r\nsed -i 's/\\r//g' *.txt
\r\n:vim /pattern/ ##
):bufdo %s/pattern/replace/ge | update
)This is the second show about Bash functions. In this one I revisit the yes_no
function from the last episode and deal with some of the deficiencies of that version.
As before it would be interesting to receive feedback on these versions of the function and would be great if other Bash users contributed ideas of their own.
\r\nSince the notes explaining this subject are long, they have been placed here.
\r\nDough after rising one hour:
\r\n\r\nLoaves after rising:
\r\n\r\nFinished bread (photo from another occasion):
\r\n\r\nRecording device: Zoom H2n
\r\n',283,93,1,'CC-BY-SA','Christmas,cooking',0,0,1), (2093,'2016-08-10','GNU Health',1202,'I talk to my friend Tom and his collaborator Euan who are working on a project using GNU Health','This is an interview with Dr Tom Kane and his student Euan Livingstone in Tom’s office at Edinburgh Napier University (ENU) on 2016-07-06.
\r\nTom and Euan are investigating ways of running GNU Health for evaluation and demonstration purposes, using multiple Raspberry Pi systems and an Intel NUC. In particular they want to evaluate the conformity of interoperability (FHIR) standards, and are trying to build a reference implementation for decision makers who are procuring a Health and Hospital Information System.
\r\nIn the interview Tom used some terminology that I have provided links for here and at the end:
\r\nI had forgotten where I’d seen Luis Falcón, originator of GNU Health, being interviewed. It was on FLOSS Weekly, as linked below.
\r\nThe complete notes for this episode, with pictures of the equipment, are here.
\r\nThanks to Tom and Euan for taking the time to talk to me.
\r\nIn this episode I talk about how to set up custom keystrokes so that you can launch or switch to applications easily using the super
key on your keyboard. I do this on the classic Gnome desktop environment and have not tested it on Gnome 3 or Unity to see whether it works on those.
To create a new custom keystroke, open System Settings
, then go to Keyboard
and Shortcuts
. Click on the plus sign to open the dialog box where you specify the name of the keystroke and the command that is to be launched when the keystroke is executed. Click \"Apply\" and then click \"Disabled\" and it will allow you to type the keystroke you want to use.
At this point the keystroke configuration is ready, but you have to either log out of the current session and log back in, or find some other way to reload the desktop environment configuration before you can actually use the keystroke.
\r\n\r\nI also talked about how I use my own scripts to check to see whether a program is running, and then either switch to that program if it\'s running or launch it if it\'s not. Here is an example for launching or switching to LibreOffice.
\r\n\r\n#!/bin/bash\r\n\r\n# Look for the string "LibreOffice" on the list of \r\n# window titles and check the return code\r\n\r\nchecktitle=$(wmctrl -l | grep "LibreOffice" &> /dev/null ; echo $?)\r\n\r\n# If the return code is 0 that means it found the \r\n# string, so I use wmctrl to switch to the window \r\n# that has that string in the title. \r\n\r\nif [ $checktitle == 0 ] ; then\r\n wmctrl -a "LibreOffice"\r\n \r\n# If it returns a 1, then that means it did not \r\n# find a window with that string in it so I \r\n# launch the application.\r\n \r\n else\r\n loffice &\r\nfi\r\n\r\n\r\n
Save the script somewhere in your PATH, make it executable, and then use the script name in the command when you\'re setting up the keystroke.
\r\n',238,79,0,'CC-BY-SA','Scripting, Linux, Desktop Environments, Accessibility',0,0,1), (2098,'2016-08-17','Minimal Music Site?',768,'Matt King discussing the availability of an open source multimedia focused website.','Project available https://sourceforge.net/p/minimal-music-site
\r\n\r\nA very small responsive website for uploading content. Originally designed primarily for musicians needing an easy interface to share content. Upload files in the admin pages. Automatically saves files in directories and lists content on main pages by date. I\'m sure there are many improvements that could be made.\r\n
',340,0,1,'CC-BY-SA','music,sourceforge,PHP,CSS3,mandrake,ardour',0,0,1), (2099,'2016-08-18','Dat Muzak Showz',2312,'Lyle (x1101) and Thaj talk about making music on Linux','\r\nNote, starting any of while doing anything else with audio is probably a poor choice. At least in Linux. Because Linux audio is still slightly Lovecraftian.
\r\nTools Thaj suggested:
\r\nhttps://www.youtube.com/watch?v=MPmkd0fgiLU
\r\n',276,0,1,'CC-BY-SA','Linux, Audio',0,0,1), (2102,'2016-08-23','AngularJS\'s ng-repeat, and the browser that shall not be named',636,'A method for optimizing the rendering of items when using AngularJS\'s ng-repeat directive.','At my work, we are in the process of revamping our internal call logging system. Moving from .NET and Microsoft’s ASPX pages for both the client side and back end processing, to an HTML5 based Single Page Application (SPA) using AngularJS for the client side interface with a .NET WebAPI service for the back end processing. The main page for both versions contains a list of the current days calls laid out in a table with 9 columns. Users are able to switch to a specific day’s calls by selecting a date via a calendar widget, or by moving one day at a time via previous and next day buttons. By the end of a typical day, the page will contain between 40 and 50 calls.
\r\nDuring recent testing of the SPA client on the proprietary browser we all love to hate, or at least have a love/hate relationship with if you have to support it, I noticed that rendering of a whole days worth of calls would take seconds, freezing the UI completely. This made changing dates painful. As we reload the data any time you re-enter that page (a manual way to poll for new data until we implement either timer based polling or a push service through websockets), the page was almost unusable. The page rendered fine in both Mozilla and webkit based javascript JIT engines, but Microsoft’s engine would choke on it.
\r\nAfter a bit of searching on “AngularJS slow rendering” and “AngularJS optimize”, I found many references about using Angular’s ng-repeat directive when rendering long lists of data (see references below for the main pages I read). I tried a couple of the methods mentioned to optimize the ng-repeat directive. I used the “track by” feature of ng-repeat to use the call’s id as the internal id of the row, so ng-repeat didn’t have to generate a hashed id for each row. I implemented Angular’s one-time binding feature to reduce the number of watches being created (reducing the test day’s number of watches from 1120 to 596), but even these two combined optimizations didn’t have enough effect to render the page in an acceptable amount of time. The next optimization I played with was using ng-repeat with the limitTo filter. This limits the number of items rendered in the list that ng-repeat is looping through. This is particularly useful combined with paging of the data. I set the limitTo option to different values to see how it affected the rendering time. I found that rendering 5 rows was fast and consistent for every day’s worth of data I viewed. From my reading, I knew if I updated the limitTo amount while keeping the array of items the same, ng-repeat would only render any un-rendered items, and not redo the whole limited list.
\r\n<tr ng-repeat="c in results | limitTo:displayRenderSize">
\r\nInside your directive, set an angular.$watch on the list of items to be rendered by ng-repeat. In this example the list is stored in the variable results.
\r\nreturn {\r\n scope: {\r\n results: "=",\r\n },\r\n link: function (scope, element, attrs) {\r\n scope.renderSizeIncrement = 5;\r\n scope.displayRenderSize = scope.renderSizeIncrement;\r\n\r\n scope.$watch('results', function () {\r\n if (scope.results) {\r\n scope.displayRenderSize = scope.renderSizeIncrement;\r\n scope.updateDisplayRenderSize();\r\n }\r\n });\r\n scope.updateDisplayRenderSize = function () {\r\n if (scope.displayRenderSize < scope.results.length) {\r\n scope.displayRenderSize += scope.renderSizeIncrement;\r\n $timeout(scope.updateDisplayRenderSize, 0);\r\n }\r\n }\r\n }\r\n }\r\n}
\r\nAny time the results are updated. The displayRenderSize variable is reset to render the default number of items, and the updateDisplayRenderSize function is called. This function calls itself repeatedly via angular’s $timeout service ($timeout is a wrapper for javascript’s setTimeout function). It increments the displayRenderSize variable which is being watched by the limitTo filter of the main ng-repeat. Each time the displayRenderSize variable is incremented, the ng-repeat renders the next set of items. This is repeated until all the items in the list are rendered.
\r\nThe magic happens because ng-repeat blocks any other javascript, which does not effect angular’s digest path, until it is finished rendering. By calling the updateDisplayRenderSize with a timeout, the function doesn’t get called again until after the next set of items is rendered. Making the $timeout delay 0, sets the function to be called as soon as possible after the ng-repeat digest cycle stops blocking. In this instance, the sum of the rendering time for parts of the list is shorter than the sum of the rendering time for all of the list at one time.
\r\nThere are a couple small glitches with this solution. Scrolling can be a bit jerky as the chunk sized renders cause a series of micro UI freezes, instead of one big long one. Also, if you don’t have a fixed or 100% percent wide table layout, and you don’t have fixed column sizes, the table layout will dance a little on the screen until the columns have been filled with their largest amounts of data. This is the result of the table layout being re-calculated as more data fills it. That being said, overall, this solution works great. It moved the pause from seconds to under half a second or less—making the page go from unbearable to usable on Microsoft’s latest browser offerings.
\r\n[1] AngularJS Performance Tuning for Long Lists; Small Improvements; Tech blog; blog; viewed: 2016-08-09
\r\n[2] Optimizing ng-repeat in AngularJS; Fundoo Solutions; blog; viewed: 2016-08-09
\r\n[3] AngularJS: My solution to the ng-repeat performance problem; thierry nicola; blog; published: July 24, 2013; viewed: 2016-0809
\r\n',293,0,0,'CC-BY-SA','angularjs, ng-repeat, optimization, SPA',0,0,1), (2101,'2016-08-22','What\'s on my podcatcher',597,'Some of the podcasts I listen to','A short show about the podcasts I like to listen to.
\r\n\r\n\r\nI love books, dislike technology when reading about technology, so what to do when the only available option is a pdf or ebook format ?\r\n
\r\n\r\nWith a hpr1480 :: Continuous Ink Supply System and 500 pages of A4 paper costing just €3, the option to print out books at home is not only possible but down right affordable. Even more so when when printing booklet format of 4 pages per physical sheet of paper.\r\n
\r\n\r\nSmall books of around 100 pages/25 sheets and a long arm stapler works fine, of larger sizes you can get a Comb binding machine but I dislike the sound and feel of these solutions\r\n
\r\n\r\nMy solution, a Jig Saw, some wood clamps, PVC Plumbers Glue, and some drywall/plaster board tape (pdf)\r\n
\r\n\r\n
\r\nClamping the book and cut in half with a Jig Saw.\r\n
\r\n
\r\nClamp both halves together, aligning them together on their uncut edge, and trim the cut edges to give a clean cut.\r\n
\r\n
\r\nBuilders supply stores and DIY shops carry the tape and glue.\r\n
\r\n
\r\nNow apply a liberal amount of glue to the cut edge, apply the tape and let it dry for 30 minutes. Then apply another layer of glue and fold down the excess tape. Apply at least two more applications of glue.\r\n
In this episode I talk about how I use Makefiles to ease the process of building complicated projects in Lilypond and HTML. You can use Makefiles to run any kinds of commands you want. It does not have to be building actual computer programs. In my case I use them to build musical scores and web pages. Keep in mind I\'m not an expert on this, and I\'m hoping I will make enough mistakes that it will prompt a series of follow-up episodes by people who actually know what they\'re talking about.
\r\n\r\nHere\'s an example. This is the Makefile for my Counterpoint workbook Gratis ad Parnassum, which I wrote in 2009. Written in a combination of LaTeX\r\n and Lilypond, this requires very complicated and long commands to build the workbook, and I found that the only way to do this project in a sane manner was to create a Makefile that would keep track of changes in the files and only rebuild when necessary. It also meant that the only commands I would have to type were very simple, because the long command line options were all stored in the Makefile.
\r\n\r\nSHELL=/bin/bash\r\n\r\n
FILE=workbook_main
OUTDIR=out
WEBDIR=htmlout
VIEWER=evince
BROWSER=firefox
LILYBOOK_PDF=lilypond-book --output=$(OUTDIR) --pdf $(FILE).lytex
LILYBOOK_HTML=lilypond-book --output=$(WEBDIR) $(FILE).lytex
PDF=cd $(OUTDIR) && pdflatex $(FILE)
HTML=cd $(WEBDIR) && latex2html $(FILE)
INDEX=cd $(OUTDIR) && makeindex $(FILE)
PREVIEW=$(VIEWER) $(OUTDIR)/$(FILE).pdf >& /dev/null
all: pdf web
pdf:
$(LILYBOOK_PDF)
$(PDF)
$(INDEX)
$(PDF)
$(PREVIEW)
web:
$(LILYBOOK_HTML)
$(HTML)
cp -R $(WEBDIR)/$(FILE)/ ./
sleep 1
sh html-sed-fixes.sh
$(BROWSER) $(FILE)/index.html &
keep: pdf
cp $(OUTDIR)/$(FILE).pdf gratis.pdf
pdftk gratis.pdf update_info gratis.info output GratisAdParnassum.pdf
clean:
rm -rf $(OUTDIR)
web-clean:
rm -rf $(WEBDIR)
archive:
tar -cvvf free-counterpoint.tar \\
--exclude=out/* \\
--exclude=*.tar \\
--exclude=*.zip \\
--exclude=htmlout/* \\
--exclude=workbook_main/* \\
--exclude=*midi \\
--exclude=*pdf \\
--exclude=*~ \\
../FreeCounterpoint/*
tar -xvvf free-counterpoint.tar
zip -r free-counterpoint.zip FreeCounterpoint
rm -R FreeCounterpoint
And here is the Makefile for my song collection called Canciones para niños, using Lilypond source files.
\r\n\r\nSHELL=/bin/bash\r\n\r\n
piece = lorca
#CPU_CORES=`cat /proc/cpuinfo | grep -m1 "cpu cores" | sed s/".*: "//`
LILY_CMD = lilypond -ddelete-intermediate-files \\
-dno-point-and-click #-djob-count=$(CPU_CORES)
notes = \\
cancioncilla.ily \\
cantada.ily \\
caracola.ily \\
china.ily \\
lagarto.ily \\
nana.ily \\
paisaje.ily \\
remanso.ily
.SUFFIXES: .ly .ily .pdf .midi
#CURDIR = $(shell pwd)
VPATH = $(CURDIR)/Scores $(CURDIR)/PDF $(CURDIR)/Parts $(CURDIR)/Notes
%.ly: %.ily
%.pdf %.midi: %.ly
$(LILY_CMD) $<
mv *.pdf PDF/
mv *.midi MIDI/
$(piece).pdf: $(notes)
cancioncilla.pdf: cancioncilla.ly cancioncilla.ily
cantada.pdf: cantada.ly cantada.ily
caracola.pdf: caracola.ly caracola.ily
china.pdf: china.ly china.ily
lagarto.pdf: lagarto.ly lagarto.ily
nana.pdf: nana.ly nana.ily
paisaje.pdf: paisaje.ly paisaje.ily
remanso.pdf: remanso.ly remanso.ily
.PHONY: score
score: $(piece).pdf
keep: score
cp $(CURDIR)/PDF/$(piece).pdf $(CURDIR)/CancionesParaNinos.pdf
archive:
tar -cvvf lorca.tar \\
--exclude=*.pdf \\
--exclude=*.midi \\
--exclude=*~ \\
../Canciones/*
tar -xvvf lorca.tar
zip -r lorca.zip Canciones
rm -R Canciones
Since people don’t seem to be adding enough shows, you’re going to be subjected to listening along while I change the oil on the car. This might be fascinating or it might be boring, but in either case I hope it inspires someone else to start uploading more shows. Incidentally, I recorded this whole thing on my phone, I’m doing these show notes on my phone, and am going to upload it from my phone as well, without adding the intro and outro music, showing just how easy it really is (as the saying goes).
',238,0,0,'CC-BY-SA','DIY, automotive, car maintenance ',0,0,1), (2110,'2016-09-02','Overhauling a Bicycle Hub',2715,'Listen and enjoy as I overhaul the rear hub of my 1985 Schwinn. ','I record and talk while overhauling the rear hub of my 1985 Schwinn road bike. I wasn’t able to take pictures because my hands were really greasy, so if this interests you and you want to see how it’s done, search the web or YouTube for instructional materials. This episode was recorded on my phone with the $2 lapel microphone, uploaded straight to the HPR website. Easy!
\r\n',238,115,1,'CC-BY-SA','DIY, bicycle maintenance, bike maintenance, bicycles ',0,0,1), (2109,'2016-09-01','Hacking my inner ear',925,'How I discovered some new things about how my inner ear works and how to stop falling over','In April 2015 I suddenly found myself getting dizzy as I bent down – to the extent where I actually fell over at one point. I went to see a doctor but didn’t get a diagnosis.
\r\nA medical student I know suggested it might be BPPV - Benign Paroxysmal Positional Vertigo, and with that in mind I researched it and found what turned out to be a cure.
\r\nSee the full notes for more details: https://hackerpublicradio.org/eps/hpr2109/full_shownotes.html
\r\nHere is the calf reverb plugin, neat and with a nice graphic interface (it contains a few parameters that I don’t cover in the podcast, thought).
\r\nhttps://www.audiopluginsforfree.com/calf-reverb/
\r\nYou can probably download it too directly from your Package Manager
',323,0,0,'CC-BY-SA','Music, Audio, Audio Production, Sound, Compression, Recording techniques, Reverb',0,0,1), (2112,'2016-09-06','My old home server',945,'A show about my old home server','Picture of the Compaq Ipaq Desktop Computer
\r\n
Wikipedia article about the Compaq Ipaq
\r\nhttps://en.wikipedia.org/wiki/IPAQ_(desktop_computer)
Xubuntu, a lightweight Ubuntu distro derivative running Xfce
\r\nhttps://xubuntu.org/
Clonezilla the excellent Open Source disk cloning software
\r\nhttps://clonezilla.org/
Link to Hpodder podcast client man page
\r\nhttps://jgoerzen.github.io/hpodder/html/hpodder.man.html
Link to Moc, Music On Console
\r\nhttps://moc.daper.net/
Link to MediaTomb UPNP server
\r\nhttps://mediatomb.cc/
Hello, this is Windigo, and Welcome to the another episode of apt spelunking! If you missed the first episode, then you probably missed the second episode as well. I assure you, they were fantastic; no need to go back and check.
\r\nThis series (and yes, it’s official now) is about finding uncommon packages that are buried in the Debian repos. It could very well be about finding packages in other repos, but no Arch, Fedora, Ubuntu or OpenSUSE users are smart or handsome enough to contribute an episode.
\r\nIn no particular order, here are a few more packages I’ve discovered.
\r\nnodm is a very small, very specific utility that is used to start an X session automatically.
\r\nOn Debian, you configure nodm with the configuration file located at /etc/defaults/nodm. You can specify whether or not nodm is enabled, which user to run as, and what x session to run.
\r\nWhile hugely insecure, nodm is a great way to avoid the hassle of a full display manager like gdm or lightdm. It’s extremely lightweight, which is perfect for my Mini 9, and kicks things right into my custom i3 session.
\r\ncmus is a very comprehensive, console-based music player. cmus stands for “C* music player“.
\r\nI received cmus as a recommendation from chalkahlom (Gavin) while looking for a media player suitable for the Mini 9. It is a very light application (1.5M uncompressed), which suited my needs well.
\r\nThe interface of cmus is slightly strange, and may take some getting used to. It is broken up into seven “views”, which can be accessed using the number keys. The views are “Library”, “Sorted Library”, “Playlist”, “Play Queue”, “Browser”, “Filters”, and “Settings”.
\r\nTo be honest, I still haven’t given cmus a fair shake. It seems like an excellent music player, but I’m still unable to break away from the familiarity of audacious. I’m once again reaffirming my commitment to trying cmus out; it seems like a really good player, if given the time of day.
\r\nPulseaudio comes with a selection of very handy command-line utilities that can be used to play and record audio in various formats. The one I’d like to discuss is “parecord”.
\r\nOrdinarily, I do all of my podcast recording with the arecord utility, which talks directly to ALSA. Last time I tried this, it very badly broke audacity when I tried to import the audio. I sounded like a chipmunk, and then audacity crashed.
\r\nparecord is a nice alternative to arecord, because it also does encoding on the fly. There may be an ALSA equivalent that also encodes your audio as you’re recording, but I don’t know about it. At best, you’d have to pipe the output of arecord to avconv or a similar utility.
\r\nUsing parecord, I can specify the file format using the --file-format
flag, and record directly to FLAC, which is what HPR prefers. Other formats are available, but I think FLAC is a good balance of quality and compression.
If you prefer the raw recording style of arecord, there is a utility called parec which will record raw audio data, but it’s a bit outside of the scope of this podcast. Also, I don’t really know much about it.
\r\nI hope someone can find some use in the applications I’ve mentioned here. If you have some other packages that you find indispensable and/or useful, I’d love to hear about them in your very own episode.
\r\n',196,98,0,'CC-BY-SA','linux, pulseaudio, music',0,0,1), (2113,'2016-09-07','sqlite and bash',894,'Using cron, du,sqlite, and bash to find directory growth','0 3 * * 0 /bin/du -m /data/ > /home/USER/du_files/"du_$(/bin/date +\\%Y\\%m\\%d)"
cd ~/du_files\r\nTODAYS_FILE="du_$(/usr/bin/date +%Y%m%d)"\r\nYESTERDAYS_FILE="du_$(/usr/bin/date --date="7 days ago" +%Y%m%d)"\r\n/usr/bin/echo "create table old (oldsize integer, path varchar);" > delta.sql\r\n/usr/bin/echo "create table new (newsize integer, path varchar);" >> delta.sql\r\n/usr/bin/echo '.separator "\\t" ' >> delta.sql\r\n/usr/bin/echo ".import $TODAYS_FILE new" >> delta.sql\r\n/usr/bin/echo ".import $YESTERDAYS_FILE old" >> delta.sql\r\n/usr/bin/echo ".mode csv" >> delta.sql\r\n/usr/bin/echo ".headers on" >> delta.sql\r\n/usr/bin/echo ".out deltas.csv" >> delta.sql\r\n/usr/bin/echo "select *,newsize-oldsize as delta_in_megabytes from old natural join new where oldsize<newsize order by delta_in_megabytes desc;" >> delta.sql\r\n\r\n/usr/bin/sqlite3 < delta.sql\r\n\r\necho $YESTERDAYS_FILE|/usr/bin/mailx -a deltas.csv -s deltas.csv me@mywork.com
\r\ncreate table old (oldsize integer, path varchar);\r\ncreate table new (newsize integer, path varchar);\r\n.separator "\\t"\r\n.import du_20160821 new\r\n.import du_20160814 old\r\n.mode csv\r\n.headers on\r\n.out deltas.csv\r\nselect *,newsize-oldsize as delta_in_megabytes\r\nfrom old natural join new where oldsize<newsize\r\norder by delta_in_megabytes desc;
\r\n',342,0,0,'CC-BY-SA','bash,sqlite',0,0,1),
(2114,'2016-09-08','Gnu Awk - Part 1',1350,'An introduction the the awk text parsing tool','Awk is a powerful text parsing tool for unix and unix-like systems.
\r\nThe basic syntax is:
\r\nawk [options] 'pattern {action}' file
\r\nHere is a simple example file that we will be using, called file1.txt
:
name color amount\r\napple red 4\r\nbanana yellow 6\r\nstrawberry red 3\r\ngrape purple 10\r\napple green 8\r\nplum purple 2\r\nkiwi brown 4\r\npotato brown 9\r\npineapple yellow 5
\r\nFirst command:
\r\nawk '{print $2}' file1.txt
\r\nAs you can see, the “print” command will display the whatever follows. In this case we are showing the second column using “$2”. This is intuitive. To display all columns, use “$0”.
\r\nThis example will output:
\r\ncolor\r\nred\r\nyellow\r\nred\r\npurple\r\ngreen\r\npurple\r\nbrown\r\nbrown\r\nyellow
\r\nSecond command:
\r\nawk '$2=="yellow"{print $1}' file1.txt
\r\nThis will output:
\r\nbanana\r\npineapple
\r\nAs you can see, the command matches items in column 2 matching “yellow”, but prints column 1.
\r\nBy default, awk uses white space as the file separator. You can change this by using the -F option. For instance, file1.csv
looks like this:
name,color,amount\r\napple,red,4\r\nbanana,yellow,6\r\nstrawberry,red,3\r\ngrape,purple,10\r\napple,green,8\r\nplum,purple,2\r\nkiwi,brown,4\r\npotato,brown,9\r\npineapple,yellow,5
\r\nA similar command as before:
\r\nawk -F"," '$2=="yellow" {print $1}' file1.csv
\r\nwill still output:
\r\nbanana\r\npineapple
\r\nRegular expressions work as well:
\r\nawk '$2 ~ /p.+p/ {print $0}' file1.txt
\r\nThis returns:
\r\ngrape purple 10\r\nplum purple 2
\r\nNumbers are interpreted automatically:
\r\nawk '$3>5 {print $1, $2}' file1.txt
\r\nWill output:
\r\nname color\r\nbanana yellow\r\ngrape purple\r\napple green\r\npotato brown
\r\nUsing output redirection, you can write your results to file. For example:
\r\nawk -F, '$3>5 {print $1, $2}' file1.csv > output.txt
\r\nThis will output a file with the contents of the query.
\r\nHere’s a cool trick! You can automatically split a file into multiple files grouped by column. For example, if I want to split file1.txt into multiple files by color, here is the command.
\r\nawk '{print > $2".txt"}' file1.txt
\r\nThis will produce files named yellow.txt, red.txt, etc. In upcoming episodes, we will show how to improve the outputs.
\r\nIn August I was invited on the Duffercast podcast as a guest.
\r\nWhile waiting for all of the participants to arrive, inscius (Mikael) in Sweden, chalkahlom (Gavin) in Hungary and myself in Edinburgh, Scotland, decided to record a show for HPR, since we were using Mumble. Because two of the participants are gardeners we chatted about gardening.
\r\nThis show is the result.
\r\nMore about The Duffercast may be found at https://duffercast.org/.
\r\nThanks also to The Bugcast for the use of their Mumble server!
\r\nNote: The Calendula that Mikael mentioned is more commonly known as a Marigold https://en.wikipedia.org/wiki/Calendula.
\r\n',225,0,1,'CC-BY-SA','duffer,gardening',0,0,1), (2117,'2016-09-13','What\'s in my bag for Podcrawl?',771,'Dave shows us what is in the bag he\'s taking to the London Podcrawl.','[Video on Periscope] [Video on Mediagoblin]
\r\nMountain Warehouse backpack
\r\nI couldn’t find exact model (I believe it was in a sale), but likely to be a 10 litre backpack
\r\n[mountainwarehouse.com]
Google Pixel C - Android tablet
\r\n[google.com]
Microsoft Universal Mobile Keyboard
\r\n[microsoft.com][amazon.co.uk]
AmazonBasics 7-inch Black Sleeve
\r\n[amazon.co.uk]
AmazonBasics 10-inch Black Sleeve
\r\n[amazon.co.uk]
Samson Q2U Microphone (USB/XLR)
\r\n[samsontech.com][amazon.co.uk]
Olympus DM-3 Portable Recorder
\r\n[olympus.co.uk][amazon.co.uk]
Marshall Major Headphones
\r\n[amazon.co.uk]
Microsoft 3600 Bluetooth Mobile Mouse
\r\n[microsoft.com][amazon.co.uk]
Smartphone Audio Splitters
\r\n[amazon.co.uk black one][amazon.co.uk white one]
Neewer 3.5mm Hands Free Computer Clip on Mini Lapel Microphone
\r\n[amazon.co.uk]
Samsung OTG MicroUSB Connector
\r\n[handtec.co.uk]
Exibel USB Powerbank
\r\n(actually, these aren’t that good)
\r\n[clasohlson.co.uk]
Samsung Galaxy S7 Edge
\r\n[samsung.com]
All other products mentioned are fairly generic and/or commonplace. Links are provided for information only, and do not represent a recommendation of purchase from any particular vendor, although I may have purchased the items from that vendor myself.
\r\n',314,23,0,'CC-BY-SA','backpack,Google Pixel C,Samson Q2U Microphone,Olympus DM-3,Marshall Major Headphones,Neewer 3.5mm Lapel Microphone',0,0,1), (2119,'2016-09-15','Making Chocolate Chip Cookies',2436,'Listen live as I make a batch of really tasty chocolate chip cookies','\r\n\r\n1 cup butter
\r\n1 cup sugar
\r\n1 cup brown sugar
\r\n1 tsp. vanilla
\r\n2 eggs
\r\n2 cups flour
\r\n1 tsp. soda
\r\n1 tsp. baking powder
\r\n2½ cups blended oatmeal
\r\n½ tsp. salt
\r\n\r\n12 oz. chocolate chips
\r\n1½ cups chopped nuts (your choice)
Cream the butter and both sugars. Add eggs and vanilla. Mix dry ingredients together in separate bowl. Combine with the butter/sugar/egg mixture. Add chocolate chips. Roll into balls and place 2 inches apart on a cookie sheet.
\r\n\r\nBake for 10–12 minutes at 375°F.
\r\n\r\n\r\n\r\nhttps://appinventor.mit.edu/ \r\n
\r\n\r\nFrom https://en.wikipedia.org/wiki/App_Inventor_for_Android\r\n
\r\n\r\nApp Inventor for Android is an open-source web application originally provided by Google, and now maintained by the Massachusetts Institute of Technology (MIT).\r\n
\r\n\r\nIt allows newcomers to computer programming to create software applications for the Android operating system (OS). It uses a graphical interface, very similar to Scratch and the StarLogo TNG user interface, which allows users to drag-and-drop visual objects to create an application that can run on Android devices. In creating App Inventor, Google drew upon significant prior research in educational computing, as well as work done within Google on online development environments.\r\n
\r\n',323,0,0,'CC-BY-SA','Android, Programming, Apps, Free apps, Online services, Programming languages',0,0,1), (2136,'2016-10-10','Fluxx Tabletop Game',1092,'Klaatu reviews the card game (Pirate) Fluxx','Klaatu reviews the card game series, Fluxx.
\r\nhttps://boardgamegeek.com/geeksearch.php?action=search&objecttype=boardgame&q=fluxx&B1=Go
\r\nhttps://en.wikipedia.org/wiki/Fluxx
\r\n\r\nFluxx is a card game, played with a specially designed deck published by Looney Labs. It is different from most other card games, in that the rules and the conditions for winning are altered throughout the game, via cards played by the players.\r\n
\r\n',78,95,1,'CC-BY-SA','game,gaming,tabletop,card,boardgame',0,0,1), (2124,'2016-09-22','Repairing a Cloth Shopping Bag with a Sewing Machine',1276,'I talk while sewing the strap back onto a cloth shopping bag','In this episode I repair one of the straps/handles of a cloth shopping bag. I talk about using a sewing machine, about those dreadful bobbins, and about sewing a Halloween costume one time. I actually cut out about four or five minutes of near silence from when I was trying to get the thread to go through the needle. That\'s getting much harder to do as I get older. See the Pictures too.
\r\n\r\n\r\n',238,0,0,'CC-BY-SA','DIY, sewing, fixing stuff, repairs',0,0,1), (2121,'2016-09-19','Dark Cults Tabletop Game',1795,'Klaatu discusses the EOL tabletop game DARK CULTS','Klaatu talks about the long-gone (but not forgotten, clearly) DARK CULTS tabletop game. His print-and-play revival is available here: https://gitlab.com/notklaatu/darkoccult
\r\n',78,95,1,'CC-BY-SA','game,gaming,tabletop,card,boardgame',0,0,1), (2122,'2016-09-20','Alpha32\'s new machine',506,'I built a new computer.','I built a new desktop computer with AMD components.
',303,57,1,'CC-BY-SA','desktop, building, linux, AMD',0,0,1), (2123,'2016-09-21','How I make coffee',351,'A show about how I use my Coffee Gator','The coffee gator is a pretty nice device, as is the swan-necked kettle they have. I recommend both.
\r\n',303,88,1,'CC-BY-SA','coffee, coffee gator, pour over, chemex',0,0,1), (2125,'2016-09-23','My mobile recording solution',144,'How I record decent audio in my creeper van.','I use a Plantronics USB headset, my Chromebook, Linux, and Audacity to record on the go.
',303,45,1,'CC-BY-SA','chromebook, mobile, recording, audio',0,0,1), (2126,'2016-09-26','My new (old) tablet',455,'How I got the cruft off my LG Gpad 7','It took a while, but I finally figured out how to install custom recovery and flash a new OS on my $1 tablet.
\r\n',303,0,1,'CC-BY-SA','v410, LG, gpad, cyanogenmod, tablet, mobile, hack',0,0,1), (2127,'2016-09-27','Tabletop Gaming',2051,'Klaatu ponders analogue programming and tabletop gaming','Klaatu ponders analogue programming and tabletop gaming.
\r\n',78,0,1,'CC-BY-SA','game,gaming,tabletop,card,boardgame',0,0,1), (2132,'2016-10-04','Gloom Tabletop Game',1409,'Klaatu reviews the card game Gloom','Klaatu reviews the card game “Gloom”, including its strengths, weaknesses, and potential for player mods.
\r\nhttps://boardgamegeek.com/boardgame/12692/gloom
',78,95,1,'CC-BY-SA','game,gaming,tabletop,card,boardgame',0,0,1), (2371,'2017-09-04','HPR Community News for August 2017',5259,'HPR Volunteers talk about shows released and comments posted in August 2017','\n\n\nThere were no new hosts this month.\n
\n\n\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available in the archives run\nexternally by Gmane\n(see below) and on the HPR server under Mailman.\n
\nNote: since the summer of 2016 Gmane has changed location and is currently\nbeing reestablished. At the moment the HPR archive is not available there.
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2017-August/thread.html\n\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 45 comments in total.
There are 9 comments on\n5 previous shows:
\nThere are 36 comments on 14 of this month\'s shows:
\nAs mentioned on the\n mailing\n list, we are working on a new comment system to replace the failing one we have now. We\'ll be reporting\n progress on the mailing list.\n
\nThe queue got very low recently but is now looking healthier. Thanks to\n everyone for their contributions. However, it would be better in\n future if shows could be spread out more to leave room for new contributors and to help prevent the\n feast/famine problem. See the Scheduling Guidelines on the Calendar page:\n
\nThe current proposal is to record the next show on 2017-09-13 at 18:00 UTC.
\n Please let Michael (mirwi) know via the HPR mailing list if you\'d like to attend.
In the past month we have had contributions from \n Epicanis\n and Windigo\n and I (Dave\n Morriss) have added a few tags & summaries myself. Many\n thanks to all contributors.
\nCurrently there are 950 shows which need summaries or tags to be\n added. All contributions to this project are most welcome. See the\n current status and instructions for making your own contribution\n at \"Shows without a summary and/or tags\".
\n\nThere were no new hosts this month.\n
\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 41 comments in total.
There are 11 comments on\n5 previous shows:
\nThere are 30 comments on 12 of this month\'s shows:
\n\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available in the archives run\nexternally by Gmane\n(see below) and on the HPR server under Mailman.\n
\nNote: since the summer of 2016 Gmane has changed location and is currently\nbeing reestablished. At the moment the HPR archive is not available there.
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2017-September/thread.html\n\n\nThe Podcast Awards\n Ceremony is at 5pm PST on September 30th 2017. That is the day on\n which this HPR episode is being recorded, and it is also\n International Podcast Day!
\nAgain this year, HPR is a contender for the Technology Category.
\nFor the upcoming FOSDEM 2018 we have applied for a Podcaster\'s\n Table where a range of technical podcasts (including HPR)\n will be promoted. We have collected notes of interest from a wide\n range of podcasts, and some representatives will hopefully be able\n to join us as we run this table.
\nWe are hoping that this application will be approved by the FOSDEM\n administrators.
\nOver the past month the HPR website has been very slow at times, or\n has been so overloaded that it has effectively been unavailable.\n This has been caused by various web robots which have been\n scanning the site for long periods in a very inefficient way.
\nWe are aware of this and Josh has been taking remedial action.\n However, because these robots are not behaving in a standard way,\n the range of preventative action is limited without purchasing more\n sophisticated tools.
\nFor the moment we are monitoring the situation.
\nJust a reminder: HPR\'s webhosting service and behind the scenes\n facilities are provided free of charge by Josh Knapp of\n anhonesthost.com.
\n\nThere were no new hosts this month.\n
\n\nThese are comments which have been made during the past month, either to shows\nreleased during the month or to past shows.
\nThere are 33 comments in total.
There are 15 comments on\n8 previous shows:
\nThere are 18 comments on 9 of this month\'s shows:
\n\nPolicy decisions surrounding HPR are taken by the community as a whole. This\ndiscussion takes place on the Mail List which is open to all HPR listeners and\ncontributors. The discussions are open and available on the HPR server under\nMailman.\n
\nThe threaded discussions this month can be found here:
\nhttps://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2017-October/thread.html\n\n\narchive.org
HPR show notes which contain images or which link to other files are something we encourage. However, when uploading these to the Internet Archive (IA) at archive.org
there are a number of issues:
If a file has been submitted as part of the original HPR upload we copy it to archive.org
and use the URL of the copy in the notes. This mechanism has been added in the past few months and seems to be working fine.
If the notes for a show contain links to external files these do not always seem to be accessible through the archive.org
interface. For example, the recent show 2406 links to an image showing the cabling of a CAT6 plug, but the archive.org
copy did not show this image (though it does now - see below).
One way of dealing with the issue of external files would be to make a copy and place it on the HPR site, then it would be uploaded to the IA as described earlier. This might have copyright issues though.
Another way would be to point to a copy on the Wayback Machine (WM). Sometimes the file has been copied there already, or it is possible to request that the WM snapshot it. This is what was done for the IA copy of show 2406. However, it was a manual process and therefore rather labour-intensive, which is not ideal.
Any suggestions on how to deal with this situation would be appreciated.
\n\n\n\n',159,47,1,'CC-BY-SA','Community News',0,0,1), (2129,'2016-09-29','Gnu Awk - Part 2',1598,'We examine how Awk works, records and fields, printing and program files','This is the second episode in a series where b-yeezi and I will be looking at the AWK
language (more particularly its GNU variant gawk
). It is a comprehensive interpreted scripting language designed to be used for manipulating text.
I have written out a moderately long set of notes for this episode and these are available here https://hackerpublicradio.org/eps/hpr2129/full_shownotes.html.
\r\nfile1.txt
”: https://hackerpublicradio.org/eps/hpr2129/file1.txtfile1.csv
”: https://hackerpublicradio.org/eps/hpr2129/file1.csvexample1.awk
”: https://hackerpublicradio.org/eps/hpr2129/example1.awkexample2.awk
”: https://hackerpublicradio.org/eps/hpr2129/example2.awkSet up a service to trigger FIRST (this would be the shutdown service):\r\n
\r\n\r\n\r\n# cat /lib/systemd/system/fakehalt.service\r\n\r\n[Unit]\r\nDescription=Fake-Halt Service\r\nAfter=fakevm.service\r\nRequires=fakevm.service\r\n\r\n[Service]\r\nType=simple\r\nExecStart=/usr/local/bin/fakehalt.sh #this will fail until fakevm succeeds\r\nExecReload=/usr/local/bin/fakehalt.sh\r\n\r\n\r\n
\r\nAnd then set up the one that you want to run and complete BEFORE shutdown is permitted:
\r\n\r\n\r\n\r\n# cat /lib/systemd/system/fakevm.service\r\n[Unit]\r\nDescription=Fake Service\r\nBefore=fakehalt.service\r\n\r\n[Service]\r\nType=simple\r\nExecStart=/usr/local/bin/fake.sh\r\n\r\n\r\n
\r\nCreate a script to represent the VM shutdown (or any process that you cannot anticipate the duration of)
\r\n\r\n\r\n# cat /usr/local/bin/fake.sh\r\n#!/bin/sh\r\n\r\ntest=\"1\"\r\nsleep 21\r\nif [ X\"$test\" = \"X1\" ]; then\r\n echo \"vm has shut down\" > /tmp/fake.test\r\n exit 0\r\nelse \r\n exit 1\r\nfi\r\n\r\n\r\n
\r\nAnd a script to pass for a shutdown signal:\r\n
\r\n\r\n\r\n# cat /usr/local/bin/fakehalt.sh\r\n#!/bin/sh\r\n\r\nsleep 3\r\ncat /tmp/vmfake.test > /tmp/haltfake.test\r\n\r\n\r\n
\r\nStart the service you want to happen AFTER the first one:\r\n
\r\n\r\n\r\n# systemctl start fakehalt\r\n\r\n\r\n
\r\nWhat \"should\" happen is that fakehalt will fail to find a file called /tmp/fake.test to cat from, and so everything should go horribly wrong.\r\n
\r\nWhat actually happens is that systemd places fakehalt service on hold until it gets an exit 0 signal from the fake service. So if you wait 21 seconds and cat /tmp/fakehalt.test, you see that the cat from a file that did not exist when fakehalt was started - actually succeeded.\r\n
\r\n',78,0,1,'CC-BY-SA','systemd,service',0,0,1), (2141,'2016-10-17','Make Web Python with Flask',2193,'Klaatu talks about Flask, a Python-based web microframework','Klaatu talks about the Python web framework, Flask. Think Ruby-on-Rails but for Python, or a lightweight Django.
\r\nLinks in this show:
\r\n\r\n',78,0,1,'CC-BY-SA','Python,Flask,web framework',0,0,1), (2146,'2016-10-24','Cards Against Humanity Tabletop Game',1231,'Klaatu reviews Cards Against Humanity','Klaatu reviews the tabletop game, Cards Against Humanity. This is a non-offensive episode, so you can listen to it regardless of your feelings about the game.
\r\n',78,95,1,'CC-BY-SA','game,gaming,tabletop game,card,boardgame',0,0,1), (2152,'2016-11-01','Apples to Apples Tabletop Game',821,'Klaatu reviews Apples to Apples, a tabletop card game','Klaatu reviews and ponders the game mechanics of Apples to Apples, and how they do and do not compare to Cards Against Humanity.
\r\n',78,95,0,'CC-BY-SA','game,gaming,tabletop game,card',0,0,1), (2120,'2016-09-16','WEBDUMP wmap EyeWitness phantomjs selenium',677,'Automate the process of finding unique websites, removing dupes and getting screenshots','video
\r\nhttps://vimeo.com/180974163
video for Burp suite wmap Change Request Method Active Scanner
\r\nhttps://vimeo.com/178749543
Cygwin webdump script that uses curl,sed,gawk ( needs to auto detect https or http.. only supports https on port 443 …)
\r\nhttps://rmccurdy.com/scripts/WEBDUMP_BURP
eyewitness
\r\nhttps://github.com/ChrisTruncer/EyeWitness
This episode describes various methods of glass bottle cutting and my experience
\n',36,0,0,'CC-BY-SA','glass,glass cutting,bottle cutting',0,0,1), (2140,'2016-10-14','Vim Plugins I Use',1590,'In this episode, I talk about vim plugins as I drive home from work','Set up your git remotes (‘origin’ and ‘foo’)
Create a new remote (‘all’) entry to encompass the existing targets
Adjust ssh config as needed
git push all HEAD
https://www.kickstarter.com/projects/2012515236/coup-bluff-and-deception-in-the-world-of-the-resis
\r\n',78,95,0,'CC-BY-SA','game,gaming,tabletop game',0,0,1), (2164,'2016-11-17','Skipbo Tabletop Game',1331,'Klaatu talks about the surprisingly amazing game from Mattel','Game design by Hazel \"Skip\" Bowman.
\r\nhttps://boardgamegeek.com/boardgame/1269/skip-bo
\r\n',78,95,0,'CC-BY-SA','game,gaming,tabletop game',0,0,1), (2133,'2016-10-05','Compression technology part 1',1200,'Introduction to data reduction methods: Run-Length-Encoding','\r\nFax (short for facsimile), sometimes called telecopying or telefax (the latter short for telefacsimile), is the telephonic transmission of scanned printed material (both text and images), normally to a telephone number connected to a printer or other output device. The original document is scanned with a fax machine (or a telecopier), which processes the contents (text or images) as a single fixed graphic image, converting it into a bitmap, and then transmitting it through the telephone system in the form of audio-frequency tones. The receiving fax machine interprets the tones and reconstructs the image, printing a paper copy.[1] Early systems used direct conversions of image darkness to audio tone in a continuous or analog manner. Since the 1980s, most machines modulate the transmitted audio frequencies using a digital representation of the page which is compressed to quickly transmit areas which are all-white or all-black.\r\n
\r\n\r\nhttps://en.wikipedia.org/wiki/Fax\r\n
\r\n\r\nRun-length encoding (RLE) is a very simple form of lossless data compression in which runs of data (that is, sequences in which the same data value occurs in many consecutive data elements) are stored as a single data value and count, rather than as the original run. This is most useful on data that contains many such runs. Consider, for example, simple graphic images such as icons, line drawings, and animations. It is not useful with files that don\'t have many runs as it could greatly increase the file size.\r\n
\r\n\r\nRLE may also be used to refer to an early graphics file format supported by CompuServe for compressing black and white images, but was widely supplanted by their later Graphics Interchange Format. RLE also refers to a little-used image format in Windows 3.x, with the extension rle, which is a Run Length Encoded Bitmap, used to compress the Windows 3.x startup screen.\r\n
\r\n\r\nTypical applications of this encoding are when the source information comprises long substrings of the same character or binary digit.\r\n
\r\n\r\nhttps://en.wikipedia.org/wiki/Run-length_encoding\r\n
',343,0,0,'CC-BY-SA','compression',0,0,1), (2135,'2016-10-07','Audio speedup script',1679,'I want to speed up some of my podcasts and truncate silence in them too so I wrote a script to do it','Back in 2015 Ken Fallon did a show (episode 1766) on how to use sox
to truncate silence and speed up audio.
Inspired by this I wrote a Bash script to aid my use of the technique, which I thought I’d share with you.
\r\nI have written out detailed notes for this episode describing the script and examining how it works and these are available here https://hackerpublicradio.org/eps/hpr2135/full_shownotes.html.
\r\nspeedup
script for download: https://hackerpublicradio.org/eps/hpr2135/speedupspeedup
script on GitLab: https://gitlab.com/davmo/hprmisc\r\nCorrection, the microcontroller would have to watch the vertical sync, I misspoke.\r\n
\r\n\r\n\r\n
\r\n',115,0,0,'CC-BY-SA','genesis, pause console',0,0,1), (2138,'2016-10-12','Hack the Box with Bandit',893,'NYbill talks about a Linux \'War Game\' called Bandit.','NYbill talks about a Linux ‘War Game’ called Bandit.
\r\nhttps://overthewire.org/wargames/bandit/
',235,0,0,'CC-BY-SA','Linux,wargame,Bandit',0,0,1), (2139,'2016-10-13','From Org Mode to LaTeX Beamer to PDF',454,'My presentation pipeline','\r\nI have recently been fortunate enough to give a presentation to two conferences, PyCon Australia and Kiwi Pycon, the Australian and New Zealand Python conferences, respectively. I\'m not going to give a talk based around the presentation, as it\'s rather code heavy, and we know that doesn\'t translate well to an audio medium.
\r\nInstead, what I wanted to do, was to talk a little bit about the presentation pipeline that I used to prepare this talk. The input is a plain text file, edited in Emacs, using a mode called Org mode. The intermediate form is a LaTeX file, using the document class Beamer which is designed for presentations that are going to be projected. Beamer is apparently the German word for digital projector. The final output form is a plain PDF.
\r\nHPR isn\'t known for having many Emacs talks, so I should probably explain the idea of modes. Emacs has major modes and minor modes. For every document that you\'re editing there\'s one major mode, and any number of minor modes. So if I was editing a Python file for example, I would have the Python major mode which understands Python and can thus do Python specific things like Python code completion, and I would have a spell checker minor mode to check the spelling of comments, and another minor mode to automatically line wrap comment lines that are very long, and another minor mode to show what line number I\'m currently editing, and another minor mode to blink the cursor and so on.
\r\nThe other topic that I haven\'t heard too much on is LaTeX. LaTex is the venerable typesetting solution for Unix based systems. LaTeX documents have a single document class, and then any number of packages. In the case of my presentation, the document class is Beamer, which sets up all the margins and fonts to be good for presentations. Some of the packages I\'m using are the symbols package, for arrows and maths symbols, and several graphics packages so I can draw trees in my slides.
\r\nI\'m fairly comfortable with LaTeX, I could certainly write this presentation directly in LaTeX, but I think there are some advantages in using Org mode to generate my LaTeX instead.
\r\nAs the name suggests, Org mode is designed to be an organisational mode, helping you write TODO lists and organise documents. While the document is just a plain text document that you can read and write with any text editor, the Emacs Org mode understands its own mark up and provides an outlining mode, where you can hide and expand trees of bullet points. The basic layout of a set of slides for a presentation is a tree of bullet points, where the top level bullet points are slides, and the second level of bullet points are lists of information put into each slide.
\r\nAnother mark up that Org mode understands is that of code blocks, so that we can easily say ``this chunk of code is a Python block\'\'. Org mode understands how to export this Python code block as a separate file, run it under Python, and can even insert the output of the program, or the result of a function, back into the original document as a code output block.
\r\nThe advantage of having just one file for my presentation, versus one file for my presentation and a separate file for each code block, is that the code examples in my presentation never get out of sync with the code that I\'m actually running. This style of programming where the documentation is the primary document, and the code files are generated, secondary documents, is the inverse of the typical way of programming where the code documents are the primary documents, and documentation, the secondary documents, are automatically generated.
\r\nThis style of programming, where the primary document is documentation is called literate programming. The process of creating the documentation (the PDF in my case) is called weaving. The process of creating the code files is called tangling.
\r\nI really like having just one file to generate one PDF presentation file, so I\'m going to keep using this technique in the future.
\r\nNow, I have to admit that my presentation is not completely literate, there are some bits of output in my presentation that are copied and pasted, rather than automatically gathered, so I\'ve still got some work to do.
\r\nDown to brass tacks. The conventional file name extension for Org mode files is dot org. The typical metadata you put in presentations are Author, Email, and Title. In mine I\'ve also added Subtitle and Institute. Now, the interesting one here is Institute, for whatever reason, it\'s not a piece of metadata that Org mode knows about, but it\'s really easy to drop down into LaTeX and just use the LaTeX institute command directly.
\r\nThere\'s a metadata line that Org understands called Options, I request that my presentation has a table of contents, and that all the bullet points of level two become line items in that table of contents. Then I\'m straight into the slides. Bullet points at the first level are converted to sections, bullet points at the second level are turned into slides, and anything deeper than that are turned into contents of that slide. I have many code blocks, and I use options that specify what file this code block is tangled to, and to leave the white space alone when the code block is exported, as white space is critical to Python. I also turn on an option that gets line numbers printed for the code blocks. In a couple of places where I want to highlight certain areas of the code, I add labels to the code, then outside the code block I can refer to the label, and LaTeX will replace this with the line number. I think I\'d prefer to do this referencing with highlighting, or an arrow or something, but I\'m not sure I can do that.
\r\nEngineering is the process of dealing with tradeoffs to get something done, there are many trade offs when writing code to solve a problem, writing code for slides has quite a different set of tradeoffs, you want code to be easy to read, in terms of using long variable names, but you also need code blocks to contain as few lines as possible, so that you can use a large font size on the projector, and you also don\'t want to have to split an example across multiple slides if you can help it. I\'m also of the view that syntax highlighting is a waste of time, it\'s just a pretty layer of obfuscation that the mind has to understand, then drop in order to actually see the code. This stance of mine was vindicated when several presenters with syntax highlighted code realised on the day that the projected code was impossible to read due to the low contrast projectors used in a reasonably well lit room.
\r\nOne feature that I would like to add is the ability to reveal new code. It\'s quite common to have a code block, reveal a problem with it, and display the same code block again, but with a minor change that fixes the previously explained problem. Ideally the old code and new code would be rendered differently, but I don\'t think that\'s an option right now. The other thing that I couldn\'t work out was how to run custom programs on my code blocks, I was wanting to run the Python unit test program, not the Python interpreter, and could not find a way to do that.
\r\nThere\'s a single command to run inside Emacs to create the output PDF, M-x org-beamer-export-as-pdf
.
So, overall, I\'m very happy with this pipeline. It lets me have a primary document with code snippets, and it lets me have LaTeX snippets wherever I like. It\'s not perfect, but I\'m hoping to find ways to improve it.
\r\nIt\'s been a while since I submitted a show due to time constraints. I was actually feeling pretty bad when I recorded the show, so my voice may not be as loud as usual.
\r\nThe first book I talk about is "Hacker Culture" by Douglas Thomas
\r\n\r\nThe second book is "A History of Modern Computing" by Paul E. Ceruzzi
\r\n\r\n',325,0,1,'CC-BY-SA','Books, Book Reviews, Hacker Culture, History',0,0,1), (2143,'2016-10-19','Gnu Awk - Part 3',1864,'In this episode, I go into more advanced topics for the awk tool.','Remember our file:
\r\nname color amount\r\napple red 4\r\nbanana yellow 6\r\nstrawberry red 3\r\ngrape purple 10\r\napple green 8\r\nplum purple 2\r\nkiwi brown 4\r\npotato brown 9\r\npineapple yellow 5
\r\nAs we saw in earlier episodes, we can use awk to filter for rows that match a pattern or text. If you know the grep command, you know that it does the same function, but has extended capabilities. For simple filter, you don\'t need to pipe grep outputs to awk. You can just filter in awk.
\r\nYou can use logical operators "and" and "or" represented as "&&" and "||", respectively. See example:
\r\n$2 == "purple" && $3 < 5 {print $1}
\r\nHere, we are selecting for color to to equal "purple" AND amount less than 5.
\r\nSay we want to flag every record in our file where the amount is greater than or equal to 8 with a \'**\'. Every record between 5 (inclusive) and 8, we want to flag with a \'*\'. We can use consecutive filter commands, but there affects will be additive. To remedy this, we can use the "next" command. This tells awk that after the action is taken, proceed to the next record. See the following example:
\r\nNR == 1 {\r\n print $0;\r\n next;\r\n}\r\n\r\n$3 >= 8 {\r\n printf "%s\\t%s\\n", $0, "**";\r\n next;\r\n}\r\n\r\n$3 >= 5 {\r\n printf "%s\\t%s\\n", $0, "*";\r\n next;\r\n}\r\n\r\n$3 < 5 {\r\n print $0;\r\n}
\r\nThe "BEGIN" and "END" commands allow you to do actions before and after awk does its actions. For instance, sometimes we want to evaluate all records, then print the cumulative results. In this example, we pipe the output of the df command into awk. Our command is:
\r\ndf -l | awk -f end.awk
\r\nOur awk file looks like this:
\r\n$1 != "tmpfs" {\r\n used += $3;\r\n available += $4;\r\n}\r\n\r\nEND {\r\n printf "%d GiB used\\n%d GiB available\\n", used/2^20, available/2^20;\r\n}
\r\nHere, we are setting two variables, "used" and "available". We add the records in the respective columns all together, then we print the totals.
\r\nIn the next example, we create a distinct list of colors from our file:
\r\nNR != 1 {\r\n a[$2]++\r\n}\r\nEND {\r\n for (b in a) {\r\n print b\r\n }\r\n}
\r\nThis is a more advanced script. The details of which, we will get into in future episodes.
\r\nLike stated above, the begin command lets us print and set variables before the awk command starts. For instance, we can set the input and output field separators inside our awk file as follows:
\r\nBEGIN {\r\n FS=",";\r\n OFS=",";\r\n print "color,count";\r\n}\r\nNR != 1 {\r\n a[$2]+=1;\r\n}\r\nEND {\r\n for (b in a) {\r\n print b, a[b]\r\n }\r\n}
\r\nIn this example, we are finding the distinct count of colors in our csv file, and format the output in csv format as well. We will get into the details of how this script works in future episodes.
\r\nFor another example, instead of distinct count, we can get the sum of the amount column grouped by color:
\r\nBEGIN {\r\n FS=",";\r\n OFS=",";\r\n print "color,sum";\r\n}\r\nNR != 1 {\r\n a[$2]+=$3;\r\n}\r\nEND {\r\n for (b in a) {\r\n print b, a[b]\r\n }\r\n}
\r\n',300,94,0,'CC-BY-SA','awk,bash,linux',0,0,1),
(2150,'2016-10-28','Apollo Guidance Computer',4381,'Francois Rautenbach tell us how he is hacking 50 year old computers','\r\nIn this episode Ken chats with Francois Rautenbach who extracted the software from the Rope Memory modules of the long lost Apollo Guidance Computer used in Flight AS-202.\r\n
\r\n\r\n # TODO\r\n\r\n ### Can do now\r\n * Bullet 1\r\n * Bullet 2\r\n\r\n ### Near term\r\n 1. Numbered 1\r\n 1. Numbered 2\r\n\r\n ### Long term
\r\n DAILYFILE="/Users/norrist/Projects/todo/daily/$(/bin/date +%F).md"\r\n DAILYPATH="/Users/norrist/Projects/todo/daily/"\r\n LOCKFILE="/Users/norrist/Projects/todo/daily/LOCK"\r\n TODOFILE="/Users/norrist/Projects/todo/todo.md"\r\n\r\n if [ -f $LOCKFILE ]\r\n then\r\n echo "$LOCKFILE PRESENT - ABORTING"\r\n read -n1 -p "Remove and Continue? [y,n]" doit\r\n case $doit in\r\n y|Y) echo "Continuing with $LOCKFILE PRESENT" ;;\r\n *) exit 1 ;;\r\n esac\r\n\r\n\r\n else\r\n echo "NO LOKCFILE"\r\n touch $LOCKFILE\r\n\r\n fi\r\n\r\n\r\n if [ -f $DAILYFILE ]\r\n then\r\n echo "$DAILYFILE exists"\r\n else\r\n echo >> $DAILYFILE\r\n echo "-----">> $DAILYFILE\r\n echo "# $(/bin/date +%F)" >> $DAILYFILE\r\n echo >> $DAILYFILE\r\n echo "### Projects" >> $DAILYFILE\r\n echo >> $DAILYFILE\r\n echo "### Tickets" >> $DAILYFILE\r\n echo >> $DAILYFILE\r\n echo "### Walkups" >> $DAILYFILE\r\n fi\r\n\r\n /usr/local/bin/edit -w --new-window $DAILYFILE\r\n /opt/local/bin/aspell -c $DAILYFILE\r\n /opt/local/bin/aspell -c $TODOFILE\r\n\r\n rm $LOCKFILE\r\n rm $DAILYPATH/README.md\r\n\r\n cat $TODOFILE >> $DAILYPATH/README.md\r\n\r\n for f in $(ls -r $DAILYPATH/2*md)\r\n do cat $f >> $DAILYPATH/README.md\r\n echo >>$DAILYPATH/README.md\r\n done\r\n\r\n cd /Users/norrist/Projects/todo; /usr/bin/git add . && /usr/bin/git commit -m "$(date)" && /usr/bin/git push origin master
\r\n # 2016-08-02\r\n\r\n -----\r\n\r\n ### Projects\r\n\r\n ### Tickets\r\n\r\n ### Walkups
\r\nThis is a follow up interview with Joshua Lowe as he has been very busy developing further python tools for the Raspberry Pi
\r\nhttps://www.allaboutcode.co.uk/
\r\nThe interview took place at BarCamp Manchester https://www.barcampmanchester.co.uk/ on the 24th September 2016 after he had done a talk about EduBlocks his new project for programming in Python and part of his Edupython project.
\r\n\r\nJosh will be at https://mozillafestival.org/ at the end of October and will be presenting his project again.
\r\n\r\nAn Interview with Claire Dodd, the organiser of BarCamp Manchester\r\n
\r\n\r\n\r\n\r\n\r\nAn Interview with Damion of Layershift Hosting, one of the sponsors of BarCamp Manchester\r\n
\r\n\r\nThis is an interview with Alan O\'Donohoe which I did at BarCamp Manchester. The links to his Twitter page and the Exa Foundation are as follows:
\r\n\r\nBack in hpr1894 :: Interview with Davide Zilli and Dr Marianne Sinka of the HumBug Project, the topic of an open-source acoustic logger came up. Today Ken tracks down Prof. Alex Rogers from the Department of Computer Science at University of Oxford, to talk about the project.\r\n
\r\n\r\nThe prototype device is based on the Silicon Labs Gecko processor range and provides a low-cost acoustic logger which can record uncompressed audio to an SD card at 48,000 samples per second. Onboard acoustic recognition algorithms allow the device to decide when and what to record, and allow the computation and storage of acoustic features and complexity indices, rather than raw waveforms.\r\n
\r\n\r\nhttps://soundtrap.io/\r\n
',30,78,0,'CC-BY-SA','open source,open hardware,acoustic logger',0,0,1), (2148,'2016-10-26','The DSO138 Oscilloscope Kit Part 2',791,'In this episode NYbill talks about finishing the DSO138 Oscilloscope kit.','\r\nIn this episode NYbill talks about finishing the DSO138 Oscilloscope kit.\r\n
\r\n\r\nThe DSO138 Oscilloscope Kit (part 1)\r\n
\r\n\r\n\r\n3D printable case:\r\n
\r\n\r\n\r\nThe kit with pre-soldered SMD parts:\r\n
\r\n\r\n\r\nWithout pre-soldered parts:\r\n
\r\n\r\n\r\nThe forums:\r\n
\r\n\r\n\r\nPics for the episode:\r\n
\r\n\r\n',235,103,0,'CC-BY-SA','electronics,oscilloscope,kit,3D printing',0,0,1), (2147,'2016-10-25','Glass cutting bottles',857,'You may have seen vases made from bottles and wondered how they cut the glass.','\r\n',36,0,1,'CC-BY-SA','glass,glass cutting,bottle cutting',0,0,1), (2149,'2016-10-27','What is in my Pentesting Bag?',1042,'I go over some of the items I use for my technical testing','LAPTOP STAND:
\r\nMAGMA MGA75551 Laptop Stand Riser Flat-Tolding Lightweight DJ Stand
Monster MP OTG400 BK Outlets To Go Power Strip - 4 AC Outlets - Black
\r\nhttps://www.amazon.com/product-reviews/B000F9YN2M
Micro USB Retractable Cable
\r\nhttps://www.amazon.com/Micro-USB-Retractable-Cable-BlackBerry/dp/B007Z419BI/ref=sr_1_1?ie=UTF8&qid=1475686376&sr=8-1&keywords=camcret
Kenu Airframe+ | Car Mount for Smartphones and Phablets | White
\r\nhttps://www.amazon.com/Kenu-Airframe-Mount-Smartphones-Phablets/dp/B0102OM024/ref=sr_1_8?ie=UTF8&qid=1475686409&sr=8-8&keywords=kenu+car+mount
https://hackaday.com/2014/08/13/diy-custom-molded-earbud-roundup/
Boxcave 78 Key Wired USB Mini Slim Keyboard
\r\nhttps://www.amazon.com/gp/product/B00EDI0WWQ/ref=oh_aui_detailpage_o06_s00?ie=UTF8&psc=1
TripWorthy Travel Umbrella
\r\nhttps://www.amazon.com/TripWorthy-Travel-Umbrella-Lightweight-Professionals/dp/B01DYYNF00/ref=sr_1_2?s=pc&ie=UTF8&qid=1475686636&sr=8-2&keywords=kolumb+umbrella
mousejack/jackit
\r\nhttps://github.com/insecurityofthings/jackit
Best 5 in1 Locksmith Brand Best Credit Card Pick Car Lock Tool Lock pick
\r\nhttps://www.wish.com/search/pick#cid=569c8f6bdd248c11f24c2eff
MiniPwner or the WiFi Pineapple, the #r00tabaga
\r\nhttps://acehackware.com/collections/hackware/products/ace-r00tabaga-multipwner
Klaatu talks about different ways of coming up with random numbers without electronics.\r\n
\r\n\r\nDiscussed: dice, flipping through a book, sequential modulo, shifting tables, and pocketdiceroller.
',78,0,0,'CC-BY-SA','game,gaming,tabletop,card,boardgame,random,number,math',0,0,1), (2178,'2016-12-07','Dice Mixer',1583,'Klaatu reviews the Dice Mixer dice tower','Klaatu reviews the Dice Mixer.
\r\n\r\nSpoiler: it's really amazing and a heck of a lot of fun to put together.
\r\n\r\n\r\n\r\n\r\n',78,0,0,'CC-BY-SA','game,gaming,tabletop,card,boardgame,random,number',0,0,1), (2174,'2016-12-01','Dungeoneer Tabletop Game',2560,'Klaatu reviews the Dungeoneer RPG card game','\r\nKlaatu reviews the RPG card game, Dungeoneer, especially concentrating upon solitaire play.\r\n
\r\n\r\nIf you're keen to play, you'll want to use Klaatu's re-write of the official rules, or his re-write and touch-up of the unofficial solo rules. Neither of these are unique in themselves, but Klaatu humbly believes that they're a lot easier to comprehend than those online or in the box.
',78,95,0,'CC-BY-SA','game,gaming,tabletop,card,rpg',0,0,1), (2155,'2016-11-04','Ohio LinuxFest 2016',1124,'My experience of Ohio LinuxFest 2016','Ohio LinuxFest is an annual Linux and Open Source conference held in the fall in Columbus, Ohio, USA. This year it happened on October 7-8, and I was not only an attendee, but a speaker. This program is about my experiences there this year.
',198,0,0,'CC-BY-SA','Open Source, Linux',0,0,1), (2154,'2016-11-03','Replacing a Bicycle Brake Cable',1769,'I replace the brake cable and housing on my 1985 Schwinn','Part of my series of fixing stuff and wearing a microphone while I do it, listen along as I replace the brake cable and housing on my bicycle. For information about the tools I\'m using, check out my earlier episode about the tools in my bicycle repair toolbox. Check the Flickr photo album below for pictures to go along with the narrative. Sorry I kept sniffling so much. Allergies were terrible. The church bells in the background are from Our Lady of Fatima Church, which is nearby. I remember Dave wondered about the church bells from a previous episode.
\r\n\r\n\r\n\r\n\r\nI need to cut a block of wax...
\r\nI use a heat gun, some string, and a knife...
\r\nAlso some ramblings about other stuff.
\r\n
The following is partial copy from Wikipedia: https://en.wikipedia.org/wiki/Bowline
\r\n"The bowline (/ˈboʊlɪn/ or /ˈboʊlaɪn/)[1] is an ancient and simple knot used to form a fixed loop at the end of a rope. It has the virtues of being both easy to tie and untie; most notably, it is easy to untie after being subjected to a load. The bowline is sometimes referred as King of the knots because of its importance. It is one of the four basic maritime knots (the other three are figure-eight knot, reef knot and clove hitch).
\r\nThe structure of the bowline is identical to that of the sheet bend, except the bowline forms a loop in one rope and the sheet bend joins two ropes. Along with the sheet bend and the clove hitch, the bowline is often considered one of the most essential knots.[2]
\r\nAlthough generally considered a reliable knot, its main deficiencies are a tendency to work loose when not under load, to slip when pulled sideways[3] and the bight portion of the knot to capsize in certain circumstances.[citation needed] To address these shortcomings, a number of more secure variations of the bowline have been developed for use in safety-critical applications".
\r\n',209,0,1,'CC-BY-SA','Knots, CLasoo, Bowline',0,0,1), (2161,'2016-11-14','What\'s in my freezer?',246,'Inscius talks about the food stored in his freezer.','A short true tale of what I store in my (small) freezer, mid-October 2016. It is also the first time I record a podcast with a portable recorder.
\r\n"American blueberry" "European blueberry" a.k.a. "Bilberry"
\r\nHaricot vert a.k.a. green beans
\r\n\r\n\r\n\r\n',283,0,0,'CC-BY-SA','food, storage, seasonal, garden',0,0,1), (2185,'2016-12-16','Soldering a Soldering Fan',309,'Practising soldering skills by hacking together a soldering extraction fan.','\r\nIn the episodes hpr1037 :: Soldering Part 1 and hpr1047 :: Soldering Part 2: An audio demonstration of soldering, MrX inspired me to get into soldering. It\'s easy and if audio isn\'t your thing there is always the SOLDERING IS EASY complete comic book.\r\n
\r\n\r\nFor my first project, I soldered a 12v power supply I got for €0 at the recycle shop, to a 12V fan from my old computer tower.\r\n
\r\n\r\n\r\nThe result a ugly solder joint, but a working project.\r\n
\r\nI was recommended Richard Hipp – Git: Just Say No (youtube.com) last night on the excellent #oggcastplanet channel on freenode.
\r\nI didn\'t listen to all of it, but I\'m putting this out there with the material I have, because anything else would be procrastination and this is HPR. We Want Shows!
\r\nHere are his criticisms, or suggested enhancements, top 10:
\r\nI think the killer of these is #2, the rest are nitpicks or incorrect. And for addressing #2 there is the very interesting gitless report and project, which I\'m guessing doesn\'t abandon git entirely, just reworks the UI, which does need rework. Not for people like me, who already learned the nooks and crannies and make productive use of several of what might be misfeatures, but to lower the threshold for people coming to our software projects and whatever other source code we are managing.
\r\nTL;DL:
\r\ngit log
and less
does the job, even for the oldest git project – git.git serve
sucks, use gogs.gl
)This is the fourth episode of the series that b-yeezi and I are doing. These shows are now collected under the series title “Learning Awk”.
\r\nWe have seen the operators ‘&&’ (and) and ‘||’ (or). These are also called Boolean Operators. There is also one more operator ‘!’ (not) which we haven’t yet encountered. These operators allow the construction of Boolean expressions which may be quite complex.
\r\nIf you are used to programming you will expect these operators to have a precedence, just like operators in arithmetic do. We will deal with this subject in more detail later since it is relevant not only in patterns but also in other parts of an Awk program.
\r\nWe saw this statement in the last episode and learned that it causes the processing of the current input record to stop. No more patterns are tested against this record and no more actions in the current rule are executed. Note that “next” is a statement like “print”, and can only occur in the action part of a rule. It is also not permitted in BEGIN or END rules (more of which anon).
\r\nThe BEGIN and END elements are special patterns, which in conjunction with actions enclosed in curly brackets make up rules in the same sense that the ‘pattern {action}’ sequences we have seen so far are rules. As we saw in the last episode, BEGIN rules are run before the main ‘pattern {action}’ rules are processed and the input file is (or files are) read, whereas END rules run after the input files have been processed.
\r\nIt is permitted to write more than one BEGIN rule and more than one END rule. These are just concatenated together in the order they are encountered by Awk.
\r\nAwk will complain if either BEGIN or END is not followed by an action since this is meaningless.
\r\nLearning a programming language is never a linear process, and sometimes reference is made to new features that have not yet been explained. A number of new features were mentioned in passing in the last episode, and we will look at these in more detail in this episode.
\r\nI have written out a moderately long set of notes for this episode and these are available here https://hackerpublicradio.org/eps/hpr2163/full_shownotes.html.
\r\nWith a view to making portable notes for this series I have included ePub and PDF versions with this episode. Feedback is welcome to help decide which version is preferable, as are any suggestions on the improvement of the layout.
\r\nIn my show 1664, “Life and Times of a Geek part 1”, I spoke about using a slide rule as a schoolboy. As a consequence, I was asked if I would do a show on slide rules, and this is it (after a rather long delay).
\r\nI have written out a moderately long set of notes for this episode and these are available here https://hackerpublicradio.org/eps/hpr2166/full_shownotes.html.
\r\n\r\nThe knightwise.com podcast : https://feeds.feedburner.com/feedburner/knightcast\r\n
',111,0,1,'CC-BY-SA','podcast,podcatcher,online course',0,0,1), (2169,'2016-11-24','How I connect to the awesome #oggcastplanet on mobile',795,'I give a quick overview of the challenges of IRC on the go and how Riot and Matrix solve them for me','On HPR #2162 I mentioned that I\'m connecting to freenode IRC using Riot and Matrix. Here I explain a bit of background to why, what Matrix is, and why you should use it too.
\r\nJust go to https://riot.im/app/#/room/#freenode_#oggcastplanet:matrix.org, click Join and you\'re on the channel! If you register a user there (or maybe on another instance, like @lambadalambda\'s https://matrix.heldscal.la/), you can then log in with the same username and password in the Android app and see all your joined channels there.
\r\nCorrection to audio: Riot is on F-Droid. For some reason I couldn\'t find it at the time, even though it\'s clearly there, so I\'m currently using the version from the Google Play Store. I hear that battery use may be an issue if you\'re independent from the evil GOOG.
\r\nOther ways of connecting to IRC over flaky or intermittent connections without losing context:
\r\nI love programming, I make a living writing free software. However I am still a programmer without a keyboard. I want to share knowledge that gives us control over our own life. Tools that help us help ourselves.
\r\nTwo main topics:
\r\nLots of fun, life is interesting
\r\nhappy hacking
\r\n',344,0,0,'CC-BY-SA','introduction',0,0,1), (2173,'2016-11-30','Driving a Blinkt! as an IoT device',2349,'I have a Raspberry Pi Zero with a Blinkt! 8-LED array I\'m setting up as a notification device','I managed to buy a Raspberry Pi Zero when they first came out in December 2015. This was not easy since they were very scarce. I also bought a first-generation case from Pimoroni and some 40-pin headers. With the Zero this header is not pre-installed and it’s necessary to solder it onto the Pi yourself.
\r\nI have had various project ideas for this Pi Zero, but had not decided on one until recently. Within the last month or two Pimoroni produced a device called the Blinkt! which has eight APA102 RGB LEDs and attaches to the GPIO header. This costs £5, just a little more than the Zero itself.
\r\nMy plan was to combine the two and turn them into a status indicator for various things going on that needed my attention.
\r\nI have written out a moderately long set of notes for this episode and these are available here https://hackerpublicradio.org/eps/hpr2173/full_shownotes.html.
\r\nDiscussing some of Google\'s successes. Lately I have been hearing a lot of flak towards Google and how they are doing everything wrong. So I go down a list of some of their success stories. Disagree? Email me.
',346,0,1,'CC-BY-SA','Google,Chrome, Android, Chromecast, tech, computers',0,0,1), (2175,'2016-12-02','Kdenlive Part 4 Colour Correction',1100,'A review of the Kdenlive colour correction suite','Hello again HPR listeners this is Geddes back with Part 4 in the series covering the video editing application KdenLive. This time round we’ll be looking at colour correction which covers the following topics:
\r\nHere’s the link to the original article.
\r\n',310,0,0,'CC-BY-SA','Kdenlive,opensource.com,colour correction',0,0,1), (2177,'2016-12-06','Knowledge Interconnection, the thai express hack',424,'learn things that empowers you and interconnects with other of your knowledge','you can practice programming AFK, and hacking at the same time; doing problem solving on other things can be quite fun; and can seriously enhance your life;
\r\nhappy hacking;
\r\n',344,0,1,'CC-BY-SA','vegan food, recycling, hacking',0,0,1), (2181,'2016-12-12','Install OpenBSD from Linux using Grub',501,'Install OpenBSD from Linux using Grub','Tune in for another episode.
\r\nDownload the OpenBSD installation ram disk to /boot
cd /boot\r\nwget https://ftp5.usa.openbsd.org/pub/OpenBSD/6.0/amd64/bsd.rd
c
at the grub menuls
to see the available disksLoad the OpenBSD installation ram disk and boot
\r\ngrub> set root=(hd0,msdos1)\r\ngrub> kopenbsd /bsd.rd\r\ngrub> boot
\r\nA nod to Brian in Ohio...\r\n
\r\n\r\nElements Of Design...\r\n
\r\n\r\nA mention of Dr. Don Bendel...\r\n
\r\n\r\nA note on artist statements...\r\n
\r\n\r\nMy cup example is very much stimulated by Pete Pinnell...\r\n
\r\n\r\nCheck out his short talk on cups.\r\n
\r\n\r\nhttps://www.youtube.com/watch?v=WChFMMzLHVs\r\n
\r\n\r\n(though I wish It were elsewhere besides youtube)\r\n
',329,0,1,'CC-BY-SA','art',0,0,1), (2172,'2016-11-29','Dutch Blitz Table Top Game',1548,'Steve describes the game of Dutch Blitz.','Dutch Blitz was created by Werner Ernst George Muller, from\r\nPennsylvania, in the United States, in 1959. It is similar to the game\r\nNertz, which is played with standard playing cards. Nertz had been\r\naround since the 1940s. It isn’t totally clear to what extent Mr\r\nMuller was influenced by the game of Nertz. He was an optometrist and\r\nit is said that he thought the game might help his children learn\r\nabout colors and numbers.
\r\nThe game has a theme that originates with the Pennsylvania Dutch\r\nculture, which was formed by early German immigrants to eastern\r\nPennsylvania in the United States. The symbols used on the cards are\r\nrepresentative of that culture, which tended to be agricultural and of\r\na conservative protestant Christian faith.
\r\nEach player has their own deck of cards. The standard set has 4 decks,\r\nso it can accommodate 2-4 players. There is an extension pack that adds\r\n4 more decks, supporting 4 more players. Each deck has 40 cards made\r\nup of number cards from 1 through 10 in four different colors (suits):\r\nred, blue, green, and yellow. Additionally, the red and blue cards\r\nhave a picture of a boy and the green and yellow cards have a picture\r\nof a girl. The decks are differentiated from each other by a symbol on\r\nthe back side of each card. The four standard decks have the following\r\nsymbols: pump, buggy, plow, and bucket.
\r\nBlitz Pile - A pile of 10 cards that are dealt by each player before\r\ngame play starts. One of the goals is for the player to get rid of\r\ntheir Blitz pile. When one player clears their Blitz pile, the round\r\nis over.
\r\nPost Piles - Three piles of cards to the left of the Blitz pile that\r\nare used by the player to help sort through cards during the game\r\nplay. These piles begin as 3 cards dealt out by the player before\r\ngame play. Cards can then be added to these piles in descending order\r\nand alternating “gender”. If one of the Post piles is cleared, the\r\nplayer may take a card off of their Blitz pile to start a new one.
\r\nWood Pile - During game play, the player rotates through their deck\r\nby taking 3 cards, face down, and turning them face up and placing\r\nthem on the Wood pile. The top most card is available to be played.
\r\nDutch Piles - During game play, players can start a Dutch pile when\r\nthey have a playable card with the number 1 on it. These piles are\r\nplaced in the middle of the table. The piles can then be built up,\r\nin sequential order and of matching color. Any player can play a\r\ncard on any Dutch pile.
\r\nThe game is played in rounds. The players do not take turns. When play\r\nstarts, all players begin playing at the same time as fast as they\r\ncan. When a player is able to clear their Blitz pile, they shout the\r\nword “Blitz” and all play must then stop. That is the end of the\r\nround.
\r\nWhen the round ends all of the cards that have been played on the\r\nDutch piles are sorted into their representative decks. Each player\r\ncounts the number of cards that they have played and then subtracts\r\ntwo times the number of cards left on their Blitz pile. That is their\r\nscore for the round.
\r\nIn order to maximize one’s points for a round, the objectives are\r\ntwo-fold. You want to play as many cards as possible on the Dutch\r\npiles, but you also want to get rid of as many cards on your Blitz\r\npile as possible.
\r\n