OpenGL is a well-known standard for generating 3-D as well as 2-D graphics
that is extremely powerful and has many capabilities. OpenGL is defined
and released by the OpenGL Architecture Review Board (ARB).
This article is a gentle introduction to OpenGL that will help you
understand drawing using OpenGL.
During the past 20 years, there has been a growing sense of inadequacy
about the "command and control" model for managing IT systems. Years in
front of the television with a remote control have left us hard pressed to
think of any other way of making machines work for us.
How many times you have been hit by unit tests failing because of environment
differences between you and other team members? How easy is it to build
your project and have it ready for development? Vagrant provides a
method for creating repeatable development environments across a range of
operating systems for solving these problems.
Gah, so frustrating! Ten years ago I wrote a rather popular book called
Wicked Cool Shell Scripts, and I'm working on a new
Tenth Anniversary release. There are lots of new scripts, entirely new chapters and
updates to the older stuff.
In my last article, I looked at NumPY and some of its uses in numerical
simulations. Although NumPY does provide some really robust building blocks,
it is a bit lacking in more sophisticated tools. SciPY is one of the many
Python modules that build on NumPY's.
For the past few months, I've been covering different software packages
for scientific computations. For my next several articles, I'm going to be
focusing on using Python to come up with your own algorithms for
your scientific problems.
Many of us grew up with LOGO, the kid-friendly programming language that
guided a little turtle around a screen. Yes, it was simplistic. Yes,
it taught only the very basics of programming concepts, but it also
inspired an entire generation of programmers. The applications you run
every day were written by people who steered a digital turtle around a
screen in third grade.
December 2013's EOF, titled "Mars Needs Women", visited an interesting
fact: that the male/female ratio among Linux Journal readers, and Linux
developers, is so lopsided (male high, female low) that graphing it would
produce a near-vertical line.
In my last article, I started discussing Compojure, a Web framework written
in the Clojure language. Clojure already has generated a great deal
of excitement among software developers, in that it combines the
beauty and expressive elegance of Lisp with the efficiency and
ubiquity of the Java Virtual Machine (JVM).
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.