hi, i'm nassai. i am working to be an engineer. in my free time i design electric vehicles and work with reprap 3d printers and CNC mills.

i am hoping to experiment more with CNC, study additive manufacturing professionally, and learn C along with general low level software development.

i'm available for hire! admin @ nassai dot com


walkaway nomad (hardware development)


currently running thinkpad x200 w/ FreeBSD

find me at thingiverse, gitlab

visit our friends!

jrp roleplay

last updated 2019-10-13

Welcome to JRP Roleplay! We are an inclusive roleplay environment inspired by classic tabletop with the setting of third era TES. Feel free to lounge around in character or pick up a job in the universe of Morrowind.

We use TES3MP and OpenMW to play Morrowind in an open source recreation of its original engine, which not only allows us to play Morrowind and roleplay in real time, but to expand on it using our custom scripts and player created mods. We allow all types of roleplay, you can relax with some friends or run a Great House.


  • Custom Lore - The world of Tamriel is developed live through the actions of the players. Character biographies written by players are readable in-game through our in-house scripts.

  • Custom Content - We use a variety of public and self-developed mods to develop the world and make roleplaying more entertaining and interactive, including player-built cities and a large array of clothing, armor, heads and hairs for your characters. We use Tamriel Rebuilt and other mods to add lots of quests and playable areas.

  • Custom Scripts - Our TES3MP scripts are made in house and open sourced for anybody to use. We've developed scripts that range from making the experience smoother to entirely new features. This includes our own chat and dice system, quest fixes, a companion system, item improvements, our own travel network, and more.

  • Safety Tools - We include the X-Card concept in our suite of player safety tools to guarantee players are comfortable.

  • Housing, better travel systems, dice rolling, alcohol brewing, followers, and more!


We have a Discord server (link) that is bridged with our Matrix channels, which can be accessed through the following rooms:



Updated on 2019-06-23

  1. No malicious behavior or discrimination is permitted. Any users displaying racist, sexist, homophobic, transphobic, ableist, fascist, etc attitudes will be warned prior to being banned. In-universe discrimination is allowed as per the lore as long as it does not stray to real life politics.

  2. All users have the right to use our set of X-Card commands to express their discomfort with any topic. On use of an X-Card, players should stop roleplaying and discuss a way to continue the scenario without the x'd topic. (Consider it to be an emergency brake for heavy/triggering topics. Upon use, retcon/rewrite as needed and continue roleplaying without said topic being involved further)

  3. We work to encourage a healthy community and environment. If you have any qualms with the administration or other users, please bring them to our attention and they will be discussed. Administration is held at the same expectations as the player base and will not be excused for breaking rules

  4. Keep outside drama out of the community. Do not post negative statements towards other roleplay communities or discuss politics. As long as you act within the rules of the community you are allowed to participate.

  5. Due to the nature of TES and Morrowind, themes of violence, sex, and gore will be present. All players must be 13+ to participate and 18+ to be involved in any sort of scenario involving sexual themes. At no time is a player to involve a minor (fictional or otherwise) in a sexual scenario, as permanent bans and potential action will be taken.

  6. Announcement will be given whenever a rule is changed, added, or reworded. That said, it is ultimately up to the player to display a knowledge of these rules to their most recent update.

  7. All users are required to roleplay cooperatively. This rule contains a lot, but can generally be summed up by the following: consider the game to be a medium for which community roleplay occurs. As such...

    • Players must avoid metagaming (using outside knowledge in roleplay), powergaming (being "overpowered" to the point where it ruins the experience for others), battlelogging (leaving the server to avoid a consequence of an action), RDM (killing players/NPCs for little to no reason), killing useful NPCs such as ones that provide transport, and leaving corpses OOC in cities. Generally, just be mindful of other players roleplay.

    • Combat between players must use /roll's and not in game mechanics. Attacking players using in-game mechanics (attacking in-game, not through rolls) will qualify as RDM unless it's desired by both parties.

    • Do not steal from player houses in-game. It causes confusion and generally upsets people. Things can be stolen with a /roll sneak roll when the owner is around, but not when they are gone.

    • Do not kill other player characters in RP unless it's desired by that player or an unpreventable tragedy of the situation. Character death can be emotional and frustrating for the many players that develop intricate personalities, and should generally be avoided if it can be. If your character idea depends on killing other peoples developed characters, write a new character. Antagonists are hard to write and players should speak to the staff team to make sure it doesn't interfere with general play. Players should be given "outs" (ways to leave alive) in a deadly scenario if they wish to keep their character alive.

    Users may take on as major or minor role in the world as they desire (within reason) and are expected to be open to other players ideas and roleplay. Users who are not familiar with the concept of roleplay are given lenience while they become familiar with the concept. This being said, the administration holds final say on what is accepted on the server.

  8. NSFW imagery is not permitted in chat and the use of trigger warnings (tw; topic) with the following content in Discord's spoiler tags is to be used for very sensitive topics or upon request.

  9. ERP is permitted provided all players (including witnessing) consent and are over the age of 18. Characters involved in ERP must also be over the age of 18 (due to Canadian law). Any ERP must take place in a locked cell using our housing script. Contact staff if you wish to have one provided.

  10. We are an English community, and can unfortunately only offer an English experience. All players must type in English in-game and in the community areas.

  11. Users are heavily encouraged to keep their number of characters low to encourage character development. The current soft rule is that you can use three characters per day, and have up to five in total. Additionally, users cannot roleplay/play as more than one character at a time through multiple clients (multibox)

  12. Users can own up to two properties per character and up to six in total. If a property is owned by a player who is inactive for two months, they will be alerted via Discord if possible before the property re-enters the market. Contact the administration if you would like special arrangements to be made


