FreeBSD tuning for KVM

Stolen from Vultr. Notably, without those, WireGuard performance is total crap. For FreeBSD 14 (and maybe other versions?).

loader.conf

aesni_load="YES"
cc_htcp_load="YES"
crypto_load="YES"
cryptodev_load="YES"
virtio_random_load="YES"

aesni and crypto aren’t actually needed as it’s kernel builtin. cc_htcp is probably not needed either as it’s just a different tcp congestion control algorithm.

rc.conf

ifconfig_vtnet0="DHCP -rxcsum -tso"
ifconfig_vtnet0_ipv6="inet6 accept_rtadv -rxcsum6 -tso6"

sysctl.conf

hw.mds_disable=3
kern.ipc.maxsockbuf=67108864
net.inet.tcp.sendbuf_max=67108864
net.inet.tcp.recvbuf_max=67108864
net.inet.tcp.sendbuf_auto=1
net.inet.tcp.recvbuf_auto=1
net.inet.tcp.sendbuf_inc=16384
net.inet.tcp.cc.algorithm=htcp

FGO: Pain and Sunk Cost

Uh, yeah. I think I finally did it. The 330 rolls pity. The previous closest one was Castoria Summer with 301 rolls but this one took the cake with full 330 rolls. Yay. Also bye 10k yen šŸ’ø

I really shouldn’t have rolled more than 22 if I don’t have enough for full 330 rolls.

I just hope I can survive this year’s summer ‘_’)a

ActivityPub shenanigans part 2

After enabling the thing and did some basic setup, I noticed I can’t actually follow this from my own mastodon instance. Many hours of debugging later, I learned it’s a combination of bug in the plugin itself and the fact that I hacked my own networking to resolve my websites to a local IP. Mastodon and WordPress both have their own check to ensure no local IP being accessed so that needs to go. Fixing Mastodon side was easy but there’s no escape hatch for WordPress.

The solution is, well, make the domains resolve to “external” IP instead, add that IP alias to the router and then forward the request to the actual web server šŸ•ŗ

ActivityPub shenanigans

WordPress added official ActivityPub plugin so I tried it.

From my quick test, having two blogs in subdirectory of same domain doesn’t seem to work. As I don’t care about the main blog on top directory, I added specific rule for the relevant /.well-known/ endpoint:

location ^~ /.well-known/ {
  try_files /index.php =404;
  include wpmu_headers.conf;
  include php.conf;
  fastcgi_pass wpmu;
  fastcgi_param REQUEST_URI /blog$request_uri;
}

The main key is pointing to correct index file as per usual nginx and prefixing the url passed to WordPress with the correct subdirectory prefix.

And then things seem to just work šŸ¤·ā€ā™€ļø

(this post also serves as test post to see if it appears on timeline after following)

Weekly FGO vol. 157

Final farming team

I forgot to write this multiple times lol.

There just wasn’t anything happening last week. It was all just farming and I’ve cleared the shop.

The rumor says box event may be up next so I’m hoping for that and not going hard on current event farming. I can definitely use some skill stones. Or a lot of them, for all the classes.

There are some new banner reruns but I’m saving for, um, Skadi Summer, I guess, so I didn’t roll. I did exactly two rolls but only got junk as usual.

There are three new Advanced Quests up yesterday but I haven’t looked into it. The annoying part is of course none of the CE so far be limit broken. They’re taking a lot of space now…

Weekly FGO vol. 119

JP

Nothing much this week. There was Nero Bride pick-up few days ago and I did 47 rolls and got nothing.

Valentine is starting this Wednesday. New servant will be Bazett which is… interesting? Not sure if I’ll roll for her though. Not that I have SQ left at the moment anyway (see above).

On unrelated note, I’m running low on servant coins for creating grails. 2000 coins is a lot of coins.

NA

Valentine has started here. I’ll be going through it slowly and maybe rush around the end accordingly. I need to save apples.

I ended up doing three rolls and got nothing. Just par for the course, I guess.

Weekly FGO vol. 103

JP

I finally started on the journey getting Okita to level 120. At over 5000 ā˜†5 exp cards required, it’ll be a very long while until I reach the end. It looks like I’ll be mainly farming for exp cards with occasional QP whenever there’s no event.

Talking about event, I ended up skipping most of the Halloween Trilogy Rerun. Fetched the Elis, leveled them up, and finished their strengthening quests.

Oh, I also did as many roll as I could for Okita Alter banner and got nothing. That was mildly annoying. I hope there’s nothing interesting coming up until next year.

NA

