Category Archives: software hacks

Emulate ICs in Python

Most people who want to simulate logic ICs will use Verilog, VHDL, or System Verilog. Not [hsoft]. He wanted to use Python, and wrote a simple Python framework for doing just that. You can find the code on GitHub, and there is an ASCII video that won’t embed here at Hackaday, but which you can view at ASCIInema.

Below the break we have an example of “constructing” a circuit in Python using ICemu:

dec = SN74HC138() sr1 = CD74AC164() sr2 = CD74AC164() mcu_pin = OutputPin('PB4') sr1.pin_CP.wire_to(dec.pin_Y0) sr2.pin_CP.wire_to(dec.pin_Y1) sr1.pin_DS1.wire_to(mcu_pin) sr2.pin_DS1.wire_to(mcu_pin) print(dec.asciiart()) _______ A>|- U +|>Y7 B>|- +|>Y6 C>|- +|>Y5 G2A>|- +|>Y4 

…read more

Continue reading

Posted in circuit simulation, emulation, Logic simulation, python, simulation, software hacks | Leave a comment

Satellite Tracking With Friends

If you’re in the mood to track satellites, it’s a relatively simple task to look up one of a multitude of websites that can give you a list of satellites visible from your location. However, if you’re interested in using satellites to communicate with far-flung friends, you might be interested in this multi-point satellite tracker.

[Stephen Downward VA1QLE] developed the tracker to make it easier to figure out which satellites would be simultaneously visible to people at different locations on the Earth’s surface. This is useful for amateur radio, as signals can be passed through satellites with ham gear onboard …read more

Continue reading

Posted in amateur radio, ham radio, satellite, satellite tracking, Satellites, software hacks, track, tracking | Leave a comment

Wolfram Alpha Shows its Work

The bane of math students everywhere is the teacher asking for you to show your work. If you’ve grown up where a computer is a normal part of school work, that might annoy you since a lot of tools just give you an answer. We aren’t suggesting you cheat at homework, but we did notice that Wolfram Alpha now shows more of its work when it solves many common math problems.

Granted, the site has always shown work on some problems. However, a recent update shows more intermediate steps and also covers more kinds of problems in a step-by-step format. …read more

Continue reading

Posted in homework, math, software hacks, wolfram alpha | Leave a comment

Hardware for Deep Neural Networks

In case you didn’t make it to the ISCA (International Society for Computers and their Applications) session this year, you might be interested in a presentation by [Joel Emer] an MIT  professor and scientist for NVIDIA. Along with another MIT professor and two PhD students ([Vivienne Sze], [Yu-Hsin  Chen], and [Tien-Ju Yang]), [Emer’s] presentation covers hardware architectures for deep neural networks.

The presentation covers the background on deep neural networks and basic theory. Then it progresses to deep learning specifics. One interesting graph shows how neural networks are getting better at identifying objects in images every year and as of …read more

Continue reading

Posted in deep neural networks, neural networks, software hacks | Leave a comment

Language Parsing with ANTLR

There are many projects that call out for a custom language parser. If you need something standard, you can probably lift the code from someplace on the Internet. If you need something custom, you might consider reading [Federico Tomassetti’s] tutorial on using ANTLR to build a complete parser-based system. [Frederico] also expanded on this material for his book, but there’s still plenty to pick up from the eight blog posts.

His language, Sandy, is complex enough to be a good example, but not too complex to understand. In addition to the posts, you can find the code on GitHub.

The …read more

Continue reading

Posted in ANTLR, compiler, interpreter, java, parser, Software Development, software hacks | Leave a comment

Forget Troy. Try HelenOS

Even though it seems like there are a lot of operating system choices, the number narrows if you start counting kernels, instead of distributions. Sure, Windows is clearly an operating system family, and on the Unix-like side, there is Linux and BSD. But many other operating systems–Ubuntu, Fedora, Raspian–they all derive from some stock operating system. There are some outliers, though, and one of those is HelenOS. The open source OS runs on many platforms, including PCs, Raspberry PIs, Beaglebones, and many others.

Although the OS isn’t new, it is gaining more features and is now at version 0.7. You …read more

Continue reading

Posted in ARM, helenos, microkernel, operating system, Raspberry Pi, software hacks | Leave a comment

InstantCAD Promises Faster Iterative Design

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 …read more

Continue reading

Posted in cad, fea, instantcad, simulation, software hacks | Leave a comment

Find Instructions Hidden In Your CPU

There was a time when owning 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 …read more

Continue reading

Posted in cpu, instruction set architecture, intel, isa, software hacks, undocumented, undocumented instructions, x86 | Leave a comment

Take Control Of Your Cheap Laser Cutter

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 …read more

Continue reading

Posted in K40, laser cutter, laser engraver, software hacks | Leave a comment

The Site of a Hundred Languages

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 …read more

Continue reading

Posted in programming languages, Software Development, software hacks, tio, try it out | Leave a comment