All scripts developed for the server are available here. All scripts developed within the community are to be published under free software licenses.

Cells are reset every 6 hours.



windows install

  1. Unpack TES3MP into a folder named "TES3MP" anywhere you'd like.

  2. Run openmw-wizard.exe and point it to your Morrowind installation, at 'Morrowind.esm' under Data Files. This creates our regular OpenMW install.

  3. Navigate to 'C:\Users\USERNAME\Documents\My Games\OpenMW' and create a folder named "Mods"

  4. Now, we create folders for each mod we use in this "Mods" folder. Later, we will tell OpenMW to check all of these folders.

    4a. Open the JRP 7z file you downloaded before, and extract the contents into a folder named "JRP Roleplay"

    4b. Open the Tamriel_Data (HD or vanilla) ZIP file you downloaded before, and contents into a folder named "Tamriel Data"

    4c. Open the Tamriel Rebuilt 7z file you downloaded before, and extract its contents into a folder named "Tamriel Rebuilt"

5. Navigate to 'C:\Users\USERNAME\Documents\My Games\OpenMW', and open 'openmw.cfg' in notepad or another text file editor

6. Search for the following inside of 'openmw.cfg':


7. Replace it with the following to allow OpenMW to use Tamriel Rebuilt data:


8. Search for the following in 'openmw.cfg'. Your Morrowind installation path should be listed after the equals sign in quotations.


9. We now have to specify the location of each of our mod files under this entry so that OpenMW can find them. This can be confusing, so make sure to read carefully.

OpenMW will read each path listed and add the content in top-to-bottom order, allowing us to keep all of our mods separate! We need to make sure each path is directly to the folder containing the .esp, textures, and meshes folder. If the path is to a folder which contains "Data Files", it will NOT be read.

If you have been following my recommended layout, you simply need to copy-paste the following

Paste the following under the data= line(s), replacing 'USERNAME' with your Windows username:

data="C:\Users\USERNAME\Documents\My Games\OpenMW\Mods\Tamriel Data\Data Files"
data="C:\Users\USERNAME\Documents\My Games\OpenMW\Mods\Tamriel Rebuilt"
data="C:\Users\USERNAME\Documents\My Games\OpenMW\Mods\Tamriel Rebuilt\Extras"
data="C:\Users\USERNAME\Documents\My Games\OpenMW\Mods\JRP Roleplay"

Also, if you see any entries like data=data or data-local="?userdata?data", remove them. These seem to break things.

10. Verify that your C:\Users\USERNAME\Documents\My Games\OpenMW\Mods folder contains each required mod in its own folder. Now refer to step 9 again to make sure that your data= lines link to the folders containing the esp!

11. Return to your TES3MP directory, and launch 'openmw-launcher.exe'

12. At the top of the OpenMW Launcher window, press the icon for "Data Files"

13. Press the drop-down box at the top, and select "Morrowind.esm"

14. Check the checkboxes for the following, with the following load order (which can be changed by dragging the entries)


You now have a working installation of TES3MP that can play on our server! Additionally, you can play with Tamriel Rebuilt content in singleplayer using a separate install of the latest OpenMW with no extra configuration. If you wish to play on another vanilla server, all you have to do is uncheck all the checkboxes besides 'Tribunal.esm' and 'Bloodmoon.esm'


last updated 2019-09-04


