Mar. 7th, 2011

avva: (Default)
Дина Рубина об электронных книгах:
"Писателю же... да поймите вы, что писателю больно, когда его книга торчит крошечной точкой в длинном оглавлении, и физически не имеет ни объема, ни веса, ни элегантности и красоты обложки, ни дивного неуловимого запаха книги, ни собственной отдельности и неотменимости бессмертного существования... Хотя понимаю, что все мои вопли канут в беспросветную бездну интернета, и что история электронного развития человечества просто вытрет ноги о тех индивидуумов, которые еще способны производить нечто, что не измеряется компьютерными понятиями и написано языком, далеким от того безграмотного мычания, каким полон всемогущий, вездесущий и всюду проникающий сегодня интернет."
avva: (Default)
(эта запись может быть интересна лишь программистам и сочувствующим)

Как и в прошлой загадке, нужно сказать, что делает функция на C. На мой взгляд, она заметно сложнее предыдущей.

Эта функция выполняет некую полезную работу, которую нередко приходится выполнять в настоящих программах или библиотеках. Если вы разобрались в том, что фунцкия делает "буквально", но не понимаете, зачем это нужно, то это не полный ответ на вопрос (хотя тоже можете написать, конечно). Желательно ответить на вопрос, не запуская код; если вы запустили все же, укажите это в своем ответе, пожалуйста.

Комментарии скрываются. Автор этой загадки - мой коллега Дэвид Тернер (David Turner), которого я уже упоминал в записи про предыдущую загадку.

int func(unsigned char c)
{
  const uint64_t MULT= 270549121;
  uint64_t magic = (c >> 2) * MULT + 272696336;
  magic = (((magic >> 6) & MULT)*MULT) >> 28;
  return 1 + (magic & 7);
}


Update (6 часов спустя): только что пришел первый полный ответ, от [livejournal.com profile] type_o_graph. Есть также несколько ответов, которые правильно описывают, что функция делает "буквально", но не объясняют или неправильно объясняют, зачем это нужно.

Update: вот правильный ответ. Раскрываю все комментарии к этой записи. Спасибо всем за попытки и ответы!
avva: (Default)
Никак не могу решить, заставить себя печатать "правильным" способом вслепую или нет. Проблема в том, что у меня с годами сам собой выработался довольно быстрый "неправильный" способ набора вслепую; я пользуюсь в основном средним и указательным пальцами, очень редко безымянным и никогда мизинцем, и руки сами летают над клавиатурой и что-то с ней делают. Это работает отлично и для латиницы, и для кириллицы (которую я набираю в фонетической раскладке). Если же я пытаюсь поставить руки "по науке", то это получается: а) очень медленно; б) намного больше ошибок; в) сильно раздражает поэтому.

Наверное, если заставить себя набирать только "по науке", то со временем скорость возрастет и даже превысит ту, с которой я набираю сейчас. Но непонятно, сколько времени придется мучиться, и стоит ли овчинка выделки. А также жаль снизить настолько скорость ради этого обучения.

Вот сейчас пошел на этот сайт, чтобы проверить свою скорость. При обычном наборе (и возвращаясь по ходу дела, чтобы исправить ошибки) у меня выходит примерно 75 WPM. Если пытаюсь "по науке", скорость немедленно падает до 20 WPM. А если я все-таки заставлю себя, то через какое-то время, когда пальцы привыкнут и наловчатся, скорость будет поди знай сколько WPM. Вот и не знаю, что делать с этим.

January 2026

S M T W T F S
    1 2 3
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 4th, 2026 06:32 pm
Powered by Dreamwidth Studios