dkfellows
- Karma
- 21
- Created
- November 18, 2016 (9y ago)
- Submissions
- 0
Senior Software Engineer at the University of Manchester.
Programmer of much of Tcl. Programmer of Apache Taverna Server. Involved with scientific computing projects at the University of Manchester (currently SpiNNaker, a project to make a million-CPU supercomputer to simulate a billion neurons in real time).
You need tools adequate to the task, but the task isn't necessarily what other people think it is. In this case, I'd bet the tasks are to learn what's going on inside a database and become better at programming in…
Almost all quoting for non-trivial cases comes down to the [list] command. It does the Right Thing, especially in the critical cases where you're generating a command to call later. Pretty much everything else is either…
The main issue with supporting those IDEs is that the Language Server Protocol is vast and really quite complicated. More than a weekend's work to go to doing the interesting bits so life gets in the way... The IDE…
Python has nothing at all like safe interpreters (I've looked). You just can't prevent things from leaking, it isn't designed for it at all. You can do a half-hearted approach by specifying the globals dictionary to…
Well, there are classes and objects in there now. They're designed for modelling pretty heavyweight entities like widgets instead of lightweight things like linked lists. It was a fun OO system to write. It's much more…
Tcl uses a memory model internally where each piece of memory belongs strictly to the thread that allocated it, with this enforced in lots of places. There are a few loopholes past it (for process-wide concepts such as…
That's an excellent question! It's not at all like IP. The basic message size is (IIRC) 64 or 96 bits, comprising a system control word, an application header word, and an optional payload word. The application header…
It's basically very different in approach to many modern computers. The cores are slow and low-powered, but the interconnect is very fast for routing small packets to multiple destinations, which means that…
It really depends on whether you include the memory in that count, as memory uses masses of transistors without being very interesting as most of those transistors spend their time just sitting there in a stable state.…
There isn't a plan to do the whole human brain, and doing so would require both at least two further generations of hardware and likely building a new facility for deploying it in. If someone's got a spare billion, and…
> Science journalism is generally just awful. Not just science journalism. I've yet to see a journalist get a story 100% right where I knew the facts personally ahead of time. If you're lucky, they've just garbled…
It theoretically has 1036800 processors. It doesn't actually have that many because core-level manufacturing yields aren't 100%. The software architecture is designed to be resilient to this.
The million was a figure chosen to be eye-catching to funders and to force the initial design team to address scalability from the beginning, according to Steve Furber. So yes, it's a bit arbitrary. The actual figure is…
The unit cost of a chip isn't too much. The price of doing the design and creating the masks for the silicon OTOH...
> Specifically, how will you prevent SpiNNaker from going down the same path as the Connection Machine - (stops doing AI stuff because, say, geneticists want to use it for protein sequencing)? I'm on the team. I can say…
The processor cores in SpiNNaker run at 200MHz (yes, this is slow!), and can usually issue one instruction per CPU cycle (that's quite nice). However, the trick to getting lots of neurons in is in keeping the number of…
Our press office are definitely a law unto themselves, but the analogy was drawn in the event. It's also inaccurate, as it doesn't count the extra ~billion gates per chip for the memory (as that's just a co-packaged…
The brain definitely is able to use not just spiking frequency (which is approximately the same as EEG voltage, though not really) but also spiking patterns to encode information. We've observed some highly interesting…
FWIW, this is based on SpiNNaker, which is a system with a million CPU cores and a custom low-power multicast network backplane. It's possible to do simpler neural models with much less power than we do (and some of our…
We can do dynamic networking — the routing tables for the hardware is reloadable at runtime — but it's sufficiently difficult to do the routing computations that we only do that when the simulation is stopped at the…
The usual problem is to do with managing list construction, and the usual answer is the [list] command, which Does The Right Thing for sane code. We also made sure that such lists go through the script evaluation engine…
Yes, that's at least technically possible. On the other hand, there's enough work that I believe it very unlikely that anything would be rejected like that provided it works well with the rest of the language, and is…
Tcl has a bigger footprint than Lua, but provides more services.
The string interconvertibility (more formally, strings are the supertype of all other value types) only really applies to values that you can regard as being immutable. Mutable state instead goes into a named entity…
If someone wants to use, say, LuaJIT to work on the $100k bounty for a 10x speedup of the Tcl language, they should go right ahead; prove that you can do it and claim the cash. (I guess I'll be rather involved in…