social.dark-alexandr.net


sss friendica
I find it interesting that some people are more concerned about retail stores knowing they're nearby than about their cellphone carrier knowing their location 24x7 and being able to sell it or hand it over to the government at will with no recourse.

I guess as long as it's invisible to them it's fine?

sss friendica
есть у кого нибудь код запускающий процесс с io пайпасм для stdout/stderr/stdin с использованием например posix_spawn, или чего то другого стандартного из posix или на крайняк gnu extensions (лучше конечно posix), нужно запускать процесс и получать его вывод на системе без /bin/sh (в системе вобще нет какого либо sh, это embedded)

нужно сделать аналог такого кода

static int run_cmd_ret(const char* cmd, char** out)
{
    FILE [i]f = popen(cmd, "r");
    int is_debug = 0;
    char buf[block_size], *out_buf;
    size_t out_size = 0;
#ifdef DEBUG
    is_debug = 1;
    printf("executing: \"%s\"\n", cmd);
#endif
    if (!f)
    {
        dbg_print("popen failed\n");
        return -1;
    }
    if (out || is_debug)
        out_buf = (char[/i])malloc(block_size);
    while (!feof(f) && !ferror(f))
    {
        int len = fread(buf, 1, block_size, f);
        if (len && (out || is_debug))
        {
            out_buf = realloc(out_buf, out_size + len + 1);
            if (!out_buf)
            {
                dbg_print("realloc failed\n");
                return -1;
            }
            memcpy(out_buf + out_size, buf, len);
            out_size += len;
        }
    }
    if (out || is_debug)
        out_buf[out_size] = 0;
    if (out)
        *out = out_buf;
    if (is_debug)
    {
        dbg_print(out_buf);
        if (out_buf[out_size - 1] != '\n')
            dbg_print("\n");
        if (!out)
            free(out_buf);
    }
    return 0;
}

static int run_cmd(const char* cmd)
{
    return run_cmd_ret(cmd, 0);
}

но popen требует наличия /bin/sh в системе.
sss hubzilla (AP)
https://unix.stackexchange.com/questions/252901/get-output-of-posix-spawn - надо попробовать.
<br />#include &lt;stdio.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;sys/stat.h&gt;<br />#include &lt;fcntl.h&gt;<br />#include &lt;spawn.h&gt;<br /><br />int main(int argc, char* argv[], char *env[])<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;int ret;<br />&nbsp;&nbsp;&nbsp;&nbsp;pid_t child_pid;<br />&nbsp;&nbsp;&nbsp;&nbsp;posix_spawn_file_actions_t child_fd_actions;<br />&nbsp;&nbsp;&nbsp;&nbsp;if (ret = posix_spawn_file_actions_init (&child_fd_actions))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perror (&quot;posix_spawn_file_actions_init&quot;), exit(ret);<br />&nbsp;&nbsp;&nbsp;&nbsp;if (ret = posix_spawn_file_actions_addopen (&amp;child_fd_actions, 1, &quot;/tmp/foo-log&quot;, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;O_WRONLY | O_CREAT | O_TRUNC, 0644))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perror (&quot;posix_spawn_file_actions_addopen&quot;), exit(ret);<br />&nbsp;&nbsp;&nbsp;&nbsp;if (ret = posix_spawn_file_actions_adddup2 (&amp;child_fd_actions, 1, 2))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perror (&quot;posix_spawn_file_actions_adddup2&quot;), exit(ret);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if (ret = posix_spawnp (&amp;child_pid, &quot;date&quot;, &amp;child_fd_actions, NULL, argv, env))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perror (&quot;posix_spawn&quot;), exit(ret);<br />}<br />


What does it do?

