Category Archives: Computers

3040Z CNC Router

Complete 3040Z CNC System

I’ve been fascinated with machine tools and mechatronics for well over a decade, and have been indulging that fascination with a series of little benchtop CNC machines since about 2008, especially since my collection of related degrees lend legitimacy to my desires. Because of my other lifestyle choices I’m more or less restricted to a machine which is small and well-behaved enough to operate in an apartment, is roughly man-portable, and fits in normal vehicles, at least for the time being. Possibly fortunately, this restricts me from going off the deep end and buying a small VMC, or even building out the heavier classes of benchtop machine.

Last year I started to feel like my old V1 Shapeoko (ca. 2012) was not really usable as a machine tool – it was a good toy, and I learned a ton of cool things from it, but it wasn’t stiff enough, reliable enough, or laid out in a way that made it practical to use for much of anything. After I had my Shapeoko on campus for a demo day, my adviser was inspired to buy himself a complete package Chinese 3040 CNC router, and I got a chance to play with that for a few days. I wasn’t terribly impressed with the electronics on it, but the frame proper impressed me enough that I decided I wanted one as an upgrade.

…So near the end of the spring semester, I ordered myself a bare 3040Z frame and a pile of parts to kit it out. The machine is built almost entirely from inexpensive Chinese components, purchased via a mixture of Aliexpress, eBay, and Amazon sellers (I’ve become fond of uxcell for small parts). I don’t have accurate or current price quotes for the whole thing because I bought as I went, and various parts are reused from previous projects. I suspect the total is in the neighborhood of $1200 – comparable to buying a slightly more powerful finished system without the enclosure or limit switches.

It was my intention to write this up in sections as I built it out, but kept opting to play with work on the machine instead of doing more writing – particularly since such a large part of the things I’m supposed to be doing with my time of late are also writing. I finally got the last of the major parts “done” to my satisfaction a few weeks ago, so it’s time to gather the pictures and notes from what should have been half a dozen topic posts and make a gigantic brain-dump.

Continue reading

Posted in Computers, DIY, Electronics, General, Objects | Tagged | 4 Comments

SC16 Notes

Posting pictures and thoughts from SC16, because someone else might learn from them.

I pushed my crappy cellphone pictures from the show into a google photos album, some of them even have comments about why they’re interesting attached. I’ll probably add a few pictures of the swag haul when I get to sorting through it.

Unlike previous years, we actually coordinated with UK’s Center for Computational Sciences folks, they added some displays and spent some time in our booth, and and are (supposedly) taking the lead on UK’s SC presence next year. They got to show off a poster and demo of their campus DMZ trick to the NSF program director who funded that work, and the new director got the SC experience of people and sights, so I think they’re convinced of the value in doing so.

The valuable things I learned are enumerated below:
1. A few years ago, there were concerns that system power density was becoming a limiting factor; the machines people wanted to build were larger than the allowable cable lengths for the preferred interconnects in order to accommodate the volume of cooling equipment required to make it run. Over the last few years, several players decided they could cheat the problem by switching to water cooling. This year, we’re seeing an awful lot of systems in the 0.25-0.33MW/Rack range, and predictions that the latest 3M phase change secret sauce will get them up to ~0.5MW/Rack once the power density of the parts gets there. The trick on that is fun, Novec 7100, which is apparently methoxy-nonafluorobutane – C4F9OCH3 – boils at about 61°C such that the phase change very quickly pulls heat away from hotspots, and can then be re-condensed in a big fucking water-loop radiator at top of rack. The rest of the scale issue is being handled by obscenely expensive electro-optical cables and such. Less clever, more throwing cash at the problem.

2. For next generation large systems, there are, to borrow a phrase form the person who initially gave me the heads up on this, “two swim-lanes.” Power8+Nvidia, connected inside the nodes with NVLink to get adequate memory bandwidth, and Intel Knights Landing manycore boxes. Either way, almost all the big stuff is wired together with Infiniband.

