This Is Not Your Father’s FORTRAN

I learned to program FORTRAN IV in the spring of 1968 while working as an engineering technician in water resources. One of the engineers knew of my interest in computers and asked if I would like to learn FORTRAN. He needed to calculate the biological oxygen demand in streams but didn’t have any interest in programming. I jumped at the chance.

415I2ZfVyqL._SX258_BO1,204,203,200_This was the days of big iron when the term computer meant a room full of heavily air-conditioned equipment. The State University of New York at Buffalo had an IBM 704 but they soon upgraded to a CDC 6400. To help pay for it they were inviting people to attend a seminar on FORTRAN so they could use the system. My job was with a small State of NY office and getting approval for me to attend was surprisingly easy.

Off I went for 6 weeks of training on one night a week. I still have my black “A Guide to Fortran IV Programming” by [Daniel McCracken]. For years, this was the FORTRAN bible, commonly referred to as just “McCracken”.

The programming went well and somewhere out there is a very old paper with a reference to the results it generated about the Chadakoin River flowing through Jamestown, NY.

This is FORTRAN’s strength – scientific calculations. It’s name says it: FORmula TRANslation.

Origins and FORTRAN IV

[John W. Backus] suggested to IBM a language to replace assembly language. Development began in 1953 for the IBM 704 and the project reached fruition in 1957. Not only was it the first general purpose high-level language, just beating out COBOL and LISP, but its compiler optimized the code since it needed to compete head-on with assembly language. It was the C compiler of its day in that regard.

That was not the only reason it attained success. Reducing the number of punched cards needed for a program by a factor of 20 over assembly helped considerably.

In those days, you needed to use a key punch to create a deck of punch cards. To be really good you had to know how to create a programming card that would let you skip through the fields on a FORTRAN card, or how to edit a card by duplicating it and holding one of the cards in place while you typed in new characters. Because of my fascination with computers I’d taken a key punching and automation machines class in high school so I was all set.

Continue reading “This Is Not Your Father’s FORTRAN”

Swimming Pool Dance Floor Enlightened With Leds

In a well documented blog entry, [Loren Bufanu] presents a project that lit up a glass dance floor covering a swimming pool with RGB strips. We mentioned a video of his project in a Hackaday links but didn’t have any background information. Now we do.

boards in boxThe project took around 450 meters of RGB strips controlled by two Rainbowduinos and driven by sixty-four power Mosfets, sixty-four bipolar transistors, and a few other components. Producing white light from the LEDs draws 8 amps from the power supply.

The Rainbowduino is an ATmega328 Arduino compatible board with two MY9221 controllers. Each  controller handles 12 channels of Adaptive Pulse Density Modulation. In other words, it makes the LEDs flash nicely. [Loren] used the Rainbowduino instead of some alternatives because multiple R’duinos can coordinate their activities over I2C.

The software part of the project did not work as well as the hardware. The light patterns were supposed to follow the music being played. A PC software package intended to drive the R’duinos produced just a muddy mess. Some kludges, including screen captures (!), driven by a batch file tamed the unruliness.

It’s been awhile, but a similar disco dance floor, built by [Chris Williamson] but not over a pool, previously caught our attention. [Chris] is a principle in Terror Tech that recently got a mention on Sparkfun.

The video after the break fortunately does not make a big splash, but is still electrifying.

Continue reading “Swimming Pool Dance Floor Enlightened With Leds”

Low-Cost, Arduino-Compatible Drawing Robot

Bringing women into technical education at times seems to be an insurmountable challenge. As a counter, a small drawing robot created by [MakersBox] might help. The robot was used in a ChickTech workshop for teen girls.

640px-Turtle_draw
“Turtle draw” by Valiant Technology Ltd..

The goals for the robot were to have an easy to build, easy to program robot that did something interesting, and was also low-cost so the workshop participants could take it home and continue to learn. These requirements led [MakersBox] to the Adafruit Pro Trinket 3V, stepper motors for accuracy, and a 3d printed chassis to allow for customization.

Another version of the Arduino should work without any problems and even possibly a Raspberry Pi, suggests [MakersBox]. With the latter’s more diverse programming environment opening up a lot of possibilities

Drawing robots like this for education are not new. [Seymour Papert] created one of the first turtle robots, seen at the left, in the 1980s. He even created the Logo programming language and adapted it for use with the turtle. An interesting similarity between [MakersBox’s] and the original turtle is the drawing pen is in the center of both.

Hat tip to our friends at Adafruit.

A rose, is a rose, is a rose, even if drawn by a robot, after the break.

Continue reading “Low-Cost, Arduino-Compatible Drawing Robot”

