da plane

Obviously, I watched too much television growing up. Every week on Fantasy Island, Hervé Villachaize’s character would point to the sky and make this exclamation.


In a 3D printer, it’s really important to start printing on a known, flat plane. And yet, many print beds aren’t made of something rigid like glass so bigger parts end up shaped like the print bed itself. Even small deviations can mess up a print. It’s a problem to be solved, actually.


The software that’s running on my Robo C2 printer is a fork of the popular OctoPrint open-source software. What’s cool about this software is that it will allow you to write plugins to adjust the way it works.


The language the printer listens to during the print job is called GCODE. Think of it as a list of common instructions that almost all 3D printers use now.


One of the GCODE commands in question is G29 and this tells the printer to run through an autoleveling routine. In some cases, the printer’s extruder will actually touch the print bed in several locations. In others, the extruder assembly will use a light plus a photoresistor to hover above the bed and to gauge its height above it. Using either method, the printer can make a reasonable “map” of the print bed and mathematically create a virtual plane to represent it. If the print bed is a little lower on one side, this routine should allow the printer to compensate for that.

Only…, it doesn’t really work that great, to be honest. Someone deserves a round of applause for trying to fix the problem but honestly, a manual approach is possibly the better way to go here.

Although these printers have a built-in autoleveling feature, manually leveling the print bed is preferred by those who are more advanced at 3D printing.

The Problem

I’m currently now working to manually adjust my print bed so that it is perfectly level and an exact height from the extruder. In fact, I have two replaceable print beds for the same printer so both of them need to be perfectly level and exactly the same height all around. To complicate matters, I anticipate designing and creating a third print bed for this which is heated. And that one should also be perfectly level and the same height as the others. The final goal will be to easily and quickly swap print beds without the task of fussing with any settings.

So now, having created a number of GCODE files over the last four months, I really don’t feel like editing them to remove that unnecessary G29 command. Once you’ve manually leveled everything, an autolevel routine is not only overkill but it can cause problems to the print quality. I needed a way of programmatically switching off the command when seen.

The Solution

I’ve created an OctoPrint plugin which helps to solve this problem. Assuming that I no longer need autoleveling at the start of each job, the plugin tells the printer basically to ignore any G29 commands. I now don’t have to edit countless GCODE files or worry if someone sends me a file—the printer will dutifully ignore this command.

Github:  Toggle Autolevel plugin



experience is simply the name we give our mistakes

September 14, 2017 | Microsoft News Center

REDMOND, Wash. — Sept 13, 2017 — Microsoft Corp. on Wednesday announced that the Windows 10 software — with a slow start so far in customer satisfaction — will get a new name soon.  Terry Myerson, executive vice president, Windows and Devices Group explains:

“I think most of us at Microsoft felt that the Windows 10 name didn’t adequately describe what we were trying to achieve with this operating system. This new name should make it clear what Windows can ultimately do for our customers and how we at Microsoft focus on getting them the best experience possible with instantaneous, streaming updates 24×7 to your desktop, mobile or any device.”

Windows 10 to be renamed

To celebrate the new continuous update feature, Microsoft is renaming Windows 10 to coincide with the upcoming fall update. “The new name is our commitment to up-to-date software, no matter what it takes”, added Terry. “There’s no such thing as too many updates, at least that’s how we think. Our customers shouldn’t have to wait for something as important as a new version of Candy Crush Soda Saga. If we had our way, you’d have the next version of the Microsoft Solitaire Collection app before it’s even been tested by our own QA. Now that’s fresh software.”

“In the past, Windows Update took a back seat to most of what was going on in the computer, like… running a Word document. We feel that updating is much more important than almost anything that our customers could imagine doing with a computer so we are now putting that in the driver’s seat, if you will.”

Windows Update 10

The newly-named Windows Update 10 operating system is a bold new experience for users. With a streamlined, uncluttered interface, customers should find it easy to keep their system up-to-date and all without those unnecessary icons.


One of the best ways to get the Windows Update 10 update is to upgrade to Windows Update 10 by clicking the following link. More information can be found at https://www.microsoft.com/windows/windows-update-10-upgrade.