Still dead week on NA with Saber Wars 2 coming up tomorrow. No roll is planned as I’m on saving mode here as well for next year’s Castoria and others.

With mindless QP farming, I’m currently past 500M. It’s probably the most QP I’ve ever had. Not that it’ll last long once Christmas farming comes in with its fangs and other materials. I’m still missing a lot of dust though.

HTML template

Apparently I made over 50 drafts for this blog years ago. This is one of them. And the content doesn’t seem to be too bad so might as well finish this post.

I occasionally write some HTML. There are some essential things needed for a valid page.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Title goes here</title>
<!-- additional meta goes here or wherever -->
</head>
<body>
Content goes here.
</body>
</html>

The doctype is just the basic HTML 5 doctype.

Followed by setting the language of the page. Usually English. Apparently it’s recommended by W3C. Although I sometimes forgot about it.

Then of course head, followed right away by charset. UTF-8 is the best set we currently have and so it’s set there. Without this tag, the page might be rendered in some other set.

I’m not sure if setting X-UA-Compatible is still relevant anymore but IE11 is still here so might as well set it. Or remove if IE compatibility isn’t needed.

Viewport setting is unfortunately essential so the page isn’t zoomed out when viewed using mobile device. Just don’t disable scaling as that’s rude (unless it’s game or something).

The rest are just usual HTML stuff.

Mastodon and FreeBSD

Together with updating all other craps and server migrations, I decided to finally update Mastodon install as well which I broke after upgrades and package removals.

Then in usual fashion, one of dependency didn’t install on FreeBSD because it’s missing pre-compiled binary and the build script has too strict settings causing the build to fail.

Did some hackery to figure out how to fix it (following this guide works) but then when I looked around the situation on the official uws module page it says it’s been unmaintained since forever. Googling around a bit it seems like the author is being a dick and ended up ragequitting the module. Mastodon dev was notified but no action is taken.

The good thing is I looked into replacing it with ws a long time ago and posted it to Mastodon issue tracker. As I’m not interested in doing the module-level hackery, I figured it’s easier to do it now. Also I forgot how I fixed it before which didn’t involve such hackery. Or maybe I did. I don’t know.

In the end I reapplied my patch and everything is good again.

Or not, because I switched PostgreSQL authentication to the shiniest Scram-SHA-256 which isn’t supported by node-postgres. The issue has been open forever and I’m not really interested in fixing it.

Thankfully someone tweeted me the existence of node-pg-native. I looked into it and even though it’s not a drop-in replacement for node-postgres, adding pg-native and setting NODE_PG_FORCE_NATIVE=1 environment variable will force the module to use native library which fixed the problem.

Except for node-libpq which for some reason doesn’t link correctly (my postgres is installed in non-standard path). Whoops. I think fixed it and hopefully it gets merged.

With all the fixes in place, everything seems fine.

HP Z210 SFF/CMT and SSD

My SSD doesn’t quite “work” with HP Z210 SFF/CMT.

  • Model: CT525MX300SSD1
  • Brand: Crucial
  • Type: MX300
  • Capacity: 525Go
  • Error:
    • 1798- Hard drive with hardware encryption enabled detected while in RAID mode. Drive: SATA0 (Dark Blue). Drives that are using hardware encryption should not be included in RAID volumes. Using them may cause volume corruption and unpredictable behavior.

It can still be booted (I think) but F1 needs to be pressed when on startup which is annoying.

Note that same type but with 275Go capacity doesn’t have same problem.

Update 2017-05-31: Doesn’t work with Z210 CMT either. Same error.

Update 2017-08-04: Forgot to update but the drive does work after I clear out the eDrive mode or something. It was done using Crucial’s SSD utility.

Upgrade log 1

Ordered the RAM sticks.Ā According to the storeĀ they’re on backorder and should arrive in one or two months. Hopefully they actually arrive. And doesn’t take two months.

It’s the most annoying part because barely anyone sellsĀ what I want and most of them are stupid overpriced.

On another note, I’ve gotten the all in one server. ShouldĀ arriveĀ sometime this week.

Accompanying the server, I also secured the drive bay converter and SATA (SAS) controller.

I can then proceed to put it in serviceĀ once everything arrive. Starting from basic check, reflashing the controller, updatingĀ BIOS, and swapping parts. Need to take out 1230v2 from office desktop.

I’m thinking of doing everything at once after the basic preparation is done so I can minimize downtime. It’ll be my router after all. And web server. And storage server. Everything~

If there’s no problem, I’ll continue finishing new office desktop and swapping parts for end state of office server.

That will conclude the most troublesome parts. Assuming everything works as planned, that is.

