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.

HP Z210 SFF review

I got this last year for a total of 6026 yen with shipping. It didn’t come with CPU though. And I don’t remember it came with RAM either. Thankfully everything works.

First on motherboard. I don’t remember it has standard fan headers. At all. Well, it’s only got a total of one fan anyway. And that doubles as CPU fan, no less. Okay, I lied, there’s another one inside PSU which has weird form factor.

At least they are relatively silent. I have no complaint on noise department.

CPU support is limited to Sandy Bridge series. No v2 CPU or i3 3xxx series. Don’t bother trying. I did.

RAM support is okay. It only supports maximum of PC-10600. There’s ECC support though and at 4 slots, it maxes out at 32Gio.

GPU support is the worst thing about this PC. The PCIe slot being limited to low profile isn’t too bad nowadays with proliferation of small sized no external power started by GTX750. But the problem is none of them will work. Or at least specification wise. The reason is the motherboard only officially supports providing PCIe slots with 45W at most. That’s 30W less than what those GPU needs. The fastest consumer level GPU I can find is GT730. It sucks and noisy. Noise part can be mitigated by getting MSI card and adjusting fan speed curve accordingly but I generally don’t like installing crapware on the already crap Windows.

The absolute fastest one can get for this is Quadro K1200, by the way. At over US$300, I’m not sure if it’s worth buying.

USB ports also occasionally stop working on Windows 10. I vaguely remember it’s fine on Windows 7 but some changes on Windows 8 caused it to occasionally not working on boot. The only fix I have is to remote desktop into it and reinstall USB driver. Installing additional USB card didn’t help either from what I can remember.

Oh, and SmartOS doesn’t support the SATA controller because it is in RAID mode. Switching it to IDE emulation works but no one should do that. I’d just buy a SATA PCIe card instead if I really want to use SmartOS on it. Which I haven’t yet.

It’s got two SATA3 ports and two SATA2 ports. Note that it only has 1 external 5.25″, 1 external 3.5″, and 1 internal 3.5″ bays. I used a HDD 5.25″ converter to get one extra bay and dumped two SSDs to max out the storage (2 HDD, 2 SSD). Just remember that one SATA power cable splitter is needed.

Mine didn’t come with the screws needed for installing HDD at the back side but there are plenty of them for cheap in eBay. Those are of doubtful quality but as they’re just screws, I don’t really care that much. Just look for “hp sff hdd screws.”

Conclusion

In term of purpose, it goes like this:

  • best as personal non-storage server
  • don’t bother for desktop if using large monitors (1080p+?)
  • with additional SATA card, can also be used as SmartOS box

And yeah, it’s where some of my sites are currently hosted at.

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.

VirtualBox again

Due to reasons I swapped my web server (was in VM) and VM box role. Or more like web server is now bare metal and functions as VM box. It’s downgraded from real virtualization (Hyper-V) to VirtualBox though.

That said, FreeBSD doesn’t seem to be quite fully functional on Hyper-V thanks to performance hit and slow disk detection on boot causing failure.

Yeah, I’ve had enough of it so I decided to swap the role and run the web server directly on the server instead.

On the bright side, I can use zfs for everything and no more stupid SSD setup (it was unbalanced 500 and 250 GB disks).

VirtualBox seems to be flaky as always though apparently once it’s setup correctly it runs without much trouble. Also thankfully VirtualBox on FreeBSD has complete scripts for running it headless and autostart on boot.

This was also my main setup for quite a long time years ago and I sure hope it’s at least as stable as it was back then! That said, the initial setup seems to be flakier. Oh well.

Memo and stuff.

Ruby 2.3 on FreeBSD 11

Compiling Ruby on FreeBSD is not quite simple.

  • make sure to tell it to also find libraries in /usr/local
  • and tell configure script to find OpenSSL in /usr because the later version isn’t quite compatible with latest ruby yet

So here’s the configure line

CFLAGS=-I/usr/local/include \
CPPFLAGS=-I/usr/local/include \
LDFLAGS=-L/usr/local/lib \
./configure --prefix="/opt/ruby23" --disable-install-doc --with-openssl-dir=/usr \
&& make \
&& make install

Miura Fold

This is mostly for my own reminder.

  1. Google “miura fold”
  2. Read some articles, watch some videos
  3. Remember this:
    1. Long/initial fold must be odd-numbered.
    2. Short/following fold must have approximately same degree.
    3. Open up, fold following the short, zigzagged lines.
    4. ???
    5. Profit?

Not sure if useful.

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

Rails and Bootstrap

This hit me when I was rewriting front-end part of Zeropaste. Of course later I found out that there’s gem for it.

But anyway, if you don’t want to add another gem and feel like writing crapload of divs, it’s not that difficult. It breaks Rails standard form error handling though.

First, change the default error field handling to do nothing instead of wrapping it in a div:

config.action_view.field_error_proc = proc { |html| html }

(put in application.rb)

And then create this helper:

def error_class(object, attribute)
  "has-error" if object.errors.include? attribute
end

Finally, here’s how to use it (for attribute key of a model):

<div class="form-group <%= error_class f.object, :key %>">
  <%= f.label :key %>
  <%= f.text_field :key, :class => "form-control" %>
</div>

…and done.

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 ]

Network performance checklist: TSO/LSO

Took me good few hours to find out why specific combination of task performs incredibly slowly on my server.

For reference, in my case it’s port-forwarded ssh/https connection over openvpn.

[ Client ] --(Internet)--> [ Gateway ] --(OpenVPN)--> [ Server (SSH) ]

Doing anything which takes up bandwidth (displaying log files, etc) will shoot the cpu load (at interrupt) up by a lot. By a lot I mean over 50% of one core.

This guy have the reasoning why it’s happening but I don’t know how much of it is correct. VMware support page also suggesting disabling it if network performance is slow.

In FreeBSD it’s:

echo 'net.inet.tcp.tso=0' >> /etc/sysctl.conf

In Windows it’s this .reg file:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DisableTaskOffload"=dword:00000001

It seems to involve a shell script in Linux so I won’t bother writing it off here since it differs by system.

As usual, YMMV.

…and there goes my time 🙁