Learn Neural Network and Evolution Theory Fast

[carykh] has a really interesting video series which can give a beginner or a pro a great insight into how neural networks operate and at the same time how evolution works. You may remember his work creating a Bach audio producing neural network, and this series again shows his talent at explaining the complex topic so anyone may understand.

He starts with 1000 “creatures”. Each has an internal clock which acts a bit like a heart beat however does not change speed throughout the creature’s life. Creatures also have nodes which cause friction with the ground but don’t collide with each other. Connecting the nodes are muscles which can stretch or contract and have different strengths.

At the beginning of the simulation the creatures are randomly generated along with their random traits. Some have longer/shorter muscles, while node and muscle positions are also randomly selected. Once this is set up they have one job: move from left to right as far as possible in 15 seconds.

Each creature has a chance to perform and 500 are then selected to evolve based on how far they managed to travel to the right of the starting position. The better the creature performs the higher the probability it will survive, although some of the high performing creatures randomly die and some lower performers randomly survive. The 500 surviving creatures reproduce asexually creating another 500 to replace the population that were killed off.

The simulation is run again and again until one or two types of species start to dominate. When this happens evolution slows down as the gene pool begins to get very similar. Occasionally a breakthrough will occur either creating a new species or improving the current best species leading to a bit of a competition for the top spot.

We think the series of four short YouTube videos (all around 5 mins each) that kick off the series demonstrate neural networks in a very visual way and make it really easy to understand. Whether you don’t know much about neural networks or you do and want to see something really cool, these are worthy of your time.

Continue reading “Learn Neural Network and Evolution Theory Fast”

NASA’s 2017-2018 Software Catalog is Out

Need some help sizing your beyond-low-Earth-orbit vehicle? Request NASA’s BLAST software. Need to forecast the weather on Venus? That would be Venus-GRAM (global reference atmospheric model). Or maybe you just want to play around with the NASA Tensegrity Robotics Toolkit. (We do!) Then it’s a good thing that part of NASA’s public mandate is making their software available. And the 2017-2018 Software Catalog (PDF) has just been released.

Unfortunately, not everything that NASA does is open source, and a substantial fraction of the software suites are only available for code “to be used on behalf of the U.S. Government”. But still, it’s very cool that NASA is opening up as much of their libraries as they are. Where else are you going to get access to orbital debris engineering models or cutting-edge fluid dynamics modelers and solvers, for free?

We already mentioned this in the Links column, but we think it’s worth repeating because we could use your help. The catalog is 154 pages long, and we haven’t quite finished leaf through every page. If you see anything awesome inside, let us know in the comments. Do any of you already use NASA’s open-source software?

Will Your CAD Software Company Own Your Files, Too?

We’re used to the relationship between the commercial software companies from whom we’ve bought whichever of the programs we use on our computers, and ourselves as end users. We pay them money, and they give us a licence to use the software. We then go away and do our work on it, create our Microsoft Word documents or whatever, and those are our work, to do whatever we want with.

There are plenty of arguments against this arrangement from the world of free software, indeed many of us choose to heed them and run open source alternatives to the paid-for packages or operating systems. But for the majority of individuals and organisations the commercial model is how they consume software. Pay for the product, use it for whatever you want.

What might happen were that commercial model to change? For instance, if the output of your commercial software retained some ownership on the part of the developer, so for example maybe a word processor company could legally prevent you opening a document in anything but their word processor or viewer. It sounds rather unreasonable, and maybe even far-fetched, but there is an interesting case in California’s Ninth Circuit court that could make that a possibility. Continue reading “Will Your CAD Software Company Own Your Files, Too?”

Ask Hackaday: Are Unlockable Features Good for the User?

There are numerous examples of hardware which has latent features waiting to be unlocked by software. Most recently, we saw a Casio calculator which has the same features as its bigger sibling hidden within the firmware, only to be exposed by a buffer overflow bug (or the lead from a pencil if you prefer a hardware hack).

More famously, oscilloscopes have been notorious for having crippled features. The Rigol DS1052E was hugely popular on hacker benches because of it’s very approachable price tag. The model shipped with 50 MHz bandwidth but it was discovered that a simple hack turned it into the DS1102E 100 MHz scope. Tektronix has gotten in on this action as well, shipping modules like I2C, CAN, and LIN analyzation on the scope but requiring a hardware key to unlock (these were discovered to have a horribly insecure unlock method). Similar feature barriers are found on Rigol’s new reigning entry-level scope, the DS1054Z, which ships with protocol analyzation modules (among others) that are enabled only for the first 70 hours of scope operation, requiring an additional payment to unlock them. Most scope manufacturers are in on the game, and of course this is not limited to our tools. WiFi routers are another great example of hardware hosting firmware-unlockable features.

