Tis the season to tinker

Not sure what it is about late December, and early January that makes me want to tinker with tech. Maybe it’s just having a little bit of freetime to want to put something together. So this year I’ve been thinking about how to manage my hardware, and there don’t seem to be too many promising options. Since everything I do in my workload is already covered by the A-series APU mini-itx I put together last year (right before the release of the Ryzen APU’s). The only issue is that I’m using that as a server right now, so I’m going to need to find a replacement server and move everything over if I want to be able to use it as a desktop again. Right now there seems to be some new compelling options in the next year or so, and we should see some more anouncements at CES this year. And I’m really looking to start adopting ARM and RISCV options as they become available over the x86 architexture.

Laptops

I don’t even remember when I bought by Zenbook. I think it’s one of the earlier models, but even with 13.3″ FHD, 4GB of RAM, 128GB of SSD storage, and Intel integrated graphics, there hasn’t been any device compelling enough to replace it (for a reasonable price). As while the CPU’s have gotten faster, and generally come with 8 or 16GB of RAM and atleast 256GB of storage, screen resolutions on laptops seems to be eternally frozen at FHD. If I do buy another laptop, I’d want something like the LG gram 15, which is able to act as a desktop replacement while still being thin and light. The problem is that this class of laptops generally doesn’t exist, and when it does is stupidly expensive. So in terms of laptops, we’ll have to see if anything comes out either with an ARM cpu and Linux (super not likely), or if anything cheap enough comes with a screen 1440p or higher.

Benchmark: HP 15-db0000 Comes with a Ryzen 3 2200U, 4GB of RAM, 1TB 5400RPM HDD, and a 15.4″ Full HD screen for around five hundred dollars. RAM can be upgraded, and the hard drive can probably be swapped out.

Desktop

For desktops the main issue I have is with the mini-itx form factor. The inwin chopin seems to be the smallest case widely available and even that seems like it could be slimmed down a bit. With m.2 form factor ssd’s having slots right on the mother board, it seems like you could make a smaller case with a low profile fan and an APU that would be pretty small. I’m also not happy with the power supply that the Chopin comes with. I’d be really tempted to make a micro-atx ‘sleeper’ build using the Fractal Design Core 1100. Though one difference from not living in the states is that PC parts aren’t very cheap, and it often ends up being a better deal to buy a complete computer.

Benchmark: ThinkCentre M715q Ryzen 3 200GE, 4GB of RAM, 128GB of nvme SSD with two display ports for around four hundred dollars. RAM can be upgraded, and storage can probably be added or swapped out.

Server

While acting as a server shouldn’t be something that has a particulary high requirement, as it’s something that just sits around. At work we have a lot of computers, so it’s pretty easy to forget what role different servers are playing. So the server should have some kind of novalty or be simple to manage. At this point, I think the Node 202 could be the most ‘server-like’ mini-itx case, as it’s a flat case, that holds a normal power supply, has room for storage, and then has room for a pci-express card, if it’s utilized or not. So buying that case could be a possibility. And then that would free up my AMD APU computer, or maybe I could just reinstall Linux on the server that died because of the XFS file system, as I would basically put its corpse inside of there. Either way we have a couple of options, and that would free up my linux box. At home I have a lot of Raspberry Pi’s, so I should probably continue to keep utilizing those to make the most out of what I have, or use my local machine with Gitlab and my cloud server to reduce the use entirely.

Hardware Management

So getting close to moving, and thinking about hardware for my new house. For some reason I can never seem to get it off the brain. I’m pretty happy for work, I think I’ll be using a Fractal Design Core 1100 with a Ryzen 7 cpu, and then some cheap low-profile radeon GPU running Fedora. For home, I’m split between a lot of different options.

For my home, I’m not entirely sure. I have three options. Using a Raspberry Pi (or maybe other SoC), using my little out-dated AMD A-series APU, or maybe upgrade the extra mini-itx motherboard I have lying around. Right now I have RAM, a cpu, a janky motherboard and a janky cpu. The other catch is that the motherboard is lacking features and only has SATA, and wired internet (no wifi built in). So it kind of depends on what kind of internet i go with at my new place, as well as how much I want to spend on my electricity bill if I buy a decent graphics card.

Silverstone SG13
MSI rx580

The other issue is that with a decent computer, I’m also kind of worried about how addicted I will get to minecraft, as right now my play time is greatly reduced by the fact that all I have is a crappy notebook. A better computer might make it more compelling to jump into survival mode if I can actually see what i’m doing.

So I don’t know, I guess I’ll look into getting internet figured out first, by renting a wifi router to get by to start out with and then think about making more plans later, once i’m settled in. And here’s a list of wifi rental: Wifi Rental, so I guess I should pick a day to have it sent to my new house for about a month or so.

More homepage stuff

In terms of using wordpress versus something else for the next update of DashGL, I’m tempted to lean towards “something else”. With wordpress I think I could emulate what I want by maybe adding in a few plugins and just add tutorials via posts, and then manually organize them with pages later. But I don’t think wordpress is a very effective tool for managing tutorials in the format that I want to. So I think the first step is going to be to try and get a working web page layout that I like, and then goto work on making a backend for it.

