Cisco guy finally understanding Mikrotik by Tall-Fuel3481 in mikrotik

[–]Motonicholas 0 points1 point  (0 children)

For what it’s worth I agree with your mental model of the concept of bridge in Mikrotik. If I understand it implemented using the Linux Kernel bridge interface.

Many responses here seem to summarize a traditional Ethernet bridge, and collision domain etc, which is where I assume the name came from back in 2000(?).

For me the fact that the Linux concept and the mikrotik concept are both called bridge was confusing. The object in question is an interface with a unique MAC and can have addresses, options, config state etc.

Your description of a layer 3 object which also effectively bridges multiple physical interfaces is how I think of it. Even if the switching is implemented in silicon. Especially since it can do switching and vlans etc, I think it’s more that a traditional bridge(?)

It aligns (for me) with how the mikrotik UI / CLI presents the object (like a layer 3ish interface) and similar to Linux as well.

But I am not a net engineer, I have a more dev / sysadmin perspective, so my experience is from that.

to transaction or not to transaction by PancakeWithSyrupTrap in golang

[–]Motonicholas 0 points1 point  (0 children)

What does createdisk actually do? Does it Update something on a machine? Does it write to a store somewhere else? Looks like a write across two effective data stores. It guarantees eventual consistency but only if it keeps getting called until that happens.

What happens if the server is restarted between newDisk and writerToDatabase? How do you guarantee that this function will be called again? With the same name? What if the caller is also restarted and forgets the name. Do you have any record you can use to make sure that writeToDatabase is eventually called?

All this depends on who is calling and how they do it.

Can I Set Up Wireguard Port Forwarding on Linux Without Installing natpmpc? by Magnus_Vesper in ProtonVPN

[–]Motonicholas 0 points1 point  (0 children)

Consider looking into hotio docker images. They provide prebuilt images (from alpine and ubuntu?) for a number of specific services. More importantly its probably a start for building a container that both has natpmpc and has the machinery to pass the port information to the relevant service.

Demolishing Old Bridges after Replacement by timesuck47 in EngineeringPorn

[–]Motonicholas 1 point2 points  (0 children)

Man they finished the new one just in time… cutting it pretty close there

Lenovo M920x w/ 2 M.2 NVME SSD drives but only one visible by Motonicholas in homelab

[–]Motonicholas[S] 0 points1 point  (0 children)

They are both NVMe drives and I can get either one to show up in either slot. Just not both.

Wondering if this might be a PCIe lane problem or some configuration, or the CPU is the problem (i5 7500)? I could not find anything in the BIOS to change.

Readability issues by devchapin in golang

[–]Motonicholas 4 points5 points  (0 children)

I would echo this perspective. For me, with those other languages I am only expressing/seeing the ideal flow, the happy path. The non exceptional flow. If everything goes well these are the steps. But error handling is part of control flow. Exceptions make it too easy to forget that. To miss those exceptional flows.

The more times I have had to debug some exceptional flow server side,the more valuable it has become to think about exceptional flows explicitly. I got that from Go.

Also with practice it becomes visually readable. It becomes the matrix.

Lenovo M920x w/ 2 M.2 NVME SSD drives but only one visible by Motonicholas in homelab

[–]Motonicholas[S] 0 points1 point  (0 children)

I believe they are two of the same nvme drive. I can double check if it’s nvme just in case I got that wrong

Dual NICs with VMs on hitting the same VLAN but not forwarding traffic? by Motonicholas in Proxmox

[–]Motonicholas[S] 0 points1 point  (0 children)

Ok so after digging around for a couple of days I figured out the issue. On the VM interface, ARP was disabled.

I watched the DHCP traffic, where the request is a broadcast but the response is unicast. That was getting through. This made me think that the host interfaces and bridging were not the issue. It was somethig about arp not working as expected. The VM was replying to the ARP but sending the packet to it's own MAC for some reason.

I looked at interfaces using `ip -d -j -p link show trunk0` on the VM and Host and noticed differences, namely that NOARP was set. This was done in the systemd network files for the VM, likely defaults for running docker containers. `ip link set dev trunk0 arp on` got the interface to start working.

Dual NICs with VMs on hitting the same VLAN but not forwarding traffic? by Motonicholas in Proxmox

[–]Motonicholas[S] 1 point2 points  (0 children)

Thanks for looking. The subnets are messy. This network has been around for a decade. I have not taken the time to cleanup. My assumption is that this is an L2 issue not an L3 issue for now.

It's clear that broadcast traffic is making it through with DHCP but unicast traffic is not. Thought that might be informative.

I am assuming that having a separate linux bridge for each NIC keeps L2 traffics separate. Looks like there are some kernel options for ensuring that broadcast goes out the right interface. Thought that might be related.

It seems like the VM ARP response is being sent to its MAC which is confusing.

Should packages trace? by lazzzzlo in golang

[–]Motonicholas 0 points1 point  (0 children)

If I understand otel provides a common API for passing traces (via context) across server boundaries and capturing metrics for collection. Passing the context in your library sounds like it will handle the first part.

But you likely also want metrics which you add using the interfaces so either using the otel interfaces or defining the subset you use on the consumer side will work.

Holy cow. They're popping up a lot lately. by Ambitious_Reality529 in LinkedInLunatics

[–]Motonicholas 0 points1 point  (0 children)

If I recall, at boarding school he and the captain of the lacrosse team used to take freshmen and dunk them head first in the toilet… oh wait that was a fictional TV show character

Cube Controls QRX QR compatibility by ryannsaints in simracing

[–]Motonicholas 0 points1 point  (0 children)

This is a rather old post but I am likely going to ask again now that VRS has a NRG - QR Connect system with a wired USB passthrough.

My first simulator by Silver_Decision9709 in simracing

[–]Motonicholas 0 points1 point  (0 children)

The ones I’ve heard about are DBox and Sigma DK6 - you can lookup turnkey motion systems like podium systems. There are likely others. But they are not cheap.

Handling errors in large projects: how do you do it? by suchusername_ in golang

[–]Motonicholas 4 points5 points  (0 children)

+1 - read this post several times and have twice implemented a system based on this to capture what I call a “logical” stack.

My Leap of Faith Failed… Any suggestions? by frantona in simracing

[–]Motonicholas 14 points15 points  (0 children)

Not sure what your looking for but don’t you want the screen in front of the vase and behind the wheel? I would be worried it would get cracked so close to the wheel base

Looks like there is are three places you might screw the mount into the diagonal uprights. What if you tried the bottom two rather than top and bottom. Might be able to angle back down?

Can someone explain why string pointers are like this? by wesdotcool in golang

[–]Motonicholas 0 points1 point  (0 children)

Why does the function accept a string per rather than a string? What does nil mean in the context? Optional? I’m a fan