121

(2 160 відповідей, залишених у Інше)

На злобу дня:

Цинічні теорії

https://i.ibb.co/bmFnGZc/signal-2023-03-05-190704-002.jpg

Забрав останню з полиці. Видно, актуальна тема.

А ось полиця з навколокомп'ютерною темакою:

Прихований текст

https://i.ibb.co/16zfCtr/signal-2023-03-05-190704-004.jpg

Понуре видовище, звісно. Все сподіваюся, що там з'явиться щось бодай трохи цікаве. А його все нема і нема.

І це ще нормальна книгарня, де продають Фоліо. У ВСЛ і книгарні Є справи приблизно як описав Тарпан.

122

(2 160 відповідей, залишених у Інше)

Yola написав:

Книжок з програмування дійсно мало

Як і технічних загалом. В такому разі нема предмету розмови, бо художня література — це про смаки, а про смаки не сперечаються. 99% решта в книгарнях — це саме те що описав Тарпан, якщо звісно зважити, що його слова це метафора з дрібкою іронії.

славним патріотам зі слабкими нервами не читати

IMHO, проза Жадана — це цілковитий непотріб, по стилю, по сюжету, по темах. В інших успішних Sprachraum, де існує критична маса письменників, які вміють писати, таке ставлять у кращому випадку на дальні полиці з ширужитком, а частіше просто не приймають до друку.

123

(2 160 відповідей, залишених у Інше)

Yola написав:

У мене купа чудових україномовних книг.

Скільки з них на тему програмування? У книгарнях бачив тільки двійко перекладів Дядька Боба (обидва маю), дурниці по скраму/піемству й жабоскрипти для дітей. Певне існують ще якісь старопердунські підручники з інформатики і такого іншого, але в книгарнях ніколи такого добра не бачив.

Можна хоч завтра готувати до друку готові переклади: як отой по Rust від Коали і Ко., або по Гаскелю від чоловіка з Британії. Українцям звісно ж актуальніше бороти расизм проти 15 негрів, яку тут живуть, аніж заробляти кілобакси, працюючи програмістами.

124

(81 відповідей, залишених у Інше)

bvn написав:

Щоб спати було добре, треба спати з гарненькою жіночкою ;)

Щойно побачив цю тему в «Активних», зразу про це подумав. Зайшов… а тут якась нудятина.

125

(0 відповідей, залишених у Ваші проєкти)

Runepal — невеликий CLI-застосунок, який виводить інформацію про руни Elder Futhark.

Написаний мовою Haskell, значною мірою аби повчити її на практиці.

Втім, буде добре, якщо комусь стане у пригоді.

Код: https://github.com/bebyx/runepal

Бінарник (AMD Linux): https://github.com/bebyx/runepal/releas … unepal-exe

Топікстартер чомусь не вказав, звідки взяв (це нікому не потрібне) завдання: http://learnyouahaskell.com/functionall … calculator

127

(10 відповідей, залишених у Обговорення)

А що таке SET?

128

(13 відповідей, залишених у Обговорення)

Маєте на увазі git?

Ось є така програмка, скачайте інсталятор, запустіть і виконуйте інструкції.

129

(21 відповідей, залишених у Обговорення)

frz написав:
воно саме каже яким професіям поки що воно загрожує, на даний момент програмістів серед них нема (англійською)

https://media.licdn.com/dms/image/C4E22AQGMYGZ-1rGmVA/feedshare-shrink_1280/0/1676903855473?e=1680134400&v=beta&t=N6TRHddl7HKV7QBNFsBn1hoFvGNof7VQMRBYICiWGO0

Поки воно не має права керувати серверами і таким іншим, воно й девопсам з ДБАйниками не загрожує.

Хоча, думаю, фахівців рутинного рівня воно мало би напружити, бо цілком може їх замінити у недалекому майбутньому, лишаючи місце тільки інженерам з жилкою архітекта.

Втім поки економічна криза фільтрує слабких спеціалістів ліпше всяких ШІ.

130

(14 відповідей, залишених у Обговорення)

Chemist-i написав:

Короче грався тим, кажу намалюй мені ASCII art всякі штуки, 1 раз з десяти приблизно намалювало щось схоже на те, що я просив, все інше якась каша з ascii символів, ще й форматування пливе.

А я помітив інший прикол. У суботу просив його згенерувати зображення лісу в північній НІмеччині — то воно видало код якоїсь Пайтон-ліби, аби зробити це.

А коли просив у неділю, то вже відповідало, що не зегенерує зображення (ні звичайні, ні піксель-арт, приміром), й радило звернутися до художників, заґуґлити тощо.
Може щось підкрутили.