We use the following mods in our ESP. If you'd like an individual copy of any of these mods, or have any questions involving their use on the server, please ask in our Discord/Matrix.


  • Tamriel Data
  • Tamriel Rebuilt


  • MEL Faces
  • MEL Hair Pack
  • More Argonian Hair
  • Pluginless Khajiit Head Pack
  • TR Heads Unlocked - Malic
  • Westly's Head Pack X
  • Westly's Pluginless Head/Hair Replacer


  • Better Bodies (clean)
  • Better Bodies Reachmen for SHOTN
  • Better Ohmes-Raht - Malic
  • Liztail's New Beast Bodies (clean) - Liztail
  • Westly's Khajiit for TR - Malic


  • Aetherius Castle - Vidi_Aquam
  • Ald-ruhn X - Pinsvinnn
  • Ald-ruhn X Pathgrid Patch - Malic
  • Gnisis Shacktown - Kyromods
  • Pelagiad Tamriel_Data Shop - Dreamer
  • Tel Indus - Fargoth
  • Tel Sarys - Overwatch
  • Tel Sudia - Malic
  • White Dream - Dreamer


  • Adul's Leggings (objects only)
  • Adul's Arsenal (objects only)
  • Argonian Armor Sets
  • Buoyant Armigers Armor - Aoimevelho
  • Cape (Physiqued) Fixed - Hobbenbobber & Will Sisson
  • Cloak of Three
  • Cosmetic Amputations - Malic
  • Exotic Imports - Westly
  • Fine Clothiers of Tamriel - Westly
  • Hilgya the Seamstress (+expansion)
  • House Dagoth Outfit - Alvirdimus
  • House Dagoth Bonemold Armor - Petiboy
  • Mage Robes
  • Night Raid Ordinator Armor - Vidi_Aquam
  • One Handed Spears and Halberds plus Javelins - jlmr
  • Redoran War Armor/Sathil Mercenary Equipment
  • Skull Helmet - Tentain
  • Telvanni Cephalopod Armor - Danke & Cheydin
  • Victorian Lace Dress
  • Wizard Hats (bodyparts only)


  • Animal Realism
  • Tamriel Unlimited


  • Better Clothing
  • Better Morrowind Armor
  • Better Robes - Moranar
  • Common Shoe Pack
  • More Better Clothing
  • Morrowind Optimization Patch
  • Subtle Magic Glow


  • Ash Ghoul - Dark Rebis
  • Cantrips
  • Dremora Overhaul - IngisOfVinheim
  • Hold It! (modified for openmw)
  • Mage Lights (modified)
  • Mazken - Dark Seducers - Deathruler (translated)
  • Lyssia's Nymph's Variant - l1lartur0
  • USkele Race - 1a789a1
  • Various assets from Doors of Oblivion



last updated 2019-10-08


kissMM is a mod manager written in Python based around its sole design purpose - keep it simple, stupid. It acts as a GUI tool for duplicating your base game and copying mods into it.

  • Just a Python script that copies folders for you, really
  • Configured through a single file using folder paths
  • Runs on Windows and probably everything else
  • Under GPLv3


You may need to install PySimpleGUI through pip if you don't have it already

  1. Drag kissMM's script into its own folder
  2. Create config.cfg in that folder (check the example for format)
  3. Paste the folder locations for the mods you want to install into the config
  4. Launch kissMM and hit Republish All, which will copy the base games files and your mods to your new game folder
  5. Enjoy your game!


  • Publish All copies all the mods in the list box
  • Republish All copies both the base game and all your mods
  • Double click a mod in the list box to publish it alone (useful for card directories)
  • Mods are installed in the order they're listed in the config, from top (first) to bottom (last)
  • To disable a mod, just comment out the folder path in the config file


  • CopyStyle sets how kissMM handles files. copyfile puts a copy of the files into the PublishPath. symlink creates system links which take up less storage space by referring to the real file in another directory.
  • Republish is disabled under CopyStyle symlink so your BaseGamePath files aren't modified. This may be able to be overridden in a future update.
  • symlink CopyStyle is not implemented yet.

Config example

Create the following config.cfg in the same directory as the kissMM script. Change the paths to what applies to your install.

CopyStyle = copyfile

BaseGamePath = C:\Users\player\Games\Honey Select\VanillaCopy
PublishPath = C:\Users\player\Games\Honey Select\NewModifiedGame

data = C:\Users\player\Games\Honey Select\Mods\Mod Folder A
	C:\Users\player\Games\Honey Select\Mods\Mod Folder B
	C:\Users\player\Games\Honey Select\Mods\Mod Folder C (etc etc...)

Paths can be commented out with a # or // prefix.


  • Finish symlink method
  • CLI arguments to not need PySimpleGUI
  • Profiles

