During the past month or so, I've also been dealing with an aggressive DDOS
(that's a "distributed denial of service") attack on my server, one
that's been a huge pain, as you might expect. What's odd is that with
multiple domains on the same server, it's one of my less-popular sites that
seems to have been the target of the attacks.
The last few months, we've been building a complex shell script
to play elements of the game of Cribbage, demonstrating a variety of
concepts and techniques as we proceed. That's all good, and last month,
the script expanded to include a "shuffle" capability and
the ability to deal out six cards, a typical two-player starting hand.
In an earlier article ("GNU Awk 4.0: Teaching an Old Bird Some New
published in the September 2011 issue of Linux Journal), I
gave a brief history of awk and
gawk and provided a high-level overview
of the many new features in gawk 4.0.
Sublime Text is a proprietary, cross-platform text editor designed
for people who spend huge amounts of time shuffling code around. A
programmer's editor, Sublime Text is a third option to the long-standing
"Vi or Emacs" conundrum. Going beyond the basics of syntax highlighting
and code folding, Sublime offers a litany of innovative and unique
When most people think about a company's reusable assets, source code
doesn't usually show up on the list, even though millions of dollars are
spent every year on creating and maintaining code. Most large companies are
managing hundreds of millions of lines of code—the majority of which was
purpose-built to solve a specific application problem.
From my perspective, one of the best parts of being a Web developer is
the instant gratification. You write some code, and within minutes,
it can be used by people around the world, all accessing your
server via a Web browser.
In many cases, scientific research takes you into totally new areas
of knowledge, never before explored by others. This means the
computational work you need to do may be totally new as well. Although
typically such code development still happens in C or FORTRAN, Python
is growing in popularity. This is especially true in physics.
Creed of Python Developers
Pythonistas are eager to extol
the lovely virtues of our language. Most beginning Python
programmers are invited to run import
this from the interpreter right after the canonical
world. One of the favorite quips from running that
It has a tremendously large user base, and countless libraries have been written in it.
Surely it is the perfect language with no flaws at all! Unfortunately,
that is simply not the case.
Previously, I erroneously titled my column as "SIGALRM Timers and
Stdin Analysis". It turned out that by the time I'd finished writing
it, I had spent a lot of time talking about SIGALRM and how to set up
timers to avoid scripts that hang forever, but I never actually got to
the topic of stdin analysis.
I received an interesting message from Angela Kahealani with a challenge:
"Here's what I'd like to see in Work the Shell: a full-blown shell script
template. It should comply with all standards applicable to CLI programs.
Many of my previous articles have looked at software packages
that do scientific calculations and generate scientific results. But,
columns of numbers are nearly impossible to make sense of—at least, by
regular human beings. So what can you do? The answer is visualization.
For Linux users, the command line is a celebrated part of our entire
experience. Unlike other popular operating systems, where the command
line is a scary proposition for all but the most experienced veterans, in
the Linux community, command-line use is encouraged.
Many programming languages include libraries to do more complicated
math. You can do statistics, numerical analysis or handle big
numbers. One topic many programming languages have difficulty with is
symbolic math. If you use Python though, you have access to sympy, the symbolic
As with many of the challenges we tackle, the latest project has sprawled across more articles than I ever expected when I first received the query from a reader. The question seems reasonably simple: given a month, day number and day of the week, calculate the most recent year that matches those criteria.