Microsoft (Nasdaq “MSFT” @microsoft) is the leading platform and productivity company for the mobile-first, cloud-first world, and its mission is to update every computer and every organization’s computers on the planet to have the very freshest copy of the X-Box app since we want to sell things online like Apple. All your base are belong to us.

Note to editors: For more information, news and perspectives from Microsoft, please visit the Microsoft News Center at http://news.microsoft.com.Web links, telephone numbers and titles were correct at time of publication, but may have changed. For additional assistance, journalists and analysts may contact Microsoft’s Rapid Response Team or other appropriate contacts listed at http://news.microsoft.com/microsoft-public-relations-contacts. Stop reading this and update your computer. I’m sure there’s a new version that you missed.

the matrix linode’d

Today’s review is about a pretty decent hosting company called Linode. Here’s the three-day timeline from idea to implementation:

  1. Thursday: decided to create a new info website about 3D printing, bought the domain name on GoDaddy and waited for the changes to take effect at midnight
  2. Thursday: created a Github repository to store the source for the website since I’m open-source like that
  3. Thursday: created an account on Linode, purchasing a “linode” for that
  4. Thursday: designed/created the initial local/development website layout/framework, collected images and content
  5. Friday: created (provisioned) the basic linode (virtual machine) for the website on production, provisioned a virtual drive, deployed Ubuntu 16.04LTS onto that, booted and remoted into that, ran updates, installed the framework, added the website, setup security and the firewall
  6. Friday: adjusted the DNS at GoDaddy to point to the new server, added more content
  7. Saturday: launched the website on Linode with the initial version
  8. Saturday: tweaked the settings to make the Node.js—based website start on bootup
  9. Saturday: added more content to the website


Not bad for an open-sourced 10-page (44 files) responsive website, if I do say so myself.

Please note that when I say “hosting company”, I really mean a “virtual server provider” so this is more like Amazon EC2 as a service offering. I didn’t just rent website space (like on Wix.com or WordPress.com), I rented an entire virtual server, if you will.

Comparison of virtual server versus website space

There are some advantages/disadvantages of renting a virtual server over just some website slot on a server somewhere:


  • In theory, you could run several websites from a virtual server
  • You can run services in the background (like Node.js) and manage them
  • You can run multiple threads on the same server, like helper routines which do something other than serving up pages
  • You’re not limited to the set of templates that are available from Wix.com, for example
  • Your website runs separately from other websites
  • You get an IP address which is only used for your website


  • You have to setup security yourself since you’re responsible for the entire server
  • The learning curve is steeper
  • You have to know I.T. things like setting up servers and installing software


Here’s a list of what I used for this website:

  • Node.js: Probably the most famous event-driven JavaScript runtime engine out there
  • Express: A minimalistic Node.js framework for separating code from content on a website
  • Bootstrap.css: A responsive stylesheet and component library for styling a website
  • PM2: A handy process manager for Node-based applications on a server.  After pulling new code, I might run the command pm2 restart AppName to restart the service


Kudos to Linode for providing a detailed Getting Started guide along with several tutorial videos on the subject.

And further, a note of thanks to PM2 which seems to satisfy the requirements of bringing up and managing a Node.js application as a service within a production environment and their ample documentation.


Is Linode well-suited for most website designers/developers? Probably not. On an I.T. complexity scale from 1 to 10 potatoes, I’d say they’re probably seven potatoes, perhaps. In this case, you’d have to be comfortable doing the following:

  • Using a web-based console to allocate and bring up/down a virtual server
  • Using ssh to remote into your virtual server
  • Navigating within a command line interface on a Linux computer or similar
  • Using ssh-keygen to generate a keypair
  • Using apt-get to update things
  • Editing files using nano
  • Managing services, reading log files
  • Remotely rebooting your virtual server
  • Setting up a firewall, testing and managing same
  • Applying code using git
  • Testing a website to verify that there are no 404 (file not found) type of errors, for example
  • And obviously, creating/designing a website in the first place and using a repository like Github for storing those files

That said, it was a perfect fit for me since I can do those things. In fact, the Linode-related part of this took no more than two hours since this is the first time I’ve used their interface. My next one should go much faster.


