Archive for Misc

Tamiya Konghead 6×6 day out in the park

Took the Konghead out to a local park to kick up some dust

Build and test drive of Tamiya 6×6 Konghead

Octopus saying hello

Briefly filmed an octopus (common octopus / madako) at a homecenter in Tokyo, Japan recently. Would want one as a pet but they’re probably happier in the ocean.

Redfish intro and demonstration

Video done at the Dell EMC Solution Center in Tokyo for Dell EMC World 2017

Arduino SONAR

After seeing this awesome Arduino RADAR project by Dejan Nedelkovski I simply had to build one myself. It’s actually a SONAR though as it utilizes sound for detection rather than radio waves. It was a fairly quick and easy build but it requires both the Arduino sketch as well as a separate one for Processing to draw the GUI. Here it is in action:

Logitech / Logicool G13 cleaning / washing

After knocking over a full pint of beer into my Belkin ergonomic keyboard and my much loved Logitech/Logicool G13 programmable gaming keyboard I had to find a way to save them from the garbage bin.

Unfortunately the Belkin was beyond repair. Pressing any of the keys¬†would result in gibberish and washing out the beer with water didn’t improve things. The G13 however could be taken apart more easily and I was happy to see that it can be separated into two parts which makes the keys very easy to clean off without affecting the underlying circuit boards.

Note that although the G13 had most of the keys fused together by the dried beer it still seemed to function better than the Belkin keyboard. The underlying circuit boards appeared undamaged or unaffected.

If you want to try this, start off with a few tools. I used a razor-knife and a small pair of scissors as well as a Phillips screwdriver. You’ll also need a sponge, dish washing liquid and a hair dryer.

g13_cleaning-3798

Carefully peal off the protective rubber feet so they don’t break. The scissors were useful here as the razor knife risk cutting the feet while removing them. They don’t have to come all the way off but I removed them anyway to get full access to the screws underneath.

g13_cleaning-3797

 

There are six screws that need to be removed in total and each is hidden behind a rubber foot or, as is the case with the middle one, a thin plastic seal. Once the rubber covers are removed, unscrew the six screws which hold the keyboard together:

g13_cleaning-37922

Once the screws are removed, use the razor knife to gently split the keyboard apart at the seams. I started at the joystick side, worked my way down and around from there. Finally the upper part could also be loosened although the dried beer held it together fairly well.

After the key part has been removed from the base it’ll look like this:

g13_cleaning-3788

g13_cleaning-3789

g13_cleaning-3791

Now the upper part with the keys can be washed with dishwashing liquid and a sponge to remove the beer / sugar / etc depending on what was spilled into it in the first place.

g13_cleaning-3793

Rinse and dry thoroughly with a hairdryer to ensure there is no water left between the keys. After that it’s just a matter to snap the key section back on top of the base, screw in the screws and finally add the rubber covers / feet to the bottom of the keyboard. After the procedure the keyboard is good as new and works just fine when connected to the PC again.

g13_cleaning-3799

Pepper meets Microsoft Azure

..but doesn’t seem too impressed ūüôā

A pepper robot has yet to be turned on at the MS de:code event in Prince Hotel Tokyo.

Showcasing the Dell-MS Hybrid cloud platform today and tomorrow.

image

Dark Souls 3 on VHS!

OMG this is awesome. Only a few hours left until release. This trailer kind of reminds me of The Army of Darkness ūüôā

Redfish Whitepaper

Finally there is a modern replacement for¬†IPMI. There is a new systems management¬†standard called Redfish which is now available on Dell servers in the form of the 2.30.30.30 firmware update for iDRAC and LC. Redfish makes use of¬†a¬†REST API interface and employs¬†JSON as its data format. Now it’s possible for anyone to programmatically control servers via Python or Java and to do so without having to care which brand the server is – yes, it’s vendor neutral. Other vendors will release (or already have released) their own versions, but since it’s a standard the implementations all work the same way.

I was the co-author on a whitepaper for the Redfish API and anyone interested can download the document here.

dmtf-redfish-logo

OpenStack Neutron – Expand and / or update floating IP range

Sometimes you run out of public IP addresses and need to expand the floating IP range. If a non-interrupted range is available to expand into from the current range simply use:

neutron subnet-update –allocation-pool start=<original-start-ip>,end=<new-end-ip>

This will overwrite the existing range and expand it to the new end-IP.

To add an extra, separate IP range while still keeping the original range, use:

neutron subnet-update <subnet-id>¬†–allocation-pool start=<original-start-ip>,end=<original-end-ip>¬†–allocation-pool start=<additional-start-ip>,end=<additional-end-ip>

Example of extending a continuous IP range:

