selawdivad

joined 2 years ago
[–] selawdivad@lemm.ee 1 points 2 years ago (1 children)

Christians shouldn't be surprised to be hated. It's right there in 1 John 3:13:

Do not be surprised, my brothers and sisters, if the world hates you.

But Christians should make sure they are hated for the right reasons (unpopular beliefs), rather than the wrong reasons (lack of kindness and love). On behalf of Christians I am sorry for times when we have allowed fear, prejudice, hysteria and selfishness to stop us from loving those we disagree with, or those we don't understand.

I am a conservative Christian, so I am certain there is much we disagree on. But Christians everywhere, myself included, need to remember to love all people, despite our disagreements, as we are encouraged to do in Mat 5:43-48 and Rom 12:9-21.

[–] selawdivad@lemm.ee 2 points 2 years ago

It worked, but it was slow and dropped packets sometimes. I think the next team switched to Java. I met with them and walked them through the code and suggested they try a different approach. Hopefully they did!

[–] selawdivad@lemm.ee 6 points 2 years ago (1 children)

I mainly use Python, so my workflow is the same on every OS: Neovim and a shell, usually one of each in a vertical split. This transfers nicely to remote SSH sessions too, and even works in Termux on my phone!

Have you investigated whether it's possible to test your cross-compiled builds in Qemu, rather than copying them to the host?

[–] selawdivad@lemm.ee 1 points 2 years ago

I think they said in the release article that they were going to roll 115 out slowly because it's such a big change.

[–] selawdivad@lemm.ee 10 points 2 years ago

What are your hobbies? Most people struggle to learn programming until they find a project that they are interested in. You mentioned an interest in music. Perhaps you could try Sonic Pi, which is a live coding environment where you can create music from code. It comes with a built-in tutorial, and a bunch of pre-written example code-music. It's built with the ruby language.

[–] selawdivad@lemm.ee 7 points 2 years ago

My 3 year old daughter has a 2010 MacBook running AntiX. She knows how to boot it, press Enter on the dual-boot screen, and is getting close to being able to select Stardew Valley from the app menu. She also enjoys playing GCompris.

[–] selawdivad@lemm.ee 17 points 2 years ago (3 children)

One of the first real programs I wrote was a program to display telemetry data from a CAN bus. I was on the solar car team at uni, and we wanted to be able to view the data from the various systems live during the race. The CAN network was connected to a CAN-ethernet converter, which sent UDP packets over a wireless ethernet link to our lead car. I had no experience with networking, or UDP or CAN at all, but I had some documentation and a lot of free time, so I got to work.

Each device on the CAN network had a bit mask to identify it. For example, the bit mask for the motor controller might have been 0x1200. This meant that any packet starting with 0x12 belonged to the motor controller. For example, 0x1201 was one type of message, and 0x1202 another type, but both belonged to the motor controller.

There was specific logic for each device on the network, so you needed to first figure out which device owned a packet using the bit mask, then apply the relevant logic to decode the packet.

Looking back, I realise the correct way to approach this would be to have a list of bit masks:

0x1200
0x1300
0x1400

Then simply bitwise & any incoming packet with 0xff00, and lookup the result in the list of bit masks.

Not knowing better however, what I actually did was create a giant dictionary of every possible packet value, so I could lookup any packet and determine which system it came from. This was so repetitive that I had to make use of my newfound super-power -- vim macros -- to complete the 8000 line dictionary...

Excerpt from real code below:

{
    0x102:
    {
        'name':             'SHUNT_CMU_STATUS_TEMPERATURE_AND_VOLTAGE_1_2',
        'data':
        [
            'cell_0_voltage',
            'cell_1_voltage',
            'cell_2_voltage',
            'cell_3_voltage',
        ],
        'unpack_string':    'intle:16, intle:16, intle:16, intle:16'
    },

    0x103:
    {
        'name':             'SHUNT_CMU_STATUS_TEMPERATURE_AND_VOLTAGE_1_3',
        'data':
        [
            'cell_4_voltage',
            'cell_5_voltage',
            'cell_6_voltage',
            'cell_7_voltage',
        ],
        'unpack_string':    'intle:16, intle:16, intle:16, intle:16'
    },
}
[–] selawdivad@lemm.ee 7 points 2 years ago (1 children)

I just use the KeePassXC password generator. :)

[–] selawdivad@lemm.ee 3 points 2 years ago

I have a git repository in ~/dotfiles, and symbolic link the ones I want as I need them. I've only just started tracking my dotfiles and I'm not super disciplined with it yet, so I still have slightly different setups on each system.

[–] selawdivad@lemm.ee 10 points 2 years ago

Organic Maps is the maintained fork of Maps.me. See the wikipedia article for details.

[–] selawdivad@lemm.ee 7 points 2 years ago

The first step is to make sure your hardware is supported. I've found the linux hardware database to be invaluable getting new systems configured. The site is overwhelming at first, but the easy path is to just click the big 'Probe your computer' button and follow the instructions. Once you've done a probe, you'll get a web-page with a listing of all your computer's hardware and the support status. Even better, you get links to additional drivers or kernel modules required to get stuff working which isn't supported out of the box.

[–] selawdivad@lemm.ee 1 points 2 years ago

PostmarketOS have a wiki page for it. Looks like it's tethered only, and pretty limited.

view more: ‹ prev next ›