Rendering OpenSCAD In The Browser

If you haven’t heard of it, OpenSCAD is a really wonderful tool for 3D modeling.  While it doesn’t have the traditional graphical interface of AutoCAD – it’s basically a programming language for 3D models – OpenSCAD is able to create very complex parts with only a few lines of code.

That’s all well and good, but what if you wanted to edit OpenSCAD parts in your browser? Enter OpenJsCAD, an OpenSCAD interpreter written entirely in Javascript and able to be embedded in a web page.

OpenSCAD allows for two types of modeling – constructive solid geometry, or taking 3D primitives and stretching, scaling, and intersecting them to create a 3D shape, or extrusion from a 2D outline. Quite a few RepRap parts were designed in OpenSCAD, and the lightweight interface and open source nature means it’s perfect for designing stuff to print on your Makerbot.

Tip ‘o the hat to [Gordon] for sending this one in, and we really have to commend him for writing his own online scriptable CAD exporter before finding out about OpenJsCAD. He may be a little late to the online OpenSCAD party, but we have to agree with him that an online 3D solid editor would be an awesome feature for Thingiverse to roll out.

Writing Javascript Without Using Any Letters Or Numbers

Did you know it’s possible to write Javascript code without using any letters or numbers at all? Well, it’s not just Javascript, but that’s the language used in this demonstration. [Patricio Palladino] shows how code can be written using just eight characters, and all of them are punctuation marks.

Typecasting is the name of the game here. By starting out with an empty array formed by a pair of square brackets, [Patricio] can generate the number zero by casting the array with the plus sign. From there he can use an exclamation point (a boolean cast) and addition to generate any number. The image above is an example of the digits 0-9. This would get very tedious for larger numbers but there’s another shortcut. Cast the digits to strings, concatenate them, then cast back to a number and you’re in business.

The technique is fascinating, and basically unreadable. As a proof of concept he wrote a parser that will convert any Javascript into this hieroglyphy. Check out his Github repository to give it a try.

[via Reddit]

Adafruit’s Custom Rasp Pi Distro Eases Some Pain

Many of you have still not yet received your Raspberry Pi. When you do, you’ll find that there is work to be done in the operating system to get things working as you might want them to.  The wonderful folks over at Adafruit have tackled this by releasing their own distribution of Linux for the Raspberry Pi.

Based on the shipped distribution “Wheezy”, Adafruit’s distribution “Occidentalis v0.1. Rubus occidentalis” or “the Black Raspberry” now includes the following:

 

Remote Uploading To An Arduino With Codebender

[youtube=http://www.youtube.com/watch?v=KCHqhV6xPMg&w=470]

A few weeks ago, we saw codebender, an online replacement for the Arduino IDE that allowed you to upload a sketch to your board from a web browser. Over on the codebender blog [Vasilis] and his team are rolling out a way to remotely upload code to an Arduino over Ethernet. Now you don’t even need a serial connection to program an Arduino; it can be done over the Internet to a board in the next room, or on another continent.

The star of this hack is the Ariadne bootloader, an implementation of TFTP that allows any Ethernet-enabled Arduino to receive updates over the Internet. There is still one small problem with the Ariadne bootloader: uploading code over Ethernet requires someone to press the reset button on the Arduino, completely negating the benefits of programming an Arduino over Ethernet.

This problem has been solved before for earlier Arduino boards, so we’re sure [Vasilis] and his team will be able to fix the reset issue in very short order. If you’d like to check out the remote TFTP bootloader and play around with codebender, you can grab Ariadne over on GitHub.

Editing Your FPGA Source

[Dave] noted that in a recent poll of FPGA developers, emacs was far and away the most popular VHDL and Verilog editor. There are a few reasons for this – namely, emacs comes with packages for editing your HDL of choice. For those of us not wanting to install (and learn) the emacs operating system, [Dave] got Notepad++ to work with these packages.

Notepad++ already has VHDL and Verilog highlighting along with other advanced text editor features, but [Dave] wanted templates, automated declarations and beautification. To do this, he used the FingerText to store code as snippets and call them up at the wave of a finger.

As [Dave] writes his code, the component declarations constantly need to be updated, and with the help of a Perl script [Dave] can update them with the click of a hotkey. Beautification is a harder nut to crack, as Notepad++ doesn’t even have a VHDL or Verilog beautifier plugin. This was accomplished by installing emacs and running the beautification process as a batch script. Nobody can have it all, but we’re thinking [Dave]’s method of getting away from emacs is pretty neat.

From 0 To C: Teaching Programming Without A Computer

It’s no secret that learning how to program is very hard, and teaching it doubly so, requiring the student to wrap their head around very unorthodox concepts. [Ubi de Feo] over at the Amsterdam tech collective Hello, Savants! has a unique solution for taking someone who knows nothing of programming and turning them into a computer aficionado capable of deftly wielding semicolons and parens. It’s called From 0 to C, and aims to teach students programming in an environment without computers.

For his class, [Ubi] made up a lot of wooden boxes with eight subdivisions representing the bits in a byte. By putting ping-pong balls in each slot, [Ubi]’s students can grasp the concept of counting by powers of two and quickly move on to hexidecimal and more advanced concepts like bit shifting.

After learning the ins and outs of how stupid computers actually are, [Ubi]’s students then learn the syntax of a language of their choice (C, JavaScript, or Python, for example), and write a few programs.

Although we’re sure most of our readers are far past the ‘learning programming from a blank slate’ portion of their hacker and maker career, anything that gets more people solving their own problems is okay in our book. [Ubi] has a pretty neat take on the pedagogy of teaching programming, and we’d really like to see his work expand outside his Amsterdam collective.

Make A Game For A Retro Console, Win Prizes

For all you old-school console hackers out there, there’s a homebrew coding competition being held by NeoTeam for all the retro (and not so retro) consoles of yesteryear. If you’ve ever programmed for the NES, GBA, PC Engine, N64, or even the Dreamcast, now’s your chance to write a game or app and hopefully win a small prize and a great deal of street cred.

Last year, the Neo Coding Competition saw some very cool entries such as [smealum]’s amazing work in bringing Minecraft to the Nintendo DS ([smealum]’s non-forum DScraft page is here). DScraft won [smealum] a cool $500 USD, but the bragging rights for bringing Minecraft to the DS are far more valuable than any monetary reward.

There are two categories for the competition, an app division and a game division. All the retro platforms are open for development in this contest, so if you want to write something for your Master System, NES, 32X, or Saturn, you better get started: the contest ends August 20th.