Disk Hack Creates Persistence Of Vision

[Adam Antok] was compelled to create this repurposed hard drive persistence of vision hack after seeing a toy of the same nature.

hdd-display-schematicHe used the frame, disk and motor from a drive and added LEDs under the spinning disk as the light source. The disk has 8 small holes drilled equidistant around the disk, and spiraling slightly toward the center. As the holes pass by the LEDS they are flashed by the ATtiny2313 processor to create images. To determine the position of the platters a Hall effect sensor is monitored by the 2313 to detect a magnet on the underside of the disk. There is room to display ten characters at one time. Each cursor position can scroll through the character set by rotating an encoder. For all the precision needed to coordinate the LEDs with the spinning holes the electronics and software code are amazingly simple. That’s a really nice job, [Adam]!

Persistence of vision hacks are to hackers like flames are to moths. One really nice thing about [Adam’s] project is that you can interact with it while it’s running. Check it out after the break.

For a novel take on POV, check out this slow swinging pendulum clock.

Continue reading “Disk Hack Creates Persistence Of Vision”

Smart Sumo Seeks Central Security

[David] over at Pololu programmed a mini-sumo robot, Zumo Red, with some extra smarts.

The basic rules of sumo robotics is exactly like human sumo – push your competitor out of the ring. [David]’s robot is special because it not only detects the competition border but measures the robot’s angle to the perimeter circle. Knowing the angle, [David]’s robot can turn and run for the center of the arena, the safest location. Once safe it can attack competitors from a symbolic high-ground. Unfortunately, the robot was a light weight in an already low weight class competition. It failed to push any competitors out of the ring and did not fare well in face-to-face battles. 0J6807.550

[David]’s bot uses a three LED line sensor, pretty common today for line following, to detect the boundary. As the ‘bot is moving an outer sensor will detect the border. It continues to drive forward until the middle sensor gets a hit. That provides the measurements need to calculate the angle. Neat and simple! Knowing the angle, the robot scoots to the center to plan its next attack.

[David’s] made the code for his bot’s brain, an Arduino compatible ATmega32U4, available so it will be interesting to see if the competition picks up on this trick.

Zumo Red meets Sumo Necko and a few more competitors in the video after the break.

Continue reading “Smart Sumo Seeks Central Security”

Raspberry Pi Tablet Based On Sailfish OS

There are so many hacks in this project it’s hard to know where to start. So let’s start at the SailPi tablet which is a Raspberry Pi running the Sailfish OS on an LCD touch screen powered by a cell phone battery pack. The design looks more like a high-tech sandwich with the Pi in the middle than a tablet. Despite the appearance it works, at that’s what counts. COs98UBWsAAQNh5The creator, [Aleksi Suomalainen] expended a lot of effort pulling all the pieces together on this project.

The Sailfish OS project is targeted at creating a new OS for mobile devices, especially cell phones. It is open source which invites developers to contribute to the project. The touch screen user interface is designed for ease of use by gestures from one finger on the hand holding the phone.

[Aleksi] ported Sailfish to a Pi 2 during a hacking week. He’s shared the code for it on his blog. During the hack week he played with accessing the GPIO on the Pi to flash an LED. To get you up and running quickly he provided an image you can load onto an SD.

It appears the Pi is finding a niche for OS hackers in addition to the hardware hackers using the GPIO.

Don’t miss the demo after the break to see the OS running on the Pi. Continue reading “Raspberry Pi Tablet Based On Sailfish OS”

C++ Turns 30 – Looking Forward To The Future

[Bjarne Stroustrup] introduced C++ to the world on Monday 14th October 1985 at the ACM annual conference on “The Range of Computing”. On its 30th anniversary [Bjarne] reviewed the history, his experience, and his thoughts on the future of the language in an interview. Also on that day the first edition of his book, “The C++ Programming Language” was released. It’s now available in a 4th edition. The title differed only in the “++” from the classic C book by [Kernighan] and [Ritchie] that graced the desktops of a multitude of C programmers.

The first versic++ bjarneons of C++ were compiled with CFront, a compiler that generated C code which was then compiled as normal. Around the 1990s, it’s unclear when, numerous native compilers became available, notably for PCs, which lead to explosive growth from 400,000 users to an estimated 4.4 million today.

 

One of the frustrations [Stroustrup] expresses is how C++ is viewed by developers,

… a problem that has plagued C++ forever: Poor teaching and poor understanding of C++ even among its practitioners. There has always been a tendency to describe C++ as some odd variant of something else.

Soon the standards committee is meeting to discuss C++17 in Hawaii. Fair winds and bright skies look to be in the future of C++.