Category Archives: Computers

Myrias Research Corporation

myriaslogo_sm.jpg
The current incarnation of my unhealthy love of computer history is a mild fascination with Myrias Research Corporation (1984-1990), precipitated by seeing some of their marketing materials (now misplaced) in my advisor’s collection of old computing ephemera after finding a reference to some of their programming tools in my research.

Myrias was, roughly, a spinoff from the University of Alberta in the early 80s, right in middle of the golden age of supercomputers*, who made moderately interesting M68k-based parallel supercomputers. What I find really interesting is their focus on programming models and tools (You know, parallel programming tools, like that thing I’m working on for my masters’ thesis…), which they built in a neat POSIX-ish (POSIXy?) environment. Also catching my interst, like many of the supercomputing vendors at the time, they had bitchin’ industrial design (Go look at Tamiko Theil’s CM-1 design for Thinking Machines for the canonical example), using chassis that appear to be enormous granite-colored corian blocks with a 45deg clip on one corner. Their major lasting impact was in their parallelizing compiler technology, of which pieces apparently still persist in several modern commercial compilers. Their software designs also seem to persist beyond their code base, in that my original interest came from noticing some striking conceptual similarities between LLVM, which I am currently working with, and the G ISA virtual machine and tools from Myrias 20some years ago.

To collect them for my reference, and for others engaged in similar clicktrances, the online resources I am aware of are:
This flickr photoset of some marketing materials from one of the original team members.
This everything2 article by the same individual.
A number of scholarly publications 1, 2, 3, 4, which are extremely informative , but not visually interesting. There are also a number of boring application (”$Pet_app on the SPS-2”) papers to be found.
I’ve also come across some, mostly passing, mentions in the computer press from the late 80s, mostly via paywalled newspaper aggregatiors.

If anyone knows where I could find pictures and/or marketing materials, particularly chassis photos of an SPS-1 and/or SPS-2, that would be amazing.

* “The golden age of supercomputing” is one of those rough consensus terms, I take it to mean from the 1960s, when technology first got small and fast enough to make serious machines, until about 1994, when less radical designs based on commodity PC hardware caught up to and mostly destroyed the market for novel machines. Of course, no one I know was involved in precipitating this transition.

Posted in Computers, Entertainment, General, OldBlog | 7 Comments

New Laptop!

My new laptop arrived thursday, and it is a beautiful thing.
t510t60p_sm.jpg
(It should be pretty apparent which one is the new one…)

It is a Lenovo ThinkPad T510 (4313 Chassis), with a Core i7 620M (2 cores at 2.66Ghz, Hyperthreaded to 4), 8GB of RAM, a 15.6” 1920×1080 LED Backlit screen, Nvidia Quadro NVS 3100M graphics, 500Gb 7200RPM HDD, and lots of doodads)

Like a good geek, the first two things I did, after booting it up to check that everything worked, were opening it up to poke around and upgrade the RAM (Like all OEMs, Lenovo WAY overcharge for RAM), and blowing away the included Windows Whatever(tm) install for an ArchLinux system (and a smaller partition with a …”fixed”… copy of Windows 7 for games and such).

It is tentatively named “Ahu” in keeping with my “Man made stone structures” naming scheme for full sized computers. (Current active machines are a Lenovo T60p named “Monolith” and a used, modified Dell Optiplex GX280 named “Dolmen”)

Just to keep them together:
Things I like:
* The screen is GEORGOUS, bright, good colors, and 1920×1080 is a whole lot of pixels. Way, Way better than the T60p, even when it was new.
* This thing is a powerhouse. Not “Mindblowing” fast, but close, and 8GB of RAM covers a multitude of software sins.
* nVidia graphics, simply because the nVidia drivers are a lot less of a hassle than the ATI ones under Linux.
* SD Slot – I have lots of SD-using devices, it seems to be the defacto standard, having one built in is super handy.
* Build quailty – It feels sturdy. Actually, even sturdier than the T60p, no squeaks, rattles, or flexing.
* Rounded edges – They screw with the classic Thinkpad aesthetics a little bit, but it means the angles where the palm rest has a sharp edge in your wrists are gone (except for one spot on the right where the latch sits).