Sure hope there’s no problem with new Ryzen system~

I will probably end up getting a new SSD though. Or not. We’ll see.

Upgrade plan

It’s time to upgrade my system! Everything! Or not really because some parts are just shuffled around.

Here’s the planned final state.

Home / Server

  • System: Dell PowerEdge T110 II
  • Processor: Intel Xeon E3-1230v2
  • RAM:
    • DDR3 PC3-12800 ECC UDIMM 8Gio x4
  • PCI cards:
    • SATA Controller / LSI SAS 9212-4i
    • Ethernet Controller / Realtek 8111
  • Misc:
    • 2×5.25″ to 3×3.5″ HDD Converter Bay / Century iStarUSAĀ BPN-DE230SS-BK
  • Drives:
    • Seagate 600 SSD 240Go
    • SanDisk Ultra II SSD 240Go
    • Western Digital Red HDD 6To x5 (or 6?)

New all in one server replacing currentĀ combination of Microserver and Z210 SFF.

Home / Desktop

  • System: Custom built
    • Case: SilverStone Micro ATX SST-PS07B
    • Power supply: Antec Green 650W / EA-650-GREEN
    • Motherboard: ASRock AB350M Pro4
  • Processor: AMD Ryzen 7 1700
  • RAM:
    • DDR4 PC4-19200 ECC UDIMM 16Gio x2
  • VGA: ASUS GeForce GTX950 / GTX950-2G
  • Optical drive: TSST (Toshiba Samsung) DVD-ROM 16x
  • Drives:
    • Crucial MX300 SSD 525Go
    • Samsung 840 SSD 250Go
    • Western Digital Blue HDD 250Go x2

Now with 100% more modern everything. No, just new processor/motherboard/RAM.

The VGA and SSD can use better upgrade but those will do for now.

Office / Server

  • System: HP Z210 CMT
  • Processor: Intel Xeon E3-1235
  • RAM:
    • DDR3 PC3-10600 ECC UDIMM 4Gio x2
    • DDR3 PC3-10600 ECC UDIMM 2Gio x2
  • Misc:
    • 1×5.25″ to 1×3.5″ HDD Converter Bay / Century iStarUSA BPN-DE110SS-SV
  • Drives:
    • Transcend SSD370 SSD 512Go
    • Samsung 850 EVO SSD 500Go
    • SeagateĀ 7200.10 (or 11?) HDD 3To x5 (4 connected due to lack of SATA ports)

Processor is upgraded from E3-1225 but RAM is downgraded from 20Gio total.

Office / Desktop

  • System: HP Z210 SFF
  • Processor: Intel Xeon E3-1270
  • RAM:
    • DDR3 PC3-10600 ECC UDIMM 8Gio x4
  • VGA: MSI GT730
  • PCI cards:
    • USB 3 Controller / Inateck 2 Ports USB3
  • Optical drive: HP DVD-RW 16x?
  • Drives:
    • Crucial MX300 SSD 275Go
    • Seagate Barracuda HDD 250Go x2

Another victim here. The RAM is now ECC but the VGA is downgraded far from GTX660 which I’mĀ moving toĀ somewhere far away.

Notes

Now I look again there’s possibility the current drive structure plan to not work because of compatibility problem. I will need to figure that out later and shuffle the drives around as need. I should’ve taken memo ofĀ theĀ compatibility problems I encountered.

NEC Express5800/53Xg review

More reviews! I’ve always wanted to write these because there doesn’t seem to be many information on those. Most likely because they’re branded PC. Not only that, they’re branded workstation PC. Expensive new but dirt cheap second hand. Being workstation, I also expect them to last quite a long time.

Anyway, after the uselessness of Z210 SFF for desktop, I got its CMT version and used it for a while. That one has relatively similar specs, just larger and fit normal GPU and can supply enough power to it. There’s no problem with it except being large.

Surfing around Yahoo! Auction again, this time I found this NEC Express5800/53Xg. At 14100 yen total with shipping, it came with E3-1225, 4Gio of RAM, and two 250Go WD Blue hard drives.

Unlike the HP counterpart, this one is noisy. So bad that I ended up replacing the front 8cm fan with my spare Gelid fan. It helped a bit. Then I replaced the CPU HSF with the only one that seems to be compatible with it, Thermaltake Engine 27. It helped a lot. I also put some resistors on the tiny back fan. Also helped a lot.

Thankfully the headers are standard and BIOS doesn’t stop when it spots missing fans.