So, the question on my mind which I’d like to ask all of the Hackaday community is this: are unlockable features good for us, the people who use these tools? Let’s take a look at some of the background of these practices and then jump into a discussion in the comments.

Continue reading “Ask Hackaday: Are Unlockable Features Good for the User?”

Optimizing Linux for Slow Computers

It’s interesting, to consider what constitutes a power user of an operating system. For most people in the wider world a power user is someone who knows their way around Windows and Microsoft Office a lot, and can help them get their print jobs to come out right. For those of us in our community, and in particular Linux users though it’s a more difficult thing to nail down. If you’re a LibreOffice power user like your Windows counterpart, you’ve only really scratched the surface. Even if you’ve made your Raspberry Pi do all sorts of tricks in Python from the command line, or spent a career shepherding websites onto virtual Linux machines loaded with Apache and MySQL, are you then a power user compared to the person who knows their way around the system at the lower level and has an understanding of the kernel? Probably not. It’s like climbing a mountain with false summits, there are so many layers to power usership.

So while some of you readers will be au fait with your OS at its very lowest level, most of us will be somewhere intermediate. We’ll know our way around our OS in terms of the things we do with it, and while those things might be quite advanced we’ll rely on our distribution packager to take care of the vast majority of the hard work.

Linux distributions, at least the general purpose ones, have to be all things to all people. Which means that the way they work has to deliver acceptable performance to multiple use cases, from servers through desktops, portable, and even mobile devices. Those low-level power users we mentioned earlier can tweak their systems to release any extra performance, but the rest of us? We just have to put up with it.

To help us, [Fabio Akita] has written an excellent piece on optimizing Linux for slow computers. By which he means optimising Linux for desktop use on yesterday’s laptop that came with Windows XP or Vista, rather than on that ancient 486 in the cupboard. To a Hackaday scribe using a Core 2 Duo, and no doubt to many of you too, it’s an interesting read.

In it he explains the problem as more one of responsiveness than of hardware performance, and investigates the ways in which a typical distro can take away your resources without your realising it. He looks at RAM versus swap memory, schedulers, and tackles the thorny question of window managers head-on. Some of the tweaks that deliver the most are the easiest, for example the Great Suspender plugin for Chrome, or making Dropbox less of a hog. It’s not a hardware hack by any means, but we suspect that many readers will come away from it with a faster machine.

If you’re a power user whose skills are so advanced you have no need for such things as [Fabio]’s piece, share your wisdom on sharpening up a Linux distro for the rest of us in the comments.

Via Hacker News.

Header image, Tux: Larry Ewing, Simon Budig, Garrett LeSage [Copyrighted free use or CC0], via Wikimedia Commons.

Medium Over Message: A CD-ROM Multimedia Bubble Survivor’s Tale

Sometimes in the never-ending progression of technology, people take wrong turns. They pursue dead-ends they believe represent a bright future, often in spite of obvious indications to the contrary. IBM doggedly insisting Micro Channel Architecture was the future of PC hardware, for example, or Nokia’s seeming inability to recognise that the mobile phone experience had changed for ever when the first iPhones and Android devices appeared.

Every once in a while, that collective delusion grips an entire industry. All the players in a particular market nail their colours to a technology, seemingly without heed to what seems with hindsight to have been a completely obvious threat from the alternative that sidelined them. It is a tale of personal experience that prompts this line of thought, for the industry that tempted me away from hardware to a career in electronic publishing in the early 1990s was CD-ROM multimedia.

Continue reading “Medium Over Message: A CD-ROM Multimedia Bubble Survivor’s Tale”

Documentation? Wave Me!

A lot of hardware and software hackers aren’t all that keen on documentation. The problem is, if you don’t document, it is harder for people to replicate or build on your work. If you aren’t happy writing, keep the old adage in mind: a picture is worth a thousand words.

With a digital design, a timing diagram is often a key piece of documentation. WaveMe is a free Windows program that makes it easy to create good-looking timing diagrams. You can run the software on other platforms via Wine.

Continue reading “Documentation? Wave Me!”