The third parameter of posix_spwan is a pointer of type posix_spawn_file_actions_t (one you have given as NULL). posix_spawn will open, close or duplicate file descriptors inherited from the calling process as specified by the posix_spawn_file_actions_t object.
So we start with a posix_spawn_file_actions_t object (chiild_fd_actions), and initialize it with posix_spawn_file_actions_init().
Now, the posix_spawn_file_actions_{addopen,addclose,addup2} functions can be used to open, close or duplicate file descriptors (after the open(3), close(3) and dup2(3) functions) respectively.
So we posix_spawn_file_actions_addopen a file at /tmp/foo-log to file descriptor 1 (aka stdout).
Then we posix_spawn_file_actions_adddup2 fd 2 (aka stderr) to fd 1.
Note that nothing has been opened or duped yet. The last two functions simply changed the child_fd_actions object to note that these actions are to be taken.
And finally we use posix_spawn with the child_fd_actions object.
Iron Bug friendica (via ActivityPub)
чота код распидорасило от HTML'а.
sss friendica
@Iron Bug @sss это авторепост с хабзилы, что то они как то между собой не дружат, разбираться лень, и так работы много.
оригинал тут https://hubzilla.dark-alexandr.net/display/b64.aHR0cHM6Ly9odWJ6aWxsYS5kYXJrLWFsZXhhbmRyLm5ldC9pdGVtLzA3Yjg1Y2NjLWRmNTQtNDEwOC1iM2U3LTExYzhjYjNhYzA4MA
Iron Bug friendica (via ActivityPub)
ну, там его немного меньше распидорасило 😀 хотя выравнивание съехало и всё в кучу. но в перепосте выглядит страшнее.
sss hubzilla (AP)
хрен с ним

sss friendica
#blm #humor #idiots

В связи с тем что большинство книг и прочих печатных текстов напечатано черным по безлому - они подлежат немедленному сжиганию.



sss friendica
Все на Парад... планет
Все на Парад... планет




В ближайшие дни будет происходить любопытное астрономическое событие - парад планет. Для науки это даже не событие, и никакого реального влияния этот парад на Землю или нашу жизнь не окажет. Зато это хороший повод выйти вечером на балкон или улицу и полюбоваться ночным небом, если повезет с погодой.

Парадом планет могут называть разные положения планет Солнечной системы:
- когда несколько планет выстраиваются близко к одной линии, относительно Солнца;
- когда несколько планет собираются в одном участке земного неба;
- когда все планеты можно наблюдать с Земли в течение одной ночи.

В ближайшие дни состоится парад планет первого типа, Земля в нем участвует, поэтому мы не увидим этот парад полностью. В ночное время можно увидеть яркие Марс, Сатурн, Юпитер и Луну, а к утру поднимется еще Венера. В ясную погоду их можно увидеть невооруженным глазом даже из центров ярко освещенных городов, но могут помешать высотные здания, т.к. планеты будут относительно невысоко над горизонтом.

Кому не повезло с погодой сегодня, могут спокойно подождать следующих более ясных ночей, в ближайшие дни картина на небе сильно не изменится, за исключением движения Луны.




Ночью 6 июля для наблюдателя с Земли Луна сблизится с Юпитером и Сатурном, такое соседство тоже привлекает внимание. 12 июля Луна сблизится с Марсом в своем пути по земному небу.

В августе будут подходящие условия для наблюдения в течение ночи всех планет Солнечной системы, включая Меркурий, хотя для Урана и Нептуна понадобится телескоп.

Если у вас есть фотоаппарат с зум- или телеобъективом или бинокль, то можно обратить внимание на Юпитер. Его легко найти ночью в южной части неба - это самый яркий бледно-оранжевый объект похожий на звезду. Левее него будет желтоватый Сатурн.




Если воспользоваться оптическими средствами, то можно рассмотреть спутники Юпитера. Планета-гигант сейчас сближается с Землей по орбите, поэтому особенно ярко видна на нашем небе.




Можно сделать несколько кадров в течение ночи с разницей полчаса или час и заметить как спутники движутся по орбите. Именно такие наблюдения когда-то позволили людям сформировать гелиоцентрическую картину мира и понять, что все планеты обращаются вокруг Солнца.

Марс с ближайшие месяцы тоже будет сближаться с Землей в своем орбитальном движении, поэтому его видимая яркость возрастет, ну а к утру на востоке появится Венера.




