Connecting two ethernet ports with a bridge kills local network

I’ve just finished rebuilding my NAS, now using an Intel-based SBC with two Realtek ethernet ports (Odroid H2 for those interested). Everything worked fine so far, up until I tried to use both ethernet ports in a bridge to maximize local network bandwidth (this NAS will be used to stream multiple 4K streams locally).

Setup of hardware is simple: the H2, with a 256GB NVMe SSD in the M.2 slot, two HDDs connected to the two SATA ports, and the two ethernet ports are slotted on my router’s (HyperOptic’s modem+router combo Tilgin HG2381) first two LAN ports.

Software-wise it’s also simple: regular Ubuntu Server 19.04 install on the SSD, where I store my cloud stuff, Docker’s stuff (images, config folders), etc.; and the two HDDs are in a RAID0 array with a single XFS partition for storage of media. Data loss is not a danger, as I do not care much about the content on the HDDs, and the docker configs (the irreplaceable bit) is backed up daily to Google Drive.

I’ve purged cloud-init from the system, and set the netplan renderer to NetworkManager, so that I could use Cockpit’s web interface for management of all. Extra networking software installed is zerotier, which I found to be the most simple to set up and manage.

The two separate network interfaces work well, but the device gets two separate IPs. I wish to treat this connection as a single interface with load balancing, so I’ve created a bridge out of the two and set a static IPv4 address to it. The moment this network configuration is activated, the whole local network dies – WiFi, internet access, local network access, everything. While I do enjoy the discovery of this kill switch, I’d really like to fix it.

The current NetworkManager configs:

Wired connection 1:

[connection] id=Wired connection 1 uuid=8d403f31-b593-38b7-a177-62d26ac8604c type=ethernet autoconnect-priority=-999 master=bridge0 permissions= slave-type=bridge timestamp=1565379408  [ethernet] mac-address=00:1E:06:45:06:C1 mac-address-blacklist= 

Wired connection 2:

[connection] id=Wired connection 2 uuid=a440422a-941f-32c0-8863-5b35e3a9cd12 type=ethernet autoconnect-priority=-999 master=bridge0 permissions= slave-type=bridge timestamp=1565379408  [ethernet] mac-address=00:1E:06:45:06:C2 mac-address-blacklist= 

bridge0:

[connection] id=bridge0 uuid=c60701c0-12f2-4624-a6d0-4f0ba327445f type=bridge autoconnect-slaves=1 interface-name=bridge0 permissions= timestamp=1565379708  [bridge] stp=false  [ipv4] address1=192.168.1.75/24,192.168.1.1 dns=1.1.1.1;1.0.0.1; dns-search= method=manual  [ipv6] addr-gen-mode=stable-privacy dns-search= method=auto 

At first look I do not see any issue here, however I’m nowhere near even a NetworkManager adept (I’m still familiarizing myself with it, after almost exclusively using /etc/network/interfaces – not many embedded devices have fully blown fancy-pants network management systems, even routers!). Is there something wrong with my network config, or is it the router not handling a bridged interface well?

How to deal with a player who makes bad characters and kills them?

This is kind of a two part question, firstly about the bad character thing and secondly wrangling table drama. For context, I am currently DMing D&D 5e Curse of Strahd, with 5 players. Some of you might think this is one too many which I would agree with, but our group was founded as a social thing for friends so we don’t want to exclude anyone. The friend thing is also why I’ve been trying to avoid being heavy handed with authority.

Problem 1: I have a player who treats his characters as disposable

I have a player in my group, who I’ll call Carl. Carl has a constant problem wherein he builds one-trick pony characters, gets bored with them when they aren’t as good as he thought, and then stops trying to keep them alive so he can build another one. I don’t approve of this behavior because a) constant character death in a story and knowledge heavy campaign like Strahd is detrimental and b) he drags the party into his terrible decisions and risks other players’ characters as well. I understand that character death is a part of campaigns, but I also believe campaigns (particularly a published one like Strahd) are designed around the general assumption that characters will try to survive, so the way he plays really throws a wrench in things, especially since he’s the only one doing it. To disincentivize player death I instituted a rule where the second character has to be built off of point buy stats (they all rolled above average stats at the beginning) and the third character has to use the standard array. This rule came into effect the first time Carl’s character died (trying to fight Vladimir Horngaard alone) and he built his next character off of point buy.

Problem 2: The player decided to be a huge baby (but he’s in rough times so I’m trying to be nice)

This last session (Amber Temple), Carl’s character gained a lot of flaws from curses and his alignment changed to evil. At the very end of the session, he announced that he was attacking the party right before a long rest. He also played the “My Guy” card. As his death is almost certain next time, I told him to make a new character with the standard array. I wake up the next morning to a text saying that he’s rolling stats for his new characters, and if I don’t let him he’s taking the Strahd book and grid map (which he had previously donated for us to use) and quitting. I managed to talk to him about it and he said he felt that I was unfairly punishing him, that he didn’t think it was a problem for everyone else, that he felt his character wasn’t performing as well as the other melee fighters (he’s an Eldritch Knight with a Barbarian and a Paladin), and that he felt that new characters get treated badly by the existing characters and he isn’t having fun. The last thing he said was that he might just quit, but leave the materials so we can keep playing.

What do, friends?

The basic questions are: how do I deal with a player who doesn’t care if his character dies and drags the party into risky situations because of it and how do I make this guy feel like playing again? Honestly if this wasn’t a group of friends I would have kicked him for his behavior and bought new materials, but I don’t want to do that to him. If anyone has dealt with a situation similar to either of these problems I would love to hear about it.

AWS ELB kills RabbitMQ service in AWS ECS once in a few minutues because of failed health check

I’m running RabbitMQ Docker image (rabbitmq:3-management) in AWS ECS. It’s working fine with no issues.

