News
0 | 1 | 2 | 3 | 4 | 5 | 6 | Older
| Oldest
DIY-NAS: Part 2, software reviews
Sooo, I finally got to buy the additional hard disks for Jakuri (what moron built half of all friggin hard disk factories in the same damn valley?):The components: Six 1TB hard disks, one bay, one SATA controller
Installation was… slightly challenging: The cables were too long and the case slightly too small (I tried to amend some of the problems in the parts list by swapping the fans for much smaller ones and adding fan grills to prevent accidental cable shredding).
In the end, it actually turned out to work anyway, but no thanks to Chieftek and/or Sharkoon. Whoever invented "screwdriver-free drive installation" deserves being hanged, drawn, quartered, shot and burned. Not necessarily in that order. The pins of the rails intended to hold the drive broke (among other causes due to extremely small screw holes in the bay) and the drive only fits upside down. The bay itself is of bad quality, I had to hammer some of the drives in since the rails and/or trays are kinda uneven and tend to jam. The fan is not regulated, and the single loudest piece of hardware in the entire setup. I removed it, let's see how the temperatures are going to be in summer…
I replaced the bay in the parts list with a Chieftec model, in the hope they'll at least manage to be compatible to their own products (yeah, well, probably no, but at least that one has decent SATA cables included, it was a pain in the back to scrape enough together from my inventory). Oh, did I mention the Sharkoon drive comes with tilted SATA connectors which are incompatible with both the drive and most mainboards? Yeah. F*** Sharkoon.
With the hardware resolved (mostly), the only remaining issue was the software. The original set up had to go, since I wanted to encrypt everything and add a partition of the 3.5" drive to the raid, to boost net capacity. So I was kinda free to experiment with new stuff.
FreeNAS
FreeNAS is distilled awesome in a can, hands down. The installation is extremely easy (burn disk, answer question, watch it being installed – takes about 10 minutes), and the web UI is better than most commercial stuff (Qnap, Cisco, I'm looking at you). It also seems to be pretty much feature complete (again, compared to commercial competition). However, the one thing I absolutely miss is encryption (Oracle hasn't released the ZFS encryption code as open source yet, a**holes). To be fair, as far as I know, commercial NAS systems don't have that feature either, so if you just look for an alternative to them, it's fine.OwnCloud
Really, really good web UI (with somewhat spotty browser support). However, every file access runs over the web server, so if you don't want a permission and/or ACL nightmare, it's only really usable if every access to the files is via OwnCloud – over the UI, over OwnCloud Apps or over WebDAV. Since that is not an option for me (torrent/file download, backups and other stuff over independent daemons), it's not really an option for me, either. But if you can live with the limitations, it gives you an easy to use tool to synchronize files, calendars, address books and other stuff over your own infrastructure. OwnCloud can be run on top of FreeNAS, as far as I can see, so you can get a flexible, easy to administer system up and running quite fast with those components (with storage/RAID management via FreeNAS and file access via OwnCloud).However, due to said limitations, I'm going back to good ol' Debian + SFTP. Who needs comfort, when you can have paranoia instead?
Samuel Vincent Creshal at 07. Feb 2012, 20:25 UTC
Benchmarking ysnotifier against notification-daemon
In an attack of Christmas boredom I decided to look how well the latest version (0.5) of my notification server implementation fares against the reference implementation (aka notification-daemon 0.7.3). I took every test from libnotify's (0.7.4) test collection (except test-gir, since I didn't manage to get it running) as well as the apps I normally test with (dcgui and deadbeef). Here's the results:| Test name | ysnotifier | Notes | notification-daemon | Notes | |
|---|---|---|---|---|---|
| 1 | test-action-icons | 0% | Not supported | 33% | 2 of 3 icons not recognised, even though they're in my icon theme |
| 2 | test-basic | 100% | 100% | Does nothing against overly long texts. I hope you don't need your right screen edge | |
| 3 | test-default-action | 100% | Creates button for default action. | 100% | Clicking the widget triggers default action |
| 4 | (test-error) | 100% | 100% | ||
| 5 | test-image | 50% | file:/// not supported | 0% | Neither icon rendered |
| 6 | test-markup | 100% | 100% | ||
| 7 | test-multiple-actions | 100% | 100% | ||
| 8 | test-persistence | 0% | Not supported | 100% | Default |
| 9 | test-removal | 100% | 67% | Last notification not shown | |
| 10 | test-replace | 100% | 100% | ||
| 11 | test-replace-widget | 100% | 100% | ||
| 12 | test-resident | 0% | 0% | Notification disappears into tray, indistinguishable from default behaviour | |
| 13 | test-rtl | 100% | 100% | ||
| 14 | test-server-info | 100% | 100% | ||
| 15 | (test-size-change) | 0% | Note itself adjusted, other notifications not | 100% | Widget itself is adjusted, only one note visible |
| 16 | test-transient | 100% | Default behaviour | 100% | |
| 17 | test-urgency | 0% | Not supported | 0% | Not supported? Not visibly at least |
| 18 | test-xy | 100% | 0% | ||
| 19 | test-xy-actions | 100% | 0% | ||
| 20 | test-xy-stress | 100% | 0% | ||
| 21 | deadbeef | 100% | 0% | Notification disappears into tray, has to be manually dismissed every time if you want it to stay visible (yes) | |
| 22 | dcgui | 100% | 100% | ||
| Average (all tests) | 71% | 64% | |||
| Average (w/o 4, 15) | 73% | 60% |
Note about tests 4 and 15:
- 4 does not work (no error triggered)
- In 15, the behaviours of the two daemons are not comparable – would ysnotifier be used with -n 1, they'd behave the same (but I don't want to make it the default)
That's actually quite nice for 5 afternoons worth of work. With only residence, urgency and more icon formats missing as features and one bug (which should hopefully not appear in the wild), I guess I'll be able to release it as stable soon™.
Download ysnotifier (requires python2>=2.7, python-dbus, pygtk2)
Download PKGBUILD for Archlinux-based distributions
Samuel Vincent Creshal at 24. Dec 2011, 16:53 UTC
dcgui 1.0.3 "Australia strikes back"
Now with 100% more Albion Prelude support!Source Tarball.
Windows installer.
PKGBUILD for Archlinux based distributions.
Samuel Vincent Creshal at 17. Dec 2011, 11:05 UTC
dcgui 1.0.2 "Special release for special users"
A certain someone inspired the inclusion of an ignore list. Configure it in the misc tab, user names are separated with comma.Source Tarball.
Windows installer.
PKGBUILD for Archlinux based distributions.
Samuel Vincent Creshal at 16. Dec 2011, 20:25 UTC
Making Qt (and Chromium) play nice with Openbox/GTK
As Linux user without a desktop environment doing crazy s%§t with your system configuration, you usually run into problems when trying to use programs not using the Best Tookit™ (aka Gtk2):- Qt is ugly.
- Qt and Chromium are even more ugly, because they don't care about your font settings.
- Qt doesn't even care about your mouse cursor
- QGtkStyle – Included in Qt 4.5, select "GTK" as theme in qtconfig. Requires GTK2_RC_FILES to be set (export GTK2_RC_FILES="$HOME/.gtkrc-2.0" in your profile/xinitrc).
- For whatever reason, both (as well as LibreOffice w/o Gnome extension) ignore fontconfig and have different defaults. So you have to replicate your settings to .Xdefaults:
Xft.autohint: 0 Xft.lcdfilter: lcdnone Xft.hintstyle: hintfull Xft.hinting: 1 Xft.antialias: 1 Xft.rgba: rgb
(change as needed – note that the default lcdfilter for fontconfig islcdnonelcdlegacy, while Qt/Chromium use lcddefault by default) - When you (like me) configured your mouse theme via /usr/share/icons/default/index.theme, you'll need to add Xcursor.theme: Vanilla-DMZ to your .Xdefaults
Edit: Mistake: Default lcdfilter for fontconfig is lcdlegacy. Also, note that Skype still doesn't give a fsck about your settings… you just have to love closed source software.
Samuel Vincent Creshal at 22. Feb 2012, 18:59 UTC
dcgui 1.0.1 "The shape of the things to come"
Just a small bugfix - the avatar function was broken since BurnIt!s last attempt to fix the forum server. This release also has a fix for compiling against recent libnotify versions (only relevant for Linux version).Source Tarball.
Windows installer.
PKGBUILD for Archlinux based distributions.
Samuel Vincent Creshal at 28. Aug 2011, 20:15 UTC
Musing on Randall's natural password algorithm
Do you know those nights where you can't get sleep, but keep thinking about the nature of the universe, pasta and PCB design? Yeah, it's one of those.Anyway, what I was wondering about this time: I recently experimented with the password algorithm Randall showed in xkcd #936, and liked it immediately: I know a lot of people (including 90% of my family members and some certain co-workers) who could really use this to have decent passwords for a change (most passwords don't even have 9 bits of entropy). Tests with /usr/share/dict/words (thanks to whichever xkcd forum user pointed that one out) were quite appealing...
Until I switched to a German dictionary. Those combinations were usually a mess that was harder to memorize than my 128-bit-full-printable-ASCII-range server passwords.
I wrote it off as a case of bad dictionary, until I started wondering tonight why it spurred such nonsense as "gesamtaktive Prozeßsteuerung breitgetratschte Speicherelemente". Until I realised (about 20 minutes ago, thank you, insomnia) that it's because of the fundamental difference between English and German word generation: The words in the German dict were already combined words made of simpler root words.
Just like a Japanese version of this algorithm would probably use kana/syllables as a dict (which was my initial idea of how to improve it), a German dict would need to work on word stems to create new obscenely-long-yet-easy-to-memorise words, which is more intuitive for Germans than the (typical English) wastelands of words - stuff like Donaudampfschiffahrtsgesellschaft is much, much easier to memorise for native German speaker than, say *fires up the pwgen*, "Nachtschattengewächs Inflationssteuer wen äxteschwingend".
Now I only need a word stem dictionary, a coffee, and a pizza.
Samuel Vincent Creshal at 17. Aug 2011, 00:05 UTC
DIY-NAS
Due to a lack of a proper backup solution, space problems and, most importantly, a lack of hardware to play with, I decided to build myself a shiney home server that serves as NAS (and filesharing client, so I can safely reboot Rei/Miho and still download stuff).Since Linux' LVM and mdadm have some awesome capabilities (dynamic resizing, drive swapping, raid 5), there's no need for an expensive hardware raid controller (raid 5/6 capable controllers with 6 or more ports are so expensive it's not funny anymore), and since decent (I'm looking at you, Ubuntu!) Linux distributions need virtually no RAM nor CPU power, the rest of the hardware can be weak as well. Read: There actually is one use case for an Intel Atom.
(I'd have preferrend a VIA to complete my collection and annoy Intel, but there's a disappointingly small number of them available, and those are usually both expensive and outdated.)
To get some challenge into it, I tried to stuff as much disk space in a case as small as possible. The most insane way I could come up was using a docking station to squeeze six 2.5 inch disks into a 5.25 inch slot: http://www.sharkoon.com/?q=en/node/1824. With the current hard disks available, this squeezes 6 Terabyte into one slot.
As for the case, the most reasonable choice in terms of storage space per volume would, in hindsight, be the Thermaltake Element Q, which would allow a total of 12 TB (2x 3.5" slots allowing 3TB each and one 5.25" slot) in 9.4 liters volume. But frankly, I dislike the design and it seems a bit too cramped for my taste.
In the end I settled with the Chieftec BT-02B. I'm a sucker for the plain-old-black style (and it still allows for at least 9TB). (The case is sold under the name "A+case CS-102B" as well with a slightly more fancy front.)
As for the rest of the hardware, I settled with this. For a slightly less crazy setup, you could switch the 6x 2.5" with one additional 3.5" disk. This'd give you 6 TB at around 400 bucks (which is actually more than competetitive considering the possible features). For a more crazy setup, you can duct-tape additional hard disks (preferably SSDs, though) into the case, there's some room at the bottom near the PSU.
On the software side, I settled with Debian stable as OS. For network filesystem access, I simply use SSH (/SFTP). It can be mounted like a NFS/SMB share in Linux, and most Windows ftp clients support it as well. And it's secure enough that it can be exposed to the 'net if necessary.
Obligatory picture dump:
NAS (nicknamed "Mir") and my Thinkpad ("Miho") for size (and style) comparison.
Bringing the NAS up required some… improvisation (the card reader you see there had to be temporarily installed into Mir, since I had no USB stick nor empty CDs available for installation).
Mir finished, with my WRT on top (dubbed "Ayatane"). Note that the case is just wide enough so the WRT fits perfectly on it with its feet touching the sides of the case (not intended originally, but quite nice).
You might, however, want to not use a WRT, but a router allowing Gigabit networking. 100MBit is actually quite slow for backing up several hundreds of gigabytes…
Some notes in hindsight: I originally planned it without any additional fans and with only 1 GiB of RAM. However, it turns out that
- the RAM is filled very quickly (for caching purposes, the actual OS only needs about 100 MiB under load)
- during long operations, the system becomes quite hot (60°C), thanks to SSH's high cpu load
Edit: The fans have arrived and Mir is retrofitted. It's now 10-15 K cooler, which is quite impressive considering how small the fans are.
Also, I did some browsing – replacing the Atom with Fusion board (like the Asus E35M1-I) allows for a cheaper additional SATA controller, which cancels out the higher costs of the Fusion. And should give you about twice the computing power, which might be useful for RAID+dm-crypt+LVM+SSHFS setups. The part list was updated accordingly.
Samuel Vincent Creshal at 19. Aug 2011, 17:52 UTC
Site maintenance
s9y was replaced with the YakiCMS that's also used for the Minecraft page. Much smaller and cleaner, and only needs about 4‰ of the resources of s9y.Samuel Vincent Creshal at 29. May 2011, 21:23 UTC
dcgui 1.0.0 "Hell, it's about time!"
- The client can now be configured to work behind HTTP proxies.
- Preferences window was made a bit more pretty.
- The code was cleaned up: Stubs for OTR and similar stuff was removed.
- The windows port got updated DLLs and the "choose TC folder" dialog in the installer now only appears if you chose to install the ingame client. Also, unneeded files were removed - it's recommended to uninstall old versions first to remove all those unneeded files.
Source Tarball.
Windows installer.
PKGBUILD for Archlinux based distributions.
But what about...?
There were several features planned - encryption, group chat and a per-user ignore list - which didn't make it into 1.0. I'm aware of that. The ignore list can and will be implemented if there's interest in it (which currently doesn't seem to be the case). For encryption and group chat, the chatserver lacks both the performance and reliability needed to implement these features in an acceptable way. If the server was able to transmit messages (or at least communicate failures to do so) reliable and guaranteed without lags, they could be implemented without much work. But it isn't.Samuel Creshal at 16. Feb 2011, 11:19 UTC
| Oldest

Home
FAQ
Download
Repository
Bugtracker
