Category: Uncategorized

  • Vasectomy can fail

    I promote vasectomy highly for those who actually have sex, because it does reduce the risk of getting someone pregnant but it’s still not a zero risk thing.

    https://www.spermcheck.com/vasectomy-blog/vasectomy-failure/

    That’s a huge part of the reason I’m so committed to celibacy. It’s the only way to not risk anything. Not just avoiding the risk of pregnancy but also sexually transmitted diseases.

  • BBM: Binary Bit Map

    BBM: Binary Bit Map

    2 bytes for the width
    2 bytes for the height
    1 bit per pixel from high to low bits.

    Details and History:

    I set out to make my own image format because I’m a nerd and because I had my criticisms of existing formats. I haven’t tried them all yet but my main problem with them was that while studying the format specifications and viewing files in my hex editor I kept thinking: “These bytes in the header or the padding at the end of the row have no information which is absolutely required for a program to display the pixels.” I wrote a separate file in which I explained my criticisms of BMP and PBM specifically(“BBM Format Plans.txt”).

    My specific goals for this format were:

    1. Should be written specifically for easy reading and displaying of the format by a programmer with even a basic understanding of reading binary mode files.(Like me for example)

    2. Must support just two colors, black and white, and store 1 bit per pixel.

    3. Have the smallest header of any image format. This header contains only the width and height.

    One of the major decisions I had to make in this format was which bit order will I use? While I was writing my functions I discovered that the XBM format uses the low to high bits instead of the high to low bits like PBM for the pixel order. What this means is that in the case of the PBM format, in the first byte of the pixel data, the bit representing 128 is the top left pixel. In XBM it is completely opposite and 1 is the first pixel and 128 is the 8th pixel.

    Which bit order was used has no practical advantage over the other but the reason that I decided on using the same bit order as PBM was because from a coding perspective, it means I can use left shifts in the process and pretty much copy paste the loop from my PBM writing function.

    Programming:

    The BBM format evolved out of my Chastity Checker project. The idea was that since I already have a lot of code for writing various formats, I should first write a function which stores the checkerboard into my new format. Then the challenge is to write a separate function which can read the format and either display it to the screen or simply save it into another format. This means that my image format can then be converted to any other existing image format that ever existed by simply converting it to BMP and then using ImageMagick or GIMP to save to any of the formats those programs support.

    I’m still in the programming phase but I do believe that I have finished deciding on the details of my image format. From here it’s all just writing tools to process my format and maybe eventually use it in a video game.

    In RAM my BBM format is actually loaded into 32 bits per pixel arrays which are allocated and expected to be exactly width*height*4 bytes. This of course means they take 32 times the amount of space that the files do. This is not a problem as long as my programs run on any modern PC although if I needed to, I could totally do a rewrite if I was on a system with limited RAM. The users of any programs I write won’t need to know this but of course it’s an interesting fact and was done for the reason that I may later decide to make a format that supports up to 32 bit ARGB colors. That means the functions will work the same and will never need changing.

  • Pro-life Vegan Rant

    Screenshot (301)

     

    In the original post, George said: “With all these dumb “abortion isn’t vegan” posts lately, I figured some of you pro-birthers could use a friendly reminder of the kinds of people who agree with you on that issue. And who doesn’t love Westboro Baptist Church, right? Amongst all these signs displaying insanely homophobic and racist rhetoric, you’ll find one at the bottom right that decries abortion. It’s been circled for your convenience. So much compassion in one picture! Because as you all love to say, “You can’t be a compassionate vegan unless you’re pro-life,” right?Well if the congregation at Westboro Baptist are your kind of people, then please carry on.”

    I want to criticize this ridiculous post George Chapman wrote. His argument was basically that pro-life people are bad because they happen to agree with the Westboro Baptist Church on one thing, that abortion is bloody murder.
     
    First of all there is no logical connection between abortion and all the other crazy shit that the WBC believes. Abortion can still be bloody murder and they can be right about that even if their other anti-gay and telling people God hates them is completely wrong. Whatever else you may believe about abortion or homosexuality doesn’t actually matter here. The point is that someone can be wrong about one thing and right about another.
     
    And I’ll be honest here, most of the people who call themselves pro-life are complete hypocrites. Some of their policies politically as well as their lifestyles are in contradiction with their opposition to abortion.
     
    And yes I DO believe that being pro-life necessitates that you should be vegan, otherwise you are just being speciesist. And the reverse is true too. For this reason I cannot be pro-choice about abortion just as I cannot be pro-choice about meat, dairy, eggs, honey, leather, horse racing, etc.
     
    I do not have ANY legal power to stop people from doing any of those things and I do not even vote. And many times people have told me that if I do not like abortion then I should “keep it in my pants”. Well yeah that’s precisely why I’m a single virgin at 32 years old and why I will always be celibate. It is precisely because I do believe abortion is a form of murder that I refuse to get someone pregnant. That’s not the only reason of course but long before I found out I’m transgender and asexual anyway I had already decided not to take that risk.
     
    And I became vegan because I wanted to be consistently pro-life. And the only thing people like George Chapman inspire me to do is promote the cause of both the anti-abortion and the cause of veganism. People act like I have to choose one or the other, but no I don’t. I won’t be speciesist like the carnist pro-lifers nor the pro-choice vegans. I have a much different idea than them and yet people make really dumb assumptions about me who do not know me.
  • Strange Symptoms

    I’ve been on the Gabapentin that my doctor prescribed me on May 3rd. It removes my pain which is great.

    However I am experiencing a few strange symptoms. First, the oily skin. It used to be dry and clean when I first woke up but now it’s so oily and slippery. That’s weird but it doesn’t bother me all that much. Second, I’ve had reduced appetite. There is food to eat but I don’t feel like eating in the morning and have been skipping breakfast most days.

    But the strangest thing is that it just appears to me I’m gaining weight. The scale doesn’t show it but I’m a lot squishier. I don’t know yet if I’m just getting fat from eating too many Larabars or if the medicine is causing a hormone shift. It looks more like a redistribution of fat if anything. My butt feels enormous.

    However it’s not a big enough change to be worried about. All I really care about is my muscle strength which appears to be normal as long as I eat enough later in the day to make up for not being hungry enough for breakfast.

  • BBM Format Plans

    BBM Format Plans

    There are so many decisions to be made when designing my own image format. I know it will be a 1 bit per pixel format much like monochrome BMP files or PBM and XBM.

    However the exact details of the header have yet to be decided.

    Currently my program produces Windows version 2 BMP files for the checkerboard. This format has been supported since Windows 2.0(released December 9 1987!).

    https://en.wikipedia.org/wiki/BMP_file_format

    14 bytes for the bitmap file header

    12 bytes for the DIB header

    6 bytes for the 2 colors in the palette. Each taking 3 bytes for Red, Green, and Blue.

    That’s a total of 32 bytes. I love the BMP format but it has a lot of junk data in the header that is reserved or tells how many bytes are in the file.

    But my biggest criticism of the format is the fact that the width of each row must be a multiple of 4. This means hundreds of extra bytes for no good reason.

    PBM files only have a few extra bits at the end of the row if the image width is not a multiple of 8 but that’s only because computers operate on 8 bits at a time.

    PBM was the first official format that I learned to write with only code from the C standard library. In fact a few printf and looped fputc calls on a file opened in binary writing mode is really all you need. The details of that format are here.

    http://netpbm.sourceforge.net/doc/pbm.html

    Both the Windows BMP and the NetPBM PBM format are perfectly capable of storing ANY image containing only black and white. They can also pack each pixel into a single bit!

    But here is where they differ.

    BMP files can have a color palette so that the two colors can be whichever two colors the author chooses.

    PBM can be black and white only

    BMP requires padding at the end of each row of pixels to be a multiple of 4 bytes.

    PBM doesn’t have to have that extra padding and the files will typically be hundreds of bytes smaller.

    BMP files have binary headers for the information about the bitmap and how it will be displayed.

    PBM files have a plain text header that can be viewed even in Notepad! Yet they still are smaller than the space wasting headers of BMP.

    I have decided currently that my format will be called:

    BBM: Binary Bit Map

    Sort of redundant I know but it was to emphasize that it’s a format for two colors. I reject the gender binary but not the binary numeral system! Also there will be no plain text unlike PBM has.

    But the specific details of how the information will be stored has a few things that I’ll need to decide on.

    1. Do I have the width and height be 4 bytes each for a total of 8 bytes of a header? That would allow up to 4294967295*4294967295 size images.

    Or do I use only two bytes for each which allows a maximum image of 65535*65535? That’s probably bigger than any image that websites allow uploading. A single image would be close to 4 GB!

    2. Do I include a color palette like BMP has or should it be strictly black and white for tradition?

    3. How will I deal with the extra unused bits when the total number of pixels is not a multiple of 8? Should I use the same routine as for pbm where the end of the row is padded to be a full byte. Or should I use an even more clever method like only padding to a full byte at the end of the entire image? I think there are advantages and disadvantages to each approach.

    Additional notes:

    Also worth mentioning is the XBM format.

    https://en.wikipedia.org/wiki/X_BitMap

    XBM is worth mentioning because although it is a text format and takes a lot of space, it is a monochrome format which stores 1 bit per pixel. My own format will be so much like it that converting it to an XBM would be trivial.

    Update: 5-31-2019

    I did eventually decide to use 16 bit values for the width and height values in my format. I also wrote the “BBM Format.txt” which details my format.