JungleTree: The First 100

Huzzah! 100 commits on the core JungleTree project. There’s a lot more than that under the surface, though. I’ve tried to keep myself organised from this point on. In the beginning, there was only going to be one service to handle everything. This wasn’t what I had in mind, if you refer to my first post on the subject (Working Microservices into Minecraft). The structure is now such, that you can run each service independently. Everything, for the time being, is pulling traffic from a single messaging service (ActiveMQ). In the long term, this will be scaled up to use however many required. For the time being though, I can leave that aside and focus on developing the connections required.

Next up on the project is exactly that. I have the event service and networking service that I need to bridge together. Once that’s in place, I’ll have a functional baseline where I can build other things – world generation and storage being two of them.

New PC – A Sub £600 Linux Developer Workstation

It’s Here!

Since 2012, I’ve been battling with a really unstable rig to do most of my heavy development work. An old AMD FX-8350 that was one of the first off the production line… yup. Really unstable. I moved house earlier this month, and have been able to cut my bills in half. Thus, I could finally save enough money to replace it. One day after payday, I did just that. I’m taking some old parts with me for the time being. Later down the line, I’ll probably be swapping out the MBO, GPU, PSU, CPU cooler; and Storage. After over a year of debating (and waiting to see what happens with Ryzen), I’ve made my mind up.

Actually coming to the hardware decision was really tough for me. I’m a heavy Linux user who likes to tinker. A lot. When it comes to gaming, I’m pretty light. (TF2, Minecraft, Kerbal Space Program, Hearts of Iron 4… etc); and all of those can run natively on Linux.

What I Needed

Right now, I run Fedora 25. If I wanted to, I have the option of throwing the GPU at a virtual machine running Windows. For me, Ryzen just wasn’t an option. I’ve been an AMD user since 2012 and I swear at times I could’ve beaten this PC to death. I don’t want to fight the instabilities of new CPU architecture any more. I bought the FX-8350 when it first hit the market back in 2012, and every weekend something seems to go wrong with this machine. For once, I just want a stable PC. I don’t care if it has the latest features – I just want something that works ‘good enough’. So, that’s exactly what this is. It’s also a stepping stone. I’m visiting America for a tournament in June and thus need to have enough money for the trip. Upgrades can come later.

The absolute minimum I would’ve gone with this system was a quad core with hyperthreading. For quite a while, I was looking at the i7-6800K and going X99, but the TDP on those chips are on-par with my dying FX-8350. They’re loud. I want quiet. Skylake was the cheaper option over Kaby Lake, and I don’t mind running a generation behind. For Linux too, this chip is tried and tested. An easy 65W is going to be really nice to have around, and solid virtualization support is going to be a big win for me.

What I Really Wanted

Then it was a matter of size and sound. I’m a big fan of quiet PCs (something this AMD build is not). I wanted something small enough to sit on my desk, and quiet to the point it’s almost inaudible. Often times, you can only have one or the other, but with a little work I think I have my solution. For the time being, the Thermaltake Core V1 is one of those ‘good enough’ parts. I like what Fractal Design are doing, and so will no doubt pick up something from them in the near future. Nonetheless, this a pretty nice case for the price.

For the power supply, I really wanted to try out some of Be Quiet’s stuff. The old PC was running a Corsair 750M, and let me say – those things have a ton of coil whine. Having done a lot of reading, it was between Seasonic and Be Quiet for this build, but BQ won me over in the end.

Memory was nothing special. I specifically wanted to avoid Kingston, having used their memory in the past and ran into some really funky issues with it. Eventually the CPU, MBO and memory will be swapped out anyway – looking at Xeon v5s for a future workstation – then re-purposing this build into a pfSense router and NAS.

The Motherboard decision was basically made for me. MSI have always been in my good books and I wanted to stay with them – Asus has not (M5A97-LE 2.0 twitch). For motherboards, you have to spend big money to get the reliability and features that are invisible on cheaper boards. Although, my experience with MSI has been a pretty solid one. The reliability is there, even on the cheaper MBOs. I once had a PSU die horrifically on a friend’s build I did a few years ago – motherboard held back the over-voltage no problem. So from experience, and lack of choice (this is one of the few mITX LGA1151 boards they do), this is the one. My only concern is the thermals on the power phases, but since I’m not overclocking, I should be fine.

Leftover Parts

GPU, again, decision was made for me. I got this GPU on the cheap when building my last rig. At the time, I didn’t really know the difference between the 900, 700, 600, etc. series and so went with the cheapest. To my horror months later, I had already bought this garbage and wanted it gone. Again, it coil whines like crazy and I hate the thing to death. It won’t be with me for much longer, haha.

The Parts List

