The design process for any product is necessarily an iterative one. Often, a prototype is modelled or built, and changes are made to overcome problems and improve the design. This can be a tedious process, and it’s one that MIT’s CSAIL has sought to speed up with InstantCAD.
The basic idea is integrating analysis tools as a plugin within already existing CAD software. A design can be created, and then parametrically modified, while the analysis updates on screen in a near-live fashion. Imagine modelling a spanner, and then dragging sliders to change things like length and width while watching the stress concentrations change in real time. The tool appears to primarily be using some sort of finite element analysis, though the paper also shows examples of analyzing fluid flows as well.
The software is impressive, however there are caveats. Like any computer analysis, serious verification work must be undertaken to ensure its validity. We suspect that there may be issues with more complex geometries that lead to inaccurate simulation. It’s not the sort of tool you’d use for anything that puts life and limb at risk, but we can see it having great uses for designing basic objects when you want to quickly gain an idea of what sort of effect certain parameter changes will have.
The other main disappointment is that while this tool looks great, it doesn’t appear to be publicly available in any form. Whether this is due to universities and complicated IP requirements or the potential for future commercialization is anyone’s guess. Regardless, you can read the conference paper here or check out the video below. Or you could read up on the applications of finite element analysis to 3D printer slicers, too.
Continue reading “InstantCAD Promises Faster Iterative Design”
We keep seeing more and more Tensor Flow neural network projects. We also keep seeing more and more things running in the browser. You don’t have to be Mr. Spock to see this one coming. TensorFire runs neural networks in the browser and claims that WebGL allows it to run as quickly as it would on the user’s desktop computer. The main page is a demo that stylizes images, but if you want more detail you’ll probably want to visit the project page, instead. You might also enjoy the video from one of the creators, [Kevin Kwok], below.
TensorFire has two parts: a low-level language for writing massively parallel WebGL shaders that operate on 4D tensors and a high-level library for importing models from Keras or TensorFlow. The authors claim it will work on any GPU and–in some cases–will be actually faster than running native TensorFlow.
Continue reading “Neural Nets in the Browser: Why Not?”
There was a time when owning a computer meant you probably knew most or all of the instructions it could execute. Your modern PC, though, has a lot of instructions, many of them meant for specialized operating system, encryption, or digital signal processing features.
There are known undocumented instructions in a lot of x86-class CPUs, too. What’s more, these days your x86 CPU might really be a virtual machine running on a different processor, or your CPU could have a defect or a bug. Maybe you want to run sandsifter–a program that searches for erroneous or undocumented instructions. Who knows what is lurking in your CPU?
Continue reading “Find Instructions Hidden In Your CPU”
If you can’t stand the thought of using an application in your browser, you might as well jump ahead to the comments and start flaming.
Still with us? Imagine this scenario. You are at the office, at a client’s site, at a school, or visiting your mom. Suddenly, for some strange reason, you need to edit a hex file. We don’t know why, but if you are reading Hackaday, it isn’t that big of a stretch to imagine it. What do you do? Download and install a hex editor? Maybe you can’t. Or, if it is mom’s computer, maybe you just don’t want to. Your next option is to navigate to HexEd.it.
Continue reading “Edit Hex in the Browser”
The relatively inexpensive K40 laser cutter/engraver machines from China have brought laser cutting to the masses, but they are not without their faults. Sure, they’re only powerful enough for the lightest cutting tasks, but on top of that, their bundled software is inflexible and disappointing. If your workshop or hackspace has one of these machines languishing in the corner, then the release of a new piece of software, K40 Whisperer from [Scorch], is an interesting and welcome development.
He tells us that the reverse engineering process required to understand the K40’s protocol was non-trivial, given that it does not use handy decimal numbers to issue commands. A spreadsheet was used to collate data packets and spot repeating patterns to analyse the inner workings. Feature-wise, the software reads SVG and DXF files, and can split SVGs by colour. It has a halftone algorithm for rendering grey scales, and cuts from the inside of each shape first to avoid pieces of work dropping out of the piece of material. Currently it works with the stock M2 Nano controller board and is available as a Windows download, though it can also be compiled for Linux distributions, or MacOS, and he is asking owners to test it with as many machines as possible to ensure compatibility with other boards.
He has posted a video of K40 Whisperer in action, which you can see below the break.
Continue reading “Take Control Of Your Cheap Laser Cutter”
Silent film star [Lon Chaney] had the nickname “man of a thousand faces.” The Try It Out website (tio.run) might well be the site of a hundred languages. Well, in all fairness, they only have 97 “practical” languages, but they do have 172 “recreational languages” but the site of 269 languages doesn’t trip off the tongue, does it? The site lets you run some code in each of those languages from inside your browser.
By the site’s definition, practical languages include things like C, Java, Python, and Perl. There’s also old school stuff like FOCAL-69, Fortran, Algol, and APL. There’s several flavors of assembly and plenty of other choices. On the recreational side, you can find Numberwang, LOLCODE, and quite a few we’ve never heard of.
Continue reading “The Site of a Hundred Languages”
The documentation is a bit sparse but readable. You simply define the function you want to execute and the dimensions of the problem. You can specify one, two, or three dimensions, as suits your problem space. When you execute the associated function it will try to run the kernels on your GPU in parallel. If it can’t, it will still get the right answer, just slowly.