8
¿Quieres? (lemmygrad.ml)
submitted 5 months ago by [email protected] to c/[email protected]

I made this edit a while back when a streamer I watch did a max ante run or wherever it's called.

If you have never played Balatro, it's a really good game. Definitely recommend!

5
¿Quieres? (lemmygrad.ml)
submitted 5 months ago by [email protected] to c/[email protected]

I made this edit a while back when a streamer I watch did a max ante run or wherever it's called.

If you have never played Balatro, it's a really good game. Definitely recommend!

[-] [email protected] 16 points 7 months ago* (last edited 7 months ago)

That's scary...

Edit: It seems that it didn't have a nuclear payload, but still kinda scary. I hope the situation doesn't escalate more than this.

2
submitted 2 years ago by [email protected] to c/[email protected]

Only 2 buttons are actually connected, but they work well.

The duo comes without the connectors, so I had to solder some into it. It was a fun experience!

For the people who don't know the duo, it is a very little board (something like an alternative to the RPi Pico) that runs a RISC-V chip! I bought mine from Aliexpress in a pack with other stuff for like 10€.

Here is the underside of the gamepad thingy:

A picture showing the underside of the gamepad. It has wires soldered into it.

Not the best soldering job but it's to be expected since I don't have experience.

I also made a little program in C to test the buttons:

A picture showing a terminal window with " 'A' button has been pressed! " written several times on it.

Every time I press a specific button the program prints a string to the screen. When pressing the other wired button the program ends.


Here is the source code in case anyone is curious

#include 
#include 
#include 

#include 
#include 



/// It's t1 - t2, in seconds
double get_time_diff(struct timespec t1, struct timespec t2) {
    double a = (double)t1.tv_sec + (t1.tv_nsec / 1000000000.0);
    double b = (double)t2.tv_sec + (t2.tv_nsec / 1000000000.0);

    return a-b;
}

int main() {
    
    const int DEFAULT_COUNTER = 1;
    const double FRAME_TIME = 1.0 / 60.0;

    int BUTTON_A = 7;
    int BUTTON_B = 8;


    int A_high = 0;

    int A_pressed = 0;
    int A_just_pressed = 0;

    int A_counter = 0;


    int B_high = 0;

    int B_pressed = 0;
    int B_just_pressed = 0;

    int B_counter = 0;


    if(wiringXSetup("duo", NULL) == -1) {
        wiringXGC();
        return -1;
    }

    if(wiringXValidGPIO(BUTTON_A) != 0) {
        printf("Invalid GPIO %d\n", BUTTON_A);
    }
    if(wiringXValidGPIO(BUTTON_B) != 0) {
        printf("Invalid GPIO %d\n", BUTTON_B);
    }

    pinMode(BUTTON_A, PINMODE_INPUT);
    pinMode(BUTTON_B, PINMODE_INPUT);



    time_t init_time;
    time(&init_time);

    printf("Init time: %s\n", ctime(&init_time));

    struct timespec tick_start_time;
    timespec_get(&tick_start_time, TIME_UTC);
    struct timespec tick_end_time;
    timespec_get(&tick_end_time, TIME_UTC);


    // Start ncurses
    initscr();


    while(1) {
        
        timespec_get(&tick_start_time, TIME_UTC);

        if (get_time_diff(tick_start_time, tick_end_time) >= FRAME_TIME ) {
            
            // INPUT
            if (digitalRead(BUTTON_A) == HIGH) {

                if (A_high == 0) {
                    A_counter = DEFAULT_COUNTER;
                } else if (A_counter > 0) {
                    A_counter--;
                }
                
                A_high = 1;

                if (A_just_pressed == 1) {
                    A_just_pressed = 0;
                }

                if (A_counter <= 0) {

                    if (A_pressed == 0) {
                        A_just_pressed = 1;
                    }

                    A_pressed = 1;

                }
                
            } else {

                if (A_high == 1) {
                    A_counter = DEFAULT_COUNTER;
                } else if (A_counter > 0) {
                    A_counter--;
                }

                A_high = 0;

                if (A_counter <= 0) {
                    A_just_pressed = 0;
                    A_pressed = 0;
                }

            }

            if (digitalRead(BUTTON_B) == HIGH) {

                if (B_high == 0) {
                    B_counter = DEFAULT_COUNTER;
                } else if (B_counter > 0) {
                    B_counter--;
                }
                
                B_high = 1;

                if (B_just_pressed == 1) {
                    B_just_pressed = 0;
                }

                if (B_counter <= 0) {

                    if (B_pressed == 0) {
                        B_just_pressed = 1;
                    }

                    B_pressed = 1;

                }
                
            } else {

                if (B_high == 1) {
                    B_counter = DEFAULT_COUNTER;
                } else if (B_counter > 0) {
                    B_counter--;
                }

                B_high = 0;

                if (B_counter <= 0) {
                    B_just_pressed = 0;
                    B_pressed = 0;
                }

            }

            
            // UPDATE
            if (A_just_pressed == 1) {
                printw("'A' has just been pressed!\n");
            }
            if (B_just_pressed == 1) {
                // Exit the loop, which will end the program
                break;
            }

            refresh();
            timespec_get(&tick_end_time, TIME_UTC);
        }

    }

    // Stop ncurses
    endwin();

    return 0;
}


