We are the proud parents of a healthy little boy called Marcus!

Work in progress, as always…
We are the proud parents of a healthy little boy called Marcus!
One of my disk in my RAID6 array of my Linux server dropped from the disk array, so it was time to decide the future of my old and trusty server. I have been running a Linux server as my home storage for +15 years. But the family life is limiting my tinker time… So I decided to try an off-the-shelf storage solution (Synolog DiskStation DS918+), to see if this can serve my server needs, without the additional hassle of building and maintaining a Linux server.
Currently I’m running the NAS with 2x8TB WD Red in RAID1, and WD Black NVMe SSD 250GB as (read) cache.
Toying (some more) with an industrial robot at the office 😉
Merry Christmas and a Happy 2019 from the Allseas R&D Eindhoven (a.k.a. Inspection & Robotics) office.
R&D Eindhoven is part of the Innovation Department of Allseas Engineering B.V.
Website was down for a few hours, deu to a glasfiber modem upgrade. Server seems happy after his first reboot in 2.5 years 🙂
KPN routers force their users to use 192.168.2.xxx IP range (with a 255.255.255.0 subnet mask). So it took me some time to get all my 192.168.0.xxx devices to the new enforced 192.168.2.xxx range.
Created an easy to use XBox 360 Controller library in C# (with a sample application) using the SharpDX.XInput managed .NET wrapper of the DirectX API.
https://github.com/okmer/XBoxController
A BUG in SharpDX.XInput ci-ci217, resulting in issues with the left Thumb Stick, Left Trigger, and Right Trigger! Please stick to SharpDX.XInput v4.1.0-ci184 for now.
using System; using Com.Okmer.GameController; namespace XBoxSampleConsole { class Program { static void Main(string[] args) { XBoxController controller = new XBoxController(); Console.WriteLine("XBox 360 Controller (Press ENTER to exit...)"); //Connection controller.Connection.ValueChanged += (s, e) => Console.WriteLine($"Connection state: {e.Value}"); //Battery controller.Battery.ValueChanged += (s, e) => Console.WriteLine($"Battery level: {e.Value}"); //Buttons A, B, X, Y controller.A.ValueChanged += (s, e) => Console.WriteLine($"A state: {e.Value}"); controller.B.ValueChanged += (s, e) => Console.WriteLine($"B state: {e.Value}"); controller.X.ValueChanged += (s, e) => Console.WriteLine($"X state: {e.Value}"); controller.Y.ValueChanged += (s, e) => Console.WriteLine($"Y state: {e.Value}"); //Buttons Start, Back controller.Start.ValueChanged += (s, e) => Console.WriteLine($"Start state: {e.Value}"); controller.Back.ValueChanged += (s, e) => Console.WriteLine($"Back state: {e.Value}"); //Buttons D-Pad Up, Down, Left, Right controller.Up.ValueChanged += (s, e) => Console.WriteLine($"Up state: {e.Value}"); controller.Down.ValueChanged += (s, e) => Console.WriteLine($"Down state: {e.Value}"); controller.Left.ValueChanged += (s, e) => Console.WriteLine($"Left state: {e.Value}"); controller.Right.ValueChanged += (s, e) => Console.WriteLine($"Right state: {e.Value}"); //Buttons Shoulder Left, Right controller.LeftShoulder.ValueChanged += (s, e) => Console.WriteLine($"Left shoulder state: {e.Value}"); controller.RightShoulder.ValueChanged += (s, e) => Console.WriteLine($"Right shoulder state: {e.Value}"); //Buttons Thumb Left, Right controller.LeftThumbclick.ValueChanged += (s, e) => Console.WriteLine($"Left thumb state: {e.Value}"); controller.RightThumbclick.ValueChanged += (s, e) => Console.WriteLine($"Right thumb state: {e.Value}"); //Trigger Position Left, Right controller.LeftTrigger.ValueChanged += (s, e) => Console.WriteLine($"Left trigger position: {e.Value}"); controller.RightTrigger.ValueChanged += (s, e) => Console.WriteLine($"Right trigger position: {e.Value}"); //Thumb Positions Left, Right controller.LeftThumbstick.ValueChanged += (s, e) => Console.WriteLine($"Left thumb X: {e.Value.X}, Y: {e.Value.Y}"); controller.RightThumbstick.ValueChanged += (s, e) => Console.WriteLine($"Right thumb X: {e.Value.X}, Y: {e.Value.Y}"); //Rumble Left, Right controller.LeftRumble.ValueChanged += (s, e) => Console.WriteLine($"Left rumble speed: {e.Value}"); controller.RightRumble.ValueChanged += (s, e) => Console.WriteLine($"Right rumble speed: {e.Value}"); //Rumble 0.25f speed for 500 milliseconds when the A or B button is pushed controller.A.ValueChanged += (s, e) => controller.LeftRumble.Rumble(0.25f, 500); controller.B.ValueChanged += (s, e) => controller.RightRumble.Rumble(0.25f, 500); //Rumble at 1.0f speed for 1000 milliseconds when the X or Y button is pushed controller.X.ValueChanged += (s, e) => controller.LeftRumble.Rumble(1.0f, 1000); controller.Y.ValueChanged += (s, e) => controller.RightRumble.Rumble(1.0f, 1000); //Rumble at the speed of the trigger position controller.LeftTrigger.ValueChanged += (s, e) => controller.LeftRumble.Rumble(e.Value); controller.RightTrigger.ValueChanged += (s, e) => controller.RightRumble.Rumble(e.Value); //Wait on ENTER to exit... Console.ReadLine(); } } }
Toying with an industrial robot at the office 😉
R&D Eindhoven (a.k.a. Inspection & Robotics) opens the Friday “borrel” beers with their new Fanuc M-710iC/45M Robot in combination with a Cognex In-Sight 2000 Vision Sensor.
R&D Eindhoven is part of the Innovation Department of Allseas Engineering B.V.
Two fun and interesting days of Virtual Reality and Augmented Reality at AWE Europe 2017. Now it’s time to get back to reality and realize that I look pretty nerdy in these pictures 😉
We are the proud parents of a healthy little boy called Stein!
Got promoted to Unit Head Innovations (managing the Eindhoven office) at the Innovations Department of Allseas Engineering B.V.
The Swiss-based Allseas Group is a global leader in offshore pipeline installation, heavy lift and subsea construction. We employ over 2500 people worldwide and operate a versatile fleet of specialised heavy-lift, pipelay and support vessels, designed and developed in-house.
Traveling around the world in 90 days with my pregnant wife 🙂 See you later alligator!
Canada, Hawaii, Japan, Taiwan, Cambodia, Malaysia, and Australia…
AMS | LHR | 258° | (W) | 256° | (W) | 371 km |
LHR | YVR | 324° | (NW) | 324° | (NW) | 7,601 km |
YVR | LAX | 165° | (S) | 149° | (SE) | 1,739 km |
LAX | HNL | 261° | (W) | 249° | (W) | 4,113 km |
HNL | NRT | 299° | (NW) | 290° | (W) | 6,146 km |
NRT | TPE | 242° | (SW) | 250° | (W) | 2,182 km |
TPE | HKG | 249° | (W) | 254° | (W) | 807 km |
HKG | PNH | 220° | (SW) | 223° | (SW) | 1,533 km |
REP | KUL | 191° | (S) | 192° | (S) | 1,202 km |
KUL | SYD | 133° | (SE) | 133° | (SE) | 6,579 km |
SYD | CNS | 343° | (N) | 330° | (NW) | 1,966 km |
ASP | CNS | 060° | (NE) | 056° | (NE) | 1,454 km |
CNS | HKG | 320° | (NW) | 314° | (NW) | 5,553 km |
HKG | AMS | 324° | (NW) | 327° | (NW) | 9,290 km |
Total: 50,537 km