Хоча недоладний ASCII й Shift JIS арт досі видає.  :)

131

(14 відповідей, залишених у Обговорення)

Chemist-i написав:

Юзнув теж той chatGPT, чесно кажучи офігів, карманний джун блін

Прихований текст
я написав:

write program led blinking for avr in c

воно написав:

Sure! Here's an example program for blinking an LED on an AVR microcontroller in C:

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    // set the direction of pin 5 on port B to output
    DDRB |= (1 << DDB5);

    while (1) {
        // toggle the LED on and off
        PORTB ^= (1 << PB5);

        // delay for 500ms
        _delay_ms(500);
    }

    return 0;
}

This program uses the AVR-libc library to access the microcontroller's input/output ports and the built-in _delay_ms() function to create a delay between LED toggles.

The program sets pin 5 on port B as an output using the DDRB register. It then enters an infinite loop, toggling the LED on and off by XORing the PORTB register with a bitmask that sets pin 5. Finally, the program calls _delay_ms() to create a delay of 500 milliseconds between toggles.

Note that the exact pin and port used will depend on the specific AVR microcontroller you're working with. You'll need to consult the datasheet for your microcontroller to determine which pin and port to use.

я написав:

write program led blinking with pwm in c

воно написав:

Sure! Here's an example program for blinking an LED using PWM on an AVR microcontroller in C:

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    // set the direction of pin 5 on port B to output
    DDRB |= (1 << DDB5);

    // set timer/counter1 to fast PWM mode with non-inverted output on OC1A
    TCCR1A |= (1 << COM1A1) | (1 << WGM11) | (1 << WGM10);
    TCCR1B |= (1 << WGM13) | (1 << WGM12);
    // set prescaler to 8, so the timer runs at 2MHz
    TCCR1B |= (1 << CS11);

    while (1) {
        // increase the duty cycle from 0 to 255
        for (uint8_t duty_cycle = 0; duty_cycle < 255; duty_cycle++) {
            OCR1A = duty_cycle;
            _delay_ms(10);
        }

        // decrease the duty cycle from 255 to 0
        for (uint8_t duty_cycle = 255; duty_cycle > 0; duty_cycle--) {
            OCR1A = duty_cycle;
            _delay_ms(10);
        }
    }

    return 0;
}

This program uses the AVR-libc library to access the microcontroller's input/output ports, the built-in _delay_ms() function to create a delay between PWM changes, and the timer/counter1 module to generate the PWM signal.

The program sets pin 5 on port B as an output using the DDRB register. It then configures timer/counter1 for fast PWM mode with non-inverted output on OC1A. The prescaler is set to 8, so the timer runs at 2MHz. The duty cycle of the PWM signal is controlled by setting the OCR1A register, which specifies the compare value for the timer/counter1.

The program then enters an infinite loop, increasing and decreasing the duty cycle of the PWM signal using OCR1A and _delay_ms() to create a pulsing effect on the LED.

Note that the exact pin and port used will depend on the specific AVR microcontroller you're working with. You'll need to consult the datasheet for your microcontroller to determine which pin and port to use, and how to configure the timer/counter module for PWM mode.


я написав:

please add nokia 3310 display

воно написав:

Sure, here's an example program for blinking an LED using PWM on an AVR microcontroller in C and displaying the PWM duty cycle on a Nokia 3310 display:

#include <avr/io.h>
#include <util/delay.h>
#include <stdio.h>

// Nokia 3310 display interface
#define LCD_DATA_PORT PORTD
#define LCD_DATA_DDR DDRD
#define LCD_DATA_PIN PIND
#define LCD_SCE_PORT PORTB
#define LCD_SCE_DDR DDRB
#define LCD_SCE_PIN PB2
#define LCD_DC_PORT PORTB
#define LCD_DC_DDR DDRB
#define LCD_DC_PIN PB1
#define LCD_RST_PORT PORTB
#define LCD_RST_DDR DDRB
#define LCD_RST_PIN PB0

// function prototypes
void lcd_init(void);
void lcd_write_command(uint8_t cmd);
void lcd_write_data(uint8_t data);
void lcd_set_position(uint8_t x, uint8_t y);
void lcd_clear(void);
void lcd_write_string(const char* str);