[root@c6320-n1 ~(keystone_admin)]# neutron subnet-list
+--------------------------------------+--------------+----------------+----------------------------------------------------+
| id                                   | name         | cidr           | allocation_pools                                   |
+--------------------------------------+--------------+----------------+----------------------------------------------------+
| 1b66dad8-2f2c-4667-9460-7729e2a68d1c | sub-pub      | 172.17.4.0/24  | {"start": "172.17.4.130", "end": "172.17.4.199"}   |
| 74c90d00-af79-4f7c-92ef-4e38231e850c | sub_priv2    | 192.168.0.0/24 | {"start": "192.168.0.40", "end": "192.168.0.50"}   |
| e6cb6f7e-5efd-42df-93e6-67ad4b056035 | sub_internal | 192.168.0.0/24 | {"start": "192.168.0.100", "end": "192.168.0.200"} |
| e47c7f4b-85ec-41e4-ad1a-cf9290a97d87 | sub_priv     | 172.16.0.0/24  | {"start": "172.16.0.100", "end": "172.16.0.200"}   |
+--------------------------------------+--------------+----------------+----------------------------------------------------+

[root@c6320-n1 ~(keystone_admin)]# neutron subnet-show 1b66dad8-2f2c-4667-9460-7729e2a68d1c
+-------------------+--------------------------------------------------+
| Field             | Value                                            |
+-------------------+--------------------------------------------------+
| allocation_pools  | {"start": "172.17.4.130", "end": "172.17.4.199"} |
| cidr              | 172.17.4.0/24                                    |
| dns_nameservers   |                                                  |
| enable_dhcp       | False                                            |
| gateway_ip        | 172.17.4.1                                       |
| host_routes       |                                                  |
| id                | 1b66dad8-2f2c-4667-9460-7729e2a68d1c             |
| ip_version        | 4                                                |
| ipv6_address_mode |                                                  |
| ipv6_ra_mode      |                                                  |
| name              | sub-pub                                          |
| network_id        | fa9fb87f-70d9-4e18-83cb-c04695cbed5a             |
| subnetpool_id     |                                                  |
| tenant_id         | 8d93e4b0f8454ad7b539d14633d72136                 |
+-------------------+--------------------------------------------------+

[root@c6320-n1 ~(keystone_admin)]# neutron subnet-update 1b66dad8-2f2c-4667-9460-7729e2a68d1c --allocation-pool start=172.17.4.130,end=172.17.4.240
Updated subnet: 1b66dad8-2f2c-4667-9460-7729e2a68d1c
[root@c6320-n1 ~(keystone_admin)]# neutron subnet-show 1b66dad8-2f2c-4667-9460-7729e2a68d1c
+-------------------+--------------------------------------------------+
| Field             | Value                                            |
+-------------------+--------------------------------------------------+
| allocation_pools  | {"start": "172.17.4.130", "end": "172.17.4.240"} |
| cidr              | 172.17.4.0/24                                    |
| dns_nameservers   |                                                  |
| enable_dhcp       | False                                            |
| gateway_ip        | 172.17.4.1                                       |
| host_routes       |                                                  |
| id                | 1b66dad8-2f2c-4667-9460-7729e2a68d1c             |
| ip_version        | 4                                                |
| ipv6_address_mode |                                                  |
| ipv6_ra_mode      |                                                  |
| name              | sub-pub                                          |
| network_id        | fa9fb87f-70d9-4e18-83cb-c04695cbed5a             |
| subnetpool_id     |                                                  |
| tenant_id         | 8d93e4b0f8454ad7b539d14633d72136                 |
+-------------------+--------------------------------------------------+
[root@c6320-n1 ~(keystone_admin)]# 
[root@c6320-n1 ~(keystone_admin)]#

Example of adding an additional range to an already existing range:

[root@c6320-n1 ~(keystone_admin)]# neutron subnet-update 1b66dad8-2f2c-4667-9460-7729e2a68d1c --allocation-pool start=172.17.4.130,end=172.17.4.199 --allocation-pool start=172.17.4.209,end=172.17.4.240
Updated subnet: 1b66dad8-2f2c-4667-9460-7729e2a68d1c
[root@c6320-n1 ~(keystone_admin)]# 
[root@c6320-n1 ~(keystone_admin)]# neutron subnet-show 1b66dad8-2f2c-4667-9460-7729e2a68d1c
+-------------------+--------------------------------------------------+
| Field             | Value                                            |
+-------------------+--------------------------------------------------+
| allocation_pools  | {"start": "172.17.4.130", "end": "172.17.4.199"} |
|                   | {"start": "172.17.4.209", "end": "172.17.4.240"} |
| cidr              | 172.17.4.0/24                                    |
| dns_nameservers   |                                                  |
| enable_dhcp       | False                                            |
| gateway_ip        | 172.17.4.1                                       |
| host_routes       |                                                  |
| id                | 1b66dad8-2f2c-4667-9460-7729e2a68d1c             |
| ip_version        | 4                                                |
| ipv6_address_mode |                                                  |
| ipv6_ra_mode      |                                                  |
| name              | sub-pub                                          |
| network_id        | fa9fb87f-70d9-4e18-83cb-c04695cbed5a             |
| subnetpool_id     |                                                  |
| tenant_id         | 8d93e4b0f8454ad7b539d14633d72136                 |
+-------------------+--------------------------------------------------+
[root@c6320-n1 ~(keystone_admin)]# 
[root@c6320-n1 ~(keystone_admin)]#