I will say that I’m impressed. Unlike Amazon AWS, Microsoft and Google, the people at Linode haven’t created an interface that’s overly complicated. It seems to work simply and to do the things you need to do and those are: 1) buy a virtual server, 2) deploy something onto it, 3) turn it on and 4) remote into it. I don’t think the “big three” have figured this out yet; their interfaces and the assumed workflow requires too much research, in my humble opinion.

Additionally, the PM2 software does a great job of working with the git-based code distribution model, allowing you to restart the Node.js app when it’s required and to start up automatically each reboot. There’s an easy-to-remember command interface like pm2 show AppName which tells you what you usually want to know.

At a cost of $5/month, it compares favorably to most of the well-known hosting providers out there. The basic linode will likely satisfy the requirements of the average Node.js application up to a reasonable level of simultaneous users, I’d suggest.


dear starbucks

I’m sorry, but I don’t think we should stay together anymore. I know… it’s been (what..?) 25 years now. Wow. That seems like a half a lifetime almost when I say it like that. Our time together has been wonderful but somewhere along the line, you just got… evil. I suppose that’s the word I’m looking for. How else would you describe someone who condones slavery, basically?

It’s a matter of semantics, really. When you say that you’re cutting costs by using contractors who use prison labor, that almost sounds legitimate. Only it’s not, is it? In corporate terms, prison labor is the new word for “slavery” and you thought I wasn’t paying attention perhaps, that I didn’t see what you were up to? You think I’m “okay” with that, paying someone $0.30 per day instead of a real wage?

As a software developer in San Francisco, I just fell in love with your Grande Mocha. Do you remember when I’d visit you twice every day of the week? I couldn’t get enough of you. But you were always there. I thought I could count on you. I was addicted to you.

And now, everywhere I go, you’re there. Now that I know who you really are, it disgusts me. When I found out about all this, I haven’t visited you since that moment, not once. And don’t think I’ll ever come back to you because I won’t. I deserve better than you.

What you’re doing isn’t right. As a citizen, I could vote someone into office who might change all this but let’s face it, in a capitalistic country your only actual vote is the dollar. So, I refuse to “vote” for you anymore. I choose not to “elect” you as my coffee provider.

Anyway, I hope that you will be able to find someone who is perfect for you, like someone who’s also evil and… half-awake, perhaps.

A long-time daily customer who will not condone modern-day slavery

From the Seattle Weekly:

In a statement, Starbucks public affairs director Audrey Lincoff said Starbucks is aware that Signature [its contractor] uses inmate labor and believes its contract with Signature is “entirely consistent with our mission statement,” which says the company will respect others, contribute to the community, and embrace diversity.

Starbuck’s Mission Statement:

With our partners, our coffee and our customers at our core, we live these values:

  •       Creating a culture of warmth and belonging, where everyone is welcome.
  •       Acting with courage, challenging the status quo and finding new ways to grow our company and each other.
  •       Being present, connecting with transparency, dignity and respect.
  •       Delivering our very best in all we do, holding ourselves accountable for results.

We are performance driven, through the lens of humanity.

over the mount’n

Okay, that was a terrible pun. I thought I’d share something today which is pretty cool although it gets a little technical at the end. You can actually edit the files on a tiny microSD card like you might have in some device like a 3D printer or similar. And you don’t have to have it running (like in your product/device) in order to do so.

Smart Things (IoT)

We live in a world of ever-smarter things. There’s a new term, the Internet of Things (IoT) which basically means that lots of the products we’re using now not only have little computers inside, but they also use the Internet in some way.

Tiny Hard Drives

Given the diminutive size of some of these new products, they often use the microSD card as an actual hard drive. These days, they include an entire operating system which boots up the product’s computer and provides a variety of functionality.


The Bleeding Edge

For some of us, we like to install the very latest version of software for something like this. Those updates sometimes come in the form of an entire image file for the microSD card in this case.

Instructions for editing files on an image file itself

Okay, so I have downloaded an image for a Raspberry Pi computer and the version name is Jessie. The name of the operating system itself which runs on this computer is called Raspbian, btw. The image’s filename is then raspbian-jessie.img, easy enough.

