Compiling C To PowerPoint

If you have worked for a large company — or even a small one — it might seem that you spend more time writing PowerPoint charts than programming. [Tom Widenhain’s] video asks the question: Can we compile C into PowerPoint? Watch the video below to find out the answer. Would it surprise you to know that [Tom] wanted to simulate the x86? It surprised us, too, and we had to note the video appeared on April 1. It does look workable, though, other than it is a bit unwieldy.

Instead of a Turing machine, this builds a set of clever logic gates. Unsurprisingly, [Tom] is the guy who put together a Turing machine in Excel. Surprisingly, he isn’t the first one to attempt a C to PPT compiler. The University of Chicago had a similar idea over a year ago, based on [Tom’s] earlier work and executed program using inefficient Turing machines.

Continue reading “Compiling C To PowerPoint”

China X86 Chips Hitting The Market

Last year, fabless chip maker Zhaoxin announced they were readying a multicore x86-compatible CPU. According to media reports, the chips are showing up on Chinese marketplaces like Taobao shipping around March.

The company is a joint venture between the Shanghai Municipal Government and VIA Technologies, a familiar name in the PC business. It makes even more sense if you remember that VIA bought Centaur who had built simple x86 chips and used the simplicity to add more cache that more complex Intel and AMD chips. These fell out of the hobby market, but they’ve still been pushing forward providing simple designs that are inexpensive and consume low power.

Continue reading “China X86 Chips Hitting The Market”

All You’ve Ever Wanted To Know About Compilers

They say that in order to understand recursion, you must first understand recursion. Once you master that concept, you might decide that it’s time to write your own compiler that can compile itself as a fun side project. According to [Warren] aka [DoctorWkt], who documented every step of writing this C compiler from scratch, a true compiler will be able to do that.

Some of the goals for the project included self-compiling, focusing on a real hardware platform, practicality, and simplicity. [Warren] outlines a lot of the theory of compilers as well, including all the lexical, grammar, and semantic analysis and then the final translation into assembly language, but really focuses on making this compiler one for practical use rather than just a theoretical implementation. He focuses on Intel x86-64 and 32-bit ARM platforms too, which are widely available.

This project is a long read and very thoroughly documented at around 100,000 words, so if you’ve ever been interested in compilers this is a great place to start. There are a lot of other great compiler tools floating around too, like the Compiler Explorer which shows you generated code as you write in a higher level language.

[via Hackaday.io]

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 Atomic Pi: Is It Worth It?

Several months ago, a strange Kickstarter project from ‘Team IoT’ appeared that seemed too good to be true. The Atomic Pi was billed as a high-power alternative to the Raspberry Pi, and the specs are amazing. For thirty five American buckaroos, you get a single board computer with an Intel processor. You get 16 Gigs of eMMC Flash, more than enough for a basic Linux system and even a cut-down version of Windows 10. You have WiFi, you have Bluetooth, you have a real time clock, something so many of the other single board computers forget. The best part? It’s only thirty five dollars.

Naturally, people lost their minds. There are many challengers to the Raspberry Pi, but nothing so far can beat the Pi on both price and performance. Could the Atomic Pi be the single board computer that finally brings the folks from Cambridge to their knees? Is this the computer that will revolutionize STEM education, get on a postage stamp, and sell tens of millions of units?

No. The answer is no. While I’m not allowed to call the Atomic Pi “literal garbage” because our editors insist on the technicality that it’s “surplus” because they were purchased before they hit the trash cans, there will be no community built around this thirty five dollar single board computer. This is a piece of electronic flotsam that will go down in history right next to the Ouya console. There will be no new Atomic Pis made, and I highly doubt there will ever be any software updates. Come throw your money away on silicon, fiberglass and metal detritus! Or maybe you have a use for this thing. Meet the Atomic Pi!

Continue reading “The Atomic Pi: Is It Worth It?”

This Atomic Pi Eats Other Pis For Lunch

The world is full of single board computers that want a slice of the Raspberry Pi action. Most of them are terrible. But fools and their money, yadda yadda, and there’s a new sucker born every minute. The latest contender to the Raspberry Pi is the Atomic Pi. It’s an x86-based single board computer that costs $35, shipped to your door. Is it worth it? Is it even in the same market as a Raspberry Pi? Or is it just a small budget computer without a box? I have no idea.

With that said, the Atomic Pi comes with an Intel Atom x5-Z8350 with Intel HD Graphics (Cherry Trail). There is 2 GB of DDR3L-16000, 16 GB of eMMC, and an SD slot for storage. Connectivity is a full HDMI port (primary audio out), USB 3.0 and 2.0 ports, a Mediatec RT5572 used for WiFi, a Qualcomm CSR8510 for Bluetooth 4.0, a “Legitimate licensed BIOS”, and a real-time clock. Overall, you’re looking at a top-of-the-line tablet computer from four years ago. One that would run Windows.

To use all the features of the Atomic Pi, you will need to buy a $15 breakout board to supply power to the board, and use a large industrial power supply, the kind you would normally find bolted to a RepRap or a homemade CNC machine. You will need to supply both 5 V and 12 V to the board if you would like to use the Class D audio amplifier, but if you only want to use audio over HDMI, supplying only 5 V will do. If you want to boot this board, it looks like you’ll need to bring a USB/TTL cable to make everything work. This may be a tough sell to a crowd with zero experience booting a bare Linux system. That said, it runs Nintendo 64 emulators well, which is the only reason people buy Raspberry Pis anyway.

Is the Atomic Pi the single board computer you need? I don’t know. But we’ve got an Atomic Pi on order, and we’re ready to go with a full review when it show up.

Show Your Skills With A Bootable CV

It’s a thankless task, searching for a job. You send off your CV, or resume, and it joins a thousand other destined for the round file. What on earth can you do to make your career stand out, and catch the eye of the recruiter?

Your bootable CV isn't eye-catching if the recruiter uses GitHub to view the PDF.
Your bootable CV isn’t eye-catching if the recruiter uses GitHub to view the PDF.

If you are [Pablo Jiménez Mateo], the answer is straightforward enough. Simply combine the document as a PDF with an x86 bootloader, to make a readable document that will also boot an x86 computer system. He can do this relatively easily by prepending the bootloader file to the PDF, as long as the “%PDF” header of the CV remains within the first 1024 bytes it will remain a readable document. Which it does, though as our GitHub screenshot shows, not in all PDF readers.

A bootable PDF is pretty cool and we have to salute his effort in getting it in front of us in the hope of  career boost, but it would be fair to admit that it’s a trick that has been done before. So it’s time to turn attention to the bootloader itself, whose code comes in the form of an extremely well-commented assembly file that loads some sprites and a border to a VGA screen that looks as though it might be the first room in a top-down adventure game. Through the code we can gain an appreciation of just how simple a bootloader can be, and that in itself makes this project worth a second look.

If writing your own bootloader interests you, that’s certainly a subject we’ve covered in the past. It’s possible to make bootable images very small indeed, even down to fitting in a Tweet.