diy electric longboard


current parts





misc. electronics

  • 10x pairs of XT60 connectors
  • 2x pairs of XT60S connectors (for anti-spark loop key)
  • 10x pairs of XT90 connectors
  • 42V Power Adapter Charger - Cut connector and solder XT60 onto.


  • Building your own battery costs more, but I enjoy working with and studying with battery tech. If using this build as inspiration, consider LiPO's and a balance charger for cheaper but heavier batteries.

  • Don't try to solder 18650's! The heat will damage them no matter how fast you try to do it.

  • Electric skateboarding is not cost efficient or safe compared to electric bikes. They are more of an portable lightweight commuter and fun ride. If you're looking for a car replacement, I would look towards DIY electric bikes.

  • I have not tested 3D printing motor mounts or pulleys yet, but I would like to. There is carbon fiber filament that apparently holds well? PLA is heavily not recommended. You could also mill your own out of aluminum if you have the tools. I will try this on a later build.

  • Obviously, wear a full face helmet.



v0: writing documentation, no working product.

diy electric bike

last updated 2019-07-11


coming soon

current parts






  • 2004 Brodie 9-Ball


v0: writing documentation, no working product.

home server setup

last updated 2019-04-30



  • OS: Proxmox
  • CPU: L5640
  • RAID controller: H310 flashed to IT mode


VM - Media Server

Debian 9

  • Deluge (swizzin)
  • Filestash (dockerized)
  • beets (swizzin) - amazing music organizer that uses MusicBrainz for up to date metadata.

amazon fire 7

last updated 2019-07-20


Thanks to the lovely work by k4y0z, Amazon Fire 7 5th and 7th gen tablets can now be unlocked or rooted! Link to the XDA article is here, which I may mirror soon. See you when I get postmarketOS running on it!

Old article

For black friday I decided to buy myself two Amazon Fire 7 (7th gen) tablets to port and develop postmarketOS on. I even paid extra shipping to get them to Canada! Little did I realize at the time, I was buying a paperweight. These tablets aren't really generic android devices, they're actually very walled gardens. These really aren't far from the restrictions of an Apple device, except Amazon is even less subtle. These are basically $50 slabs with a screen to buy Amazon products from. Maybe for the average consumer this is nice, but for someone very worried with privacy like myself, I started refusing to even exit airplane mode.

So I sat down and figured out how to make this suck a little less.


I cannot guarantee that this works with anything besides Use adb to downgrade to an official binary of Amazon Fire, 7th generation, OS through ADB. 7th gen tablets will brick if you attempt to downgrade to lower than

boot into recovery using volume down + power at the same time while booting
navigate to select update over ADB
send the following command:
adb sideload update-kindle-

Next you should download the apk for NetGuard, a root-less firewall. Go into the settings of NetGuard, to Advanced Options, and enable 'Manage system applications'. Then, go to Defaults and enable 'block Wi-Fi' and 'block mobile'. This way, all system applications and future applications should be blocked from accessing the internet in any way by default. Back at NetGuard's main screen, every wi-fi and data icon on the far right should be red. If not, press and hold on the icon and it should turn red. Keep in mind that every app you install from now on will have wi-fi and data disabled, and you must enable them by holding the red icon until it turns green in NetGuard. You should be able to check for system updates through the Settings application and it should eventually display "Check for updates failed" meaning it can't connect to find or download any updates.


Run this code block of ADB commands to remove bloat, analytical collecting apps, and unnecessary Amazon apps. I have tested all of these and can confirm they do not break main tablet use.

adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0	
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0	
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shlel pm uninstall --user 0	
adb shell pm uninstall --user 0 org.mopria.printplugin
adb shell pm uninstall --user 0 amazon.alexa.tablet
adb shell pm uninstall --user 0 amazon.jackson19

Optional useful Android apps:

adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0
adb shell pm uninstall --user 0


The original launcher sucks. It's very non-subtly a portal to Amazon services. I'd highly recommend sideloading F-Droid, and then installing KISS launcher from F-Droid. I would not, despite some peoples recommendations, install Nova launcher or any other proprietary launcher. This is just personal preference, but I see this tablet being bad because of how unmodifiable it is. And since proprietary software, such as Nova launcher, are unmodifiable... it's not much of a solution, more of a swap between who is in control of your device.

Back on topic, you now need to install LauncherHijack V3 (apk link). Open the app and press on the entry for KISS launcher and press OK to set launcher. You will now have a new entry in your systems accessibility settings titled "To detect home button press". Enable this, and you're set!