Things I dont’ like:
* The textured, flush touchpad is TERRIBLE on first use. It is clumsy to use (different resistance pushing and pulling), feels bad, and doesn’t have recessed edges to put your finger against when scrolling. I’m one of those weirdos who actually likes touchpads, and the one in my T60p is excellent, so this is quite a disappointment. I seem to be acclimating, but it still isn’t as comfortable as it’s predecessor.
* The machine is bulky; If I could have a new 4:3@15” with decent (>1050 vertical lines) resolution I would have gone for that, but they simply don’t make them anymore. 16:9 is a stupid shape for computers. Unfortunately, all my stuff is sized for 4:3@15”, so despite my careful purchase of a matching sleeve, the damn thing doesn’t fit in some of my normal bags and accessories.
* There is a cutout in the palmrest for some part I don’t have, I think a pantone color calibration sensor? or possibly the fingerprint reader? with a blank cover in it. My fingerprint-reader-less T60p has a smooth palm rest with no slot, I was hoping for the same.
* No ThinkPad goodie bag. My T60p came with a variety of extra Trackpoint (eugh) nubs, some “security” (Torx) screws, and some other trivial accessories. It was a nice touch, that is now gone.
* Exposed optical eject button: This thing is so well designed it’s really noticeable that there is an oversight in that the eject button is placed where it is pressed when picking the laptop up by the sides.

Most of the gripes are incredibly minor, and I’m really, really pleased with the machine. I’m Currently in the process of taking it from “shiny new piece of hardware” to “home,” which takes a while for me. Most of the configuration is working well, even the parts I’m doing differently (trying to avoid tpb and use direct acpi or xfce features). Convienently, Arch just added a proper multilib repository (literally the day I got the machine), so none of the old 64 bit OS disadvantages are asserting themselves.

Posted in Announcements, Computers, General, Objects, OldBlog | Tagged , | Leave a comment

Summer Projects

I haven’t been posting much lately, most of my time has been sucked up by a variety of summer projects, both personal and school related, and most of them haven’t been terribly externally interesting or photogenic.

Several of the projects derive from the research group inheriting a heap of hardware from the departure of the last member of UK’s Cluster Fluid Dynamics group, which we are currently in the process of sorting out. One part of the heap is 30 little Dell SX260s (cute li’l SFF Pentium 4 boxes from 2003 or so), and some associated server and network hardware. I’ve spent a couple afternoons building and configuring a portable (ish) cluster from the pile, and the result is PIK (Pentium/Intel Cluster in Kentucky, following our current naming scheme):
pikfront_sm.jpg
And check out my OCD wiring job:
pikback_sm.jpg
Unfortunately, six of the small nodes and one of the servers seem to be dead, all apparently due to bad capacitors… which is sadly entirely unsurprising on for hardware from around 2003. There is still a discussion if it would be worthwhile to replace the caps, it is apparently not too difficult on these motherboards.

On another front, I still haven’t managed to get my 500-some photos from Vienna sorted out; I think only a few of those will end up getting posted as they relate to other things — the urge to just shoot with a little digital and a large memory card creates a really unmanageable number of photos.

Posted in Computers, DIY, General, Objects, OldBlog, School | Leave a comment

DIY Molex Y-Cable

diymolex_sm.jpg
I think this thing might hold the record for the most times I used the phrase “Don’t do this” in a single fabrication.
It’s a 20-pin ATX Y-cable (for running two motherboards off a single power supply), built from two dead power supplies and a dead motherboard. The cables are available commercially, and if it works out will be ordered in bulk, but the research group needed a quick test cable, and all the necessary components were just sitting there in the dead parts pile…
The plan for these is to double up old Athlon (Thunderbred and Barton) machines on single power supplies, to reduce the number of power supplies (and total power budget. Related facts: 1. Switch mode power supplies are way more efficient when heavily loaded. 2. Power supplies and fans are by far the most fragile parts on disc-less machines) on a 128 node cluster built from scraps from KASY0 and some machines we recently inherited from the Computational Fluid Dynamics group in Mechanical Engineering. This cluster will be for testing network topologies (particularly Fractional Flat Neighborhood Networks), so the important thing is that it have lots of independent nodes, and not much else.

Posted in Computers, DIY, Objects, OldBlog, School | Leave a comment

A Compiler Target Model for Line Associative Registers

I just submitted my first “real” publication (which was already accepted based on the extended abstract) A Compiler Target Model for Line Associative Registers, to CPC2010 in Vienna, Austria this July. Very excited.

