ALERT ALERT ALERT
Totally obvious phishing scam. Have a look:
If you look at the URL’s this email links out to they are from .es domain and have nothing to do with apple. Pass it on.
Here’s an infographic of some interest:
If that embedded version doesn’t work for you here’s the big-huge version that is very readable but also big. And huge.
I just finished Linux Shell Scripting Cookbook – Third Edition by Shantanu Tushar and Sarath Lakshman. This is a beginner’s guide to using shell scripting (bash) on linux.
Usually, a “cookbook” is set up more like a series of projects organized around a set of themes, and is usually less introductory than this book. “Linux Shell Scripting Cookbook” might be better titled “Introduction to Linux Shell Scripting” because it is more like a tutorial and a how too book than like a cookbook. Nonetheless, it is an excellent tutorial that includes over 100 “recipes” that address a diversity of applications. It’s just that they are organized more like a tutorial. What this means is that a beginner can use only the resources in this book and get results. The various recipes are organized in an order that brings the reader through basics (like how to use the terminal, how to mess with environment variables, etc.) then on to more complex topics such as regular expressions, manipulating text, accessing web pages, and archiving. One very nice set of scripts that is not often found in intro books addresses networking. The book also covers MySQL database use.
All of the scripts are available from the publisher in a well organized zip archive.
I read the e-version of the book, in iBooks, but the PDF version is very nice as well. I don’t know how this would translate as at Kindle book. But, importantly (and this may be more common now than not) the ebook uses all text, unlike some earlier versions of ebooks that used photographs of key text snippets as graphics which essentially renders them useless. Of course, copy and paste from a ebook is difficult, and that is where the zip file of scrips comes in. You can open the PDF file, get the zip archive, and as you read through examples simply open up (or copy and paste) the scripts from the zip archive and modify or run them. Also, the ebook is cheaper than a paper edition and clearly takes up way less space!
If I was going to recommend a starting out guide to shell scripting this is the book I’d recommend right now. It is well organized and well executed.
I do have a small rant that applies to virtually ALL tech-related books I’ve seen. There is an old tradition in *nix style documentation of putting certain information in the front matter. Books always have front matter, of course, but computer documents tend to have more front matter than usual. A typical example is this reference resource for Debian.
Notice all that stuff in the beginning. Like anybody reads any of that, especially the “conventions” section. Proper typography in a code-rich book does not have to be explained in detail. You can see what is code, what are comments, etc. etc. Most of this information should be added as an appendix at the end of the book where it is out of the way and can be ignored.
On a web page like the one shown here all you have to do is scan down, but in a book you have to leaf (virtually or meatspacelly) past all that stuff to get to the actual book contents. The Linux Shell Scripting book being discussed here has the first actual text on actual page 25 or so (though it is numbered page 8). I recommend moving as much of this front matter as possible to the back.
But that is a general rant about all books of this sort, which I happen to think of while reviewing this book.
Some Linux/Ubuntu related books:
Ubuntu Unleashed 2016 Edition: Covering 15.10 and 16.04 (11th Edition)
Ubuntu 16.04 LTS Desktop: Applications and Administration
The Linux Command Line: A Complete Introduction
What if you went to drive to work one day and the highway on ramp was closed, and a big sign across it said “Highway is closed. Sorry for the inconvenience.”
Well, you would find your way to a different highway entrance. But say that one was closed as well.Then, you check around and find out that all the highways in your state are closed because the state decided to close them. No more highways for you.
Or, one day you go to check the mail and there is a single post card, and nothing else, in your mail box. The post card reads “The United States Postal Service has permanently suspended operation. Sorry for the inconvenience. Have a nice day.”
Or one day you go to turn on the TV and … well, never mind, you get the point.
This morning I received an email from Socialite, a software application, telling me that the software app would not be developed further, could no longer be updated, and was no longer for sale. The main reason for Socialite’s demise is summarized in this text from their web site:
In 2012 Twitter announced API changes and made it clear that traditional Twitter clients, such as Socialite, should not be developed. Some of these new rules made developing Twitter support in Socialite 2 impossible, so after much deliberations we stopped the development of Socialite 2.
End-of-life of Google Reader in 2013 was the last nail in the coffin of Socialite, as without it Socialite loses much of its appeal.
Now, I don’t use Socialite, so this does not matter to me, but it is part of a larger problem that has been a difficulty for everyone. First, with respect to Twitter, it seems to me that Twitter does change its API now and then, which in and of itself causes havoc in the development community. Furthermore, it seems that these changes in Twitter API are not necessarily improvements, but rather, sometimes involve removal of functionality. One could even argue that Twitter has a policy of changing, and sometimes even “breaking,” it’s API in order that software projects that make use of it no longer work.
I remember a few years back when Twitter was still pretty new and there were all sorts of great ideas for using the Twitter environment to do things like citizen science. But it seems to be the case that any long term use of Twitter, especially if that use requires use of the API (but even if it does not), isn’t worth attempting because any investment one puts into the project could be obviated at any time by Twitters policy. That policy, it seems, is “Innovate with Twitter at your own risk.”
The second part of this is, of course, Google Reader being shut down by Google. This is a little different. I might be wrong, and do correct me if so, but Twitter seems to be somewhat arbitrary in its API changes, and seems to do very little to support and encourage development with its framework. Google, on the other hand, seems to encourage development of projects and activities based on its services. Nonetheless, a lot of people were surprised when the widely used Google Reader, which served as a key component of many development projects, was axed. Getting rid of a project few people use and that seems to not have really taken off is one thing (and Google has done that a number of times, which is an obviously likely outcome of diverse innovation which Google seems to do). But Twitter is not Google. Twitter is the kind of project that could easily have been one of many services offered by a company like Google. Twitter, when it changes itself in a way that destroys functionality, is not dropping support for one of many projects. It is making itself irrelevant and annoying as a tool for incorporation in other projects.
So, what is the difference between roads and mail service on one hand and Twitter and Google on the other? The former are public goods, funded publicly and regulated by the government. Similar projects exist in most countries around the world and they integrate across national boundaries. The latter are projects of private companies that have every right to change their services, restrict use, or even shut down entirely.
Amazon is similar. Over time, Amazon has become one of the major, if not the major, supplier of two things one does not usually associate with a book store: Servers and cash registers. If you use a service that requires computer servers and/or storage of data, such as Netflix, you may well be using Amazon indirectly because they provide servers for a gazillion clients. When a bunch of Amazon servers go down, the Internet can choke majorly, though fortunately this happens rarely. Similarly, when you make an on line purchase at any on line company other than Amazon, there is a reasonable chance that you are using Amazon indirectly, as they provide the on line purchasing system to a lot of other vendors. And, now and then, you might even buy a book from Amazon.
When Amazon decides to change what it does or how it does it, which they can do arbitrarily within the range of existing contracts, a lot of things can, potentially, change. A minor example of this happened recently to those of us based in Minnesota, when Amazon, not by necessity but simply to make a point, shut down associates in the North Star State. That was part of my income stream (though a very small part, I quickly add) and Amazon simply sent me an email one day saying that this would no longer be a thing, and there was nothing I could do about it.
Twitter, Amazon, Google, and similar things are like the railroad, mining, and lumber companies of yore, run by a small number of highly influential individuals who happen to be in charge by a combination of luck and whatever else makes you one of those people. The thing is, these corporations effectively serve as public goods, just like our roads, our power grid, our water and sewage systems, our public mail service, our fire departments, etc. but they are not public entities.
At the moment, we who use the Internet, software, etc. are at risk of the arbitrary decisions of a handful of modern Robber-Barons who got into their present position for reasons other than being thoughtful, sensitive, public servants. All hale the free market.
Is there anything that can be done about this? Possibly. Here are a few ideas.
1) The US Senate can pass a resolution requiring Obama to bomb Twitter. That would not solve anything, and of course it can’t really happen, but the debate in the Senate would be high entertainment.
2) The government can take over Amazon, Google, Twitter and a few other companies, sort of like how it took over the companies that built roads and canals (and to a lesser extent, railroads) in days of yore.
3) A version of the government takeover in which the government doesn’t really take over but “authorities” are created, like the ones that handle ports, airports, etc. today (those entities were originally private, in many or most cases).
(These two options, 2 and 3, seem impossible, many will think they are bad ideas. And they will be bad ideas right up until the moment Google is about to go bankrupt or is embroiled in some sort of scandalous legal difficulties of some kind, and a “bailout” is needed. A thing like Google will never need a bail out of course. Like banks. And car manufacturing companies. They would never need a bail out either.)
4) Alternative services, like Amazon, Google, Twitter, etc. can be developed by non-profits using an OpenSource GPL-like model. Those services would probably not be big, or widely used. But they would be there. Then, one day, when the big players falter or become too annoying in one area or another, the OpenSource alternatives can grow a little here and there, and eventually, become the norm.
5) See below (this is where you put your ideas in the comments):
On this blog.
Below is the relative percentage of operating system use by the readers of this blog from a four month longs sample form the middle of the year last year compared to the most recent six months this year. There is not a lot of change, but notice the nearly five percent drop i nWindows use, which seems to be taken up mainly by an increase in the use of iOS.
In addition, Linux use has dropped a worrying two percent.
However, really, OSX and Android etc. are all based on Unix-like operating systems, so the numbers for this year can be recalculated to look like this:
But really, Linux use is actually close to 100% among the readers of this blog. You are using Linux right now, since this web page is being served up on a Linux server. Also, Android. Adding this to the other Unix-flavor OS use, we get this:
The following is an entry from the Esoteric Programming Language project (see link below):
HERE is the site. If you go check it out, don’t miss the programming langauge designed for Orang Utans, called Ook!
Hat Tip: Ryan Jean
Or, at least, I’m surprised that this earlier implemented solution has not been mentioned in all the discussion about NSA spying.
Richard Stallman invented an approach to obviating the NSA’s attempts to spy on email. He included it in emacs, the world’s greatest text editor. Here how it works, from the manual. The “M” is the “alt” key (for all practical purposes) and “M-x followed by a word implements the command attached to that word.
32.6 Mail Amusements
M-x spook adds a line of randomly chosen keywords to an outgoing mail message. The keywords are chosen from a list of words that suggest you are discussing something subversive.
The idea behind this feature is the suspicion that the NSA1 and other intelligence agencies snoop on all electronic mail messages that contain keywords suggesting they might find them interesting. (The agencies say that they don’t, but that’s what they would say.) The idea is that if lots of people add suspicious words to their messages, the agencies will get so busy with spurious input that they will have to give up reading it all. Whether or not this is true, it at least amuses some people.
You can use the fortune program to put a “fortune cookie” message into outgoing mail. To do this, add fortune-to-signature to mail-setup-hook:
(add-hook ‘mail-setup-hook ‘fortune-to-signature)
You will probably need to set the variable fortune-file before using this.
________________________
Footnotes
[1] The US National Security Agency.
That is from the current, on-line emacs manual but it also appears in my hard copy of the manual which I believe dates to the last quarter of the 20th century.
Every year the federal government wastes tens of millions of dollars a year, possibly hundreds, supporting old versions of the Internet Explorer browser (below version 9).
Web development teams typically use 30%-40% of their time (or more) adapting sites to display properly in these browsers.
There is no good reason for the US to waste time and money supporting this old, flawed technology. Alternatives such as Firefox or Chrome, which render pages properly, are available at no cost and are easy to install. Citizens with older computers can be redirected to use these.
By publicly stopping support for these browsers at the federal level, it will be easier for state and local governments, and business, to do the same, saving hundreds of millions of dollars a year for all involved
Check it out!
Ha ha. Courtesy of THIS PLACE HERE.
I hope it is very very good because if not the fact that it looks exactly like a trash can I just bought at Target could make it a laughing stock.
It is assembled in the USA. That’s a good start!
Here’s a question for the true geeks: What prior RAM had the same speed as the fastest flash/hard drive storage of today’s computer?
In case that video was not visible for you here’s part of it via Youtube:
I recently posted a simple Internet meme suggesting that if we subsidized solar energy like we subsidized fossil fuels that this could be good. I posted that on Google Plus an it engendered way over 300 comments, many of which attempted to explain, often rather impolitely, that solar energy was inefficient or in some other way bad. I’m pretty sure most of those comments come to us courtesy of the bought and paid for climate change denialist campaign, funded by Big Oil to the tune of many tens of millions of dollars to date. Most of the commenters were saying similar things, most of which were either incorrect or irrelevant, and far too many of them showed up on this comment at once to be explained by normal internet behavior, at least on my Google Plus page. This was a move made by the denialists, and rest assured … they are doing this more and more often as time goes by.
What I found interesting about this is the fact that the main complaints were about how inefficient, expensive, or otherwise technologically poor those cheap Chinese photovoltaic cells are. I’m not going to argue about that here. I’ve got some friends who have put those photovoltaic cells on their homes and they are glad they did it. I take their word above random anti-Planet internet trolls. I also know that simple photovoltaic fuel cells are used in a lot of highly specialized applications where running a wire to some light or comm device or something is impractical, but a battery charged up by a solar cell will do. The detractors of solar energy are so vehement in their position on this that they would probably insist that building a miniature coal plant next to the remote airport up by the cabin, or next to the highway by some DOT electrical device would be preferable.
Here’s the thing. When I say “solar” I mean energy produced by accessing radiation coming form the sun more or less directly. Wind energy is a form of “solar” because the wind moves around because of the sun. Fossil fuels are solar because it was photosynthesis that converted the Sun’s energy to carbohydrates. But of course I’m not talking about that. I am talking about the hand full of different ways in which solar energy can be harnessed pretty directly including but not limited to cheap Chines solar panels.
The most obvious use of solar energy is passive heating. Back in the 1970s, we (in the US anyway) discovered that there was an energy crisis. We then promptly forgot about it, as various suficial patches were applied and energy seemed to not be an issue any more. But if we were not acting like total morons (which we tend to do) we would have gone ahead and added attention to passive solar to zoning regulations and to best practices in architecture. Of course, that did happen to some extent, but not in any comprehensive or meaningful way. Imagine if most buildings–residential, commercial, built over the last 40 years were built with attention to passive solar design. That would probably have resulted in a decrease in fossil fuel use for those buildings in the two digit percentage range. A lot of buildings have been built over the last four decades. We’d be using several percent less fossil fuel for our buildings today had we done that.
The professional and avocational naysayers of solar energy helped cause us to miss that boat, and they want us to keep missing that boat. They should be ashamed of themselves.
Then there’s direct solar heating. This is another way to use solar energy in which you pass liquids through devices that are set out in the sun (i.e., on your roof). This may be used directly or indirectly to heat the water we use in our buildings. In areas where there is never a significant freeze, such devices can directly heat the water. Otherwise, a non-freezing liquid is used to capture and store the heat, which in turn is transferred to heat water or air inside a home or other building. This may be one of the best ways to use solar energy since it is relatively low tech and can be made of easily obtainable parts. Cheap devices can create essentially free energy. Imagine if most homes, commercial buildings, and other structures built over the last 40 years had a direct solar system to contribute to the heating of water and air in the building. Again, there’d be a few percent off our current annual carbon contribution to the atmosphere.
Then there’s the rather esoteric and very experimental but very cool looking use of solar in which fluids stocked with organisms are passed under the sunlight up on the roof. In one such system, the CO2 rich exhaust from a gas or oil heating plant is passed through a liquid full off algae. The algae live off the CO2 and sunlight, and are strained out to produce … I don’t know, soilent green or something. You can probably burn the algae. This serves as a carbon sink. This is probably not a technology that will make a major contribution to anything until we have genetically modified algae working in concert with solar collectors to do something really interesting.
Then there are the high performance solar systems, of which there are two types. Both involved concentration of solar energy using mirrors or lenses. In CSP, of Concentrated Solar Power, piles of mirrors are used to focus the sunlight on a thing that gets heated way up and runs a turbine. There are many systems like this running around the world, and the general consensus globally is that wherever you have a lot of sun (arid regions, generally) this method of producing electricity is cheaper per watt than some other methods, and on par with the average fossil fuel plant. The other type of high tech system concentrates the sunlight on a device that converts sunlight to electricity.
And, then there are the grand schemes of solar power. Such as…
… TREC, which is a grand vision for connecting solar power in North Africa, wind power from the Eastern Mediterranean to the North Sea, bio-mass, and hydropower with a high-voltage direct current (HVDC) system of power lines to provide assured renewable electricity for the Mediterranean basin and Europe.
… written up here.
So those are several ways in which solar energy can be exploited. Photovoltaic panels is only one way. So when someone suggests that we should consider using more solar energy, maybe subsidize it to get the industry moving along, or simply to make it more common in recognition of the very high external costs of fossil fuels (which are not counted in the actual cost of running coal power plants or driving trucks with diesel, etc.) don’t bring up cheap Chinese photovolatics first.
Every flat roof on a school, parking garage, shopping mall, or other commercial or industrial building that is not grabbing sun in some way and using it for something is an affront against the planet and an insult to our grandchildren.
Super Scratch Programming Adventure!: Learn to Program By Making Cool Games is a book designed for the youngest kids who can read comics and basic text who want to learn to program. The prgramming environment, Scratch, will be familiar to those who have experimented with Logo and Squeak. Especially Squeak. Scratch is a very easily installed environment. You just download it and run it, more or less (instructions provided). When installed, it looks like this:
The upper left box allows you to chose categories of property and methods sets, such as motion, looks, sensing, etc. The list-like thingie below this are those sets of properties and methods. You pick a sprite (in this case, the orange cat) and then you stick together items from these lists to get behavior and stuff. The white screen with the cat on it is where the drama is all played out. Here is the editing environment for the sprites:
In this example, I’v set up the orange cat to proceed to the center of the stage, then make a series of turns and moves, with various waiting times between them. I made the cat dance. that was with zero training and not having looked at the book yet.
Once you look at the book you can do much much more! Scratch comes with numerous examples, some of which are a little silly or poorly executed, but all of which illustrate important programing techniques. The version of Pong that comes in the example set is as good as any a beginning programmer might create, and involves only this code:
If you have a kid who plays around with a computer and can read even a little, GET THIS. You’ll have fun, and when you are done playing with it, you can let your kid use it to learn how to program.
My first computer language was PL/1, but soon after I learned, among other languages, Basic, and I really liked Basic and I still do. Basic is linear, and I think in linear constructs when I do any kind of computer program. This is probably, in part, because user interfaces are the last thing I want to deal with. I want a series of numbers to be treated in a certain way, or a set of formulas to generate a database. The most non-linear I tend to get is multidimensional arrays, and that’s still linear.
Python is potentially, and in practice, very different, and is essentially used as an object-oriented language. Yet at the same time it can be used in any other way, to reproduce pretty much any sort of programming paradigm. People thought of Basic as not very readable, but in fact, it was in its more advanced form if you programmed right. Python is said to enforce readability, if by readability we mean enforced indentation. People are still free to ruin readability in a number of other ways. But most importantly, Python holds a very important feature in common with Basic: It is interpreted. In other words, at any point in time while you are writing your Python program, you can “run” it and see how it is going.
The biggest difference between a language like Basic even at its high water mark some years ago, and Python is that Phython has plenty of modules for use do do all sorts of cool things. I’m not sure if the Python library is the biggest and vastest and most amazingest of all, but it probably is. So, if you are going to pick a programming language with paradigmatic flexibility, reasonable readability, and a powerful and diverse library of functionality, the Python is probably the way to go.
And therefore, you should teach it to your children. And this is where Python for Kids: A Playful Introduction to Programming by Jason Briggs comes in.
Officially…
Python for Kids is a lighthearted introduction to the Python programming language, full of fun examples and color illustrations. Jason Briggs begins with the basics of how to install Python and write simple commands. In bite-sized chapters, he explains essential programming concepts. And by the end of the book, kids have built simple games and created cool drawings with Python’s graphics library, Turtle. Each chapter closes with offbeat exercises that challenge the reader to put their newly acquired knowledge to the test.
The first thing that you need to know is this: If your computer has any sort of development environment set up on it, the instructions for installing Python provided in this book may be problematic or at least slightly difficult. I recommend using this book an an installation that is virtualized or simply a different computer than you otherwise develop on, not just so that your kid does not accidentally delete, or worse, alter and publish, your pet projects. Part of the process of modern programming, after all, is learning about the development environment.
There are a handful of good “learn to program in python” books out there and this one is similar; it is hard to know at which point someone using the book will pass from “Oh, I see, that’s easy” to “Huh?” which usually occurs a chapter or two after the person stopped paying attention to details. Python for Kids: A Playful Introduction to Programming does a good job of avoiding this problem by including a complete and rather extensive project, a game called the “Mr Sick Man Game” (which should be read “Mr. Stick-man game” and not “Mr. Stick… Mangame!”) There are plenty of other projects and individual programs that the book guides the reader through prior to the mangum stick opus. The book uses the “Turtle” module, based on LOGO, for much of this work. as well as the tkinter TH GUI toolkit interface. So if you don’t want your children near those modules, look for a different book, just in case you are involved in some sort of emacs-vim style code war.
Python for Kids is not available at this time but will be shipped in December, so this is a viable stocking stuffer option.
ADDDED: Have a look at this post on teaching your kid math using programming, via Python.
A wild GNU was spotted at some sort of event organized by a computer company named “Microsoft” which was launching a new version of its operating system. The GNU, accompanied by some friends carrying literature related to the widely used Unix-like operating system, GNU/Linux, did not cause any damage or harm to the attendees, but is it reported that later in the evening several Windows using people took out their old hardware, the hardware that would no longer run on Windows, and installed the GNU/Linux system so they would have a computer that worked just in case the new “Windows Bites” (funny name) operating system did not function as advertised.
Oh, wait, hold on for a correction… I’ve just been informed that the new operating system is “Windows Ate” not “Windows Bites” … whatever. The real New operating system is GNU.
Photo courtesy of the Free Software Foundation.
Are you interested in software usability and open source? If so, my friend Jim would like your help. He is doing a study of usability in Open Source software. I’ll post his entire request below along with a link to his blog. Also, he’ll probably be doing some other interent based interolocution about this; I’ll pass on to you whatever he passes on to me.
Here’s the thing. Jim has been involved in Open Source software for a long time, and is the creator of FreeDOS, and it doesn’t get much geekier than that. (I think the FreeDOS developers manual may be written in a dialect of Klingon.) What he’s looking for is a good example of Open Source software (any platform, does not have to be Linux) that has a medium amount of complexity that can be served up for analysis of positive and negative (but mainly positive) aspects of usability. I’m going to suggest the following list for consideration:
Open Office Writer
The Gimp
Nautilus
VLC
Shotwell or Digikam
Gedit
Synaptic
an IM client
Gwibber
This list runs from way complex on the top to (probably) way simple at the bottom. I would think that a study needs to be of more than the simplest applications because there won’t be enough to work with. (These are mostly GUI based applications; not sure if Jim is looking for any cli applications. VLC is certainly both.)
Have a look at Jim’s criteria below and make a few suggestions. The list above is just to get the brain juices going.
Here’s Jim’s RFI:
I want to ask for your help in my study.
For my study, I want to do a “deep dive” on usability in open source software. After speaking with several “thought leaders,” my thinking now is that it’s better to do a case study, a usability critical analysis on an open source software program that has good usability. The results will be a discussion about why that program has good usability, and what makes good usability, so that other open source programmers can mimic the good parts.
I’ll also discuss what features are not good usability examples, so programmers can avoid those mistakes. But the focus will be more on the good and less on the bad.
Picking the right open source program is a tricky thing. The ideal program should be not too big (for example, very complex menus can “lose” the audience in the details) but neither should it be too small (a trivial program will not provide as valuable of results). The program should be approachable by general users.
There’s no reason the program needs to be a Linux program. However, I prefer that the case study be of an open source program. Many open source programs also exist for Windows and MacOSX.
The original blog, which you should visit, is HERE.