The ideal future of this device is an unlocked bootloader, so we can port postmarketOS and have this device freed as much as possible. As these devices come very cheap, it's likely Amazon is producing them with little profit, focusing on profit coming from the services it offers. However, if we can manage to break out of Amazon's walled garden, FireOS, these could quickly become dirt cheap decent generic purpose Android (or better!) tablets for anybody in need. A corporate portal turned into a freed multipurpose tool for everybody. That's something I want to see.

proscan plt9650g

last updated 2019-09-27

A few years ago, I was given a Proscan PLT650G by a family member to fix. It got itself stuck in a bootloop. I spent some time looking up how to fix it and came up with... nothing. These things are so obscure and generic that there is little to no info on them. Well, a few years later (day of writing this) I decided to give it one last shot to save it from a landfill, and had success! The bootloop in the Proscan PLT650G is solvable, but not in a great way. You're gonna need to reinstall the firmware for your tablet, losing your data in the process. Allegedly you can back it the partitions (with a link I provide later) but I haven't tried it myself.

For future online searching, you'll have better luck searching by its main chip, the "RockChip RK3126"

Firmware Reflash

Everything you need is in this fairly sketchy zip, which I will eventually mirror on my own site here.

  1. Extract the zhihexing_3126b_5.1_gc0312_f92s_GD_2016049_v1.1.img file and BatchTool folder from that .zip. You'll need both.

  2. Run RKBatchTool.exe to be greeted with Rockchip Batch Tool v1.8. Apparently it's RockChip official, but that doesn't alleviate my worries from all the random exe's I had to run to find this tool that works.

  3. Press the [...] button in the top right and select zhihexing_3126b_5.1_gc0312_f92s_GD_2016049_v1.1.img from earlier.

  4. Power off your tablet. After, hold the ESC button as you plug the USB connected into your computer in.

  5. Your device should appear under Connected Devices as green.

  6. Hit Restore! You're gonna lose all data from doing this. You might be able to backup first with this guide if you need. I haven't tried it myself.

Your paperweight has been restored to slightly less than paperweight status.

Bootloader Unlock

Now we need to get into bootloader mode to run a fastboot command to check if our bootloader can be unlocked. This was the least annoying method for me.

There is likely data loss from enabling this. I am unsure if it happens every time, but it reset the system data for me.

  1. Download DriverAssitant_v4.5. Yes, that's how its spelled. Open it and press Install Driver. Now you've got the needed drivers installed.

  2. Go to the Settings app, About Device, then tap Build Number 7 times. Welcome to developer mode!

  3. Scroll down to USB Debugging and enable it.

  4. Connect your tablet to your PC over USB, and allow the USB Debugging notice you get on your screen.

  5. Run adb devices on your computer. You should see your device attached.

  6. Run adb reboot fastboot

  7. Wait until you enter fastboot mode, then enter fastboot oem unlock

  8. After 5 seconds, enter fastboot oem unlock_accept. Your device will reboot, potentially back at factory data.

  9. Use adb to go back into fastboot with adb reboot fastboot

  10. Send fastboot getvar unlocked. If it's a yes, you're unlocked!


  1. Reboot into fastboot mode with adb reboot fastboot

  2. Boot into TWRP with fastboot boot TWRP_2.8.7.0_Themed_V1.1.img

  3. Install Magisk

openmw mods

last updated 2019-06-12

tel sudia - nexusmods

A small Telvanni settlement based around the events of JRP Roleplay.

better ohmes-raht - nexusmods

Adds Better Bodies and Westly heads to Tamriel_Data's Ohmes-Rahts. This will replace TR Heads Unlocked in the future.

cosmetic amputations - nexusmods

A simple clothing mod that adds gloves that hide various parts of arms. Designed for roleplay. This mod does not change animations (for now). Expect phantom limbs if the character is animated often,

tr heads unlocked (westly support) - nexusmods

Unlocks vanilla and Westly heads/hairs for use on Tamriel Rebuilt races

westly's khajiit for tr - nexusmods

Changes TR khajiit models to Westly's, allowing for Better Bodies support and general improved look.

tes3mp scripts - gitlab

X-Card, setsex, and mirrors of other popular tes3mp scripts.

faint light of a witch girl - n/a

A concept standalone game for OpenMW that plays as a first person magical girl RPG. Prototype coming soon! Maybe...

You can donate through the following services. Donations allow me to spend more time on my hobby activities and develop more open source things to share




Note: For the JRP Roleplay game server, I only takes donations for the self-written server scripts and server costs. JRP Roleplay features a lot of mod content from many creators and you can find the individual creators for these mods on the mod page to donate to them separately.