3. The annual “Hank was right” award (which, following tradition, comes with neither award nor recognition) was issued by Mellanox, who are now into “In-Network Computing” which looks an awful lot like the Aggregate Function Network work from the mid 90s. Basically, they’re doing MPI (&etc.) sync operations in the network adapters and switches to avoid both interrupts and latency.

4. To me, the most fascinating thing on the floor Emu Technology which is essentially the lone radically-different architecture being developed right now. The whole thing is basically a refinement of in-memory computing, built on the premise that it’s usually cheaper to move the thread state to the data being worked on than the data being worked on to the core. It almost looks like a late-career folly by a bunch of badass old architecture folk, but they’re actually getting things done, in no small part because their machine is specifically suited to perform vast numbers of small operations on even vaster bodies of sparse unstructured data, and they are obviously mostly bankrolled by “Our Benefactors” – anonymous well-heeled entities interested in radical ways to do exactly that are easily deduced but better to not name.

I want to be thinking about some of their problems, they have some really interesting toolchain work ahead, especially with regard to visualizing >16K-threads wandering around in memory in human-accessible ways to look for hotspots and other debugging tasks. Closing the memory layout feedback loop on these is the hard mode of a problem that’s hard but interesting on normal systems. This was even better because I later got to talk with Burton Smith for about half an hour about our respective musings on what they’re up to, mostly questions about their memory model, and talking to Burton for half an hour is more intellectually stimulating than about half the college courses I’ve taken.

5. Task-centric, graph-oriented programming models are getting their due. An awful lot of OCCA and Kokkos in the national labs, because they suits both swim-lanes, and, being based on fugly C++ template magic, are relatively vendor-neutral and straightforward for adapting existing codes. Folks are also taking Tensorflow seriously.

6. My expectations for Nvidia’s ARM64 ambitions are now essentially nill. I’m pretty sure I’m not supposed to share how or why I think this, but shit sounds doomed-via-mismanagement on that front.

7. Achronix has their own FPGAs. Part of the gimmick is that they have like 6 hardware DDR and Ethernet controllers wrapped in their fabric, but that’s not all that unusual. The interesting bit is that they might be willing to share/document enough of their cell structure that some of the permanently-back-burner compiling-HLLs-to-hardware tricks could happen.

The usual SC features also apply. An overview of the state of the field. The best serverporn money can buy. Adult trick-or-treating, vis-a-vis the various vendor swag. And we got to see all the regulars; Greg Kurtzer [Warewulf, CentOS, currently on Singularity], Burton Smith [Terra/Cray, MSR, etc. currently fascinated by languages for quantum computing], Don Becker [Beowulf, Ethernet Drivers, Scyld, Nvidia, currently building fun automotive electronics], Doug Eadline [“the media” of the HPC world] former group members like Tim and Randy, etc. Those visits are half the joy of continuing to go to SC.

Posted in Computers, General | Leave a comment

Install Viavdo 2016.2 on ArchLinux (x86_64)

As of the date of this post, Xilinx Vivado 2016.2 works fine on Arch with minimal coaxing. Said coaxing is documented here in case it will be useful for others.

1. Install ncurses5-compat-libs from AUR, or the installer will hang during a later step. It appears to be required at runtime as well.

2. Mark the installer executable, eg. chmod +x Xilinx_Vivado_SDK_2016.2_0605_1_Lin64.bin, and run it with the confirm flag, ./Xilinx_Vivado_SDK_2016.2_0605_1_Lin64.bin --confirm

3. Hit Y at the “unpack” prompt, then go into the directory it creates at /tmp/selfgz[RANDOMSTRING], and edit xsetup to replace `uname -i` with `uname -m`, which is what they should have used in the first place.

4. Pre-create and permission the install path, a reasonable choice is the default /opt/Xilinx, which needs to be writable by the user doing the install (eg. chgrp users /opt/Xilinx, chmod g+w /opt/Xilinx)

5. Return to the terminal and hit Y to continue until the GUI installer runs.

6. Follow the GUI installer instructions, Feed the prompt your Xilinx credentials, Select Vivado HL WebPACK, etc.