Unfortunately, it resulted in hot CPU. Mainly because the replacement HSF is rated for 70W TDP CPU while the installed CPU is 80W. Whoops. At least it works. Most of the time. Just a bit hot. 100Ā°C hot.

And it’s still kind of noisy.

It doesn’t support Ivy Bridge CPU either so I can’t use E3-1230v2 which has 69W TDP.

On the bright side, it uses riser so it accepts full sized GPU. And the motherboard can also supply full 75W to it.

In the end, it’s usable for desktop. Kind of.

The other problem is it only has 2 RAM slots, maxing out at 16Gio. I thought it’s enough. Except it isn’t. Task manager is currently showing I’m using 14.6Gio which isn’t quite comforting. Electron apps are to blame but in the end I just need more RAM because I ultimately use those apps.

(WthasApp using 300Mio? Really? And Slack 500Mio? What the hell is this?)

It also has two gigabit ethernet which I have no use of.

Another small complain is it’s got slim DVD which isn’t as nice as normal drive. Mainly the attaching the disc part.

Internally there are only three SATA ports. And the hard drive cage, while completely standard, is a pain to install/remove drives with because it needs full removal of optical drive and the cage itself.

My unit didn’t come with rubber feet so I used this thing. Works pretty well.

Conclusion

  • usable for desktop (it’s my current desktop)
    • except it’s noisy and/or hot
  • should be fine for server as well if 16Gio is enough

The noise pretty bad and the heat is worrying so I’m considering replacing it with something else. Of course there’s Ryzen. But it’s expensive and is way more than what I need. It also won’t run Windows 7 unless Microsoft backs their stance. I may consider it next year but for now I don’t think it’ll happen. Maybe it’ll happen sooner than I thought.

Alternatively there’s another workstation candidate: Fujitsu Celsius J510. It also seems to support full sized GPU. Assuming it’s not too long, that is. Turned out the PCIe slot is at the bottom which means it only supports single slot GPU. Nope.

Left handed mouse

I’ve been using mouse left handed for a long while after (kind of) breaking my right hand thanks to playing a bit too much rhythm game and too lazy to visit doctor (and that it doesn’t hurt that much).

I initially switched the button using Windows’ built-in mouse button setting but learned that it breaks in various ways ranging from application not honoring the setting to just plain annoyance to having to set the thing at all.

Later I found this hardware-stored profile for certain mice and I’ve been happily using mouse left handed ever since.

There are quite a few things I noticed from switching side.

One main thing I first noticed is how much keyboard shortcuts are located on left side. From the most basic copy/paste, browser tab open/close, closing app, switching app, switching tab, escape key, and some keyboards don’t even have windows key on right side. Those are cause a slight annoyance when using mouse left handed because that means I need to switch position more often than needed. Either that or I just right click and do copy/paste stuff and set my mouse’s 5 additional buttons to do those tasks. I like my mouse.

The other thing is keyboard and mouse positioning is actually more balanced when using keyboard with numpad. The main keys on keyboard are pretty much located on the middle with numpad on right side and mouse on left side. Very convenient.

Oh and I have profile for both sides on my mouse so it’s just clicks away to switch its handedness.

I haven’t used right handed mouse for so long I find it weird now. And my accuracy have dropped as well. Combined with my left hand not being that accurate yet, I probably have overall even less accuracy on my mouse control now.

PHP 7!

Panzer vor! (ā˜žļ¾Ÿāˆ€ļ¾Ÿ)ā˜ž

Panzer vor! (ā˜žļ¾Ÿāˆ€ļ¾Ÿ)ā˜ž

# (build machine since the server itself doesn't have enough memory to build PHP)
root@openbsd:/var# /opt/php7/bin/php --version
PHP 7.0.0 (cli) (built: Dec  4 2015 21:50:31) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
root@openbsd:/var# uname -a
OpenBSD openbsd.myconan.net 5.8 GENERIC#1170 amd64

Oh look, this blog is now running on PHP 7 (under OpenBSD). Apart of OpenBSD-specific mysql socket path, everything seems to be working fine out of box. It seems to be slightly faster as well? Or maybe not,Ā I guess WordPress is just so slow and no amount of speed ups can fix it.

Hopefully OpenBSD 5.9 will have it by default. Still no ports in sight though.

Configure parameters:

./configure --prefix=/opt/php7 --enable-fpm --with-openssl --with-pcre-regex --with-zlib --enable-bcmath --enable-calendar --with-curl --enable-exif --enable-ftp --with-gd --with-gettext --with-gmp --with-mhash --enable-intl --enable-mbstring --with-mysqli --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --enable-mysqlnd --with-webp-dir=/usr/local --with-jpeg-dir=/usr/local --with-freetype-dir=/usr/X11R6 --with-png-dir=/usr/local

