Revisiting Borland Turbo C And C++

Looking back on what programming used to be like can be a fascinatingly entertaining thing, which is why [Tough Developer] decided to download and try using Turbo C and C++, from version 1.0 to the more recent releases. Borland Turbo C 1.0 is a doozy as it was released in 1987 — two years before the C89 standardization that brought us the much beloved ANSI C that so many of us spent the 90s with. Turbo C++ 1.0 is from 1991, which precedes the standardization of C++ in 1998. This means that both integrated development environments (IDEs) provide a fascinating look at what was on the cutting edge in the late 80s and early 90s.

Online help and syntax coloring in Turbo C++.

It wasn’t until version 3.0 that syntax highlighting was added, with the IDE’s focus being mostly on features such as auto-indentation and tool integration. Version 2.0 added breakpoints and further integration with the debugger and other tools, as well as libraries such as the Borland Graphics Interface (BGI). Although even editors like Notepad++ and Vim probably give these old IDEs a run for their money nowadays, they were totally worth the money asked.

Those of us that have been around long enough to have gotten their start in C++ by using the free Turbo command line tools in the 1990s, or lived through the rough, early days of GCC 2.x+ on Linux, will remember that a development environment that Just Worked© was hard to obtain without shelling out some cash. Within that environment Turbo C and C++ and later Visual Studio and others served a very grateful market indeed.

Beyond the IDE itself, these also came with language documentation, as in the absence of constant internet access, referencing APIs and syntax was done using dead-tree reference books or online documentation. Here “online” meaning digital documentation that came provided on a CD and which could be referenced from within the IDE.

[Tough Developer] walks the reader through many features of the IDE, which includes running various demos to show off what the environment was capable of and how that in turn influenced contemporary software and games such as Commander Keen in Keen Dreams. While we can’t say that a return to Turbo C is terribly likely for the average Hackaday reader, we do appreciate taking a look back at older languages and development environments — if for no other reason than to appreciate how far things have come since then.

The Sounds Emitted By Plants Are Real But They Are Still Not Talking

A recent paper published by researchers at the university of Tel Aviv in Cell on the sounds they captured from ‘stressed’ plants had parts of the internet abuzz with what this meant, with some suggesting that this was an early April Fools prank. The fun part here is the news item is not that plants make noise, but rather that this was the first time (apparently) that the noise made by plants was captured by microphones placed at some distance from a variety of plants.

This research is based on previous studies dating back decades, such as Tyree and Sperry who reported (PDF) in 1989 on the vulnerability of the plant xylem (water transporting tissue) to cavitation and embolism. Since the xylem’s function is to carry water and dissolved nutrients to the upper parts of the plant, having air bubbles form would be a negative thing for the plant’s survival. When and how cavitation occurs in the xylem is relevant as it directly impacts how well plants grow. Continue reading “The Sounds Emitted By Plants Are Real But They Are Still Not Talking”

Reviving A Legend: Mamiya RB67 Repair

The damaged parts in the camera are circled in red. Original graphic is from the Mamiya service manual.

When it comes to professional medium format analog cameras, the Mamiya RB67 is among the most well-known and loved, ever since its introduction in 1970. Featuring not only support for 120 and 220 film options, but also a folding and ‘chimney’ style view finder and a highly modular body, these are just some reasons that have made it into a popular – if costly – reflex system camera even today. This is one reason why [Anthony Kouttron] chose to purchase and attempt to repair a broken camera, in the hopes of not only saving a lot of money, but also to save one of those amazing cameras from the scrap heap. Continue reading “Reviving A Legend: Mamiya RB67 Repair”

Self-Healing Concrete: What Ancient Roman Concrete Can Teach Us

Concrete is an incredibly useful and versatile building material on which not only today’s societies, but also the ancient Roman Empire was built. To this day Roman concrete structures can be found in mundane locations such as harbors, but also the Pantheon in Rome, which to this day forms the largest unreinforced concrete dome in existence at 43.3 meters diameter, and is in excellent condition despite being being nearly 1,900 years old.