Then I added a bit more complexity and created a service with the same RabbitMQ but now connected to AWS Network Load Balancer (my ultimate goal is to create a RabbitMQ cluster, so I need a few instances behind load balancer). Target group is configured with port 5672 and uses the same port for health checks. Interval between health checks is 30 sec (it’s max available). Threshold is 5. In configuration of service in ECS Health check grace period is 120 sec. Should be enough to start service. What happens is that when I run service after a few minutes it gets killed and restarted:

service Rabbit-master (instance i-xxx) (port 5672) is unhealthy in target-group Rabbit-cluster-target-group due to (reason Health checks failed) 

‘A few minutes’ means 2 or 5 or 9… It varies. It doesn’t happen on a start but after a while. Also I see that RabbitMQ works fine (in logs and in management panel). So it’s exactly ELB which causes its restart. Not that first RabbitMQ died and then ELB restarted it, no.

So my question is what I’m doing wrong and how I can achieve stable work of RabbitMQ in ECS in pair with ELB? Is the idea to use port 5672 for helth checks wrong? But which port then to use? 15672?

Sorry if I provided not enough details. I desribed those which seemed to me relevant. If you need anything more I will be happy to elaborate. Thanks!

enlarging pane in tmux (C-b z) kills a pytest run

Is there a reason for my local pytest run to die right after I Ctrl-b z? Is there a signal that is sent and not catched by the tmux server and thus, somehow killing my pytest? (I think running the pytest in a non-tmux terminal, Ctrl-b z won’t do a thing though I couldn’t confirm that yet)

The same happens when trying to resize a pane (i.e. Ctrl-b Press-Down-Arrow)

mount –bind /dev sometimes “kills” tty until unmounted

I have a script that uses sudo mount --bind /dev other/dev and then later uses sudo umount other/dev to unmount. After some random number of runs, we can somehow enter an odd state where the main tty stops existing, and the whole desktop environment starts malfunctioning (new applications won’t start, or they crash, and firefox can’t redraw pages and they freeze, etc…) and tty in my terminal says not a tty, and the terminal fails to open new instances. I’m not using ssh or any other remote functions, so the loss of the tty for my local terminal is absurd.

The only way to fix it is to reboot or to enter a different tty with CTRL+ALT+F1 or similar, log in, and force other/dev to unmount (normal asking says it is busy). After this the tty is magically revived and everything works again. I’m only actually mounting dev to get another /dev/null, so an easier workaround probably exists for me, but this is still very strange!

Is there some explanation for this odd behavior? I’m on 18.04.2 LTS.

Google Kills Off Google+

Recently I heard that news from Search Engine Land, Google has changed the way they show local results! Again! So, guess what?

Google going to update Google + or would be closed local business? what you guys thinking?

Hibernation kills Windows 7 Performance

After turning my rig back on after hibernation performance is almost always shot. What, if any verifiable explanation are the search engines hiding and is there a way to improve performance?

What this question is not:

  • This is not a “why doesn’t my system boot in 10 seconds on my SSD?” (it obviously saves a RAM dump).
  • This is not a “how do I speed up the boot / shut down” question.
  • This is not a “how do I prevent hibernation file from using so much space” question.
  • This is not a “why my over/under-clock was reset after rebooting?” question.

Simply put simple tasks unrelated to anything networking/Internet are pointlessly unresponsive (1TB SSD using about 480GB of storage) on an eight core rig with the pagefile disabled. Internet speeds (wired and wireless) are at or below 10% of what they normally can achieve. Obviously rebooting restores system performance though the point of hibernation (at least for me) is that my rig is not pointlessly heating the room up while in an extended absence (a few hours or more). I should mention that I can not sleep Windows on my rig though that is a different question.

Multi column order by kills postgresql performance, any way to fix?

I have a really simple query I’m running on a large table (500k rows) to page results.

Originally I was using this query, which is really fast:

 select * from deck      order by         deck.sas_rating desc         limit 10 

Its explain analyze estimates a 0.2 ms execution time. Cool.

But the sas_rating column has duplicate integer values, and I realized when paging through the results (using offset for other pages) that I was getting duplicate results. No problem, add the primary key as a secondary order by. But the performance is terrible.

 select * from deck      order by         deck.sas_rating desc,         deck.id asc          limit 10 

That takes 685ms with an explain analyze of:

Limit  (cost=164593.15..164593.17 rows=10 width=1496) (actual time=685.138..685.139 rows=10 loops=1)   ->  Sort  (cost=164593.15..165866.51 rows=509343 width=1496) (actual time=685.137..685.137 rows=10 loops=1)         Sort Key: sas_rating DESC, id         Sort Method: top-N heapsort  Memory: 59kB         ->  Seq Scan on deck  (cost=0.00..153586.43 rows=509343 width=1496) (actual time=0.009..593.444 rows=509355 loops=1) Planning time: 0.143 ms Execution time: 685.171 ms 

It’s even worse on my weaker production server. My search went from 125ms total to 35 seconds!

I tried adding a multi-column index, but that didn’t improve performance. Is there any way to prevent duplicate results when using limit + offset without destroying the performance of the query?

WAB, A Bank That Kills Business Plans, Rejects $13,000k+ Legal Wire Transaction….

For Immediate Release:

What am I too my bank…?
apparently, I am nothing…

At first, I contacted my bank in order to do a legal international transaction
with a seller that used an escrow service in a foreigh country. The bank refused
to send the wire, and made it sound as if they did not want to get involved in
an international transaction which was understandable….

I informed the seller, at this time, I actually found out the seller is actually
from the US, and he used the foreign…

WAB, A Bank That Kills Business Plans, Rejects $ 13,000k+ Legal Wire Transaction….