Compiling xpdf (pdfimages) for Windows

…on a FreeBSD system. I recently needed a modified version of it for a good reason. Only tried for its pdfimages. Probably works for other components as well.

  1. Install these packages:
    • mingw32-bin-msvcrt
    • mingw32-binutils
    • mingw32-gcc
  2. Download, extract, go to xpdf source.
  3. ./configure --host=mingw32 --target=i686-mingw32msvc --build=i686-linux
  4. make pdfimages
  5. ???
  6. Profit!

Whoops, almost forgot one last step. Produced binary from steps aboveĀ will require additional libraries to start. ToĀ make it run with just the binary, rerun the last compile command (from output of make) with additional arguments:Ā -static-libgcc and -static-libstdc++.

[ Reference for configure script argumentsĀ |Ā Reference for static buildĀ ]

Few weeks with Firefox

  • crashes everyĀ 1-2 days
  • slow
  • fail on loading large images which for some reasonĀ don’t happen on others’ Firefox. I think my Firefox is cursed or something
  • modal authentication in 2014
  • oh and it crashes again when I’m writing this post. Thankfully I’m doing this in Chrome

ss+(2014-09-30+at+03.19.48)

Building Latest Transmission in CentOS 6

By default, CentOS 6 (and other RHEL clones) only provides transmission 2.13. There’s alternative repository from transmission official site but it isn’t really all that “latest” either (and I don’t fancy adding random repositories).

First, compile libevent2:

  • install gcc and make
  • download and extract the source
  • ./configure --prefix=/opt/libevent2 && make && make install

And then compile transmission (hopefully you don’t need the gtk interface):

  • install gcc-c++
  • configure with PKG_CONFIG_PATH=/opt/libevent2/lib/pkgconfig ./configure --prefix=/opt/transmission --disable-nls --enable-daemon
  • finally, make && make install
  • if there’re missing dependencies, just install them (they’re all in repository apart of libevent2)

Don’t forget to add path to transmission in bash default profile (inĀ /etc/profile.d/custom.sh):

PATH="/opt/transmission/bin:${PATH}"

And done! Enjoy the latest transmission.

Test post

To ensure markdown works as expected, the following sentence must be block-quoted:

herp derp does it work?

And the following excerpt should show proper symbol:

100x + 5 >= 5

If it fails, then WordPress sucks.

Update: indeed it failed.

Update again: patched and now finally works.

WordPress 3.2 has been released

So my crontab informed about new branch creation on BitBucket. And so I upgraded this blog.

[Here be the changelog](http://wordpress.org/news/2011/07/gershwin/). The significant change is obviously the new dashboard – which confirms my guess that users of [wordpress.com](http://wordpress.com) get updates of WordPress faster. As in, they get enhancements of `current` (`trunk`) branch before it moved to `stable` branch. Too bad the new `wp-stats` hasn’t made it to non-wp.com users – it looked pretty cool and use 100% less Flash.

Hopefully 3.2 means faster and lighter operation. I can’t believe I set `fastcgi_(read|send)_timeout` to 10 minutes to cope with some slow operations of WordPress (and SMF). Oh, also this blog runs using *multisite* and the main site is on [genshiken-itb.org](http://genshiken-itb.org) – which sadly is Indonesian – which means this blog is slower than ever because most things need to pass `index.php` first. Well, it’s not like this site will be slashdotted anytime soon anyway.

On other note, this site is accessible using IPv6. It’s still tunneled (through trusty [Tunnel Broker](http://tunnelbroker.net) though since Amazon EC2 doesn’t have native IPv6. The `ping` time to tunnel point is less than 2ms which is fastest I’ve ever seen so the speed should be still good enough even tunneled.

Server moved again

If you can see this post, you’ve come to the new server.

So, um, I bought a cheaper VPS package but this time for one year. Running loldebian since I’m having problem running FreeBSD in a KVM (calcru timer running backward or something in that effect). Things seems to be a bit slow as there are less usable memory – down from 256 MiB to 128 MiB. I guess I need to figure out how to install php-fpm painlessly to keep memory usage low.

Dream Eater Merry episode 4 – Whee

Yum

Basically saying, Tachibana’s dad is awesome indeed. LOL.

:3

Predictable, yes. But hey, I have no problem watching stuffs I like repeatedly. Especially if it’s subtly different. It’s like reading various Adachi Mitsuru’s work – mostly same but reading each of them still gives its own enjoyment. Or so I heard.