7. The activation prompt at the end of the installation procedure is misleading, in the 2016.x versions if you simply quit without activating, the install automatically goes into WebPACK mode. If you don’t have/need any of the non-WebPACK features, activating the 30-day free trial of the nonfree version is asking for a headache when it expires.

8. It works. (and as a bonus convenience over the old toolchain, at least the Digilent Basys 3 boards use a normal FTDI usb-serial as their onboard programmer, so you don’t have to fight with drivers to program boards, that just works too.)

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

Macintosh LC Recap

I’ve done some invasive repairs on the Macintosh LC from my small fleet of vintage computers. I figure it’s worth writing up because there is a lack of detailed information about this kind of work on the ‘net.
Continue reading

Posted in Computers, DIY, Electronics, General | 7 Comments

Apparently a WordPress update caused some subtle breakage here a while back. The site has been spewing, among other things, a bunch of “&raquo” escapes in places that end up encoded as XML (thus breaking, among other things, RSS feeds). … Continue reading

Posted on by pappp | 1 Comment

TP-Link Archer C7 with OpenWRT

I bought myself a TP-Link Archer C7 because the 2.4Ghz congestion in my apartment has become so terrible that my good old TP-Link WR1043ND (no 5Ghz radios) is no longer adequate, and the C7 was very well spoken of among reasonably-priced 802.11ac routers. It also has some nice perks like two on-board USB ports, so I can use it as a print server (with p910nd) and have USB storage for logs (vnstat & co.) and such attached without a separate hub. I wasn’t feeling quite motivated enough to buy and set up one of the NUC-like cheap SFF Intel boxes as a router like Ars Technica and Jeff Atwood have recently noted is an increasingly good plan, based largely on the dearth of ac WiFi cards that work reliably in host mode.

Some notes that may be of use to others, particularly about firmware replacement on recent models and throughput:
Continue reading

Posted in Computers, Electronics, General, Objects | 14 Comments

Breaking In to your Own Devices

I gave an informal talk for the IEEE student branch about breaking in to your own devices this evening. I did the low-postable-content notes with live examples and links thing, but at least one person wanted to watch the video links, so here are the notes. There is something delightful about giving talks that require legal disclaimers. I don’t think there is anything in here that will get me in trouble…

Continue reading

Posted in Computers, DIY, Electronics, Entertainment, General, School | Leave a comment

University Email Simulator

A generic version of the email you will receive on a daily basis from the University of BS (Which is probably the school you deal with), as you will read it after the first few repetitions. Graduates can relive their college experience, or, for current students, simply stop checking your email and skim this page every day.


From: Dean of Posterior Coverage <sanjay@ubs.edu>
To: ALL-STUDENTS@UBS.EDU
Subject: Mandatory CYA Training
Body: All students need to take this course that the university paid a fortune to a third-party ed-tech carpetbagger to license, which provides the absolute minimum coverage of an issue required under a new federal regulation. Everyone must take it, because otherwise we might be liable for your behavior.
This is why tuition is so high.
Continue reading

Posted in Computers, Entertainment, General, School | Tagged , | 1 Comment

Clevo P650SE/NP8651

P650SET510Flat_web

My 5-year-old T510 has been showing its age, mostly by falling apart (speakers died, parts held on with gaffers tape, occasional probably-thermal GPU lockups, etc.) and I decided it was time for a replacement. Unfortunately, the laptop market right now has absolutely nothing appealing (clickpads everywhere!) so I gave up and bought a closest-match Clevo P650SE chassis that I could kit out myself. There are a couple annoyances, but overall it’s a nice machine. Really long detail notes including a bunch of Linux tweaking below.

Continue reading

Posted in Computers, Electronics, General, Objects | Tagged , , | 5 Comments

RFID Exploration

I recently picked up a USB RFID reader/writer pod to play with, partly to learn enough to be dangerous about the tech, and partly hoping to tamper with the RFIDs in the current university ID cards. I’m pretty sure I failed on the latter point, but am succeeding at the former in the process.

RFIDKit

Notes from the first round of fiddling with it follow.

Continue reading

Posted in Computers, DIY, Electronics, General, Objects | Tagged , | 21 Comments