I got “a little less support” from my adviser than I might have liked, but I’m reasonably confident in my writing skills, and a lot of the material had already been worked over for putting in a (previous, rejected) paper I coauthored, so the process of putting it together wasn’t too bad. It was stated as “I trust you to take care of it,” but it was still really irritating. That said, there is something vaguely awkward about the paper that I haven’t quite been able to put my finger on; I think I thought about and played with it for too long, and lost track of what was actually there at any given time. Have a look and tell me what weirdness didn’t get caught because no one (else) read it closely before it went out, I’ve already found a redundant qualifier left in the last line of the abstract… just be warned that the topic is a little obscure.

Posted in Announcements, Computers, General, OldBlog, School | Leave a comment

User Time Logged In

A lab I sometimes do computer work for asked for a mechanism to account how long each user spends logged in on some *nix (Linux and ancient Solaris) boxes. I don’t know of a “proper” solution, so I did things the UNIX way: I wrote a stupid little awk script that parses the output of last -R to get a minute total. This isn’t a terribly clean or safe script, but it does “just enough” input sanitizing, and seems to work. Some (Linux) boxes I have access to appear to clear/archive/rotate wtmp on boot, so it doesn’t help on those.
Does anyone know of a better way to do this? Is there some utility I’m forgetting? Is this script dangerous in some way I’m not thinking of? Script follows:

#!/bin/sh
last -R | 
awk '
{
	user=$1;
	uselength=$9;
	
#	Check line format
	if (NF != 9) {
	print "Line " NR " discarded, " NF " entries. (Reboot messages, etc.)"
	}
	else if( $NF == "in"){
	print "Line " NR " discarded, still logged in."
	}
	else{
	
	logins[user]++;
# These times are (Days+Hours:Minutes)
	parsedtime=0;
	gsub("[()]","",uselength);
	split(uselength, sptime, "[+:]");
	parsedtime+=sptime[1]*24*60;
	parsedtime+=sptime[2]*60;
	parsedtime+=sptime[3];
	logintime[user]+=parsedtime;
	}
}
	
END {
	for (i in logins) {
		print i " Logged in " logins[i] " times, for a total of " logintime[i] " minutes";
	}
}'
Posted in Computers, DIY, General, OldBlog | Leave a comment

Windicator Fail.

I’ve been following the recent noise about Mark Shuttleworth’s suggestion for future UI improvements in Ubuntu, and they seem to be steadily headed from “bad idea” to “worst idea.” I found the notification behavior in recent Ubuntu releases (especially that horrible, noisy, hard to interpret unified presence icon) pretty awful, but easily disabled without completely replacing the UI (I run XFCE where all is equal, but XFCE users are definitely second class citizens on Ubuntu). Then there was bitching because of the unpopular, unilateral decision to move window buttons to the left, which is pretty much ass backwards as far as most users are concerned. Hopefully, that will remain easy to replace by swapping the theme.
The crowning glory of bad ideas, however, is the latest. He is calling for the addition of “Windicators” to all windows, and proposing that it be implemented in the worst possible way. Let’s count reasons this is a really bad idea:
* Client-side rendering makes every application need a rewrite to use the feature – They just finished getting almost all tray rendering over to the server like it should be, don’t recreate the problem.
* No standard interface – If there were some kind of “I want a notifier” interface added to the standards, that would be one thing, but adding noncompliant behavior, downstream, to one environment is just silly.
* Break existing standard interfaces – DBus, NetWM and friends specify window interactions, that work right with any supporting environment. These don’t fit.
* Break existing assumptions – Except for title bar text (ie. the (n) next to gmail titles to indicate unread messages), the title bar is a title bar. The buttons up there manipulate the WINDOW via the WINDOW MANAGER.
* Replicate existing functionality – We’ve got a global notification area. We’ve got per-window notification. Tell me again why this is better?
* Clutter, Clutter, Clutter – Why the hell would I want more little doodads vying for attention on my screen?

This excellent refutation, and the discussion at OSNews are a more thorough description of the problem. Hopefully, the upstream devs will squash this by refusing to cooperate. Otherwise, this might be nice as it will drive users to other window managers/distros, and help keep the Ubuntu and Linux communities vibrant and diverse that way.

Posted in Computers, General, OldBlog | Tagged | Leave a comment

NAK Build Party

buildnak.png
My research group will be building our new (smallish) research supercomputer NAK:(NVIDIA Athlon XP cluster in Kentucky) on Friday, April 16, 2010 from 10A to 4P in FPAT672. UK students and other interested Lexingtonians are invited to come help with the build, so if you would like to play with the guts of a big cluster, you will be welcome at the (re)Build Party.