I’m running these commands on a Linux-compatible computer:

$ file raspbian-jessie.img

raspbian-jessie.img: DOS/MBR boot sector; partition 1 : ID=0xc, start-CHS (0x0,130,3), end-CHS (0x8,138,2), startsector 8192, 129024 sectors; partition 2 : ID=0x3, start-CHS (0x8,138,3), end-CHS (0x213,120,37), startsector 137216, 8400896 sectors

So we’re interested in only one number here, that value after startsector for partition 2, namely 137216. Multiply that by 512 to get 70254592 which we use in the next command:

$ sudo mount raspbian-jessie.img -o offset=70254592 /mnt

This means, essentially, “open up the file indicated (at an offset of 7 million or so characters into that file) and show me everything that’s in it and put that in the /mnt folder area”.

So now, you can actually edit the image’s computer name in the /mnt/etc/hostname file, for example. Assuming we have done so, we now unmount the file:

$ sudo umount /mnt

And you’ve managed to edit its internal files in place! The typical activity next is to burn that image to another microSD, put it into your smart refrigerator’s computer or whatever and boot it up.


Okay, so you’re not as excited as I am but this is a giant leap forward in workflow for me. Since I maintain several of these image files, this is pretty cool stuff.

Imagine if you were trying to build a supercomputer with a hundred individual (small) computers and it were necessary to then build 100 different image files each with their own setup. This would be so not fun if you had to do this manually. Using this new method, you could script all this and then run it.  By the end of some lengthy process, you would have all hundred different image files as produced by this method. Huzzah…, right?

so many operating systems, so little time

Sometimes you need to do many things with the same hardware. Say, for example, you might need both Windows 10 and a Linux-type of operating system on the same computer. Here are some of your options for this.

You might say, “why would I want that?” There are times when you want to try out something new. You might need to test software compatibility with something you don’t have currently. You might purchase some new software or a printer which isn’t compatible with your current setup. Or, like me, you might be endlessly curious about the possibilities. You might want to create a smartphone app and need to see how that looks on a variety of phones.

Boot from a “Live” media

In this case, you have Ubuntu on a CD or on a USB thumb drive. You boot to this media and select the live option from the menu (“Try Ubuntu without installing”). You then get a Desktop experience running Ubuntu (Linux) on your existing hardware and you don’t even have to install it in the classical sense. Once you shutdown this system and remove the media, nothing whatsoever has changed on your original hard drive.


I’ve used both methods (CD and USB) and will attest that the latter will boot up faster than anything you’ve seen before, I’d guess.


  • It’s very fast to boot this way from the USB drive.
  • You can try another operating system without making any changes whatsoever to your existing computer.
  • It makes short work of hacking a Windows-based computer if you don’t know the password(s) and accessing the files on its partitions.
  • It seems to be wonderfully compatible with a variety of computers and laptops without fussing with drivers.
  • Each session takes advantage of all the available RAM.


  • Unless you change the defaults, any changes to your Desktop and configuration are lost upon restarting this session.

Set up two partitions and select one upon startup

In this case, you shrink the size of your existing hard drive’s partition to make room for another operating system.  You then install the new operating system to this second partition.

Upon restarting the computer, you then select which partition (operating system) you’d prefer.


This technique is often called “dual booting”.


  • The settings you change will be saved from one session to the next.
  • In many cases, you can access files on the other partition(s) if you know where to look.
  • You can take advantage of fast hardware like that on an Apple computer to use other operating systems like Linux.
  • Technically, you could install Windows 7 on one partition and Windows 10 on another.
  • This technique can be extended to many operating systems on many partitions.
  • Each session gets all the available RAM.


  • You have to reboot in order to get back to the other operating system to use its tools and software.
  • In the case of OS X, major version upgrades usually try to overwrite the menu at the beginning which would normally allow you to select the other partitions. It’s almost as if Apple doesn’t want you to do this and breaks things on purpose, of course. If you’re technically-minded, you can fix this each time however.

Set up a virtual manager (VM) and “spin up” an operating system

This seems to be the preferred and newest method these days. You run a virtual machine manager, create a virtual computer using this technique and then install the new operating system to this.