I hope someone finds this interesting! Thanks for reading.

40
submitted 2 years ago by [email protected] to c/[email protected]

I'm really curious to see it in action so I downloaded it. There are two versions, Nova Escritorio (Nova Desktop) and Nova Ligero (Nova Lite/Lightweight).

Curiously Nova Ligero seems to be only 200MB smaller than Nova Escritorio. (1.9GB vs 1.7GB)

Here's some download links in Pixeldrain, for faster download speeds and in case the original servers are down when you want to download.


Nova Escritorio 9.0https://pixeldrain.com/u/jf1TivHd


Nova Ligero 9.0https://pixeldrain.com/u/7SipXJ2b

2
Responsibilities (lemmygrad.ml)
submitted 2 years ago by [email protected] to c/[email protected]

This is how responsibilities make me feel most of the time. I know I should stop neglecting my responsibilities but it's just so hard for some reason...

I wonder if other people have a similar problem.

[-] [email protected] 54 points 2 years ago

Of course they gave the IDF soldier a dog for the pic 💀

[-] [email protected] 16 points 2 years ago

Does the CPC actually believe in a two-state solution? To me it feels like they just want to stay out of conflicts but what would I know.

1
submitted 2 years ago by [email protected] to c/[email protected]
1
submitted 2 years ago by [email protected] to c/[email protected]

I'm not very good at reviewing stuff but I will do my best, if anyone knows a better methodology for a test or wants me to test something please tell me, I want these reviews to be the best they can be.


Post updates

  • 2023-10-09: Original version


Ordering the board

I ordered the 4GB RAM version board on June 2023 alongside a 5V 3A power supply, here's the breakdown of the costs:

  • Quartz64B 4GB SBC: $60
  • 5V 3A EU power supply: $7
  • Shipping to Spain: $12

Total: $79, $67 excluding shipping.

Unfortunately I don't remember how long it took to arrive.


Hardware

My board has a Rockchip RK3566, it has 4 Cortex A55 cores running up to 1.8GHz and it has 4GB LPDDR4 RAM.

I can see printed on the board that I got the V1.3 revision, and the date "2022_02_22" which I assume is the manufacturing date, curiously on "Twosday."

The board has 2 buttons on the side, close to the SD card slot. I think one is a power button and the other a reset button, but it's not very clear to me.

The board also has 2 LEDs, a green one signaling that the board has power and a blue one that blinks like a heartbeat signaling that the board is running. They are very bright, which is good in situations where there is a lot of ambient light but it can be annoying in low-light situations. At night when the lights are off it can very dimly light up a room, and the heartbeat LED is very noticeable in this situation. However it's not that big of a problem really, just slightly hard on the eyes when looking directly at the board.


The connectors of this board are:

  • 1x HDMI (Full size!)
  • 1x Gigabit Ethernet
  • 2x USB 2.0
  • 1x USB 3.0
  • 1x 3.5mm Audio Jack with mic input
  • 1x 3.5mm barrel power input (To power the board)
  • 1x SD Card slot

  • 1x 40 pin GPIO
  • 1x DSI port
  • 1x CSI port
  • 1x RTC port
  • 1x M.2 slot (1x PCIe Gen2)
  • 1x SPI Flash 128Mbit
  • 1x eMMC module slot


Software

Before anything else I think it's very important to point out that X11 doesn't seem to work properly with this board, I don't know if it's a software or hardware problem but it seems like other people have this same issue. If I want to use the board as a tiny Linux desktop I must use Wayland, which is quite a problem as the Desktop Environments that support Wayland happen to be quite resource intensive most of the time. XFCE is pretty much unusable even when it is quite lightweight due to this problem, as it only runs on X11 as far as I know. I have tried to install LabWC (a Window Manager very similar to OpenBox that runs on Wayland) on this board's build of Armbian but I can't figure out how to do it.

I'm saying this since that might be a deal breaker for some people.

The Linux distros that I have tried in this board are:

  • Armbian
  • Manjaro ARM
  • Plebian