int main(void)
{
    // set the direction of pin 5 on port B to output
    DDRB |= (1 << DDB5);

    // set timer/counter1 to fast PWM mode with non-inverted output on OC1A
    TCCR1A |= (1 << COM1A1) | (1 << WGM11) | (1 << WGM10);
    TCCR1B |= (1 << WGM13) | (1 << WGM12);
    // set prescaler to 8, so the timer runs at 2MHz
    TCCR1B |= (1 << CS11);

    // initialize the Nokia 3310 display
    lcd_init();

    while (1) {
        // increase the duty cycle from 0 to 255
        for (uint8_t duty_cycle = 0; duty_cycle < 255; duty_cycle++) {
            OCR1A = duty_cycle;

            // clear the display and set the cursor position
            lcd_clear();
            lcd_set_position(0, 0);

            // print the duty cycle value to the display
            char str[16];
            sprintf(str, "Duty cycle: %d", duty_cycle);
            lcd_write_string(str);

            _delay_ms(10);
        }

        // decrease the duty cycle from 255 to 0
        for (uint8_t duty_cycle = 255; duty_cycle > 0; duty_cycle--) {
            OCR1A = duty_cycle;

            // clear the display and set the cursor position
            lcd_clear();
            lcd_set_position(0, 0);

            // print the duty cycle value to the display
            char str[16];
            sprintf(str, "Duty cycle: %d", duty_cycle);
            lcd_write_string(str);

            _delay_ms(10);
        }
    }

    return 0;
}

// initialize the Nokia 3310 display
void lcd_init(void)
{
    LCD_RST_DDR |= (1 << LCD_RST_PIN);
    LCD_RST_PORT |= (1 << LCD_RST_PIN);

    LCD_SCE_DDR |= (1 << LCD_SCE_PIN);
    LCD_SCE_PORT |= (1 << LCD_SCE_PIN);

    LCD_DC_DDR |= (1 << LCD_DC_PIN);
    LCD_DC_PORT |= (1 << LCD_DC_PIN);

    LCD_DATA_DDR |= 0xFF;
    LCD_DATA_PORT &= ~(0xFF);

    _delay_ms(100);

    lcd_write_command(0x21); // extended commands
    lcd_write_command(0xC8); // set contrast
    lcd_write_command(0x06); // temperature correction
    lcd_write_command(0x13); // bias mode 1:48
я написав:

write the schematic

воно написав:

Here's a simple schematic for the AVR circuit with an LED and Nokia 3310 display:

             +5V
              |
             [ ] C1
              |
            __|__
           |     |
           |     |
           |     |
         __|     |__
        |          |
        |          |
        |   AVR    |
        |          |
        |          |
        |__________|
           |  |  |
           |  |  |
           |  |  |
         GND  |  |
              |  |
              |  |
              |  |
            [ ] R1
              |
             LED
              |
             GND


    Nokia 3310 Display:
    --------------------

    LCD_RST ----[ 1k ]---- VCC
                  |
                  |
    LCD_SCE ----[ 1k ]---- PB2
                  |
                  |
    LCD_DC -----[ 1k ]---- PB1
                  |
                  |
    MOSI   -----[ 1k ]---- PB3
                  |
                  |
    SCK    -----[ 1k ]---- PB5
                  |
                  |
    LED    -----[ 330 ]--- GND

Note: This schematic is a simplified example for educational purposes only. It may not be suitable for production use and may require additional components or modifications for reliable operation. Please consult the datasheets and specifications of the components used and follow recommended design practices when creating your own circuit.

Так, з кодом у нього/неї справи непогані.

Я наразі юзаю його як кишенькового порадника по концепціях КН, він наводить гарні приклади, що не треба лізти до СтакОверфлову, ще й пояснить незрозуміле у прикладі, якщо перепитати. Зручно.

А ще команда make this code more concise для мов, які вчу, допомагає опанувати концепції краще. Хоча один раз видав таку дурницю два рази підряд на простий Haskell-код, що мусив його поправляти.

132

(14 відповідей, залишених у Обговорення)

Побачив новину, що хайповий ChatGPT відкрили для українських користувачів і вирішив потестувати.

Перевірив кілька речей, які мене цікавили.

1. Погано знає українську. Якщо точніше — це рівень і стиль машинного перекладу з російських SEO-статтей.

Коли просив навести уривки з Другого статуту ВКЛ і Слова о полку Ігоревім в оригіналі, то доходило тільки з другого разу.

2. Видає простий код, якщо створити точний запит. Загалом непогано, це може згодитися для бойлерплейтів.

3. На інформаційні запити на кшталт порекомендуй ігри, схожі на X, видає таку собі комерційну SEO-статтю посередньої якості. Якщо спитати, що таке Z, то видасть визначення а-ля Вікіпедія. Втім навіть як заміна пошуковим системам нормі-бот не годиться, бо видає результати ну дуже довго.

4. Навмисне пробував питати контроверсійне. Отже, про чоловіків і українців воно жартує, а про трансгендерів — ні-ні, бо це їх ображає. Тобто чоловіків і українців ображати можна. Коротше кажучи, штучному «інтелекту» передалася шиза своїх творців, на жаль.

5. Найсмішніше — це коли я попрохав скласти вірша про ThinkPad E595 у стилі Богдана-Ігоря Антонича. Це звісно ж не вірш і не Антонич, але розважило.

вірш

https://i.ibb.co/XF20n2x/Screenshot-2023-02-18-at-17-50-14-Chat-GPT.png

tl;dr Якщо вам набридло говорити з живими NPC, які живуть біля вас, можете спробувати поспілкуватися з ChatGPT. Однак на практиці воно ні для чого не годиться, крім хіба лайтової роботи з кодом чи зі спамом. Хайп такий хайп.

133

(27 відповідей, залишених у Ваші проєкти)

Скачав. Тепер помилка не вилітає.  *OK*

134

(27 відповідей, залишених у Ваші проєкти)

Спробував. Непогана -- наприклад, я часто забуваю про чай, який поставив заварюватися. І мінімалізм подобається.

З зауваг:

- Додавати чаї незручно і неінтуїтивно, але це нехай -- хотів би фічу, аби можна було завантажити зразу декілька видів чаю, наприклад, імпортувати з csv-файлу
- Працюю на Маку та Лінуксі, Віндовс годиться лише для ігор, але коли граю в ігри, мені не до чаю -- отже, було б файно портувати на дві інші популярні ОС
- Варто виправити помилку, яка ламає увесь функціонал

135

(3 відповідей, залишених у Java)

Ostapko написав:

Як зробити, щоб версія була всюди 11?

Не знаю як це робити у Віндовсі, але в sdkman'і або Арч Лінуксі (archlinux-java) виставляється дефолтна версія.

Сильно під капот не лазив, бо it just werks, але бачу, що sdkman ставить у JAVA_HOME шлях до ~/.sdkman/candidates/java/current, який є символьним лінком на мою інсталяцію 11 Джави ~/.sdkman/candidates/java/11.0.16.1-tem. Спробуйте може виставити JAVA_HOME у налаштуваннях змінних середовища Віндовса.

136

(12 відповідей, залишених у Робота)

Torbins написав:

Якщо ваш поточний проект не завантажує вас на всі 100%, і ви маєте вільний час, то можна й самому щось вчити, чи девелопати.

Цей варіант мені завжди актуальний, я й на дозвіллі коджу. Однак коли поробив реальні девелоперські таски, то побачив, наскільки це швидше розвиває: з щільним рев‘ю від досвідченіших фахівців, з адаптацією до існуючого хорошого коду на проекті, з повними оплаченими регулярними 8 годинами на день замість кількох нерегулярно відщеплених од вільного часу. Любительська розробка все ж по темпах/інтенсивності просідає.

137

(24 відповідей, залишених у Залізо)

HetmanNet написав:

Ну буде стояти два SSD один M.2 і один 2.5". Хоча все залежить від об'єму диску який бажаєте додатково поставити, бо SSD на 2ТБ може багатсько тягнути (споживати завеликий струм в порівнянні з hdd), але 512ГБ (2.5") додатково до 512ГБ (M.2) кажуть ставили на цю модель.

