Rambling about Javascript Frameworks

– Typescript
– React
– Anglular
– Framework 7

I’ve been looking into switching jobs recently. And while most of my freetime is spent analyzing file formats, my day job is working on web applications. In general my philosophy for web is that I want as little “magic” as possible between me and the code that I’m writing. The easiest example of this is jQuery. Back in the 2000’s there were still a lot of differences with browsers, and jQuery was the hottest library that managed the differences between the browsers, and did it with short and generally intuitive syntax. The problem was that when ever you searched, “how do i do x in Javascript?”, you would get 20 pages of results about jQuery and you had to filter through those to try and find any mention of how to implement what you wanted in vanilla Javascript.

And my issue with jQuery was that while it was a simple and effective way to write code, I didn’t want to have something that was interpreting Javascript for me. Sure it might be easier to write $(‘#elem’).removeClass(‘active’), than it is to write something like:

var elem = document.getElementById('elem');
var class_text = elem.getAttribute('class');
var classes = class_text.split(" ");
var index = classes.indexOf("active");
classes.splice(index, 1);
elem.setAttribute('class', classes.join(" "));

LBRY Videos

Tempted to start producing some videos for LBRY. Content that I have on my head:

– concept for open source handheld
– linux show for kids
– Gameboy Pocket Mod
– Gameboy Color Mod
– Gameboy Advance Mod
– DSiLL Mod
– PSP Mod
– PsVita Mod
– Playstation TV
– Wii Softmod
– WiiU Softmod
– Raspberry Pi NAS
– NextCloud on Raspberry Pi
– Nexus 5
– Nexus 5X
– Galaxy Note 3
– Galaxy S5
– Xperia Z3 Compact
– Pixel 1 / 2 / 3
– Pixel 2xl / 3xl
– Pinebook Pro
– NexDock
– Samsung Dex
– Ubuntu Touch
– Pinephone
– Fairphone
– Mobile Monitor
– Portable Projector
– Chrome Cast
– Cheap Windows Tablet as Linux

DMF 2.0 Specification

Really tempted to start drafting out the specification for DMF version 2.0. One thing I’m tempted to think about is the name. Maybe the “libre model format”? Not sure, maybe I’ll ask around and see what sticks.

Offset 0x00 0x02 0x04 0x06 0x08 0x0a 0x0c 0x0e
0x0000 DASH File Length magor minor header_ofs
– – – – Head Data – – – –
0x0020 META Block Length Count Offset
0x0030 TEX Block Length Count Offset
0x0040 MAT Block Length Count Offset
0x0050 VERT Block Length Count Offset
0x0060 FACE Block Length Count Offset
0x0070 BONE Block Length Count Offset
0x0080 ANIM Block Length Count Offset
– – – – Meta Data – – – –
– – – – Tex Data – – – –
0x0000 texture name line
0x0010 TexId isURL wrapS wrapT minFilter magFilter flipY format
0x0020 centerX centerY length offset
– – – – Mat Data – – – –
0x0000 material name line
0x0010 MatId TexId mat type visible Use Blend Blend EQ Blend Src Blend Dst
0x0020 shadow mat side Use Alpha v-colors alphaTest opacity
0x0030 Diffuse R Diffuse G Diffuse B Diffuse A
0x0040 Emmissive R Emmissive G Emmissive B Emmissive A
0x0050 Specular R Specular G Specular B Specular Coef
– – – – Vert Data – – – –
0x0000 VertexId Position X Position Y Position Z
0x0010 BoneId 1 BoneId 2 BoneId 3 BoneId 4 Weight 1 Weight 2 Weight 3 Weight 4
– – – – Face Data – – – –
0x0000 VertexId A VertexId B VertexId C MatId A Norm X
0x0010 A Norm Y A Norm Z B Norm X B Norm Y B Norm Z C Norm X C Norm Y C Norm Z
0x0020 A Map U A Map V B Map U B Map V
0x0030 C Map U C Map V A Clr R A Clr G A Clr B A Clr A
0x0040 B Clr R B Clr G B Clr B B Clr A C Clr R C Clr G C Clr B C Clr A
– – – – Bone Data – – – –
0x0000 Bone Name
0x0000 BoneId ParentId
0x0000 Local Matrix 00 Local Matrix 01 Local Matrix 02 Local Matrix 03
0x0000 Local Matrix 10 Local Matrix 11 Local Matrix 12 Local Matrix 13
0x0000 Local Matrix 20 Local Matrix 21 Local Matrix 22 Local Matrix 23
0x0000 Local Matrix 30 Local Matrix 31 Local Matrix 32 Local Matrix 33

Planning Tutorials

I’ve been trying to come up with a content management system dashgl.com for a while now. And I think I finally have something that might actually work. With content management i’ve always wanted something that’s simple where I can declare a few a few categories and then post a series of articles in a specific sequence. WordPress is good for stream-of-consciousness, but it’s kind of plugin hell to try and force a rigid layout.

Anyways, so content management seems to work. A few glaring omissions are a 404 not found page, mobile layout and client based navigation. And while it’s tempted to get into some of the bells and whistles right away, it’s a lot more important to focus on the content. So in terms of content, we need to start with the first EGL tutorial.

So in the first tutorial for the forward, we need to cover what the tutorial covers, which is going from drawing a simple triangle, and moving our way up to rendering a simple model in OpenGL. For the environment that we want to do this is, we need to cover the expected set up, which is programming for the Raspberry Pi 3b with a display hat. And to do this we need another computer to act as the ssh-client and the first computer to act as the ssh host.

To summarize the forward should layout the environment and conditions needed to use to program for the tutorial. And then we need to cover what the tutorial is for, and what the final output should be. So we should create drawings for all for the environment that needs to be used.

From there the easiest way to get started for the tutorials themselves is to provide a framework, list the title, and provide an image for each step, and fill in a gitlab link where the tutorial code can be viewed by the person taking the tutorial. From there we should probably try and provide a summary of what will be covered in the tutorial, what parts of the tutorial are challenging and try to come up with aspects that we should either attempt to cover or not. And then we can highlights parts of the code that we want to cover, and think about if or how we want to illustrate each point.

More Paperwork

Paperwork sucks. Have to renew my daughter’s visa. So I guess I should go over the list of documents that I need.

1. Application for extension: http://www.moj.go.jp/content/001290225.pdf
2. 外国人登録証 (コピー)
3. パスポート(コピー)
4. 健康保険被保険者証(コピー)
5. 住民票
6. 市県民税所得課税証明書
7. 納税証明書
8. 在職証明書
9. 給与所得の源泉徴収表

Seems easy enough, I guess I’ll get to it and start to build a folder for the documents. I also might as well go to the store and start making copies for stuff.

X220 + X240 vs e495

I’m not sure if I’m trying to talk myself into or talk myself out of this stupid idea. Right now I have two computers, an Asus UX305 and a HP Chromebook 13 G1. The Asus UX305 has been my main driver for the last several years. Over all it’s a pretty good computer, 13.3″ full hd with a fanless processor 4GB of RAM, and a 128GB SSD. Has a decent battery life and a nice keyboard layout. My ideal daily driver would be 14″ 1440p, 8GB RAM, 256GB SDD, and USB-C charging. Right now the Thinkpad Carbon X1 series seems to be ideal replacement, but those computers are stupidly expensive.

The HP Chromebook 13 G1 is a computer that I bought as a replacement. It has a 13.3″ 4k screen, fanless, usb-c charging, and 32GB of onboard storage. My thinking was that I could get around the short comings of the hardware, but after trying, there are too many flaws. The main flaw is track pad. It’s tiny and over all pretty terrible. It doesn’t feel anywhere as fluid as the Asus track pad. The keyboard doesn’t stack up, and while the keys have a decent click, the Chromebook keyboard leaves out a lot of common keys like delete, page up, page down, home and end, which I use a lot. The computer will always force suspend mode when closed, there isn’t a driver for the onboard audio, and 32GB of onboard storage fill up stupidly fast.

So I figured I’d go back to the drawing board. Effectively I want two computers. One computer would basically be a windows computer. I don’t use Windows every often, but there are a few occasions when it comes in handy. Specifically Daemon tools and really information from disks is a life saver. And I don’t like running Wine on Linux. If I need to do anything on Windows I prefer to have a network drive where I can drag and drop files to have something done on Windows and then copy back to Linux directly.

So my thinking was to have an X220 computer and an X240 computer. The X220 would be a simple Windows computer to run stuff on occasionally and the X240 would my main driver with Debian Gnome. Either that or get a e495 and use that as my main driver and convert my current Asus into a windows computer. Though my issue is that the e495 seems pretty expensive for a minor upgrade. It has 8GB of memory, 256GB of SDD, and USB-c for charging. But basically without the 1440p screen it seems like an expensive mid-step for a year or two before I replace it again.

So effectively for my uses, the X240 with a 1080p fills the same roll as the e495 for a fraction of the price. Originally I was thinking an X220 and an X240, but I’m actually tempted to go for 2x X240’s to have one with Windows 10 and the other with Debian/Gnome. That means that I can effectively have the same power connector and have one that uses windows and one that uses Linux and share the same hardware experience between them.

Youtube Cover Bands

This is not something that would normally go on this blog, but I wanted to try and make a list of Youtube bands

Against the Current – https://www.youtube.com/playlist?list=OLAK5uy_mo0aDYpNNJhFWkYLyGyst_B-mU4vDBnZw
Beast in Black – https://www.youtube.com/channel/UCZ6oHxEMKXlnjCzs_Ae55oA
Cristina Grimmie – https://www.youtube.com/playlist?list=OLAK5uy_lx788HkfcMMJgJ1Tel0jC0Jg1scgvINgA
Jonathan Young – https://www.youtube.com/user/jonathanyoungmusic/videos
Caleb Hyles – https://www.youtube.com/user/CalebsCovers/videos
NINA – https://www.youtube.com/user/NinaSingzMusic/videos
The Midnight – https://www.youtube.com/playlist?list=OLAK5uy_l6hWMoCv_dj643agxih8yEIc_F-igrT3k

Open Source Pi Handheld

Something my brain won’t stop thinking about is an open source handheld based on the Raspberry Pi. I know in general there are a lot of DIY handheld cases for the Raspberry Pi, but I can’t say that I’m a big fan of the designs, which generally tend to be the original Gameboy with four face buttons.

For the most part I really want a Gameboy Advance clone to program for more than anything. Gameboy advance or potentially PSP. If there was a kit that replicated one of these two options that would make me super happy. I think when it comes down to it, that’s really want I want, either a Gameboy advance or PSP clone with XP-input controls and a full size SD card for fan games.

Because I’m a stupid idiot, and I keep thinking about hardware I’ll go ahead and make a quick list of the Raspberry Pi clones I would love to see (or make if I had any talent).

1. Piboy Pocket – Clone of the Gameboy Pocket with a black and white (e-ink would be amazing if the refresh rate wasn’t terrible) screen at 640 x 480 . With D-pad, A, B, Select, Start.

2. Piboy Color – Clone of the Gameboy Color with an IPS display at 640 x 480 . With D-pad, A, B, Select, Start.

3. Piboy Advance – Clone of the Gameboy Advance with an IPS display at 800 x 480 . With D-pad, A, B, X, Y, R, L Select, Start.

4. Piboy Portable – Clone of the Sony PSP with an IPS display at 800 x 480 . With D-pad, A, B, X, Y, R, L Select, Start, Left Analog.

5. Piboy Portable2 – Clone of the Sony PS-Vita with a touch-screen IPS display at 800 x 480 . With D-pad, A, B, X, Y, R, L, R2, L2, Select, Start, Left Analog, Right Analog

6. PiBoy Switch – Clone of the Nintendo Switch Lite with a touch-screen IPS display at 1280 x 720. With D-pad, A, B, X, Y, R, L, R2, L2, Select, Start, Left Analog, Right Analog, Right Analog Click, Left Analog Click.

If I could choose only one from this list, I think it would probably be the Piboy Portable. I think that would generally be a good starting point of having four face buttons, two trigger buttons, the main input being a directional pad, with the option of using the analog for more control. I wonder if there is a happy medium between the PSP and PS-Vita that could be targeted. But in general, I would really like to see a well designed kit for a Gameboy Advance or PSP that is it’s own kit that you can put together and not have to mod the original console.

Though if that’s what I’m looking for, then it might be a good idea to buy a pre-made version of the Gameboy Advance Pi mod.

25 Definitive Gameboy Games

The Gameboy Color is an iconic handheld system. It has a small color screen, with a D-pad, two inputs, start and select buttons. As iconic as the system is it seems to be remembered for Pokemon and Links Awakening DX. And outside of those two games, most of the library seems to be devoted to poor adaptations of N64 games, and bad movie spin offs for bad movies. It seems like with the Gameboy Color’s limited pallet and limited controls, it seems like there should be more simple games built around the limitations of the system. So that’s going to be the focus of this Gameboy series of blogs is to look into the Gameboy’s library to find the most notable entries for graphics and gameplay on the system, and try to find the best games in addition to Pokemon and Zelda that are on the system.

1. Super Mario Land 1 (DX patch)
2. Super Mario Land 2 (DX Patch)
3. Super Mario Land 3 : Wario Land 1 (no Patch)
4. Wario Land 2
5. Wario Land 3
6. Links Awakening DX (New Awakening Patch)
7. Tetris DX
8. R-Type DX
9. Legend of Zelda (Ages and Seasons)
10. Shantae
11. Metrod II (DX Patch)
12. Pokemon Red and Blue (DX Patch)
13. Pokemon Yellow (DX Patch)
14. Pokemon Gold and Silver
15. Pokemon Crystal
16. Megaman XTreme (1 & 2)
17. Castlevania (GB)
18. Pokemon Trading Card Game
19. Project S-11
20. Metal Gear Solid : Ghost Babel
21. Harvest Moon (1 , 2, 3)
22. Commander Keen
23. Worms Armagedon GBC
24. Contra Operation C
25. Dragon Warrior

26. Crystalis
27. Star Ocean: Blue Sphere
28. Survival Kids
29. Kirby (GB)
30, Megaman V
31. TMNT

Homebrew:

Tobu Tobu Girl : https://tangramgames.dk/tobutobugirl/
Micro City : https://github.com/AntonioND/ucity
Floracy : http://www.nesworld.com/article.php?system=gbc&data=gbchomebrew
Space Invasion : http://www.nesworld.com/article.php?system=gbc&data=gbchomebrew
Tyrian 2000 : http://www.nesworld.com/article.php?system=gbc&data=gbchomebrew

Missing:
– Dark Souls
– Legend of Zelda NES (remake)
– Gun Star Hero’s
– Ikaruga
– Luigi’s Mansion