Blog

  • Binary Pixel Map

    I’m working on a new image format. I’m pretty sure the layout of the format is final. It has all the features of my BBM format but uses a new header which allows for comments because the 4 bytes at address 0x0C are the pointer to the pixel data. This means literally anything could be between the header and the data. In this example a small comment of the name of the format: “Binary Pixel Map”. These screenshots show the equivalent PBM file and the checkerboard that it looks like.

    Screenshot (370)Screenshot (371)Screenshot (372)

    The goal of this format is to be able to eventually support any type of image whether monochrome, grayscale, or full color RGB. The code needs work but if I made a good conversion tool people would see why my format is superior to several others with the exception of compression because I don’t know how that works yet, but I do have a book on it.

  • More Programming Ideas

    I learned something about the Windows Subsystem for Linux. It runs Linux ELF executables that were compiled for Linux. It’s possible to write a program with this system and create something that would run on a 64 bit Linux operating system assuming it also had an Intel CPU.

    The one restriction is that the WSL can’t run GUI apps and is limited to console only. That’s not a real problem for me since I don’t have the skill for that anyway, yet.

    But the fact that Microsoft allows installing Ubuntu Linux inside Windows and the environment runs faster than using a PC emulator means that I now have an additional method of compiling C programs and could produce Linux versions.

    I don’t yet have something ready to publish but I thought of an idea. I could have something that asked a user the details of what kind of checkerboard they wanted. It has 4 variables they could choose.

    Image Width

    Image Height

    Square Size

    First color

    Second color

    I normally set these variables within a C program and recompile whenever I feel like making something. But the concept is simple enough that all it requires is a few scanf calls to request input from a user.

  • BBM Update 8-4-2019

    I wrote new functions tonight. I made a big function that automatically writes the PBM,PGM, or PPM formats depending on whether the bits per pixel is 1,2,4,8,3,6,12, or 24. All other values fail. However these allow me to create PNG files the same as I could with the pam format with the pngtopng tool. I also wrote a function that can XOR every pixel in an image with a color.

    My code is still quite disorganized and it’s hard to imagine writing a tool that allows actual users to use it for anything. It’s more like a collection of source files containing functions that I call whenever I’m trying to make something neat. The full alchive of my source code is available here for anyone who wants to get an idea what I’ve been writing and how I make these strange images.
  • Programming Goals

    Because I work 50 hours a week and live with my mom who has a tendency to want me to do things when I want to be left alone, I can’t dedicate the time to my goals of programming and learning the Unix/Linux system administration that I want.

    I have big dreams that could not only be incredibly fun but also could turn into a computer career.

    My BBM graphics project is the most impressive thing I’ve ever done and the cool checkerboard animations are just the start. I want to add features that exist in other libraries such as copying part of one image onto another.

    My code is different in that it doesn’t use any object oriented programming features. No classes or even structures. It’s all done with pointers and other arguments to functions such as the width and height of the image. In recent times, my functions take a bits per pixel argument which is used to save image files using different degrees of grayscale or even reduce the number of colors in other ways. A lossy compression which works best with video game type graphics. Think NES or Gameboy to get an idea of the kind of images I’m talking about.

    I have code for the BMP, TIFF, PBM, PGM, PPM, and PAM formats. I also installed the ImageMagick and NetPBM tools which allow me to use commands to change those formats into others(how I made the animated GIF files my friends have seen on my Facebook account.

    And I’m not even using a real Unix environment yet but have customized my old Windows 10 computer with MSYS2 to compile my code and run other Unix commands. This means I have the Bash shell and if I ever succeed in getting my own apartment I will also learn shell scripting to a degree that may even allow me to run my own Minecraft server like Jamie already is doing and also a basic web server like I had on Ubuntu Linux years ago. I’ll collect old computers and connect them to the internet do handle these things and run a computer lab and teach people how to use computers or people already comfortable with basic usage how to get started programming.

  • Gabapentin Hair Loss

    Unfortunately I have been experiencing another side effect. It looks like I’ve lost some hair on my head. I did some searching and found that lots of others noticed significant hair loss in only 2 months. Jocelyne has mentioned it in June one night when taking me home but I didn’t think I noticed but lately I have been shedding hairs while at work that end up in my mouth and then I choke on them.

    And the insane amount of diarrhea, oily skin, and stomach pain I’ve had over the past few months is making me have to quit the Gabapentin anyway. It’s gonna be hard to build up my health savings fund anyway if I continue to use it to pay for it anyway because it’s so expensive.

    Plus my performance at work will probably be much better without the side effects.

    https://healthunlocked.com/rlsuk/posts/134363303/hair-loss-on-gabapentin

    https://www.jpsmjournal.com/article/S0885-3924(08)00650-7/fulltext

    https://www.reddit.com/r/Fibromyalgia/comments/7imk8u/i_took_myself_off_of_gabapentin_because_my_hair/