So in terms of web page templates that I like.

Old Stairwell – I like this one for it’s simplicity. It’s close to the twenty-twelve wordpress theme, but a little more detailed in its execution.

Editorial – Tempted to go with this option, as it has a left sidebar down the complete left side of the page, and then centers the content to the right. I was tempted to do something like this with a fixed left side bar, but the option to scroll isn’t bad. And the general color use and elements mesh together pretty well.

Endearing Green – This is another decent one, though it seems like it works best for a tablet width. Which might actually be a better approach as web pages are difficult with desktops as it’s hard to take advantage of the full with effectively. But for cellphones and tablets, the use of space is pretty set in stone. So I might sketch out a cell phone and table website and then try to figure out what the desktop would look like. Also I’m noticing that the layout is important, but you can get away with a lot if the CSS looks nice.

Keyboard – Or wow, never mind. Looks like there is something close to what I was thinking of. So I can use this as a reference for making my first layout sketch.

Also This – Not a template, but I like the layout.

Keeping Focus

It seems like a long time since I’ve managed to work on anything. In the last couple of days I’ve had some time and I really don’t know what to do with it, so it’s worth writing out what to focus on so I can use my time effectively.

One I should probably add years to my internet hosting. Second I should probably cancel the email plan on my hosting since I’m not using it.
Third, I’ve had the desire to do a lot of stupid projects with hardware, but I guess that’s pretty normal. This time it’s been tempting to look into server cases. I might add more content to the mythical hardware page I set up.

So onto things that matter.

– SDL examples for OpenGL
– SVG exports for MML maps
– New homepage for Dashgl.com
– Map Testing for MML

Also I need to do some testing with Raspberry Pi’s. I wonder if I can set up a VNC and then do recording on my PC, or see if I need some kind of HDMI recording to get that done.

Libre me from Evil

Managed to get my Nexus 5x working with Lineage. The problem was me being stupid and not reading directions. I needed to flash Twrp to the recovery, boot to the recovery, install Lineage and then select boot to system. The next issue is going to be getting the APN settings to work, which always seems to be hit and miss. So we’ll see how stupid I am to get or not get that.

So I’ll use this post to save some of my Bless Preferences:

<preferences>
	<pref name="Session.RememberCursorPosition">True</pref>
	<pref name="Tools.ConversionTable.LEDecoding">False</pref>
	<pref name="Default.EditMode">Overwrite</pref>
	<pref name="Tools.ConversionTable.Show">False</pref>
	<pref name="Tools.Statistics.Show">False</pref>
	<pref name="Session.RememberWindowGeometry">True</pref>
	<pref name="Highlight.PatternMatch">True</pref>	
	<pref name="Undo.KeepAfterSave">Memory</pref>
	<pref name="View.Toolbar.Show">True</pref>
	<pref name="Default.NumberBase">Hexadecimal</pref>
	<pref name="View.Statusbar.Offset">True</pref>
	<pref name="Default.Layout.File"></pref>
	<pref name="View.Statusbar.Show">True</pref>
	<pref name="Undo.Limited">False</pref>
	<pref name="Default.Layout.UseCurrent">False</pref>
	<pref name="Session.LoadPrevious">True</pref>
	<pref name="View.Statusbar.Overwrite">True</pref>
	<pref name="Session.AskBeforeLoading">False</pref>
	<pref name="Undo.Actions">100</pref>
	<pref name="View.Statusbar.Selection">True</pref>
	<pref name="ByteBuffer.TempDir"></pref>
</preferences>


Oh Meh Gawd

Not sure what’s going on. Tried to install Lineage on my Nexus 5X. Similar story, to the Google Pixel, everything works until it doesn’t. In this case booting into TWRP and installing works without incident, but then the device just gets stuck at the Google logo on boot. I guess I’ll hvae to search around a little more or make the reddit post of shame asking for help.

Moving on, we have other priorities to work on. I want to finish the rest of the Sealos island maps to get those out of the way. I found that it’s pretty easy to hop into Inkscape and sketch out an SVG to import into Blender. The problem in Blender is that the mesh isn’t centered, and then doesn’t scale correctly. So I’ll have to try Librecad to see if there’s any improvement there, or otherwise I’ll just take the time to do the last few by hand.

Libre Planning

Since I can’t get Lineage OS working on my Google Pixel, it’s time to start thinking about a back up. Right now I’m thinking the white & black 32GB Nexus 5x. It should have a semi-decent camera, nano-SIM and usb type C connection. And they’re really coming down in price. So I think I’ll get one next year, once my allowance resets.

For my Nextcloud Pi setup to go with it. I think I’ll just use a low-capacity 32GB SD card to host the OS, and then for storage, I think I can use a 256GB usb. And maybe potentially even use two USB’s to mirror all of the data on them for a fail-over solution. I don’t think the NextCloud needs any kind of performance for the memory, so I think I can just use some small usb’t to get two on a system. And then if I need some performance, I can look into active cooling, but I think it should be okay with a decent heat spreader.