You then boot up the virtual computer and you see this as a window on your Desktop.



  • You can copy/paste from a Windows application into a Linux session’s Terminal session or any similar combination of from/to.
  • For demonstrations, you can easily show that something works with multiple operating systems (without rebooting or bringing multiple laptops).
  • Depending upon how much hard drive space, RAM and processor speed you have, you could potentially run several virtual machines at once.


  • Technically, it’s the most challenging of the various options and the learning curve is steep.
  • It may require more RAM memory than what you currently have for this to run well.

Progress so far

I have plenty of experience using the first two methods above (live- and dual-boot) but have recently been working with the VM option, as described below.

Dual-boot MacBook

I’ve setup my MacBook Pro to boot both OS X and Ubuntu. It seems to work great so far. I hope to next setup a VM so that I can emulate a Raspberry Pi computer within the MacBook itself (for development purposes).

HP Laptop

I’ve setup my HP laptop to boot Ubuntu and have added a VM which has Windows 10 loaded in it. Remarkably, the Windows 10 install actually works better than the original (native) installation on this laptop.

Multi-boot Raspberry Pi computers (IoT re-purposing)

Since the Raspberry Pi (3 and Zero) computers have an easily-replaceable microSD card in them, I now have a small library of different images with which I may boot any individual computer. It’s just important to label each to avoid confusion.

So I might pull the microSD card for the robotic tank project out of a Raspberry Pi, replace it with the card for the closed ecosystem or for a different project altogether. Once it boots, it’s now a completely different computer, if you will.


Multi-boot 3D printer

Technically, the Robo C2 printer has a Raspberry Pi computer inside so it makes it easy to boot to different versions of the software. This is useful when you’re modifying things to add on new features, for example.

Smartphone software on a workstation

I’ve also had the opportunity of installing Android on a standard Dell Vostro 200 desktop computer. (It’s good for testing software and websites.)

Cloud-based alternatives

There are entire services available at Microsoft, Amazon and presumably Google in which you “spin up” a virtual computer and remote into it.

Amazon’s offering is called EC2 and I’ve had the opportunity to use it in the past. In the span of two hours, I was able to spin up or “instantiate” a virtual SQL Server in a datacenter somewhere, to upload a corrupt database, fix it there and then to download it back to me. I then killed that virtual server. The total cost was something like $4 to “borrow” their virtual hardware for a couple of hours. Compare this to the cost of purchasing an actual server, paying for Microsoft licensing, waiting for everything to arrive, setting it up, etc. I literally saved thousands of dollars with a service like this.

Microsoft’s offering is called Azure. I can’t say that I’ve used it yet but it works essentially in the same way that EC2 does: define an instance, spin it up and remote into it.

Looks like Google’s offering is their Compute Engine. It sounds like they’re trying to play “catch up” to both Amazon/Microsoft on this one.

There’s another player in this space, MacInCloud.com appears to be offering remote sessions into what are likely discreet/physical Apple computers. For all practical purposes, it would likely behave like a virtual computer might.

Private cloud

And finally, I had the opportunity to re-purpose about eight Dell Vostro 200 computers from work into a MaaS (metal as a service) private cloud. The underlying layer of software which did the cloud part is called OpenStack which allows you—like Amazon itself perhaps—to be the host for spinning up virtual servers.

It takes a lot of work to get the initial one or two computers running for this. But then, using a concept called Juju charms, you select what are essentially recipes of things to install which have complicated inter-dependencies and it seems to make it all work for you. Seeing these things run is pretty impressive given that this is in the free, open-space world.

The future

It’s hard to guess what’s next in this series of events. We may soon be running a VM with Windows 10 on a wearable single-board computer like the Raspberry Pi 3 or similar. In theory, then, you might wear a pair of Google Glass(es) or the Microsoft HoloLens which would interface with the Pi computer via Bluetooth. Given the lack of a keyboard, presumably the interface might be like the Amazon Echo/Alexa service: you ask for something, the system must recognize the command, submit it to a server and display the results or iterate through them via voice.

And yet, given the augmented reality (AR) side of things, you might say “keyboard” and a virtual reality keyboard could appear on the physical horizontal space in front of you and you just “type” on an imaginary keyboard to input data.

