• 3 Posts
  • 52 Comments
Joined 1 year ago
cake
Cake day: June 1st, 2023

help-circle



  • Yep, streamlining the process to write a new compiler. Most compiler development utilize something like Bison/Flex or by handwriting their own lexer/parser, but those things doesn’t generate AST tree and you still have to read/modify that AST tree before reading it to generate the final resulting code.

    The sheer absurdity in scale of development increases when you realizes that you also have to do the same for LSP server.

    Melosynthos is came up with to think about streamlining all of this in one unified workflow.




  • Theoretically, by wiping out the rich would create instability within the wealthy class, they wouldn’t have the time or the means to herd the politicians to serve them or to effectively disrupt democracy.

    The inheritance that kid collects would amounts to “Congratulation, you won the lottery, now what? You haven’t own any corporation yet, know of anything about how to make connections with other politicians and wealthy class of people and so forth. You’re pretty much on your own.”

    Like 70% of the time, those people wouldn’t even bother with politic and would just spend the money vacationing where-ever in the world and having fun with the newfound wealth, not busy trying to disrupt democracy. People tend to be very shortsighted when they amasses huge wealth, in fact, according to some statistic, it ranges from 44% to 70% of people who gain huge amount of money end up losing it all within the next 5 years.

    That amount of time would basically give the common people enough time to go about fixing the political system.







  • Yeah, but when someone is completely new to programming, it’s best to start somewhere easy where there are quite a lot of tools to help them fix bugs in code. In C# IDE, it have a lot of visual indicators to help them identify bugs, debugger is pretty comprehensive and integrated, and there are quite a lot of resources to introduce them to programming in forms of videos and documentations and community. The goal of learning C# is not to only program C#, but to get them acquaintances with general programming such as for loop, memory management like using disposal in C#, recursion functions and so go on. They can use C# as a starting point to just basic programming and then once they are comfortable, they can move on to other language that they are curious about.


  • One of the thing I recommends is to start small. Going from Python to C is quite a leap, because C language requires some fundamental computer science understanding when you write codes that offers no railing or safety net when you make mistakes. I would actually suggests that you start with C#, it is very forgiving when you make a mistake and have various tools to help you identify the bug in your program.

    Big part of C# is that there is available video tutorial on an introduction to C# provided by Microsoft and it have subtitles. The biggest reason why I would recommend C# to beginner is simply that they offers a lot of resources to help beginners understand the fundamental of programming in general. They have tons of books, video tutorials, vibrant community, and so forth. Also C# can run on wide range of platforms, Windows, Linux, Mac OSX, Raspberry Pi, and so forth. Once you master C#, you’ll find that a lot of the knowledge you gained from it is transferable to C, C++, Rust, DLang, and so forth.



  • That’s an interesting dilemma when you bring up Android. I have always considered android device as a hardware compromised device and that it shouldn’t be used for highly confidential data to an extent that you might be using PGP/GPG for.

    But you could have all of your PGP/GPG centrally managed on a Linux system with android device having it’s own unique keypair that is signed by your root PGP/GPG keypair on your Linux system. As for software for managing GPG/PGP on Linux system, I just simply use KGPG which does the job plenty well. If you have to use PGP/GPG on Android Phone, then I recommend sticking with f-droid repository for PGP/GPG key management app, not Google Play Store.

    OpenKeychain Source Code

    OpenKeychain Package on F-droid

    Few use-cases for GPG/PGP on android is encrypting email or chat, but application integration is limited to select few software like K-9 Mail or Conversations.

    –Edited to add–

    Why the heck did server spam duplicates of my comments? :(


  • Currently early atm, but generally, I got the backend code sorted out where we have cross-platform windowing context, vulkan code, accessibility protocol, and so forth. The challenges are the front end GUI, making it looks pretty, it’s still have a way to go.

    And of course the documentation which is still WIP. I wrote other docs sometime like this for C language development community which I have put off for a while since I worked on few projects:

    1. Finish making deliverable for AI Framework to replace Pytorch/Tensorflow that uses IREE Compiler for my client. (IREE Compiler basically takes in your MLIR code and compile that to either SPIR-V shader code, CUDA code, ROCm, or anything else really rather than just mainly CUDA on Pytorch/Tensorflow.) I should have this done by tomorrow, it just making a web for my client that is 90% done and I just have to plug my AI into it.
    2. Work on Melosynthos which is basically a Compiler Generator, it’s about 60% done and can help a lot on building unit tests for GUI Toolkit.
    3. Finish up GUI Toolkit and try to make GUI that takes some inspirations from this
    4. Finish up documentations for that GUI Toolkit
    5. Build a web to demonstrates GUI Toolkit and let people go nut with it.

    The best part is… I solo-develop all of it… facedesk


  • I don’t think it’s that revolutionary, but there are some things that doesn’t exist in current GUI Toolkit worlds.

    The GUI Toolkit I wrote utilize few things:

    1. It runs on Vulkan and the pipeline use custom developed 2D rendering context, not 3D so there is a significant boost in performance and reduction in computation requirements on both GPU and CPU. Vulkan allows GUI to work on just about any devices made in the last decade and can fallback on CPU using Swiftshader.
    2. I established FFI-JSON to simplify binding for any programming languages to bind to my GUI Toolkit as well as extending the GUI Toolkit itself.
    3. Designed for Buffer-based controls - If you want to load up a 2GB text file into a textbox, it offers a way that it would work without freezing up the program.
    4. Accessibility protocol in IPC - Similar to DBus, but documentations are provided to simplify the process of utilizing such protocol and it’s focusing on cross-platform conventions where Dbus might not be available.
    5. Library itself is Cross-platform and written in C Language, enabling the larger cross-section of compatibility
    6. The project is built for IR linkage purposes hence why the code should be open source, because the code is already open by IR anyway. By offering IR linkage by default rather than Object files or dynamically linked library, IR allows everyone to gain immense performance boost through compiler’s features of auto-vectorization, dynamic dispatch converting to static dispatch when possible, internalization pass and more aggressive dead code eliminations. It’s not unusual to see a 80% reduction in code size through this process and see as much as 10x performance improvement compared to dynamically linked libraries.
    7. Conventions for stylizing/theming the GUI through CSS (the goal is to offer a permanent theming capability in GUI even though it can be a challenge to maintain.)

    That on top of my head, I wanted to have a GUI that focuses on making it easier to extend while keeping it conventional for those familiar with Windows Forms on Microsoft Windows and eventually WPF if time allows.

    That the gist of why I wrote my GUI Toolkit and I have spend 4 years working on it, it’s reaching the point that it could be ready for prime time basically.

    The licenses you brought up is interesting and it could work too.



  • 7900 XTX recently got support for Stable Diffusion and LLM, on paper, it’s faster than 4090 RTX for FP16 computation, it does seem faster judging my experience using rented 4090 RTX on Runpod and my 7900 XTX GPU. 14 seconds (4090 RTX) vs 6 seconds (7900 XTX.)

    7900 XTX is an option if you want $1000 cheaper than 4090 RTX and have similar sized VRAM and having comparable performance to that of 4090 RTX.