Утром самых стойких ожидает бонус - комета C/2020 F3 (NEOWISE), которая будет видна в бинокли и телескопы за пару часов до восхода солнца над горизонтом в том месте где должно вставать наше дневное светило.

Не забывайте, что ночью становится холоднее, соблюдайте дистанцию, надевайте перчатки и маски в людных местах, и приятной астрономии. Пост подготовлен при поддержке сообщества Наблюдательная астрономия.

Для иллюстраций использовались онлайн-сервисы Solarsystemscope и Stellarium.

Image/photozelenyikot

sss friendica
Pop Open Your Neighbor’s Front Door With 12 Volts

Many in the community are skeptical about the security of commercial smart home devices, and for good reason. It’s not like you have to look far to find examples of poorly implemented systems, or product… https://hackaday.com/2020/07/01/pop-open-your-neighbors-front-door-with-12-volts/

Original tweet : https://twitter.com/hackaday/status/1278469982633033730
Изображение / Фото


sss friendica

Wanna break free from #?


Here are some recommendations:
What did I missed? What is you favourite alternative? and why?
# # # # # # # # # # # # # #
Phil Reese mastodon (AP)
Outstanding! Thank you!!!
# has a "cooperation" with Facebook since a few days.

sss friendica
Here it is, "financial privacy" with a passport, again for # (+ #).



[THREAD]I liked the words: "We are helping regulated businesses look at transactions on the blockchain and fully support people's rights to financial privacy" - it's like having sex in the name of virginity.

1/

# # # # #

sss friendica
да, мне не нравится json. потому что это расточительство сетевого трафика - пересылка данных в таком разнузданном хипстерском виде 😀
но чтобы поддерживать совместимость, приходится его юзать. да, он жрёт лишний трафик. но те мегабайты скриптятины, которой облеплен веб, не сравнятся даже с самым жирным json'ом. я тут недавно увидела, что хэдхантер сохранил на моём компе куки... почти на 6 мегабайт. мегабайт, Карл! долбаные куки! я просто фшоке. а видела сайты, которые грузят десятки и даже сотни мегабайт скриптятины. и этот мрак плодится и множится.
в общем, если уйти от веба (а у меня конечная цель именно такая), то можно весь этот мерзкий жир аннулировать. ну и между двумя сишными клиентами можно гнать данные в каком-нить ASN1 и хотя бы частично снизить нагрузку на сеть.

проблему я вижу в том, как отображать веб-контент в консоли. всяких-разных форматов данных (а в AP они сохраняют оригинал) - как собак нерезаных. и браузеры умеют их парсить. а я вот пока нет. и мне не хочется делать ещё один elinks внутри своей программы. хотя... о elinks: можно его приделать в качестве гуя. я как-то не думала в эту сторону. в конце концов, можно скармливать данные и обычному браузеру. если не делать никаких скриптов, это будет работать достаточно шустро. думаю, что первым приближением будет работа через браузер, чтобы не делать свой парсер всего.

sss friendica
я вот сейчас гоняю небольшие тесты, чтобы понять пропускную способность своей программы. простая реализация: создание маленького json'а с профилем и отправка его через https, и парсинг на другой стороне. создание и парсинг - через json-c. программа выедает 180 килобайт памяти в максимуме (и то там дебажный лог в консоли жрёт бОльшую часть, на старте 17Кб всего), из них 5.5Кб рамы и около полутора Кб шареной памяти. при этом она даёт 20 тысяч ответов по локальной сети в секунду на одном ядре. и у меня ещё не самый мощный комп, хотя и i7. причём самое длительное - это работа с криптографией (там у меня криптография по полной, TLS1.3 c шифрованием 192 бита. так что я не вижу причины как-то беспокоиться о "жирности" библиотеки json-c. она работает довольно шустро и явно не является узким местом. я профилировала программу. самый жир - это криптография. ну и сеть сама по себе имеет задержки, так что я в четыре процесса гнала запросы, чтобы создать полную загрузку одного ядра. а json отъедает какие-то доли процента, которые даже не отмечаются в perf.
Later posts Earlier posts