Even as the Roman Empire fell and receded into what became the Byzantine – also known as the Eastern Roman – Empire and the world around these last remnants of Roman architecture changed and changed again, all of these concrete structures remained despite knowledge of how to construct structures like them being lost to the ages. Perhaps the most astounding thing is that even today our concrete isn’t nearly as durable, despite modern inventions such as reinforcing with rebar.

Reverse-engineering ancient Roman concrete has for decades now been the source of intense study and debate, with a recent paper by Linda M. Seymour and colleagues adding an important clue to the puzzle. Could so-called ‘hot mixing’, with pockets of reactive lime clasts inside the cured concrete provide self-healing properties?

Continue reading “Self-Healing Concrete: What Ancient Roman Concrete Can Teach Us”

Creating A 3D Visualization Of Freely Moving Organisms Using Camera Array And Software Algorithm

Observing a colony, swarm or similar grouping of creatures like ants or zebrafish over longer periods of time can be tricky. Simply recording their behavior with a camera misses a lot of information about the position of their body parts, while taking precise measurements using a laser-based system or LiDAR suffers from a reduction in parameters such as the resolution or the update speed. The ideal monitoring system would be able to record at high data rates and resolutions, while presenting the recorded data all three dimensions. This is where the work by Kevin C. Zhou and colleagues seeks to tick all the boxes, with a recent paper (preprint, open access) in Nature Photonics describing their 3D-RAPID system.

This system features a 9×6 camera grid, making for a total of 54 cameras which image the underlying surface. With 66% overlap between cameras across the horizontal dimension, there enough duplicate data between image stream that is subsequently used in the processing step to extract and reconstruct the 3D features, also helped by the pixel pitch of between 9.6 to 38.4 µm. The software is made available via the author’s GitHub.

Three configurations for the imaging are possible, ranging from no downsampling (1x) for 13,000×11,250 resolution at 15 FPS, to 2x downsampling (6,500×5,625@60FPS) and finally 4x (3,250×2,810@230FPS). Depending on whether the goal is to image finer features or rapid movement, this gives a range of options before the data is fed into the computational 3D reconstruction and stitching algorithm. This uses the overlap between the distinct frames to reconstruct the 3D image, which in this paper is used together with a convolutional neural network (CNN) to automatically determine for example how often the zebrafish are near the surface, as well as the behavior of fruit flies and harvester ants.

As noted in an interview with the authors, possible applications could be found in developmental biology as well as pharmaceutics.

Archiving The Entirety Of DPReview Before It’s Gone

Despite the popular adage about everything on the internet being there forever, every day pages of information and sometimes entire websites are lost to the sands of time. With the imminent shutdown of the DPReview website, nearly 25 years of reviews and specifications of cameras and related content are at risk of vanishing. Also lost will be the content of forum posts, which can still be requested from DPReview staff until April 6th. All because the owner of the site, Amazon, is looking to cut costs.

As announced on r/photography, the Archive.org team is busy trying to download as much of the site as possible, but due to bottlenecks may not finish in time. One way around these bottlenecks is what is called the Archive Team Warrior, which involves either a virtual machine or Docker image that runs on distributed systems. In early April an archiving run using these distributed systems is planned, in a last-ditch attempt to retain as much of the  decades of content.

The thus archived content will be made available in the WARC (Web ARChive) format, in order to retain as much information as possible, including meta data and different versions of content.

Debugging And Analyzing Real-Mode 16-Bit X86 Code With Fresh Bread

Running a debugger like gdb with real-mode 16-bit code on the x86 platform is not the easiest thing to do, but incredibly useful when it comes to analyzing BIOS firmware and DOS software. Although it’s possible to analyze a BIOS image after running it through a disassembler, there is a lot that can only be done when the software is running on the real hardware. This is where [Davidson Francis] decided that some BREAD would be useful, as in BIOS Reverse Engineering & Advanced Debugging.

What BREAD does is provide some injectable code that with e.g. a BIOS replaces the normal boot logo with the debugger stub. This stub communicates with a bridge via the serial port, with the gdb client connecting to this bridge. Since DOS programs are also often 16-bit real-mode, these can be similarly modified to provide light-weight in-situ debugging and analysis. We imagine that this software can be very useful both for software archaeology and embedded purposes.

Thanks to [Rodrigo Laneth] for the tip.