HamBone41801's blog
Welcome to the personal blog of HamBone41801
Color
Background color
Background image
Font Type
Font Size
    HamBone41801 It was pretty great. I skipped school and got to eat Panera Bread mac n cheese, and berry cobbler for dinner. I don't usually have an actual party on my birthday, so last night was just a family thing. my actual party will probably be next week. one of the presents I got was a mechanical switch tester with a 12 different gateron / mx switches, and I think I'll be ordering some zealios/tealios switches as well.
    jupitteer, CORE and Aletron9000 like this.
    HamBone41801 It took a while, but I did it! I really don't know why it took so long for be to learn c++, but but I'm glad its finally over with. I really needed to get past languages with VMs, because I want to try to make my own language, with its own compiler or, optionally a vm with a shell. (like python, although i do realize python still only compiles to bytecode, not machinecode). the exact details of how my language, vm, and compiler will work are still in their infancy, but this is roughly what I plan to do:

    language:
    -modernized version of BASIC (to start, at least)
    -it will include goto, because the state machine in the vm will be coded by hand (no bison!), so there wont be any optimization to ruin in the first place.
    vm:
    -written in c++
    - this is where i need help should i create a stack machine? or a register machine? what are the pros and cons of each?
    compiler:
    -written in c++, then rewritten in BITCH (my version of BASIC) once i can compile it.

    I've been researching this stuff for a while now, and I know how each part of the compiler and vm functions individually, so I think I'm finally ready. wish me luck! and if any of you have any advice, I'd love to hear it. if this ever works out, Im thinking about doing something with brainfuck.
    HamBone41801 Do your worst!
    HamBone41801 About 6 years ago, (I was 11 at the time) I decided I wanted to learn how to program. specifically, 11 year old me wanted to program minecraft mods. so long story short, I managed to teach my self the basics of programming in java and a few other languages. at time passed, I became less interested in minecraft mods, and more interested in making my own programs. as what I wanted to create became more and more complex, I pushed myself to learn more about the language, and there days I'd like to say that for someone who taught themselves from the beginning, I've done pretty damn well. I've mastered almost every skill I've come across, And I spend almost all my free time working one one of a few different test projects that I use to help me keep learning.

    ...And this is where things get frustrating. I've spent about the last two weeks on a single function in one of my programs, but I just don't have the know-how to get it to work correctly. I've tried almost everything, and I've even reached out to a relative of mine who teaches java at a college for a living. I'm not particularly great at a whole bunch of stuff, but I always figured this would be the one thing that I'd always be good at. I think the worst part is I can't even find anyone to teach me. I've been super upset over this for the past few days and I just don't know what to do any more.
    HamBone41801 Alright, so as those of you who read my previous blog know, I decided to make my first android phone the OnePlus 6T. now that its here,
    I figured I'd write this little review in case anyone else is thinking of getting one as well.

    battery life/charge time
    its been about 8 hours now, and I've only just now had to plug it in. I should also mention that it came at 50% battery to begin with.

    As for charge time, you can expect ridiculously fast charge as long as you use the brick they give you in the box.

    Sound Quality
    I had heard people were unhappy with the speaker quality on the 6T. so how bad is it exactly? From what I can tell, not at all.
    Its a huge improvement over my previous phone (iPhone SE). Its In fact, the only problem I have is that it one speaker on the bottom,
    so no stereo sound (which really isn't all that important on a phone anyway).

    Screen Quality
    not much to say about it. its 1080p, and its got a weird aspect ratio. obviously not the best, but its not bad either.

    security features
    it has both face ID and a fingerprint scanner under the screen. I love the finger print scanner, but as for the face ID? don't use it.
    its pretty terrible, and you can trick it with a piece of paper.

    OS
    the os shipped with the 6T is fantastic. I especially love the apple-like gestures (being someone who had previously only used Iphones).
    gaming mode is also pretty handy, it makes notifications much less intrusive, as well as a few other things.
    parallel apps. have way too many Instagram accounts? get some help. until then, you can use the parallel apps feature to switch from account to account without having to log out.
    you can also lock each and every app behind a password. perfect for when you need to lock a recovering insta-junkie out of their 25 different accounts so they can sober up in time for thanksgiving.

    I think thats about it... Did I miss anything? let me know!
    HamBone41801 I'll finally be free of apple's idiot-proofing!

    [​IMG]

    do any of you use a OnePlus phone?
    HamBone41801 I figured I might as well try.

    I’d especially love to answer questions about some of the projects I’ve been working with on.
    HamBone41801 First off, lets get the big one out of the way: the 8 bit computer. After some serious consideration, and a whole lot of math, i've decided to add an extra 4 bits to the word length of the ram, bringing the total to 16 bits. Why does an 8 bit computer have 16 bit memory? Why, because I was too fucking lazy to separate program memory from gp ram. I believe I also talked about the filo register I was designing in my last post, so to give you an update on that, its finished and it works great. This time around, i'm also adding a completely new module to my little computer. I'll be adding a bitwise/masking module to it. In total, it will include 4 registers, and a shit load of different operations, so it may very well double the current size of the computer. Also, sorry I don't have any pics this time. Too lazy.

    Next up is a new project! I've been messing with the destiny 2 api recently, and i'm making a little bot that automatically moves non-legendary/exotic gear to my vault, where I can destroy it en mass without it clogging up my inventory. I just started it, and have made very little progress. Because its so simple, i'm just making it in python.

    Lastly, my twitch bot! It was a really fun experiment, but as I don't actually stream, I have no reason to continue developing. If someone really wanted to see it be completed however, I may be convinced.
    H1B1Esquire likes this.
    HamBone41801 I decided to use the switchbru dns for the first time today, but lo-and-behold, I've fallen victim to the super-nag. :/ I'm getting a jig printed to apply the patch as we speak.
    HamBone41801 I kept hearing really great reviews, so I decided to buy is using some left over birthday money. Overall, Its a pretty nice game. its got an interesting concept, and some really great AI (usually). for those who don't know, (which is probably all of you) I generally dislike playing any type of horror game, (I have frequent night terrors, but movies don't really bother me though, so I think its the interactiveness of the games) but so far I've really enjoyed this one. while it can be kinda scary at night, the enemies are really just derpy during the day.

    tl;dr its an overall good game that is only kinda scary sometimes. Its also more fun to play with friends than it is alone. (please play with me. I'm lonely and I just got kidnapped)
    NinjaSushi and WeedZ like this.
    HamBone41801 First, here is what it currently looks like.

    [​IMG]

    I now have every part except for an 8 bit binary comparator. (It can work just fine without that though.)

    Right now, I’m learning how to design circuit boards, and hopefully once it’s working like it should, I’ll order a board for it.

    Also, I’m thinking about adding a really cool register to it, but that won’t be added till the whole thing works.

    TO-DO LIST:
    • get bigger eeprom chips to support more than two flags
    • get binary comparator chip
    • expand ram to 16 bits so I can have more instructions
    • find a binary multiplier circuit that isn't serial
    • find a way to add persistent memory
    • construct a FILO register array. (no idea how that's gonna turn out, but this is the part I mentioned above, Ind its been really fun trying to design it!)
    Quantumcat, uiaad and H1B1Esquire like this.
    HamBone41801 I currently have two go-to usernames that I use. (The one I have now, and "Kestrel", which is much newer) I wanted to get your opinion, because I'm debating ditching Hambone on everything because I've had it for so long. thoughts? also, is it even possible to change names on the temp?

    P.S. Expect another blog pretty soon with soon really cool stuff!
    Giodude likes this.
    HamBone41801 The design is pretty simple, but I'm quite proud of it. its a modified sap-1 architecture, with the biggest difference being that it uses 12-bit words in memory (as opposed to 8-bit), and has a second, smaller bus (4-bit) that is only available to the instruction register & ram. (If my reasoning behind this isn't clear, Just tell me. I'll draw a diagram of it as well).

    Currently, the amount of ram that I plan on using is 32 lines of 12-bit words (density of 384-bits, but only 256 are usable by main bus). I was't able to find a chip of this size, so instead I'm using a matrix of six 74LS189 chips.(note: I could add another ten 74LS189 chips for a total of 64 lines of 16-bit words, but this is unnecessary, and I would have to make a few changes to the instruction register.)

    schematics of everything will be added to my github eventually.

    wish me luck! and if you have any questions or suggestions I would love to hear them!
    HamBone41801 Its been quite a while since I last talked about that little twitch bot I created, and a lot has changed, so I figured I'd make an update post.

    • The biggest change to take place is that I made the jump from python to java.
    • For those who don't know, when using java's built in socket api, the program will freeze while it waits for input from the server. in python, I just made it wait for a second and then ping the server, but in the java version, I've implemented some time-sensitive features the wont work using that. Instead, I created a listener class that gets info from the server and then puts it into a queue to be used by the main class. (This works infinitely better than my python solution)
    • I created a User class that that keeps track of every user's rank, warnings, "points", and whether or not they are watching your stream. (this is part of another feature that I'll talk about next). Users are added to a hashMap whenever they either say something in chat, or when their join message appears.
    • The points feature adds 1 point every minute to every user while they are watching your stream. (I'm using it to create commands with cooldowns)
    BlackWizzard17 likes this.
    HamBone41801 when I first made the twitch bot, I figured It'd be a fun experiment and that I would never touch it again. However, I started cleaning up the code, and I realized that the console was really messy and could use some work. After I finished color-coding and formatting everything, I realized that it might be useful to have time-stamps. This went on for a little bit, and not I have a halfway decent twitch bot. It still has a few missing features, but once I get the config module sorted out, I think I'm going to put it on GitHub for others to use.

    I would like some help from you guys, however. If any of you have features that you think would be nice, I would love to hear your ideas.

    current features:
    • basic call/response commands
    • custom commands (a little bit harder to explain, but since python can compile on the fly, I created a bit that runs any python file in the commands folder when someone says something in chat that matches the filename and begins with a '!')
    • timestamps
    • timed announcements

    planed features:
    • a second terminal that can be used to take manual input. (this is going to be super annoying in python. not looking forward to it)
    jupitteer likes this.