The main problem is the desktop. For the monitor I want something at least 15.6″. And I want something usb powered. Which could be a problem, since I think most monitors at that size will want 12V. But on this end, I think it might just be a better idea to borrow some monitors from work and not think about it too much.

On the desktop side, I think it’s pretty easy to put what I want together, but the hard part is getting it into a case. For the storage I can use an SSD, I found a stupidly large heat sink, and then I can probably grab a USB fan for cooling, or maybe even leave it passively cooled. The hard part is finding a case to fit these into, and I’m tempted to give the NES case another try.

Random Thoughts

1. After finding this link, I tried installing LineageOS on my pixel again. Only for it to completely fail exactly as it did before. I have to admit that I am more than a little pissed of that the ROM didn’t work. I guess I’ll use the device with Android as-is, and then wait a few months. Or I could try selling it and moving onto a different phone. The latter option actually sounds better.

2. I’m having terrible luck with technology lately. I couldn’t get Jaxer to compile on Raspbian lite, so i guess I’ll have to stick with Minibian for the time being. I guess my main focus should be to get the install down into a script that can be run for testing. For testing compile times, I can probably set up a few devices, and then mount storage on the /opt/ drive and then time how long the process takes. And just in general I would like to have this automatied to test the post-install process.

3. I’m going to start drafting out the new homepage for dashgl.com. TO be cheap I’m tempted to host the page from home again. Potentially with a dynamic DNS option. To save money on an email provider, I can probably use the free option of farwarding emails to my current account.

“Dash” text :
https://www.1001fonts.com/rexlia-free-font.html
https://www.1001fonts.com/answer-font.html

Compiling Jaxer

https://www.1001fonts.com/nasalization-free-font.html
https://www.1001fonts.com/johnny-fever-font.html
https://www.1001fonts.com/hobbyhorse-font.html
https://www.1001fonts.com/leprosy-font.html
https://www.1001fonts.com/moonmonkey-font.html
https://www.1001fonts.com/trunkmill-font.html

Patches:

1. /opt/Jaxer/src/mozilla/xpcom/threads/nsTimerImpl.cpp change ‘private’ to ‘protected’ on line 460
2. /opt/Jaxer/src/mozilla/netwerk/streamconv/converters/nsBinHexDecoder.cpp add ‘signed’ on line 101
3. Replace SCALEBITS in nsJPEGDecoder.cpp with https://raw.githubusercontent.com/mozilla-services/services-central-legacy/master/image/decoders/nsJPEGDecoder.cpp
4.

/opt/Jaxer/src/mozilla/security/manager/ssl/src/nsPKCS11Slot.cpp: In member function ‘virtual nsresult nsPKCS11ModuleDB::GetInternal(nsIPKCS11Module**)’:
../../../../dist/include/nss/secmodt.h:340:71: error: unable to find string literal operator ‘operator""fips’ with ‘const char [131]’, ‘unsigned int’ arguments
 "Flags=internal,critical"fips" slotparams=("#slot"={"SECMOD_SLOT_FLAGS"})"

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50917

5.

/opt/Jaxer/src/mozilla/config/rules.mk:1296: recipe for target 'JaxerManagerUnix.o' failed
make[4]: *** [JaxerManagerUnix.o] Error 1
make[4]: Leaving directory '/opt/Jaxer/src/mozilla/ff-release/aptana/manager'
/opt/Jaxer/src/mozilla/config/rules.mk:635: recipe for target 'libs_tier_app' failed
make[3]: *** [libs_tier_app] Error 2
make[3]: Leaving directory '/opt/Jaxer/src/mozilla/ff-release'
/opt/Jaxer/src/mozilla/config/rules.mk:647: recipe for target 'tier_app' failed
make[2]: *** [tier_app] Error 2
make[2]: Leaving directory '/opt/Jaxer/src/mozilla/ff-release'
/opt/Jaxer/src/mozilla/config/rules.mk:604: recipe for target 'default' failed
make[1]: *** [default] Error 2
make[1]: Leaving directory '/opt/Jaxer/src/mozilla/ff-release'
client.mk:1140: recipe for target 'build' failed
make: *** [build] Error 2

Data:

Storage Pi 3B Pi 3B+
Silicon Power
class10 UHS-1Link
real 81m1.065s
user 68m50.729s
sys 4m49.798

So this experiment took an unexpected turn. I’ve been wanting to test different types of storage with compiling Jaxer to see what variables either help or hurt the time it takes to compile. Though up until now I’ve only compiled Jaxer on minibian, which is somewhat of an involved process. So when I realized I couldn’t boot minibian from a usb drive, I thought I might as well skip on this stupid idea, or try compiling Jaxer on Raspbian lite for shits and giggles. And it turns out there’s not a lot to patch.

Not only is there not a lot to patch, but compiling on Raspbian means I don’t have to expand the file storage on boot. So I can getrid of that part, and I can potentially include a version of the mysql lib required in the github repo, and maybe even grab apr from the apache2-utils repo, which would mean that I could get the process to compile Jaxer down into a really short shell script, which would make compiling and testing hella easy. So it’s still compiling, hopefully it will be done before I need to go to sleep.