The interfaces could evolve to project these virtual keyboard-type interfaces onto an imaginary glass wall in front of you, much the same as you see in sci-fi movies these days. These glass-like devices probably would incorporate an outward-facing camera to catch and interpret your hand movements into discreet commands like typing, page-forward, scroll-down, dismiss window, etc.



Imagine being able to have a conversation with your 3D printer much in the same way that the Tony Stark character of Iron Man did with his butler-esque virtual companion J.A.R.V.I.S., as voiced by the very talented Paul Bettany.  How cool would that be?


So I thought I’d work on an upgrade to my Robo C2 printer to add this capability.

Amazon Echo (Alexa)

Fortunately, Amazon has a product called Echo with an underlying personality & service named Alexa. Since they’ve made the source code and service available to developers, I’ll be using this to get started. For the commercial product, you’d say “Alexa…, what’s the local weather?”, perhaps and she might “read” a brief report for you. And by “read”, I mean:  “a text version of the weather report queried response would be rendered into sound using a female’s voice and played on a speaker”. (We love to anthropomorphize these things now that computers are getting so smart.)

Raspberry Pi

The Robo C2 printer has a Raspberry Pi 3 inside and I’ll be incorporating this into the project; I’m fairly familiar with how this computer works.

Since the price of the official Amazon Echo is about $100, this strikes me as being too expensive since all I really need is a single board computer, a microphone, a storage card and a battery. The Raspberry Pi Zero W fits that description and weighs in at a mere $10.  Technically, I’ll also need a speaker but since I’ve just upgraded the Robo C2 with sound events then I intend to push my generic Echo’s sounds over to the printer to play them there. This will help in the illusion that I’m talking to someone/something “over there”.

Wake Word

The Echo technology out-of-the-box recognizes the spoken word “Alexa” so that it might then attempt to turn your subsequent spoken commands into something recognizable, a “skill”. I’ll be updating it to recognize the spoken word “Jarvis” instead.

Custom Skills

Beyond the included skills, the service allows new user-defined skills to be created and then they’re part of Alexa’s talents, if you will. I shall be creating custom skills so that I might then do a number of tasks with the printer, hopefully to include sending a new job to print. It would also be good to know the status of an existing job without necessarily reading any of the available displays/consoles for this information.

From what I understand, these new skills are a collection of intents and utterances with optional slots as variables.


The underlying printing software behind-the-scenes on this printer is called OctoPrint. It’s suggested that it’s already compatible with Alexa so we’ll see if that’s accurate.


It should be rather small and handheld. The board itself is about the length of three quarters. I have two different microphones for this—I’ll try to use the smaller of the two. Initially, I’ll use a barrel type of USB charger but I’ll then knock that down to a smaller style when that’s working. I’ll likely solder the accessories if they seem to be happy. And then finally when I’ve settled on the accessories and such, I’ll design and print an enclosure for it. I may or may not include a wake-up button.


Custom Voice

I would like to replace Alexa’s voice personality with sound events from the J.A.R.V.I.S. movie character. I’ll see what it will take to make this happen. By keeping his responses to a few generic ones, I might just replace the outbound render-to-text routines so that they just pull from the stock responses as recorded and stored.


  • The sound event upgrade is now on the printer (imagine a Robo C2 printer making R2D2-like sounds to let you know when something has occurred)
  • I have all the parts I need for Jarvis
  • I’ve created a developer’s account on Amazon and have created my Alexa service for Jarvis
  • I have the Raspberry Pi Zero W computer’s operating system installed
  • The AlexaPi source code is installed and the service is running
  • The microphone appears to be working as expected
  • I need to read through the various tweaks required since I’m running on a Raspi Zero instead of a different version
  • Re-purpose the onboard LED on the Pi to work for the voice recognition notification
  • I need to install the new wake word for “Jarvis” instead of “Alexa”
  • I need to create one or more skills for things I need the printer to do like report status, turn off/on the webcam or to start/stop a job
  • Record and store patterned responses from the Iron Man series of movies to be played on the Raspi 3


got chrome?