Дякую за інформацію, досліджу це. Справді не здогадувався, що можна ставити SSD, бо навіть на ютубі лише приклади з HDD з моєю моделлю, а варіант з додатковим SSD все ж набагато краще.  *OK*

138

(24 відповідей, залишених у Залізо)

koala написав:

У 2023 хтось не знає, що SATA-роз'єму начхати, під'єднаний до нього SSD чи HDD?

Уявіть собі, не знає. І замість того, аби бризкати отрутою, ви могли би спокійно про це сказати. Саме для цього цей розділ.

Не соромно чогось не знати, соромно бути огидним токсиком.

139

(10 відповідей, залишених у C++)

Foxy4 написав:

Підскажіть, будь ласка, що там не так?

Я ваш код закинув ув онлайн-компілятора і просто виправив помилки. Вийшло отак:

#include <stdio.h>

int main() {
    const int MAX = 100;
    int k = 0;
    char* arr[MAX];
    const char* symbols = " .,-;:()";
    for (; k < MAX; k++) {
        printf("Введіть %d речення: ", k + 1);
        if (gets(arr[k]) == NULL) {
            break;
        }
    }
    return 0;
}

Але ви краще послухайте koala, він фахівець.

140

(24 відповідей, залишених у Залізо)

javascriptIsLife написав:

І також потрібно зробити так щоб автоматично задавало параметри для HDD після, наприклад виходу з режиму очікування або через певний проміжок часу відсутності зверненнь до HDD.

Хіба запису в fstab не має бути достатньо?