Manjaro ARM has an image that comes with Sway, a Window Manager that runs on Wayland (so it doesn't have the X11 issues) and is quite lightweight. The Sway version comes configured in a fairly nice way, but it can see how someone could still find it awkward if they have never tried a tiling WM before.


Desktop usability

Currently I'm writing this post using the board, I'm running Gnome 44.3 on an Armbian build that originally came with XFCE. I'm using a 1080p 144Hz display and while I have seen some visual glitches the desktop runs fine as long as nothing resource intensive is going on.

Firefox is not very fluid, but it is usable. It depends a lot on what pages you have open. Lemmygrad runs fairly well, but pages such as YouTube are quite painful to use. An arbitrarily selected YouTube video running at 480p 30fps drops around 10% of its frames, and loading stuff takes quite a while. Things get better on Invidious but it's still sluggish.

LibreOffice Writer is usable but feels sluggish, especially when scrolling through a document.

Moving the mouse in circles over Firefox puts the CPU at around 60% which is kinda concerning. Not moving the mouse or typing makes the CPU idle at around 1-6%. Moving the mouse in circles over btop running on a foot terminal window puts the CPU at around 25%. All of this is in a display running at 144Hz.


Benchmarks and temperatures

  • 7z b

pic:7z b benchmark

The CPU seems to thermal throttle when approaching 70ºC, which probably explains why each consecutive result is lower than the one before it. I already have stuff to cool the board's chips on the way here, I will repeat these tests once they arrive.


Unfortunately the only other SBC I have is a Raspberry Pi 3B so I don't really have a point of reference to be able to tell if the board is worth it. I think the X11 issue is quite a problem that should be considered if you are eyeing this board.

If you think something about this review can be improved or you want me to test something feel free to comment.

[-] [email protected] 16 points 2 years ago

The undemocratic dissolution of the Soviet Union seems to be visible in the graph, on the World line.

[-] [email protected] 26 points 2 years ago

Expat / immigrant

[-] [email protected] 17 points 2 years ago

I'm an atheist but I think we should respect people's religious beliefs. If someone is a good socialist then it shouldn't matter if they are religious or not, being anti-religious will only make religious people avoid socialism for no real reason, we don't get anything by being anti-religious.

I mean, of course we shouldn't let religious institutions have power as they are usually quite reactionary, but the religious beliefs of people should be respected in my opinion.

1
submitted 2 years ago by [email protected] to c/[email protected]

Not sure what community I should put this, are stray cats urban wildlife?

27
submitted 2 years ago by [email protected] to c/[email protected]

I like helping people, and I think that due to my circumstances I would be able to understand more and be more empathetic towards the people I help once I (hopefully) complete my studies.

I hope working as a social integrator will make me feel fulfilled. Wish me luck.

47
submitted 2 years ago by [email protected] to c/[email protected]

Someone correctly pointing out that calling people fat is bad is downvoted, and someone called "literally_himmler1" replying with a nerd emoji is upvoted.

I am going to commit sudoku.

27
submitted 2 years ago by [email protected] to c/[email protected]

I'm in the PCPE, and they seem to focus a lot on educating and radicalizing people.

That is important of course, but I thought that organizing material support for people that needs it would not only actually improve the lives of people but also show the general population that "the commies" aren't some bloodthirsty monsters but instead actual people that want a better world.

What do you think? I think it's a good idea.

1
ADHD moment (lemmygrad.ml)
submitted 2 years ago by [email protected] to c/[email protected]
[-] [email protected] 13 points 2 years ago

Seems to have been already nuked, or at least I'm getting a 404 with the link provided.

[-] [email protected] 36 points 2 years ago

Primarily China. Some western leftists can't understand that having markets doesn't mean a country isn't socialist.

[-] [email protected] 33 points 2 years ago

The moderator of that community makes like 99% of the posts.

That is some dedication to being wrong.

[-] [email protected] 19 points 2 years ago

It's radio free asia, so it's definitely a fabrication

[-] [email protected] 13 points 2 years ago

I had someone pirate my switch 👍

Fuck Nintendo best 60€ I've ever spent

[-] [email protected] 28 points 2 years ago

I've definitely noticed it with grand strategy games, take this with a grain of salt but I assume that it is because these kind of games let the players live their political fantasies, which I guess it's more appealing to people who want a different kind of society than the one they live under IRL. This is all just speculation though.

I personally like these games precisely because of that reason, I like building up socialist countries in Victoria 3 because that's currently the only way for me to "have a taste" of socialism, even when it's just a bunch of pixels on screen.

view more: next ›

Spanish_Commie

0 post score
0 comment score
joined 3 years ago
MODERATOR OF