“Would you like to install Chrome?”, I’m asked a hundred times per day by my default search engine, Google.com. “No, Google. As I’ve already answered a thousands times before this, I don’t want to install another browser on my computer.”

No, Google.  As I’ve already answered a thousands times before this, I don’t want to install another browser on my computer.

In the browser wars, Google hates Microsoft and Microsoft hates Google. It shouldn’t come as a surprise then when you’re using Internet Explorer and you visit Google that they then try to get you to install their own competing browser (Google Chrome). And when I say “try” I really mean “relentlessly nag you to death on the subject“.

The Fix

I’ve posted before about using a custom stylesheet to thwart Google’s Chrome-nag. Here is a new method which seems to be working for me today. I just updated the option for IE -> settings -> Internet Options -> Home Page:


Normally, that /webhp?hl=ca part is expected to steer Google so that it selects your home language, Catallà, for example. Interestingly enough, Google doesn’t apparently nag people (regarding Chrome) who speak languages other than English!

So we use this knowledge to break the chain of violence, so to speak. Actually, we’re breaking more than that since by putting two question marks we’re technically breaking (okay, “faking out”) the specification for query strings.

the white stuff, part 2

Looks like the Daily Stormer (neo-Nazi white supremacists and KKK website) was booted by their hosting provider GoDaddy on Sunday for violating its terms of service after an article regarding Heather Heyer was published on the site.  The former then transferred their content to Google Domains (Monday)… after which Google booted them as well for the same reason around midnight of that same day.

After a day or two of being offline, the site appears to have surfaced again in the “dark web” of the Tor anonymity network.  (In Harry Potter terms, they lost their lease on Diagon Alley and were forced to move to Nockturn Alley which seems to suit them better.)

The Dark Web

As if the Internet itself weren’t scary enough in the light of day sometimes, we now have an even darker, hidden version of it which is only accessible with specialized software.

Dark web: that portion of the web which cannot be easily reached from the public Internet, and usually requires specialized software to access. Examples of the dark web are the Tor network and hidden services, the I2P network and its eepsites, and the RetroShare network.

Almost sounds like a stroll in the woods when you say it like that.  Only this would be the Black Forest or the Forbidden Forest or the Suicide Forest maybe.

Onion Routing

But how does one attempt to navigate in such a place?  It looks like communications are wrapped in layers and layers of encryption much in the same way that onions have layers.  Each network node in this communication either adds another layer or peels one away, depending upon its direction.

Oddly enough, this method was developed by the Navy to protect U.S. intelligence communications online back in the ’90s.  I suppose it’s sad when your own tax dollars eventually provided the means by which child pornography, for example, enjoys its anonymity on the dark web at this time.

the white stuff

If you’ve been following the American Manufacturing Council kerfuffle that’s unfolded in the days after the Charlottesville violence and the media aftermath, there’s a lot of news that isn’t being focused on.  Probably everyone by now knows that Trump has been tweeting comments which to most observers would appear that he doesn’t hate white supremacists.  For a sitting President of the U.S., he’s reasonably expected to weigh in against hatred on this topic and he failed.

So now in the media aftermath we see that several key members of the American Manufacturing Council have resigned and the President has now disbanded the council completely (presumably to prevent others from following suit).  The news media has been quick to report all this.

What the news media is glossing over is the list of CEOs and corporations who did not resign from the council.  If you think about it, this reads as a “Who’s Who of American CEO Friends of White Supremacists”, if you will.  And so, without further ado, here’s that list.

Who’s Who of American CEO Friends of White Supremacists

CEO Corporation
William M. Brown Harris Corporation
Michael Dell Dell Technologies Inc
John J. Ferriola Nucor
Jeff Fettig Whirlpool Corporation
Alex Gorsky Johnson & Johnson
Gregory J. Hayes United Technologies
Marillyn Hewson Lockheed Martin
Jeff Immelt General Electric Company
Jim Kamsickas Dana Inc
Richard G. Kyle Timken Company
Andrew Liveris Dow Chemical Company
Dennis Muilenburg Boeing
Doug Oberhelman Caterpillar Inc.
Michael B. Polk Newell Brands
Mark Sutton International Paper
Wendell Weeks Corning Inc.