If you can come up with a better phrase (with a better acronym) for the “NoBuPAG” principle discussed in the machine description, that will be really welcome too.

NAK will provide a testbed for continuing research into building tools for performing useful compute work on GPUs. It presents a different model than the conventional GPU as an attached co-processor to powerful compute nodes model, which has thus far proven impractical to program for. Instead, NAK treats the nodes as “Nothing But Power And Ground” (and a network interface…), and will be running all of the heavy compute on the GPUs themselves, through a mechanism extended from our MOG project.

Posted in Announcements, Computers, DIY, General, Objects, OldBlog, School | Leave a comment

Splinternet?

I just ran into this article, which basically states that the rise of walled gardens and locked-down proprietary devices are bringing about the end of web interoperability. It’s an interesting premise, and I’m not sure how much I agree with it.
On one hand, every time I hear “It’s on Facebook,” try to actually pay for music downloads only to find the album I want is only offered through iTunes (and piracy), or run into a service who’s mobile device path is carefully structured to fit the iPhone’s (tiny, awful) capabilities, I get a little more willing to believe it.
On the other hand, most of the examples are built heavily on said interoperable standards; what everyone really wants is content (and a shiny, shiny toy) so over time, most things are going to normalize in a way that allows everyone to more or less use the mechanism of their choice to get to the content of their choice. This may not result in formal standards, but will at least create de-facto standards which allow for reasonable interoperability (possibly with Flash-like issues). Google’s continued role in making that process happen is a major part of why I am so tolerant of their various obnoxious behaviors.

On the flipside, I wonder if there is going to be a new Eternal September effect if some of these things ever come to interoperate with the rest of the Internet. Imagine a mass exodus from Facebook, or a defection from the iPhone platorm; it seems like everyone in those systems should be able to take their skills elsewhere, but both systems are designed to actively prevent the user from forming an accurate mental model of what they are using, and people’s capacity for being selectively cognizant of technology never fails to amaze me.

Posted in Computers, General, OldBlog | Tagged | Leave a comment

On Intelligence

I recently finished On Intelligence, a book on the underlying mechanism of cognition by Jeff Hawkins and Sandra Blakeslee. I very highly recommend it to anyone interested in brains and cognition, it is a very accessible read, with excellent content.

I’d been slowly, slowly working through the book, which should have taken me about 3 hours in two sittings, over the course of several weeks, due to lack of free time, and finally got a block of time on the bus on to the way to SoutheastCon to finish. The cohesion and detail of my understanding probably suffered from reading half of it in 10 minute sittings over the course of several weeks, and the other half on a single shot later, but it was still excellent.

The important thing is that the book has a wonderful main argument: Basically, they argue that the neocortex is running a single, simple hierarchical memory-prediction model everywhere, for all the senses, and this algorithm is intelligence. It is a beautiful, simple model, and like most such models is largely untestable with current technology. Unlike most such untestable models, the end of the book includes a list of “just out of reach” testable predictions, which shows welcome understanding and acknowledgment of the issue.

I only had a few objections to the ideas in the book. Chiefly, I object to the degree to which he rejects behavioral equivalence. I pretty firmly do believe that any system which perfectly emulates intelligence over all sets of inputs and outputs in a given domain is intelligent in that domain, and tend toward the “Virtual Mind” argument on such things. In particular feel that if there IS a single, simple algorithm for intelligence, there should be a (probably unbounded) number of “intelligencally equivalent” algorithms which yield intelligence, just as there are an infinite number of computationally equivalent mechanisms for computation. In general, it seems unlikely to me that there is only a single mechanism by which intelligence (which may be sufficiently different than our own to be difficult to recognize) can arise. This fits well with the idea of domain-specific intelligences he suggests in the latter portion of the book.

The authors themselves are neat as well; Jeff Hawkins was the founder of Palm and Handspring, and is roughly the father of handheld/ubiquitous/mobile computing. He was initially trained as an electrical engineer, then, like many other interesting EEs, decided he was more inclined to pursue his interest in intelligent machines, which has resulted in the Redwood Center for Theoretical Neuroscience and Numenta, to understand the brain and build brain-like machines. He has a TED Talk on the same topic.

I’d like to find a book (or other large body of relatively accessible text) on the “Emergent property of parallel systems” or the similar “Society of Mind” theory of intelligence, it’s the only other one I’m aware of that seems both reasonable and testable.

Posted in Computers, Entertainment, General, Literature, Objects, OldBlog | Leave a comment