Small Lightsail Will Propel Cubesat

If you read science fiction, you are probably familiar with the idea of a light or solar sail. A very large and lightweight sail catches solar “wind” that accelerates a payload connected to the sail. Some schemes replace the sun with a laser. Like most things, sails have pros and cons. They don’t require you to carry fuel, but they are also maddeningly slow to accelerate and require huge sails since there isn’t much pressure produced by a star at a distance. So far not many real spacecraft have used the technique, IKAROS was the first back in 2010. However, this month should see the launch of a crowdfunded cubesat that will use a solar sail to move to a higher orbit.

The 5 kg satellite built by Georgia Tech students is about the size of a loaf of bread. Once in orbit, it will deploy solar panels and a square solar sail nearly 20 feet long on each side. Despite the nearly 350 square feet of area, the sail is less than 5 microns thick. You can see more details about the mission in the video below.

Continue reading “Small Lightsail Will Propel Cubesat”

Caching In On Program Performance

Most of us have a pretty simple model of how a computer works. The CPU fetches instructions and data from memory, executes them, and writes data back to memory. That model is a good enough abstraction for most of what we do, but it hasn’t really been true for a long time on anything but the simplest computers. A modern computer’s memory subsystem is much more complex and often is the key to unlocking real performance. [Pdziepak] has a great post about how to take practical advantage of modern caching to improve high-performance code.

If you go back to 1956, [Tom Kilburn’s] Atlas computer introduced virtual memory based on the work of a doctoral thesis by [Fritz-Rudolf Güntsch]. The idea is that a small amount of high-speed memory holds pieces of a larger memory device like a memory drum, tape, or disk. If a program accesses a piece of memory that is not in the high-speed memory, the system reads from the mass storage device, after possibly making room by writing some part of working memory back out to the mass storage device.

Continue reading “Caching In On Program Performance”

FPGA Soft CPU Is Superscalar

We will admit it: mostly when we see a homebrew CPU design on an FPGA, it is a simple design that wouldn’t raise any eyebrows in the 1970s or 1980s. Not so with [Henry Wong’s] design, though. His x86-like design does superscalar out-of-order execution, just like big commercial modern CPUs. Of course [Henry] designs CPU architectures for Intel, so that’s not surprising. You can see a very detailed talk on the design in the video, below. You can also read the entire thesis project.

[Henry] starts out with a description of FPGAs and soft processors. He also covers the use of multiple instruction issue to increase the virtual clock rate of a CPU. In other words, if a 100 MHz CPU can do one instruction at a time, it won’t be any faster — in theory — than a 50 MHz CPU that can do two instructions at once. Of course, trying to do two at once has some overhead, so that won’t be completely true.

Continue reading “FPGA Soft CPU Is Superscalar”

The OS/2 Operating System Didn’t Die… It Went Underground

One problem with building things using state-of-the-art techniques is that sometimes those that look like they will be “the next big thing” turn out to be dead ends. Next thing you know, that hot new part or piece of software is hard to get or unmaintained. This is especially true if you are building something with a long life span. A case in point is the New York City subway system. Back in the 1990s the transit authority decided to adopt IBM’s new OS/2 operating system. Why not? It was robust and we used to always say “no one ever got fired for buying IBM.”

There was one problem. OS/2 was completely eclipsed by other operating systems, notably Windows and — mostly — has sunk from the public view. [Andrew Egan’s] post covers just how the conversion to a card-based system pushed OS/2 underground all over the Big Apple, and it is an interesting read.

Continue reading “The OS/2 Operating System Didn’t Die… It Went Underground”

Spy Tech: Tiny Spy Plane Becomes Cold War Prize

What looks like something famous, is much smaller, and is embroiled in a web of cold war cloak-and-dagger intrigue? It sounds like the answer could be Mini-Me from the Austin Powers movies, but we were actually thinking of the D-21 supersonic spy drone. Never heard of it? It didn’t have a very long service life, but it was a tiny little unmanned SR-71 and is part of a spy story that would fit right in with James Bond, if not Austin Powers.

The little plane had a wingspan of only 19 feet — compared to the SR-71’s 56 foot span — and was 42 feet long. It could fly at about Mach 3.3 at 95,000 feet and had a range of around 3,500 miles. It shared many characteristics with its big brother including the use of titanium and a design to present a low RADAR cross-section.

The Spy Who Photographed Me

With today’s global economy and increased international cooperation, it is hard to remember just how tense the late 1960s were. Governments wanted to see what other governments were up to. Satellite technology would eventually fill that role, but even though spy satellites first appeared in 1959, they used film that had to be retrieved by an airplane as it fell from the sky and then processed. Not exactly real time. More effective satellites would have to wait for better imaging technology — see the video below for just how bad those old satellite images were. That left spy planes to do the bulk of the work.

Continue reading “Spy Tech: Tiny Spy Plane Becomes Cold War Prize”

Abusing A CPU’s Adders To Optimize Bit Counting

If you like nitpicking around C code and generated assembly language — and we’ll admit that we do — you shouldn’t miss [Scaramanga’s] analysis of what’s known as Kernighan’s trick. If you haven’t heard of the trick, it’s a pretty efficient way of counting bits.

Like the Wheatstone bridge and a lot of other things, the Kernighan trick is misnamed. Brian Kernighan made it famous, but it was actually first published in 1960 and again in 1964 before he wrote about it in 1988. The naive way to count bits would be to scan through each bit position noting how many one bits you encounter, but the problem is, that takes a loop for each bit. A 64-bit word, then, takes 64 loops no matter what it contains. You can do slightly better by removing each bit you find and stopping when the word goes to zero, but that still could take 64 cycles if the last bit you test is set.

Continue reading “Abusing A CPU’s Adders To Optimize Bit Counting”

Adobe Neural Net Detects Photoshop Shenanigans

Photoshop can take a bad picture and make it look better. But it can also take a picture of you smiling and make it into a picture of your frowning. Altering images and video can of course be benign, but it can also have nefarious purposes. Adobe teamed up with researchers at Berkeley to see if they could teach a computer to detect a very specific type of photo manipulation. As it turns out, they could.

Using a Photoshop feature called face-aware liquify, slightly more than half of the people tested could tell which picture was the original and which was retouched to alter the facial expression. However, after sufficient training, Adobe’s neural network could solve the puzzle correctly 99% of the time.

Continue reading “Adobe Neural Net Detects Photoshop Shenanigans”