And the reasoning behind it. It's not exactly what you think.
It took a while to develop. The tag up rule was adopted in 1859, but the infield fly rule didn't appear until 1894.
And the reasoning behind it. It's not exactly what you think.
It took a while to develop. The tag up rule was adopted in 1859, but the infield fly rule didn't appear until 1894.
Posted by rcjhawk at 4/03/2024 07:56:00 PM 0 comments
I you don't know what Tiamat's Wrath is about, I'm sorry. Start with Leviathan Wakes
Posted by rcjhawk at 6/11/2019 08:33:00 PM 0 comments
Well, well, well: I've acquired my very own hacker.
I was looking in my various log files to see if a broken disk was even trying to mount (it wasn't). The most recently written log file was /var/log/auth.log, so I opened it up and found messages along the lines of:
Oct 30 18:51:02 hal sshd[5843]: Failed password for root from xxx.yyy.zzz.aa port 39551 ssh2 Oct 30 18:51:07 hal sshd[5843]: message repeated 2 times: [ Failed password for root from xxx.yyy.zzz.aa port 39551 ssh2] Oct 30 18:51:07 hal sshd[5843]: Received disconnect from xxx.yyy.zzz.aa port 39551:11: [preauth] Oct 30 18:51:07 hal sshd[5843]: Disconnected from xxx.yyy.zzz.aa port 39551 [preauth] Oct 30 18:51:07 hal sshd[5843]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=xxx.yyy.zzz.aa user=root
Where xxx.yyy.zzz.aa maps to a country that absolutely, positively, certainly is our friend.
Said frenemy wasn't happy trying just port 39551, and hit other ports as well. He/She/It is obviously trying a brute-force password attack against hal (That's never a good idea, Dave). The question is, what to do about it?
A quick Google Search found How Do I Block an IP Address on My Linux server?, which gives the answer: to block a specific address, use the command:
sudo iptables -A INPUT -s xxx.yyy.zzz.aa -j DROP
where xxx.yyy.zzz.aa is the specific address you want to drop.
I did that, and it worked: the attack from that specific address stopped. But I'm sure there will be others.
It looks like that will work OK, but I'm also going to investigate ipsets, as noted in: How to block unwanted IP addresses on Linux efficiently. I'll let you know how it works.
P.S.: Should you “accidentally” block your weird uncle's IP, you can get it back with the command:
sudo iptables -D INPUT -s xxx.yyy.zzz.aa -j DROP
Posted by rcjhawk at 10/30/2017 07:10:00 PM 0 comments
So I've got the new Windows/Linux HP Pavilion, as mentioned in the last post. I also have a Brother HL2240 USB printer attached to my old Linux machine, Hal. How to hook that up?
First, you need the name of your printer on your old Linux (or Mac) box. In the browser window, enter http://localhost:631/printers/ Click on the printer you want to share. Now your browser address bar will be http://localhost:631/printers/Yourprintername. Remember Yourprintername — in my case it's HL2240.
For the Linux side of the machine, it's best to get the Brother printer driver for Linux. Then
addressis the URL of the computer with the printer attached to it (In this case Hal), as seen on your local network.
For Windows, you can install the Brother Windows drivers, but they assume you have a USB printer connected to that printer. I ended up using the default Brother postscript driver. Then
Select a shared printer by name
If that doesn't work, add a comment, let's see if we can fix it.
Posted by rcjhawk at 10/06/2017 06:52:00 PM 0 comments
I just bought a new HP Pavilion 15 as a possible desktop replacement.
Naturally, I want to run Linux on this baby, but I'm still not sure I'll keep it. So until I decide for sure, let's put Linux on a Virtual Machine using VirtualBox. This is how I run Linux on my work Mac.
No problem, right? Well ...,
Install VirtualBox on the HP, get an ISO of your favorite Linux distribution, and go to town. Right?
Except when you turn on VirtualBox, you get a message
It seems that virtualization is disabled on new HP machines, and probably others. Except Macs.
The solution is the turn on virtualization in the BIOS. Which is only tricky if you don't know how to get to the BIOS, which is likely because it changes from machine to machine.
AMIDuOS has the solution for HP systems. For other systems, look around, hopefully you'll find something.
Have Fun
Posted by rcjhawk at 10/04/2017 06:43:00 PM 0 comments
I'm back using Linux Mint Mate Edition. I love the Mate desktop, because it's the closest thing to the beloved Gnome 2 desktop that's still out there.
But ... if you're dragging a window around and accidentally touch the top panel, the window snaps to full screen.
So here's how to fix that, thanks to Linux North.
Posted by rcjhawk at 2/19/2017 04:45:00 PM 0 comments
So here I am, busy installing a new version of Linux Mint on Hal, my Linux Box.
To do this, I want to
In the old days this meant burning the ISO images for both GParted and Linux Mint to CDs or DVDs, as appropriate, and booting from the DVD drive. Now days we'd kind of like to have the images on a bootable USB drive. Especially GParted, which is useful for disk manipulation on any machine.
In general a big pain, as you have to remember the intricacies of the dd command.
When I was preparing for the update, listed all of the packages I'd installed using LMDE, my old Linux version. In there, I found something called mintstick, which is billed as Tool to write .img and .iso files to USB sticks. Can also format them.
And it works. Here's what you do
Supremely easy.
If you launch mintstick without the -m option you'll see it can do formatting, too, but I haven't looked into that. If you figure it out, leave a comment
Posted by rcjhawk at 12/28/2016 11:58:00 AM 0 comments
I've been teaching an introductory class in physics and wanted to show my students how a standing wave gets constructed. The math & physics of it aren't too hard, really:
The whole process looks something like this:
The problem is twofold. First, how to construct such an animation, and second, how to get it into a presentation.
To begin, we need to create a moving plot. It turns out that my favorite plotting program, gnuplot, is sort up to the task. Sort of. You'd expect that an animation algorithm would follow a set of rules like this:
Most codes implement this with some kind of a loop function. Gnuplot doesn't have a loop. However, a file can ask that the program reread the file. So an animation gnuplot script has features like this:
#! /usr/bin/gnuplot # Location of the source program YMMV dt = 0.01 # Length of a time step (choose yours to fit your needs) steps = 1000 # Number of steps you want i = 0 # this is a counter. It will be incremented one every time step load "realplot.gnu" # The actual plot file
realplot.gnu has the meat of the plotting program. For our traveling sine wave, it looks something like this:
plot sin(x - i*dt) w l lt 1 i = i + 1 if (i < steps) reread
The code plots the curve at a given time, then increments the time by an amount i*dt, and asks to be reread. The program does this until the final time step is completed.
That's fine, this displays a very nice set of curves on the screen. However, it's nothing you can embed in a presentation. We need to save the output in some form. The best way to do this right now is using an animated GIF. Just like a movie, this is a collection of still images played at a pre-determined rate. Gnuplot has this capability. Adding these two lines changes the output from the screen to a file, in this case one named standing_waves.gif:
set term gif enhanced font 'arial' 16 animate delay 0.05 size 1000,750 nooptimize set output "standing_waves.gif"
Most of this isn't hard to figure out:
For my project, I then stacked a bunch of plots together. At the risk of boring you, here's the whole thing in detail.
#! /usr/bin/gnuplot # Settings which remain the same for all graphs set samples 2000 unset ytics set xrange [0:7*pi] set yrange [-2.6:2.6] set xtics ("0" 0,"{/Symbol l}/2" pi,"{/Symbol l}" 2*pi, \ "3{/Symbol l}/2" 3*pi, "2{/Symbol l}" 4*pi, \ "5{/Symbol l}/2" 5*pi, "3{/Symbol l}" 6*pi, \ "7{/Symbol l}/2" 7*pi) set arrow 1 from pi,graph 0 to pi,graph 1 nohead lt -1 set arrow 2 from 2*pi,graph 0 to 2*pi,graph 1 nohead lt -1 set arrow 3 from 3*pi,graph 0 to 3*pi,graph 1 nohead lt -1 set arrow 4 from 4*pi,graph 0 to 4*pi,graph 1 nohead lt -1 set arrow 5 from 5*pi,graph 0 to 5*pi,graph 1 nohead lt -1 set arrow 6 from 6*pi,graph 0 to 6*pi,graph 1 nohead lt -1 set key opaque set key reverse Left set xzeroaxis # Length of time used to plot each image, in periods periods = 1.00 # Number of time steps for each period stepsperperiod = 50 # Length of a time step dt = 2*pi/stepsperperiod # Total number of setps maxstep = periods*stepsperperiod set term gif enhanced font 'arial' 16 animate delay 0.05 size 1000,750 nooptimize set output "standing_waves.gif" # Remember to reset the time before running each plot i = 0 load "rightsine.gnu" i= 0 load "leftsine.gnu" i = 0 load "bothsine.gnu" i = 0 load "constructive.gnu" i = 0 load "standing.gnu"
set title "Wave Traveling to Right" plot sin(x-i*dt) t "sin ( k x - {/Symbol w} t)" w l lt rgb "red" lw 8 i = i + 1 if (i < maxstep) reread
set title "Wave Traveling to Left" plot sin(x+i*dt) t "sin ( k x + {/Symbol w} t)" w l lt rgb "green" lw 8 i = i + 1 if (i < maxstep) reread
set title "Both Waves" plot sin(x-i*dt) t "sin ( k x - {/Symbol w} t)" w l lt rgb "red" lw 8 , \ sin(x+i*dt) t "sin ( k x + {/Symbol w} t)" w l lt rgb "green" lw 8 i = i + 1 if (i < maxstep) reread
set title "Constructive Interference" plot sin(x-i*dt) t "sin ( k x - {/Symbol w} t)" w l lt rgb "red" lw 8 , \ sin(x+i*dt) t "sin ( k x + {/Symbol w} t)" w l lt rgb "green" lw 8 , \ sin(x-i*dt)+sin(x+i*dt) t "Combined Waves" w l lt rgb "blue" lw 8 i = i + 1 if (i < maxstep) reread
set title "Standing Wave" plot sin(x-i*dt)+sin(x+i*dt) t "Combined Waves" w l lt rgb "blue" lw 8 i = i + 1 if (i < maxstep) reread
The result is just what you see in the picture above.
Now we want to get this into a presentation. You can obviously embed this into a web page, as we're doing now. You can also put it into a Powerpoint presentation.
I, however, like to to my presentations in Beamer, a class in LaTeX which can produce fairly nice PDF files. The problem is that pdflatex, which takes LaTeX source and produces a PDF file, doesn't know nor care anything about GIFs, animated or not, so first we have to convert the GIF into something LaTeX can handle. The answer is the PNG format, which LaTeX loves. We simply use the convert command from ImageMagick:
convert standing_waves.gif sw.png
and Whoa! we get a bunch of PNG files, conveniently labeled sw-0.png, sw-1.png, sw-2.png, ... , all the way up to, in this case, sw-249.png. To put them all back together we need to use the LaTeX package animate. A very simple Beamer file might look like this:
\documentclass{beamer} % Allow animation \usepackage{animate} \begin{document} \section{Standing Waves} \begin{frame} \begin{center} \animategraphics[loop,controls,height=7cm]{25}{png/sw-}{0}{249} \end{center} \end{frame} \end{document}
Most of this is pretty self-explanatory. I put the PNG files into a sub-directory, so they are png/sw-0.png, png/sw-1.png, ... . The {25} is the number of frames per second, since we lost that information from the GIF file. Keep running pdflatex on this until the errors stop, and voila, you've got a PDF presentation with animation. You'll have to use Adobe Reader to play it out, but hey, it works.
I've made all of this work on my LMDE box, and on two Macs, both using Macports to get the LaTeX and ImageMagick software. One of my Macs has a problem with the Greek fonts going into the GIF, and I don't know why. Also, gnuplot on the Mac is slightly different that my current Linux gnuplot, so I've written everything in a form that works on both machines. Finally, I've found that setting the font size works better on one of my Macs than it does on the other Mac or Linux box. I don't know why, but if I figure it out I'll let you know.
Posted by rcjhawk at 11/25/2016 05:46:00 PM 0 comments
Every once in a while I need a real honest to Bill version of Microsoft Office. Not often, but it happens.
Now I have a three license copy of Microsoft Office Home and Student Edition, purchased back in the day when Child No. 1 had a Windows computer. That computer is long gone and replace by a Mac. I could install this copy on Hal's Windows partition, but that means I have to reboot and update Windows 7 every time I want to use the software. Irritating.
Then yesterday I was updating my Harmony Remote, and found that the update software would run on Linux under Wine. True, the fonts were ugly, but hey, it ran, and given that updating a remote is a run-up-and-down-the-stairs-10-times kind of thing, having one less step was a blessing.
Now I've tried Wine before, and never been all that happy with it. But maybe it's now good enough
, so what the heck.
Having installed Wine via the Synaptic Package Manager, I went looking to see if there was help for the Office install on the internet, and lo and behold, I found How to Install Microsoft Office 2007 in Ubuntu (Under Wine).
What can I say? As I said, I already had Wine installed, so it was mostly point at setup.exe and click. What do you know, it worked, right down to finding the riched20.dll library and correcting it so that PowerPoint would run.
Now this was a copy of Office 2007, so it's a little out of date. Fortunately, Microsoft is providing extended support until 2017, so it's still viable. There was a problem, though: Microsoft Update wants to work with Internet Explorer, and I don't have that installed under Wine — in fact, I don't know if I can install it properly, and I'm not inclined to try. But you can go fetch the update directly from Microsoft. Just download, make it executable, and run it from a terminal, ignoring all of those evil looking error messages.
A couple of things: LMDE puts all of the Office Suite in the Other
tab of the menu. You can edit the menu, make an M$Office tab to hold everything, and move it there. Second, dialog boxes often revert to Wine's font, which is horrible. But Office itself uses native Office fonts, which is what we really want.
Now I have no idea what happens if you try this with a newer version of Office. This works for Office 2007, which was written for Windows XP. If you get a newer version running, leave a comment.
Posted by rcjhawk at 3/13/2016 12:52:00 PM 0 comments
Many years ago, you may recall, I bought a Canon MP470 Printer/Scanner for cheap. After a year or so the paper feed mechanism stopped feeding paper properly, but I was always able to use it as a scanner.
Until a couple of weeks ago. Now, when I turn the thing on, the print heads move into place and the screen displays the code U051
, which it explains as Print head is not installed. Install the print head.
If you look around the web, you'll find lots of pages that tell you how to clean the print head/cartridges, which claims to fix the problem. Of course, I don't care one wit about the printer. What I want to do is to skip the print head checking entirely, and go directly to the scanner.
I haven't found a clean way to do this, but I have found a workaround which allows you to temporarily disable the print function. It's written for an MP140, but works for the MP470, and I bet it works for most Canon printers. In case that page vanishes, here's what you do:
The printer will now go in to some endless self-check loop, you'll see a bubble running under the Canon logo on the display screen. But the scanner will now work. As before, I use xsane, which is a front-end to the programs provided the the SANE project.
Now this isn't optimal, but I only use the scanner a couple of times a month, so it's acceptable. If you figure out how to permanently disable the printer on a Canon MP, leave a note below.
Posted by rcjhawk at 11/01/2015 03:54:00 PM 0 comments
You may have heard of POODLE (Padding Oracle On Downgraded Legacy Encryption), which exploits a bug in the ancient SSL 3.0 Encryption Protocol. This has the capability of letting malicious sites take over your browser.
The fix is to turn off SSL 3.0, forcing your browser to use better encryption. This will break some sites, but that's their problem, not yours, and they are probably working on it right now.
For most browsers the fix is not too difficult. You change some configuration setting and you're done. There's even a Firefox Extension to change the settings for you.
For Google Chrome and its open source brother Chromium, it's a little more difficult. You have to tell the browser to disable SSL 3.0 every time you launch it, e.g.
$ chromium --ssl-version-min=tls1
the --ssl-version-min=tls1
being the string that does the trick.
Let's see. I launch chromium at startup, from the Mint panel icon, and sometimes from the command line. That means three places I have to fix the call to chromium, and I have to do it for every user on the machine. There's got to be a better way.
And there is, at least when using chromium on LMDE. There is a configuration file, /etc/chromium/default, which lets you set global options for the chromium browser. To apply the fix, run the command:
$ sudo vi /etc/chromium/default
and edit the CHROMIUM_FLAGS variable. This passes a set of commands to chromium every time anyone starts the browser: look at /usr/bin/chromium to see how it works. My current variable reads
CHROMIUM_FLAGS="--password-store=detect --ssl-version-min=tls1"
Now every time chromium is started on your machine, it applies the fix.
You can test your work at https://www.poodletest.com/.
I don't know how many platforms can use this trick. On CentOS there is an analogous way to do it, but a different procedure. If you have a different way to disable SSL 3.0 for chrome/chromium on your Linux box, leave a comment below.
Posted by rcjhawk at 10/18/2014 08:17:00 PM 0 comments
Some of my favorite songs make reference to technologies that we just don't use anymore. Case in point, your friendly neighborhood information operator:
Posted by rcjhawk at 3/31/2014 09:10:00 PM 0 comments
A couple of weeks ago, as you may recall, I switched from ever-changing Ubuntu to nearly frozen Linux Mint Debian Edition (LMDE). So how is it?
Nice. Not only does it have the Gnome 2-like MATE desktop, but because it is based on Debian Testing (currently known as jessie), LMDE is relatively slow to change.
What's irritating about LMDE is that, because it is based on Debian Testing, it is relatively slow to change.
This really isn't too much of a bother, except for Firefox and Thunderbird, which change versions at the drop of a hat, not that anyone wears a hat they can drop anymore. So, for example, as of this moment (it could change by tonight), Firefox is on version 23, and Thunderbird is on version 17.0.8. LMDE's versions, OTOH, are at 21 and 17(.0.0).
OK, this is not one of life's big tragedies. Most updates of Fox&Bird do not involve major changes. But I like to keep a little more current.
Fortunately, there is a relatively easy fix for this which won't do too much damage to your installation even if it completely craps out. The details are all in this LMDE forum post and the one above it, but I've added a little twist of my own, based on a post even further up the topic than the ones I've already mentioned and linked to.
What makes this relatively easy is that LMDE stores Firefox & Thunderbird files in the /opt directory, since pure Debian doesn't support them under their default names because of trademark issues (see iceweasel and icedove). That means any mucking around you have to do is confined to /opt, rather than such touchy directories as /usr/lib and the like.
So what to do:
$ sudo apt-get install firefox thunderbird
(N.B. If you haven't already installed Firefox or Thunderbird, and don't miss them, you might ask yourself just what you are doing reading this post.)
sudo -i
# cd /opt
# cp -rp firefox firefox_21
# cp -rp thunderbird thunderbird_17.0
The -rp options recursively copy everything and preserve all permissions and time stamps.
# chown -R capaldi:capaldi firefox thunderbird
If you do this step you can now get out of su mode:
# exit
logout
$
$ vi /opt/firefox/defaults/pref/channel-prefs.js
When you get here, look for a line that says
pref("app.update.channel", "default");
and change default to release.
$ vi /opt/thunderbird/defaults/pref/channel-prefs.js
In my copy, this was already set, which is why Thunderbird kept asking to update (and always failed, since it I wasn't root).
Helpmenu click on
About Firefox/Thunderbird. Updates should appear normally, though I had to go through the process a couple of times to get a successful update. In Thunderbird it took forever to do the update, but when I Xed out the update window and restarted Thunderbird it was properly updated. I'll let you know if this trend continues with the next update, which might occur as early as this week.
$ sudo apt-get install synaptic
And that should do it. Remember, if things get messed up, you can always use your backup directories to get back to the default distribution, or you can do complete remove/reinstall:
$ sudo apt-get purge firefox thunderbird
$ sudo apt-get install firefox thunderbird
Posted by rcjhawk at 8/13/2013 07:21:00 PM 1 comments
Labels: Debian, Firefox, Linux, Linux Mint, LMDE, Thunderbird
As long-threatened, I've finally followed the crowd and move from Ubuntu to Linux Mint. The main attraction was Mint's use of the MATE desktop, which is enough like Gnome 2 to keep me happy indefinitely, but I also liked the fact that the Debian edition, hereafter LMDE, is a rolling
release, meaning I'm not going to have to do a complete upgrade in 6 months. The price is that some software is going to be a little behind the times, but, hey, at work we use CentOS. At least with LMDE it's unlikely that I won't be able to run Google Chrome or Chromium.
So a brief review:
Installation was simple enough. After several hours of backing up my /home partition (twice, to two separate USB disks), I downloaded the DVD and did the initial install. I left my /home and /usr/local directories, which were on separate partitions, intact, and let LMDE overwrite the root directory and install its version of Grub to run through the boot process. This took less than an hour, which was a pleasant surprise.
It then took me another couple of hours to pick out all the packages that weren't automatically installed, and get them up and running. Not too bad, really.
There were, of course, a few things that didn't quite work perfectly.
After a week, those are all the problems I've found. The system is stable, MATE is as good a Desktop as you're going to find these days, and I've had no difficulties in installing other software that I want.
This could be the beginning of a beautiful friendship.
Posted by rcjhawk at 7/21/2013 08:32:00 PM 0 comments
This work is licensed under a
Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 United States License.