← All posts tagged programming

ArkanoiD
IRC quotes Sir Arthur C. Clarke saw us having a permanent base on the Moon in 2001. Instead, in 2012 we have FB and Tweeter, professional bloggers, morons who run for the office while claiming that women cannot get pregnant if they don't want to, and no serious space program to speak of.
R.I.P. Dr. Armstrong.
ArkanoiD
programming Жуец, посоветуй удобный профайлер для C? чтобы на выходе было: вот в этой функции мы просидели столько-то времени (user/system)? Linux/Solaris
ArkanoiD
Linux programming Maemo n900 напоминаю, что готов дать денег людям, которые займутся интеграцией криптографии в этот девайс (zrtp/pgp/otr/шифрование файловой системы). То есть не тем, кто займется, а тем, кто таки сделает. Подробности обсуждаемы.
ArkanoiD
programming C вопрос: а покажите мне портабельную функцию, которая по сокету выдаст имя интерфейса, на который он пришел?
hint: например, в линупсе для переадресованных iptables соединений getsockname уже даст вовсе не наш локальный адрес, а чорт знает что
hint2: существуют другие системы, кроме linux, solaris и *bsd.
ArkanoiD
programming кстати, как вы назовете человека, который принципиально не использует && и || и рисует лесенку if'ов с одним оператором в конце?
ArkanoiD
programming Unix C есть смешная задачка: сделать функцию int generic_tunnel(int client_socket, int server_socket, int dynport_min, int dynport_max, int server_port, int nat) , которая бы открывала с помощью произвольного ядреного пакетного фильтра туннель, который бы ловил все приходящее с peername(client_socket) на некий порт на sockname(client_socket) в заданном динамическом диапазоне и перенаправлял на server_port на peername(server_socket). Ну и возвращала этот номер порта. Если с параметром NAT, то с адресной трансляцией на sockname(server_socket), если без, то без нее.

В чем засада: пакетный фильтр может быть произвольным: iptables, ipfilter, pf, ipfw, whatever.

Если вы знаете частное решение для какой-то реализации, ткните в него пальцем. Если вас читают люди, которые знают — порекомендуйте. Что все описано в соответствующих API я в курсе, просто не хочется вникать подробно в каждый конкретный случай, я так неделю провожусь со всеми виртуалками.

Призовая игра: придумайте, как реализовать коллбэк для сбора статистики по переданным байтам, когда соединение закроется (или отвалится по таймауту, если там UDP, например)
ArkanoiD
programming Sun Studio и MS Visual C++ очень плохо понимают flow в тех частях, где используются функции, завершающие работу программы. И хинт /UNREACHED/ игнорируют, уроды — выводят кучу бессмысленных предупреждений, которые приходится отключать. А я не люблю отключать предупреждения, пичяль.
ArkanoiD
programming вот люди говорят интересную штуку про указатели на функции в C: что их де нельзя кастить и передавать как попало, причем это относится и к параметрам! то есть указатель на функцию void (*) (void) в какой-нибудь табличке переходов, в который ты заносишь указатель на функцию с параметрами — это кагбе будет работать практически на всех современных архитектурах, но никто в общем-то ничего не обещал. что, правда?
ArkanoiD
Ну почему, ПОЧЕМУ FSWxorg-client-programs тащит за собой какие-то огрызки жноме, SUNWxserver и прочую ненужную хуиту?