CPU: Intel – Core i7-6700 3.4GHz Quad-Core Processor

Doesn’t break the bank when it comes to raw performance. Silky smooth experience running Linux Kernel 4.10

Motherboard: MSI – H110I Pro Mini ITX Socket LGA1151

Definitely get the 802.11ac model if you can afford it, but my goodness this board is tiny. A Mini ITX board like this is outstanding for compact space-saver builds. It will happily take an i7-6700 no problem. Adequate VRM cooling, with great USB 3.1 options. Yet to test out the M.2 slot with a Samsung 960 Pro – it’s mounted on the back of the board FYI. Love the little thing; it’ll serve me well over the next 5 years!

Memory: Corsair – Vengeance LPX 16GB (2 x 8GB) DDR4-2400

Perfect compatibility with beefy CPU coolers, hardly anything to say about it. It’s memory; it does the job at stock speeds. XMP is supported too, although Linux users will probably want to keep that disabled for good measure.

Storage: Samsung 850 EVO 120GB 2.5″ Solid State Drive

Fast, but feels a little dated when compared to the rest of the stuff on the market these days. Would look at getting one of Samsung’s NVMe SSDs in the future. However if you’re running Windows, this thing can do “Rapid Boost”, where it plays some voodoo by using memory cache. For games, it’s brilliant… just a little too small on the GB side of things.

Storage: Western Digital Red Pro 4TB 3.5″ 7200RPM

Albeit noisy at times, this drive does the job perfectly. Good support for extended SMART features, and it does support idle power down unlike some Seagate drives I’ve had in the past.

Video Card: EVGA GeForce GTX 760 2GB Superclocked ACX

Two words: coil whine. The fans on this thing have always been rather noisy, especially for an eVGA component – they’re usually alright. I don’t know if the model I have is defective, but the coil whine spins above everything else under reasonably normal loads. Bought it a while ago now, but always hated it. Wish I’d gone with a 960 at the time, rather than the 760… bad choice when I was a noob at these PC building things. Performance is lacking significantly too. Probably not when the card was launched, but a fair number of years later, and it’s starting to show against 1050 Tis / 1060s. Ripping this out of my system as soon as I can afford an upgrade.

Case: Thermaltake Core V1 Mini ITX Tower

Fantastic case for the price, I’m actually blown away by it. The only niggle I have is with the 3.5″ drive mounts. It makes zero sense as to why the cables can’t be routed down to the bottom. But, it is a £35 case so I guess some compromises have to be made.

Power Supply: be quiet! Pure Power 10 CM 500W 80+ Silver Certified ATX

This supply is advertised as semi-modular, however it IS NOT. Nonetheless, I do like this little thing.

Case Fan: be quiet! SilentWings 3 pwm 59.5 CFM 140mm

Can’t fault it. Noise is… well there’s basically nothing, that’s the thing. be quiet have done a fantastic job on this one.

Hacking, Cracking, and Modding: Terminology Defined

Terminology surrounding development often gets thrown around like it can mean anything. When talking about manipulating code, especially, it drives most competent programmers crazy. So here’s some clarification on the matter. An excerpt from Eric S. Raymond’s site explains it perfectly, and I couldn’t have said it better myself:

There is a community, a shared culture, of expert programmers and networking wizards that traces its history back through decades to the first time-sharing minicomputers and the earliest ARPAnet experiments. The members of this culture originated the term ‘hacker’. Hackers built the Internet. Hackers made the Unix operating system what it is today. Hackers make the World Wide Web work. If you are part of this culture, if you have contributed to it and other people in it know who you are and call you a hacker, you’re a hacker.

There is another group of people who loudly call themselves hackers, but aren’t. These are people (mainly adolescent males) who get a kick out of breaking into computers and phreaking the phone system. Real hackers call these people ‘crackers’ and want nothing to do with them. Real hackers mostly think crackers are lazy, irresponsible, and not very bright, and object that being able to break security doesn’t make you a hacker any more than being able to hotwire cars makes you an automotive engineer. Unfortunately, many journalists and writers have been fooled into using the word ‘hacker’ to describe crackers; this irritates real hackers no end.

I’d like to add to this from a modern day standpoint. The younger generation don’t seem to understand this difference because the media has been saturated by people misusing the terminology. Now, we have a new breed of misinformation: modding. Modding is the action of modifying someone else’s work, often used in the discussion of video games. When someone is modifying a game, they’re changing its core mechanics – be it for cheating, or for having fun. Someone who modifies something, becomes a modder – not a hacker. Hackers by the definition of ESR loathe being mixed in with this category of people, much in the same way as crackers.

So yeah. Food for thought to those gaming communities who I’m quite a big part of these days 🙂