...making Linux just a little more fun!
Contents: |
Please submit your News Bytes items in plain text; other formats may be rejected without reading. [You have been warned!] A one- or two-paragraph summary plus a URL has a much higher chance of being published than an entire press release. Submit items to bytes@linuxgazette.net. Deividson can also be reached via twitter.
Honeycomb is the new variation of the Android Operating System for tablets, just announced in February and shipping currently on the Motorola Xoom tablet. But a new version of Android will probably be announced at or just before the Google IO conference in May and it is expected some of the new features in Honeycomb will migrate to the standard Android phone distro.
The newest version of the Android smart phone OS, nicknamed Gingerbread, Android 2.3, was announced just before Christmas It features UI improvements, better copy and paste selection, and improved power management. Android 2.3 better supports VOIP and Internet telephoney by including a full SIP protocol stack and integrated call management services so applications can set up outgoing and incoming voice calls. Android 2.3 also adds API support for several new sensor types, including gyroscope, rotation vector, linear acceleration, gravity, and barometer sensors.
Honeycomb was announced in February and is designed for bigger, multi-touch screen and longer user interactions. It features improved 2D and 3D graphics, redesigned widgets, improved applications such as Google Maps that can take advantage of improved hardware and screen size, Honeycomb was pre-announced in January when a marketing video for the tablet OS surfaced on YouTube and referenced Android 3.0: http://www.youtube.com/v/hPUGNCIozp0&hl=en_US
A transition version of Android is expect to bridge the feature gap for rest of 2011.
The developer site developer.android.com lists the Honeycomb features for tablets as being part of the an upcoming Android 3.0 without a release date target: http://developer.android.com/sdk/android-3.0-highlights.html
According to developer.android.com, Android 3.0 will allow users to "... connect full keyboards over either USB or Bluetooth, for a familiar text-input environment. For improved wi-fi connectivity, a new combo scan reduces scan times across bands and filters. New support for Bluetooth tethering means that more types of devices can share the network connection of an Android-powered device."
At Mobile World Congress in Barcelona, Intel made several announcements regarding the MeeGo open source platform and the industry momentum backing both MeeGo and Intel Atom processors.
According to Intel, since MeeGo was introduced one year ago, the open source operating system platform has had multiple code releases. MeeGo has also gained industry momentum with system integrators as well as OEMs and products are shipping today in multiple form factors including netbooks, tablet, set-top-boxes and in-vehicle infotainment systems in cars.
Intel demonstrated a compelling new MeeGo tablet user experience now available through the Intel AppUp Developer Program. Intel also released the MeeGo tablet user experience (UX). It features an intuitive object-oriented interface with panels displaying content and contacts This gives consumers fingertip access to social networks, people, videos and photos.
The Intel AppUpSM developer program is expanding to accept apps for MeeGo-based tablets and netbooks. The program now offers technical resources, tools and incentives for developers to create, distribute and sell MeeGo-based apps. MeeGo apps will also be included in the Intel App Store.
The Document Foundation recently released LibreOffice 3.3, the community version of OpenOffice 3.3, a short time after setting itself up as an alternative to the Oracle-controlled product. This first stable release is available for download.
The next release, version 3.3.1, is expected around Feb. 14, following the FOSDEM conference in Brussels on February 5 and 6, where LibreOffice developers will be presenting their work during a one-day workshop with speeches and hacking sessions coordinated by several members of the project.
In less than four months, the number of developers hacking LibreOffice has grown from less than twenty in late September 2010, to well over one hundred. This has allowed them to release on the aggressive schedule set by the project.
LibreOffice 3.3 is also important for a number of other reasons:
Caolán McNamara from RedHat, one of the developer community leaders, commented, "This is our very first stable release, and therefore we are eager to get user feedback, which will be integrated as soon as possible into the code, with the first enhancements being released in February. Starting from March, we will be moving to a real time-based, predictable, transparent and public release schedule....". The LibreOffice development roadmap is available at http://wiki.documentfoundation.org/ReleasePlan
LibreOffice 3.3 provides all the new features of OpenOffice.org 3.3, such as new custom properties handling; embedding of standard PDF fonts in PDF documents; new Liberation Narrow font; increased document protection in Writer and Calc; auto decimal digits for "General" format in Calc; 1 million rows in a spreadsheet; new options for CSV import in Calc; insert drawing objects in Charts; hierarchical axis labels for Charts; improved slide layout handling in Impress; a new easier-to-use print interface; more options for changing case; and colored sheet tabs in Calc. Several of these new features were contributed by members of the LibreOffice team prior to the formation of The Document Foundation.
LibreOffice 3.3 also brings several new features, including in no particular order: the ability to import and work with SVG files; an easy way to format title pages and their numbering in Writer; a more-helpful Navigator Tool for Writer; improved ergonomics in Calc for sheet and cell management; and Microsoft Works and Lotus Word Pro document import filters. In addition, many great extensions are now bundled, providing PDF import, a slide-show presenter console, a much improved report builder, and more besides. A more-complete and detailed list of all the new features offered by LibreOffice 3.3 is viewable on the following web page: http://www.libreoffice.org/download/new-features-and-fixes/
The home of The Document Foundation is at http://www.documentfoundation.org. The home of LibreOffice is at http://www.libreoffice.org.
Reminiscent of the classic battle of John Henry and the Steam Shovel, the first-ever man vs. machine Jeopardy! competition was aired in February with two matches being held over three consecutive days. And like John Henry, the humans lost.
At a press conference in January, Jeopardy! and IBM revealed the non-profit beneficiaries of the upcoming contest between two of the most celebrated Jeopardy! Champions - Brad Rutter and Ken Jennings - and IBM's "Watson" computing system. Rutter and Jennings planned to donate 50 percent of their winnings to charity, and IBM will donate 100 percent of its winnings to charity.
The grand prize for this competition was be $1 million, with second place earning $300,000, and third place earning $200,000.
Watson, named after IBM founder Thomas J. Watson, was built by a team of IBM scientists who set out to accomplish a grand challenge - build a computing system that rivals a human's ability to answer questions posed in natural language with speed, accuracy and confidence. The Jeopardy! format provides the ultimate challenge because the game's clues involve analyzing subtle meaning, irony, riddles, and other language complexities in which humans excel and computers traditionally do not.
The Jeopardy! game show, winner of 28 Emmy Awards since its debut in 1984, was inducted into the Guinness Book of World Records for the most awards won by a TV Game Show. For more information, please visit http://www.ibmwatson.com.
At the RSA Conference in San Francisco and Mobile World Congress, in Barcelona, in February, Gemalto introduced Protiva Mobile OTP, a convenient, secure and cost-effective new way for businesses and their employees to deploy two-factor authentication, with their mobile phones. The new solution is part of Gemalto's Protiva Strong Authentication family, which encompasses the validation server and a range of Protiva authentication application software and authentication devices.
A One Time Password (OTP) replaces static passwords with strong authentication and provides a convenient additional level of security for transactions and access control.
Protiva Mobile OTP works with the popular handset platforms, including Blackberry, iPhone, and handsets running Java, Windows CE and Brew. Employees simply need to download Gemalto's secure app onto their mobile phone, which is setup to immediately generate and receive OTPs using the phone.
Combining the mobile credential with their username and one-time-password grants employees the appropriate access to company resources such as a VPN, intranet, mail directory, digital signature, mail and Web pages. Protiva Mobile OTP is simple for IT administrators to deploy and provision, and is compatible with the majority of industry-leading IT infrastructure elements.
For more information about Protiva SA Server and solutions, visit http://www.gemalto.com/products/strong_auth_server/.
Share |
Talkback: Discuss this article with The Answer Gang
Howard Dyckoff is a long term IT professional with primary experience at
Fortune 100 and 200 firms. Before his IT career, he worked for Aviation
Week and Space Technology magazine and before that used to edit SkyCom, a
newsletter for astronomers and rocketeers. He hails from the Republic of
Brooklyn [and Polytechnic Institute] and now, after several trips to
Himalayan mountain tops, resides in the SF Bay Area with a large book
collection and several pet rocks.
Howard maintains the Technology-Events blog at
blogspot.com from which he contributes the Events listing for Linux
Gazette. Visit the blog to preview some of the next month's NewsBytes
Events.
"... we'll have 4 weeks to move, beginning early October. We need to get as much gear racked by then as possible, so it can be switched off, the whole rack wheeled to the new server room, plugged in and switched on."
I came out of my reverie and looked up. I found our fortnightly meetings pointless. What had I been thinking? I couldn't remember. It didn't matter.
"What kind of downtime are we advertising?" I asked.
"None during business hours," replied Chairman John. "If we have networking done, we can wheel over racks out of hours."
Damn. I should have been paying attention. I'd asked the wrong question.
I decided to try again.
"Shouldn't we advertise greater vulnerability at this time? Things can go wrong with moving racks, especially old hardware, e.g. unix33. What happens if something slips and a rack falls over? If you over-promise and under-deliver, you'll be unpopular."
Unsurprisingly, Chairman John latched onto the improbability of a rack falling over, completely missing the point that what characterises unforeseen setbacks is that they are, um, unforeseen.
A few others also expressed the sentiment that I was being overly pessimistic. I felt like Cassandra.
"I just think we should hope for the best, but prepare for the worst," I ventured.
Believing that he sensed the mood of the meeting, Chairman John summarised, "Anyway, there won't be any problems because...", he paused for effect, "... it is mandated that there will be no interruption to computer service during business hours."
He looked at me with satisfaction. He had played his trump card!
I was left speechless. Later, reviewing this part of the meeting, I realised what I should have come back with: "In the end, crossing one's fingers is not really the best risk-management strategy."
The meeting continued. Later the discussion turned to ELVIS, our very large (expandable to a petabyte, maybe more) disk storage.
Chairman John announced, "HP tech is due today to rebuild ELVIS with the very latest OS. This new OS still won't handle CIFS and NFS simultaneously."
Here's the deal. Chairman John has bought two ELVISes from HP, one for us and one for our remote satellite site. Originally, the technology was developed by IBRIX, which has since been acquired by HP. In essence, it's a NAS.
But there seems to have been a slip between the cup and the lip.
As I understand it, it can export NFS; it can export CIFS. But it seems that it can't export both at the same time: there's some sort of locking problem. HP can't guarantee that there won't be corruption.
Why am I using such vague terminology? Well, I have discovered in the last few months that some people can have a Microsoft effect on me. OK, one particular person. I've discussed this with my colleagues. They agree that whenever there's a meeting with Chairman John, a fog of stupidity envelopes the room, reducing all participants to the IQ of cattle.
But I still didn't get it. "Why do they need to rebuild from scratch for an upgrade?"
"Because I told them they could. Did you have any data that you needed on the disk?"
It's a bit late to be asking me that now. Shouldn't he have asked me before he gave permission to erase the data?
And why hasn't he answered my question?
I expressed my misgivings that if every upgrade of the ELVIS OS required a complete wipe of the disk and a rebuild, then what do we do after ELVIS is populated with data?
Chairman John stated categorically that this would not be the case, that in the future, upgrades would take place over the existing data.
Um, and he knows that how?
Here is a piece of technology that is touted as the wave of the future. But, let's just examine the proposition.
First of all, we already have this technology, the aging unix33 mentioned before. This is our file server. It only has about 30 or 40 terabytes, but it works. It's a Sun-Fire-V245 running Solaris 10. It serves all those terabytes as NFS, Samba (SMB) and AppleTalk - concurrently. In our organisation, it serves to all the Unix and Linux machines as well as all the PCs and Macs.
Its only problem is that it lacks grunt.
But the technology to serve NFS and Samba (or CIFS) is not rocket science. Crumbs, I do it on my desktop at home. I have never for an instant had a concern that there could be locking problems.
Why wouldn't HP simply use CentOS?
Why did Chairman John allow himself to purchase technology that did not work when, demonstrably, he can get technology that does work? I say again, this is not rocket science.
Most people in their domestic management have to deal with electricians and plumbers - and car salesmen. Most people don't know an awful lot about electricity or plumbing - and most women know very little about the technology behind automobiles. What colours does it come in? And yet, usually, they are able to make competent decisions about which plumber or electrician to engage. With car salesmen, it's not possible to deal with a good one. But most of us seem to know how to negotiate a reasonable deal. But when it comes to computers, most people seem to turn their brains off. The salesman only needs to start talking technicalities (megabytes or megaherz, gigabytes or gigabits) and purchasers forget the fundamentals of purchasing, and behave absurdly. "He said I needed to spend at least $5000 to get decent performance." But all you do is use Hotmail!
I could, perhaps, consider the way most people behave excusable. But the head of IT?
The rest of the department is fine; a nice blend of computer professionals with various skills. But whenever I think of Chairman John in relation to the department, I think of the mother as the troops march past. "Look! Here they come. And my son is the only one in step!"
Share |
Talkback: Discuss this article with The Answer Gang
Henry has spent his days working with computers, mostly for computer manufacturers or software developers. His early computer experience includes relics such as punch cards, paper tape and mag tape. It is his darkest secret that he has been paid to do the sorts of things he would have paid money to be allowed to do. Just don't tell any of his employers.
He has used Linux as his personal home desktop since the family got its first PC in 1996. Back then, when the family shared the one PC, it was a dual-boot Windows/Slackware setup. Now that each member has his/her own computer, Henry somehow survives in a purely Linux world.
He lives in a suburb of Melbourne, Australia.
I began this series with HAL: Part 1 Preliminaries. I plan to discuss scripts and functions in other articles.
If you downloaded my HAL from the the first of these articles, you will be drowned in 171 aliases, many of them obsolete and long-forgotten. I'm a hoarder: you never know when something might come in handy.
Of those 171 aliases, you can discard anything with "cd " in it. I no longer cd to anywhere (well, almost never). That gets rid of 30 aliases.
I will mention this one however:
alias a='cd'
This exemplifies the point of HAL. I'd forgotten that it was there. I can no longer remember when I created it; I can confirm that it existed by November 1993 (because I use RCS).
On Prime computers, we "attached" to a directory. The command could be abbreviated to "a". When I joined Optimation, the company's main environment was Prime. Some form of *n*x did not come until later in the form of SunOS. This was one of the aliases which facilitated the transition from Prime to SunOS, and enabled me to switch back and forth seamlessly.
It became superfluous when I discovered pushd (also before November 1993), aliased it to its first letter, and began using it in preference to cd.
Aliases in this category include
alias del='rm' alias dir='ls -la'
In all these cases, the alias acted like scaffolding. As I grew more comfortable with my new environment, I gradually discarded these props.
* * * * * * * * * * * * *
Before proceeding, I will make one prefatory remark about aliases. I have a function (dating back perhaps to Mar 1991) called "alias" which is defined in $HOME/bash/csh-compat. Normally, you have to write
alias name=value
My function allows me to write
alias name value
This is why in $HOME/.ENV./.cshrc_bash you will see all the aliases defined without the use of an equal sign (=).
I started using c-shell before I discovered bash (which originated about 1989). In c-shell, the syntax for aliases does not use an equal sign:
alias name wordlist
My function facilitated the transition from c-shell to bash.
* * * * * * * * * * * * *
alias cad='cat > /dev/null'
cad is a great alias. It's actually a lot more than an alias. I usually have at least one xterm with "cad" in the title bar. The xterm icon is placed near the top-right of my screen next to the clock in the corner. As soon as I launch this xterm, I enter the cad alias and just leave the window waiting.
I use it as a general purpose scratch pad or clipboard. If I want to remember something for a little while, I paste it there.
Sometimes I want to select several fields from, say, a browser window and paste it somewhere else, maybe another browser window. It is often more convenient to have the first browser window and the cad window open side by side and copy and paste from the first browser window into the cad window; and then bring up the destination window and copy and paste in the other direction.
This is extremely comfortable in my environment: I have focus-follows-mouse so I don't have to click to change windows; the window which has the focus does not have to be on top; the act of selecting causes the selection to be copied (no Ctrl-C is necessary); pasting is simply Middle-Click (no Ctrl-V is necessary). So, it's just swipe, move mouse, click, move back; swipe, move mouse, click, move back.
I use the cad window hundreds of times a day. It means I do very little typing. This is a good thing because I live in a command-line world and I am not a great typist. Yes, I'm lazy; no question. But, more importantly, copy-and-paste improves accuracy. Computers are more pedantic than humans; you can't get away with, "You know what I mean." And they're unforgiving. Better to avoid errors - especially when it can be done conveniently.
Finally, I sometimes use the cad alias in any window to temporarily store text. It's hard to think of a reason off the top of my head; but when the tool is there, it often finds a use.
* * * * * * * * * * * * *
alias acroread='acroread -geometry 800x898+152-0'
This is an example of an inadvertent alias. The way I have defined it, my usual invocation of acroread will invoke the alias. I'd have to do something special to not invoke the alias.
I don't recall why I defined this alias. My best guess is that I was annoyed with the defaults offered by acroread. I probably fooled around with different settings before settling on these. I can only say that it must be doing something right, because I cannot recall being annoyed with the acroread window when it pops up.
Of course, it's always possible that this alias has outlived its usefulness; that acroread now behaves differently. After all, I've had this alias for over 10 years.
* * * * * * * * * * * * *
alias cp='cp -ip'
Another inadvertent alias. The "p" option preserves inode information (date, permissions, ownership). The "i" option prevents me from inadvertently overwriting a file.
In addition to the "i" option, I also use bash's noclobber option so that output redirection (>) cannot overwrite an existing file.
I rely on the dates in the inode. If I copy a file, I haven't changed its contents. I want the default date to reflect that fact. The "c" date (ls -ltc) will indicate when I copied the file; the "t" date (ls -lt) will reflect the date the contents last changed.
Also alias mv='mv -i'
* * * * * * * * * * * * *
alias ed='emacs -nw --basic-display --unibyte'
One of my core aliases. Fits into almost all categories. I think "ed" was the name of the editor on Prime. Further, this alias helps protect me from GNU. (Almost) every new rev of emacs comes out with some incompatibility with a previous rev of emacs. In my view, FSF has an awful lot to answer for. I won't repeat myself: see Ten Things I Dislike About Linux.
My most recent change comment:
# 15 Jan 2010 Don't let emacs colourise.
* * * * * * * * * * * * *
alias gcat='gunzip -vdc' alias gunzip='gzip -vd'
Just for convenience. I prefer "gcat" to "gzcat".
* * * * * * * * * * * * *
alias h='history'
Saves so much typing when referring to bash's history.
* * * * * * * * * * * * *
alias hmg='more /home/henryg/hmg/help'
Long forgotten. I'm guessing that, once upon a time, I had a single help file! Wow! What a discovery! Sometimes this archaeology pays dividends. This is where it all began. Look at the first line:
help - a file to help me with things I forget
There is also help2 through help5. Waddya know?
* * * * * * * * * * * * *
alias lok='sleep 1;xset s activate'
I've acquired the habit of using this whenever I leave my computer. It blanks the screen.
* * * * * * * * * * * * *
alias mph='less /home/henryg/hmg/phone'
I use this to look up my personal phone directory. It has other information, not just phone numbers.
* * * * * * * * * * * * *
alias psa='/bin/ps auxw'
Apart from its obvious purpose, this is a different sort of alias. It is not defined in $HOME/.ENV./.cshrc_bash, but rather in $HOME/.ENV./.shells_rc.* where the asterisk represents one of the possible platforms I've worked on - because the ps command is rarely the same on any two platforms. So far I have these platforms: AIX, HP-UX, Linux, SCO_SV, SunOS4, SunOS5.
Ben has reminded me that I also ought to have
alias psag 'psa | grep -v grep | grep'
And now I have!
* * * * * * * * * * * * *
alias rlok='rlog -R -L RCS/*,v' alias rloka='rlog -R -L RCS/*,v RCS/.*,v'
Answers the question, "Which files in RCS are locked?"
* * * * * * * * * * * * *
alias rs='rsync -urlptog'
should be
alias rs='rsync -urlptogH'
The essential rsync options.
* * * * * * * * * * * * *
For FreeBSD only:
alias seq='gseq'
On Linux it's called seq; on FreeBSD gseq.
* * * * * * * * * * * * *
alias su='BSD_su'
su is one of the most idiosyncratic commands - a bit like the ps command (above). Because I'm human and inconsistent (perhaps because the alias goes back further), this gets defined in ~/.bashrc - unlike ps.
* * * * * * * * * * * * *
alias w='(pwd; /bin/pwd ) | uniq'
Bash's notion of where you are sometimes differs from where you really are if there are symlinks involved. If the two pwds agree, only one entry is printed. The use of "w" for "where am I?" comes from DEC or Prime.
I've just discovered that I have defined this twice - and inconsistently. Here's why:
# Henry Grebler 31 Jul 96 bash (and only bash) sometimes has a different # answer for pwd. Print both if different.
The file .cshrc_bash is intended to be shared between csh and bash.
I have just changed this alias to
alias w '(pwd; /bin/pwd ) | uniq; df -h | tail -1'
I often also want to know whether I'm on a local disk or not.
* * * * * * * * * * * * *
alias xd "date '+%a %d %b %Y %H:%M:%S %z %Z';\ date '+%A %d %B %Y %H:%M:%S %z %Z';\ date '+%a %e %b %Y %H:%M:%S %z %Z';\ date '+%A %e %B %Y %H:%M:%S %z %Z';\ date '+%Y%b%d.%H:%M:%S'; date '+%d %b %y'"
This looks meaningless until you see its output:
Tue 08 Feb 2011 10:47:00 +1100 EST Tuesday 08 February 2011 10:47:00 +1100 EST Tue 8 Feb 2011 10:47:00 +1100 EST Tuesday 8 February 2011 10:47:00 +1100 EST 2011Feb08.10:47:00 08 Feb 11
In my opinion, there is no more useless date format than the default for Linux:
date Tue Feb 8 10:47:32 EST 2011
Who uses this format? Why?
In this alias I have a template for every form of the date I'm ever likely to want: both full and abbreviated day and month name; day of month with leading space and leading zero. The second last form is for appending to filenames, e.g.
cp /var/log/xxx /var/log/xxx.2011Feb08
The last form is for change log entries at the head of shell scripts and C code:
# 12 Nov 01 Henry Grebler First cut. sh 12 Nov 99 Henry Grebler Start of initial coding. c
But I'm starting to prefer 4 digits for the year to avoid any possibility of ambiguity:
# 12 Nov 2011 Henry Grebler First cut.
* * * * * * * * * * * * *
Arguably, these are unnecessary: I could simply use a symlink.
I will discuss the shell scripts in another article.
I have written these in the form they appear in $HOME/.ENV./.cshrc_bash because then they retain environment variables.
alias cleanup $HOME/scripts/cleanup.sh alias diff $HOME/scripts/diff.sh alias lns '$HOME/scripts/lns.sh' sol='/home/henryg/scripts/sol.sh' alias tcg='/home/henryg/scripts/tarcompressuuencode.sh +u -g' alias tcu='/home/henryg/scripts/tarcompressuuencode.sh' alias uue='/home/henryg/scripts/uuencode.sh' alias uut='/home/henryg/scripts/uudecodeuncompresstar.sh' alias x='/home/henryg/scripts/expr.sh' alias xr='/home/henryg/scripts/xrenamewindow.sh' alias xt='/home/henryg/scripts/xterm.sh'
I've tried to restrict myself to aliases which are in some way instructive.
If anyone is interested in any of this, I have a recommendation. Don't try to expand your repetoire with too many aliases (or anything else) at one time. It can be extremely difficult, and the exercise may end in disappointment.
The aliases can be categorised. Clearly, many are obsolete, as this waltz down memory lane has revealed. They may have been very important for a while, then fell into disuse.
But that is true for many things in life. At home, we have many Thomas the Tank Engine videos. There was a time when my younger son watched them constantly. Now, at 22, not so much.
On the other hand, some become more important, give rise to variations which sometimes outgrow the capabilities of aliases. They become functions or shell scripts.
Sometimes, I create an alias and soon after wonder how I ever got by without it.
I've shown (What Really Matters or The Counting Article) that I almost cannot live without 2 of them, 'p' and 'bdx'. Some are not quite as essential, but are still used frequently:
cad cp mv ed h lok mph psa rs su w xd
Some are only invoked occasionally.
The last category is aliases which invoke scripts. I will discuss these in an article about scripts.
Share |
Talkback: Discuss this article with The Answer Gang
Henry has spent his days working with computers, mostly for computer manufacturers or software developers. His early computer experience includes relics such as punch cards, paper tape and mag tape. It is his darkest secret that he has been paid to do the sorts of things he would have paid money to be allowed to do. Just don't tell any of his employers.
He has used Linux as his personal home desktop since the family got its first PC in 1996. Back then, when the family shared the one PC, it was a dual-boot Windows/Slackware setup. Now that each member has his/her own computer, Henry somehow survives in a purely Linux world.
He lives in a suburb of Melbourne, Australia.
By Ben Okopnik
SBSS.RVW 20110228 ================ %A David Erik Nelson %C San Francisco CA USA %D 2011 %G 978-1-59327-259-3 %I No Starch Press, Inc %O http://nostarch.com/snipburn.htm %P 337 pages %T "Snip, burn, solder, shred: seriously geeky stuff to make with your kids"
First things first: this book is not about Linux. What it is about, however, is the thing that for me is indistinguishable from Linux: a spirit of exploration, of curiosity, of getting your hands into an interesting, fascinatingly-complicated Thing and making it work - even if you have to assemble it piece by piece. This book is a terrific catalyst for igniting the imagination - and not only in kids, but in any adult with even a bit of curiosity.
The thing that I found instantly appealing about it is the absence of what I call "assumed stupidity" on the part of the reader. The Do-It-Yourself (DIY) air throughout the book, the underlying assumption of intelligence, caution, and ability in the reader is refreshing. Sure, there are plenty of warnings about the various dangerous bits you're going to deal with - and it says quite a lot for the author that even these are interesting to read! - but... one of the projects is a "Ticklebox", a way to zap yourself and your friends with a little jolt of electricity, while another is a Marshmallow Gun, which drives its soft, fluffy projectile with (I kid you not) breath spray exploded by the flash circuitry from a disposable camera.
(If you're anything like me, the last sentence will have you running out the door and to your nearest book store to grab this book RIGHT NOW. Go ahead; I'll wait.)
The project list veers wildly, from an squid sock puppet to an electric guitar that you can build for $10; in fact, most of these projects can be built very cheaply, and the pages are packed with suggestions on using scraps of this, bits of that, and cheap but strong goop to secure it all inside an empty cigar box or maybe an empty can with its ends cut out. The required factor here is a will to tinker and explore, not a pocket full of cash.
And since you're off and building that guitar, you might as well build an amp and a stomp box, too - oh, did I mention that this book gives you a mini-education in practical electronics just so you can complete these projects? Perfect example of the author's DIY mindset - and as a life-long teacher as well as an electronics engineer, I admit to being quite impressed by it. Very well done, and bursting at the seams with even more "curiosity bait"; anyone who gets hooked on playing with soldering irons and electronic components is left with lots of info resources which they can use to expand their new-found skill.
All in all, I'm very pleasantly impressed by this book - and I am usually not the kindest of reviewers. If I have any complaint to make, it is that the author sometimes forgets that the readers don't have access to all the info in his head: the section on musical instruments, for example, has very little info on actually using them - you're more or less expected to know all that stuff. To be fair, this is a very common and completely natural failing: we're not always aware of everything we know as a learned skill, because after a while it becomes "just the way the world is". But then, if you're interested in music, this becomes just another avenue of learning and exploration...
Contents:
Introduction PART 1 KID STUFF Project 1: Lock-n-Latch Treasure Chest Project 2: Switchbox Project 3: The Sock Squid Project 4: The PVC Teepee Project 5: Cheap Mesh Screen Printing Project 6: Shut-the-Box Project 7: The Ticklebox Project 8: Small-board Go/Tafl PART 2 THE ELECTRO-SKIFFLE BAND Project 9: X-Ray Talking Drums Project 10: Thunderdrums Project 11: Didgeridoo Project 12: Amplifier Project 13: The $10 Electric Guitar Project 14: Tremolo Project 15: Reverb Project 16: Fuzztone Project 17: Cigar-Box Synthesizer PART 3 LOCOMOTIVATED Project 18: Boomerang Project 19: Pop Can Flier Project 20: Water Rockets Project 21: Steamboat Project 22: Jitterbug Project 23: FedEx Kites Project 24: Marshmallow Muzzloader Appendix: Electronics and Soldering Index
Share |
Talkback: Discuss this article with The Answer Gang
Ben is the Editor-in-Chief for Linux Gazette and a member of The Answer Gang.
Ben was born in Moscow, Russia in 1962. He became interested in electricity at the tender age of six, promptly demonstrated it by sticking a fork into a socket and starting a fire, and has been falling down technological mineshafts ever since. He has been working with computers since the Elder Days, when they had to be built by soldering parts onto printed circuit boards and programs had to fit into 4k of memory (the recurring nightmares have almost faded, actually.)
His subsequent experiences include creating software in more than two dozen languages, network and database maintenance during the approach of a hurricane, writing articles for publications ranging from sailing magazines to technological journals, and teaching on a variety of topics ranging from Soviet weaponry and IBM hardware repair to Solaris and Linux administration, engineering, and programming. He also has the distinction of setting up the first Linux-based public access network in St. Georges, Bermuda as well as one of the first large-scale Linux-based mail servers in St. Thomas, USVI.
After a seven-year Atlantic/Caribbean cruise under sail and passages up and
down the East coast of the US, he is currently anchored in northern
Florida. His consulting business presents him with a variety of challenges,
and his second brain Palm Pilot is crammed full of alarms,
many of which contain exclamation points.
He has been working with Linux since 1997, and credits it with his complete loss of interest in waging nuclear warfare on parts of the Pacific Northwest.
By Anderson Silva and Matt Woodson
Last month, Matt and I decided to share with you why zsh is worth a try. Matt shared his .zshrc in the article, and we started to walk you through a few of the ‘goodies’ available under zsh. We concluded the first part of this zsh series by promising you we would tackle a few more zsh features this month. Well, here they are:
In bash, mistype vim and you will likely get the infamous: “command not found” message on your terminal. In zsh:
$ ivm
zsh: correct 'ivm' to 'vim' [nyae]?
To turn on this feature add: setopt CORRECT to your .zshrc
If you feel really lucky, you can tell zsh to try to correct your mispellings even in the argument list by using: setopt CORRECT_ALL.
Do you find ‘find’ (no pun intended) a bit too cumbersome to use? Don’t get me wrong, I love the find command, but zsh gobbling makes some forms of the find command look a bit ugly.
Here’s a few examples:
1. Find all executable files by owner under current directory and sub-directories:
With find:
$ find . -perm -u+x -type -f
With zsh:
$ ls -s **/*(.x)
2. Find files that are larger than 100MB in size under current directory and sub-directories:
With find:
$ find . -type f -size 10M
With zsh:
$ ls **/*(.Lm+100)
3. List all non jpg files under directory and sub-directories:
With zsh:
$ ls **/^*.jpg
You can turn on extended globbing on your .zshrc by adding:
setopt extendedglob
If you would like to see all the globbing options for ls zsh support enter:
$ ls *(<tab> completing glob qualifier % -- device files ) -- end of qualifiers * -- executable plain files + -- + command name - -- follow symlinks toggle . -- plain files / -- directories : -- modifier = -- sockets @ -- symbolic links ...
zsh has many different types of aliases, including regular, suffix, and global.
Regular aliases are treated the same as in bash. These alias need to be run in the command position (first thing typed) on the terminal. e.g:
alias ll=’ls -la’
Suffix aliases execute a command based on a file’s extension. Suffix aliases are used with the alias -s command. Here’s my favorite feature of aliases in zsh. By adding this line:
alias -s html=vim
when you enter a file name with the .html extension, something like:
$ index.html
zsh will automatically invoke vim to open up that file.
Global aliases can be used anywhere in the command line, not just the command position. This is best seen by example. The global alias defined:
alias -g G=’|grep ‘'
This would be invoked like this:
$ cat /var/log/messages G ERROR
This will put it in the pipe with the grep command.
Given the following shell script:
(( X = 5.0 + 0.5 )) (( Y = 33.0 / 9.0 )) echo $X echo $Y
Output:
5.5000000000 3.6666666667
Many times in bash I have needed to do floating point math calculations for a variety of reasons. Now, with zsh, you don’t need to invoke external programs like bc or perl just to do a floating point math calculation.
If you ever used git, you probably have checked a branch, and then forgot what branch you were in, and ran: git branch -a to locate yourself within the repo. In zsh, a person can set up their prompt so it will display all the relevant information needed while navigating some of the most populate version control systems out there.
The following needs to happen to get your VCS information displayed:
1. Load the vcs_info module into zsh. You can achieve this by adding the following to your .zshrc:
autoload -Uz vcs_info
2. Set the zstyles for the vcs_info. Here, you will be able to tell what type of VCS it should detect, and how it should behave. For a more in depth look at zstyles for vcs_info check out the zsh manual page.
zstyle ':vcs_info:*' enable git cvs svn
If you take a look at Matt’s zshrc file from last month, you will see a few other zstyles configured to manage color and behavior of the vcs_info function.
3. Call vcs_info function before each prompt. This will be accomplished by a really interesting zsh function called precmd(), which will discuss on part three of the zsh series.
precmd() {
vcs_info ‘prompt’ }
4. Set the PROMPT variable with vcs_info_msg_0_ variable. In zsh, PROMPT is the same as PS1.
PROMPT='${vcs_info_msg_0_}%B%F{blue}]─> %f%b’'
In this screenshot, my prompt tells me what vcs I am using, git, in which branch of the repository I have currently checked out, master, and in what stage of the commit is currently being displayed. The yellow asterisk ‘*’, means I have modified a file.
The yellow plus ‘+’, means I have added the file, but still need to commit it.
Ok, I made up the name ‘Vertical Argument History’, but bear with me. Do you know how in bash (and zsh), while on the command line one can use the up and down keys to move through the shell history?
In bash, you may be familiar with Alt-., which takes you to the last argument of the previous entry from your history. Well, in zsh, one can use: Alt-/ (slash) and Alt-, (comma) to move through the argument history of your shell history... Get it? Check this out:
$ touch 1 2 3 4 5 1 2 3 4 5 $ cp <Alt-Slash> /tmp
The above command with the Alt-/ shortcut will generate:
$ cp 5 /tmp/
Hit Alt-/ twice, instead of once and it will execute:
$ cp 4 /tmp/
As you hit Alt-/ and go through the list of previous arguments, you can use Alt-, to go back through the arguments.
I don’t claim to be a zsh expert, and
during the past few weeks, I have been picking Matt’s brain every time I
have a question about it, and every time he figures out a new feature he is
kind enough to share with me. Hopefully, the above has given you a few more
reasons to give zsh a try, and we look forward to finishing up the zsh series
next month when we will write about the precmd() and preexec() functions in zsh
and give you an example or two of how to use it.
Share |
Talkback: Discuss this article with The Answer Gang
Anderson Silva works as an IT Release Engineer at Red Hat, Inc. He holds a BS in Computer Science from Liberty University, a MS in Information Systems from the University of Maine. He is a Red Hat Certified Architect and has authored several Linux based articles for publications like: Linux Gazette, Revista do Linux, and Red Hat Magazine. Anderson has been married to his High School sweetheart, Joanna (who helps him edit his articles before submission), for 11 years, and has 3 kids. When he is not working or writing, he enjoys photography, spending time with his family, road cycling, watching Formula 1 and Indycar races, and taking his boys karting,
Matt Woodson works as an IT Software Enginner at Red Hat, Inc. Matt has been involved with many different postitions at multiple Linux companies including Red Hat, Novell, and Caldera. He has done jobs that range from systems administration, networking, to quality engineering. He is a Red Hat Certified Engineer, who spent time teaching RHCE classes in all parts of the country. Matt, and his wife Mariah, of 3 years, are expecting their first daughter in Feb 2011.
Earlier this month, ICANN announced that it had assigned the last remaining blocks of IPv4 available under its control. Essentially, this means that for regions without free addresses, it will no longer be possible to get new devices to directly connect to the Internet.
With that in mind, I decided to learn a bit more about IPv6, and to try to get a Linux server working with an IPv6 address. In this article, I am not going to go over the basics of IPv6 and how it compares to IPv4. You can read all about that on Wikipedia. I also don’t claim to be an IPv6 expert or a networking expert. In fact, part of this article is based on IPV6 Go6 Mini-HowTo from 2008. I basically used it to set up my own host, but had to do quite a few modifications for it to work in 2011. I will show you how to set up a linux box to connect the Internet using IPv6 using the gogo client from Freenet6.net. I will also show you how to set up lighttpd to serve pages on IPv6, and a few other IPv6 related tools.
Before we start, let me give you everything I needed to get up and running:
Check for the ipv6 kernel module:
$ /sbin/lsmod | grep ipv6 ipv6 222188 xxxxx
Check for ifconfig output:
$ /sbin/ifconfig | grep inet6 inet6 addr: fe80::4240:6fff:fef7:334a/64 Scope:Link
If neither of the above commands return the desirable output then check your /etc/modprobe.d/blacklist and make sure ipv6 isn’t being blacklisted. If it is, comment it out and load the module:
$ /sbin/modprobe ipv6
Download the client:
$ wget http://gogo6.com/downloads/gogoc-1_2-RELEASE.tar.gz
Install the router advertisement daemon for IPv6:
$ yum install radvd
Enable IPv6 forwarding kernel parameter:
$ echo “net.ipv6.conf.default.forwarding=1” >> /etc/sysctl.conf $ sysctl -p
Install necessary packages to compile package:
$ yum install gcc gcc-c++ openssl-devel $ make
Untar, compile and install package:
$ tar -zxvf gogoc-1_2-RELEASE.tar.gz $ cd gogoc-1_2-RELEASE $ make target=linux install installdir=/usr/local/gogoc
Configure gogoc:
$ cd /usr/local/gogoc $ mkdir etc logs $ mv bin/gogoc.conf* etc
Edit gogoc.conf and change the following parameters:
userid=<enter the id you created with freenet6 passwd=<chosen password> server=broker.freenet6.net auth_method=any host_type=router if_prefix=eth0 # or whatever device you are going to connect to the Internet with log_file=2 log_filename=/usr/local/gogoc/logs/gogoc.log
Set up a service script, source of script: https://github.com/afsilva/config-files/raw/master/gogoc
$ cd /etc/init.d $ wget https://github.com/afsilva/config-files/raw/master/gogoc $ chmod 755 gogoc $ chkconfig --add gogoc $ chkconfig --list gogoc
At this point you should be able to connect to freenet6:
$ service gogoc start
Testing connection:
$ ping6 -n ipv6.google.com PING ipv6.google.com(2001:4860:b007::67) 56 data bytes 64 bytes from 2001:4860:b007::67: icmp_seq=0 ttl=53 time=274 ms 64 bytes from 2001:4860:b007::67: icmp_seq=1 ttl=53 time=274 ms
Finding out your IPv6 address:
$ /sbin/ifconfig | grep Global inet6 addr: 2001:5c0:1400:b::9e55/128 Scope:Global
You can also install elinks, and go to http://www.whatismyipv6.net
Note 1: radvd is used by the gogoc service script; do not try to start it manually or tell it to start at boot time.
Note 2: The first time I tried to do this, connecting to broker.freenet6.net timed out. I tried two or three more times and then it eventually started working.
Note 3: Be mindful of the logs; if you have any issues, looking at the logs will most likely help.
Note 4: Also be aware that any iptables rules you may have on your system are probably set for IPv4. To set up your IPv6 iptables you must install, configure and run: iptables-ipv6.
Add the following to your /etc/lighttpd config:
$SERVER["socket"] == "[YOUR_IPv6_ADDRESS]:80" { accesslog.filename = "/var/log/lighttpd/ipv6.access.log" server.document-root = "/var/www/html6/" }
Note: Replace YOUR_IPv6_ADDRESS with the IPv6 assigned to you by gogoc.
Make sure you create the /var/www/html6/ directory (or whatever other directory you want your document-root to be) and place an index.html in there.
Restart lighttpd:
$ service lighttpd restart
And you should be good to go. To test via command line with links:
$ links http6://YOUR_IPv6_ADDRESS/
Or on your firefox, if you have an IPv6 provider, use the following (don’t forget the brackets):
http://[YOUR_IPv6_ADDRESS]/
Finally, if you want to have your IPv6 address on your DNS server, add the following to your domain’s zone file:
some_subdomain IN AAAA YOUR_IPv6_ADDRESS
Don’t forget to update your zone file’s serial number and restart named service.
You should now be able to access your IPv6 web server via a browser with the address: http://some_subdomain.yourdomain.com
Share |
Talkback: Discuss this article with The Answer Gang
Anderson Silva works as an IT Release Engineer at Red Hat, Inc. He holds a BS in Computer Science from Liberty University, a MS in Information Systems from the University of Maine. He is a Red Hat Certified Architect and has authored several Linux based articles for publications like: Linux Gazette, Revista do Linux, and Red Hat Magazine. Anderson has been married to his High School sweetheart, Joanna (who helps him edit his articles before submission), for 11 years, and has 3 kids. When he is not working or writing, he enjoys photography, spending time with his family, road cycling, watching Formula 1 and Indycar races, and taking his boys karting,
These images are scaled down to minimize horizontal scrolling.
Flash problems?All HelpDex cartoons are at Shane's web site, www.shanecollinge.com.
Talkback: Discuss this article with The Answer Gang
Part computer programmer, part cartoonist, part Mars Bar. At night, he runs
around in his brightly-coloured underwear fighting criminals. During the
day... well, he just runs around in his brightly-coloured underwear. He
eats when he's hungry and sleeps when he's sleepy.
More XKCD cartoons can be found here.
Talkback: Discuss this article with The Answer Gang
I'm just this guy, you know? I'm a CNU graduate with a degree in physics. Before starting xkcd, I worked on robots at NASA's Langley Research Center in Virginia. As of June 2007 I live in Massachusetts. In my spare time I climb things, open strange doors, and go to goth clubs dressed as a frat guy so I can stand around and look terribly uncomfortable. At frat parties I do the same thing, but the other way around.
These images are scaled down to minimize horizontal scrolling.
All "Doomed to Obscurity" cartoons are at Pete Trbovich's site, http://penguinpetes.com/Doomed_to_Obscurity/.
Talkback: Discuss this article with The Answer Gang
Born September 22, 1969, in Gardena, California, "Penguin" Pete Trbovich today resides in Iowa with his wife and children. Having worked various jobs in engineering-related fields, he has since "retired" from corporate life to start his second career. Currently he works as a freelance writer, graphics artist, and coder over the Internet. He describes this work as, "I sit at home and type, and checks mysteriously arrive in the mail."
He discovered Linux in 1998 - his first distro was Red Hat 5.0 - and has had very little time for other operating systems since. Starting out with his freelance business, he toyed with other blogs and websites until finally getting his own domain penguinpetes.com started in March of 2006, with a blog whose first post stated his motto: "If it isn't fun for me to write, it won't be fun to read."
The webcomic Doomed to Obscurity was launched New Year's Day, 2009, as a "New Year's surprise". He has since rigorously stuck to a posting schedule of "every odd-numbered calendar day", which allows him to keep a steady pace without tiring. The tagline for the webcomic states that it "gives the geek culture just what it deserves." But is it skewering everybody but the geek culture, or lampooning geek culture itself, or doing both by turns?
By Ben Okopnik
"Foolish Things" is a now-and-again compilation we run based on our readers' input; once we have several of these stories assembled in one place, we get to share them with all of you. If you enjoy reading these cautionary tales of woe, proud stories of triumph, and just plain weird and fun things that happen between humans and silicon, that's great; if you have some to share so that others may enjoy them, even better. Please send them to .
[ You can even tell us that it happened to A Friend of Yours, and we'll believe you. ]
-- Ben
Marcello Romani
I had a horror story similar to Ben's, about two years ago. I backed up a PC and reinstalled the OS with the backup usb disk still attached. The OS I was reinstalling was a version of Windows (2000 or XP, I don't remember right now). When the partition creation screen appeared, the list items looked a bit different from what I was expecting, but as soon as I realized why, my fingers had already pressed the keys, deleting the existing partitions and creating a new ntfs one. Luckily, I stopped just before the "quick format" command...
Searching the 'net for data recovery software, I came across TestDisk, which is targeted at partition table recovery. I was lucky enough to have wiped out only that portion of the usb disk, so in less than an hour I was able to regain access to the all of my data.
Since then I always "safely remove" usb disks from the machine before doing anything potentially dangerous, and check "fdisk -l" at least three times before deciding that the arguments to "dd" are written correctly...
Derek Robertson
I'd just started as a trainee computer operator in a datacentre which housed an IBM 370/158 mainframe. It was a weekday with lots of users grabbing a piece of the 1 megabyte of main memory our state of the art machine had installed. The shift leader was showing me the basics and had the panels open on the mainframe. He was telling me what would happen if the CPU overheated. Pointing to one of the switches he said "Yeah - the switch will move over like so..." making a swift lateral movement of his hand - neatly hitting the switch so flicking it over. It went awfully quiet and seconds later the helpdesk switchboard lit up like a christmas tree...."Ah for pete's sake" was his approximate response.
Derek Robertson
Another tale came from one of our programmers who was in the business at the time PC's ran off floppies - a 5 meg winchester costing the earth. He had installed some financial package onto the PC of a clerk who was instructed to take a copy of the data floppy every week, keeping 4 weeks worth of data. One day the main floppy went belly up and our programmer went to the clerk to ask for the backup floppies to do a restore with. She pulled open her drawer and handed him a neatly clipped sheaf of 4 pages of A4 paper. It turned out that "taking a copy of a floppy" can have a different meaning to some people when you have a photocopier handy!
[ Just to back up Derek's story, I've seen this happen - in no less than three different places. Working tech support and field service back in the late 80s, before computers became common home furnishings, certainly had its moments... -- Ben ]
Last but not least this was a joke, that who knows, has probably happened. A user rings the helpdesk to complain that the system he is attempting to log onto won't accept his password.
Helpdesk: "Are you sure you're putting in the right password?"
User: "Yeah - of course!"
Helpdesk: "You are making sure the case is right, you know, by typing in lower and uppercase where necessary?"
User: "Yes its a simple straightforward password."
Helpdesk: "And it is the current password?"
User: "Yeah, I watched my manager typing it in this morning!"
Helpdesk: "Ok, what is the password you've got?"
User: "Eight stars!"
Share |
Talkback: Discuss this article with The Answer Gang
Ben is the Editor-in-Chief for Linux Gazette and a member of The Answer Gang.
Ben was born in Moscow, Russia in 1962. He became interested in electricity at the tender age of six, promptly demonstrated it by sticking a fork into a socket and starting a fire, and has been falling down technological mineshafts ever since. He has been working with computers since the Elder Days, when they had to be built by soldering parts onto printed circuit boards and programs had to fit into 4k of memory (the recurring nightmares have almost faded, actually.)
His subsequent experiences include creating software in more than two dozen languages, network and database maintenance during the approach of a hurricane, writing articles for publications ranging from sailing magazines to technological journals, and teaching on a variety of topics ranging from Soviet weaponry and IBM hardware repair to Solaris and Linux administration, engineering, and programming. He also has the distinction of setting up the first Linux-based public access network in St. Georges, Bermuda as well as one of the first large-scale Linux-based mail servers in St. Thomas, USVI.
After a seven-year Atlantic/Caribbean cruise under sail and passages up and
down the East coast of the US, he is currently anchored in northern
Florida. His consulting business presents him with a variety of challenges,
and his second brain Palm Pilot is crammed full of alarms,
many of which contain exclamation points.
He has been working with Linux since 1997, and credits it with his complete loss of interest in waging nuclear warfare on parts of the Pacific Northwest.