Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2008-03-28

Ожившая еда

Ожившая еда


жуть

2008-03-21

Урюк

А в Узбекистане (Ферганская долина) 30 градусов тепла и цветет урюк...

.
View Larger Map.

2008-03-17

Слабое место сайтов с авторизацией по кукам

Есть такой вид атаки на веб-приложение cross-site request forgery.
Представьте, зашли вы на сервис почтовый, прошли аутентификацию (ввели логин, пароль) и сервис выдал куку а у себя открыл сессию, связанную с этой кукой. Потом вы пошли читать блоги и некий Зловред в свой блог (который вы читаете) вкрутил невидимую картинку с источником http://mail.service/change.pass?newpass=123
Ваш браузер отправит этот запрос на почтовый сервис и тот, проверив, что запрос авторизован (у вас ведь есть кука и сессия еще не закрылась) поменяет пароль. После чего Зловред завладеет вашим почтовым ящиком.

Подробнее и серьезнее можно прочесть в википедии.

Что делать, как жить? Для себя я выбрал вариант решения подобных проблем с "токеном операции". По простому - в форму из которой можно выполнить "опасное" действие каждый раз зашивается случайное число - токен (например GUID). При отправке запроса сервер проверяет этот токен с тем, что он сохранил у себя при формировании формы и принимает решение - запрос авторизован или нет. Просто, элегантно, относительно надежно.
Ну и , конечно, примите за правило - поработали с сервисом - сделайте "выход".

2008-03-16

Еще один критерий оценки госмашины

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

.Детский такой вопрос - сколько вы платите налогов? Большинство полагает, что платят 13% от своего дохода - и то достаточно безболезненно, поскольку НДФЛ автоматически вычитается работодателем (а в переговорах оговаривается "чистая" зарплата). Реально же для экономики их труд стоит "грязную" зарплату плюс единый социальный налог (26%, с уменьшением при росте доходов выше определенного порога - грубо говоря, при зарплате в 3-4 тыс.долл. налог уже ближе к 10%). Плюс к этому по существующему налоговому законодательству зарплата фактически облагается НДС*.

Плюс к этому, налог на добавленную стоимость фактически полностью выплачивается конечным покупателем - это около 18%. Плюс к этому, на многие товары платятся акцизы - и это делает тоже конечный покупатель.

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

Расчет достаточно прост.
Итак - средняя начисленная заработная плата в январе 2008 составила 15000 руб.
НДФЛ - 13% - 1950 руб.
На руки - 13050.
ЕСН - 26% - 3900 руб.
НДС - 18% - 2700 руб.
Итого: без уплаты налогов предприятием гражданин получил бы на руки не 13 050 руб. а 15000+3900+2700=21600.
Таким образом с реальной зарплаты в 21600 гражданин заплатил государству напрямую 8 550 руб, получив на руки 60% реальной зарплаты и отдав государству 40%.

Дальше гражданин истратил 80% от 13050 руб. на облагаемые НДС товары и услуги.
Т.е. 0,8*13050=10400
Доля НДС В 10400=1560 руб.

Таким образом на круг гражданин заплатил государству 10110 руб. из реальной зарплаты в 21 600 руб.
Не учтены - акцизы и таможенные пошлины в случае приобретения импортного товара.

Хитрость этой налоговой системы в том, что большинство и не подозревает о колоссальных собственных расходах на поддержание государства. "Я плачу налоги" - не пустая фраза, но она стала пустой ровно по той причине, что ответственность за выплату налогов возложили на организации.

А теперь представьте, что было бы, если бы система была более персонифицирована. Если бы, скажем, работник получал не 20 тыс.руб. "на руки", а около 30 тыс. "грязных", из которых он раз в квартал сам бы нес мытарям треть своих кровных заработанных. Скажем, заработал за квартал 90 тыс., и 30 из них (одну зарплату) сам бы отнес. И если бы в магазинах стояла специальная касса, куда выплачивалась бы сумма НДС - то есть, продавец декларирует стоимость вещи в 3 тыс., и еще 540 руб. несешь в эту кассу и отдаешь мытарю же. Грубо говоря, из своих оставшихся 60 тыс. еще почти 10 относишь в эту "дополнительную кассу".

Вопрос - сколько времени пройдет, прежде чем фраза "я плачу налоги" станет серьезным аргументом в разговоре с государственными чиновниками? И сколько времени пройдет, прежде чем среднестатистические граждане массово начнут ставить вопрос о качестве государственных услуг и размере государственного аппарата?

Рискну предположить, что вопрос построения демократического государства - это вопрос налоговой ответственности. Пока государство стыдливым фиговым листком прикрывает реальное положение дел о налоговой нагрузке, перекладывая всю ответственность на организации, граждане остаются "быдлом", от которого ничего не зависит. Как только граждане сами начинают платить налоги - хотя бы все налоги, связанные с зарплатой, - у них тут же возникает потребность получать за свои деньги качественный сервис..

.
newsland.ru

и как вы думаете, по этому критерию в нашей стране темно как в жопе у кого?

2008-03-12

3D игры в Ёкселе?

Все гениальное просто. Сколько времени все знают, что ёксель обладает продвинутыми математическими способностями? А возможностью управлять отдельными ячейками? А наличием графического инструментария? И кто подумал о том, что ячейка - тот же пиксель, а математика трехмерки не такая уж и сложная и пр...

Вот, подумал Peter Rakos. И вот что он придумал:

Cutting-edge computer games use different graphics subsystems -- so-called 3D graphics engines. Source (used in Half Life 2), Unreal Engine (Unreal Tournament), idTech 4 (Doom 3), CryENGINE2 (Crysis) or Clever's Paradox engine are well-known among the players and the game industry experts.

It's time to learn a new 3D game engine name: Microsoft Excel.

It is understood that Excel is an all-round office tool, but probably it is unknown that it has a bunch of features that makes Excel a high-class 3D graphics engine.

In this article I will demonstrate Excel's arithmetical facilities, the embedded rendering subsystems (there are two of them!) and the revolutionary approach which might just cause a paradigm shift. I hope you will discover that Excel effectively and efficiently incorporates practicality, tons of features, the multi-platform portability and the high performance with the unique and futuristic 3D engine features.

The chapters even have demo programs and movies created with the Excel 3D engine.

Warning: Only for determined experts!


www.gamasutra.com








2008-03-11

Коды ответа HTTP

Это должен знать каждый :)
Диаграмма статусных кодов для HTTP ответов.

thoughtpad.net
http://thoughtpad.net/alan-dean/http-headers-status.gif

2008-03-04

Пистолетики

Совершенно замечательно написано (Беркем аль Атоми). Даю маленькую цитату:

Инструмент для поражения цели нужен только тогда, когда есть цель. Пока вы этого не признаете, вы будете оставаться шуганной обиженкой, плачущей про вожделенный "короткоствол".

Хотя цели у вас есть. И это нихуя не пистолетные цели, не придуманные под койкой "гопники", на ваши розовые попки уже положили глаз вполне реальные пацаны, которые даже не улыбнутся, увидев пистолеты в дрожащих ручонках. Уверен, что вы понимаете и это. Но вы будете отворачиваться и мужественно пытаться насвистывать до того самого момента, пока вас не перекинут через шконку с форточкой в трикешнике. Вот когда вы услышите, как сзади набирают соплей, чтоб не ободраться о ваше дупло, тогда вам срочно понадобятся пушки с пулеметами, но реально будет нужен уже только солидол и чтоб побыстрее все кончилось.

Что-то поменять может... ну хуй с ней с пушкой, все равно мало у кого бабла на пушку хватит, а вот пулемет - да, пулемет запросто может поставить все на свои места. Готовность стрелять плюс пулемет - это серьезно, пулемет не проигнорируешь, пулемет не придешь и не заберешь. Тебя с пулеметом будут бояться больше, чем всех "террористов" и вероятных противников вместе взятых. Поэтому те хмыри, которые собирают с нас бабло и рассовывают его по оффшорам, будут вынуждены кормить быков, охраняющий наши жопы и наше общее корыто. И "вынуждены" здесь главное слово.
Пойми простую вещь: никто пальцем не шевельнет, если не вынужден или не выгодно. Выгоды с нас никакой, им дешевле, чтоб нас вообще не было. Значит, остается вынуждать.

Тем временем для таких баранов, как любители пистолетиков, хмыри рассказывают майси, что, мол, вынуждайте, пожалуйста: ходите на выборы и всякие демонстрации. Многие ведутся, хотя долбоебство такого поведения очевидно. Вынудить такого жирного и наглого хмыря делать то, для чего его завели, можно только намушником, засунутым в хавальник. И пестики ему не страшны, они только вам кажутся чем-то вроде оружия, хмыри боятся только намушника. Для того, чтобы заставить себя уважать ("уважать" - значит "бояться"; другого перевода этого слова не существует) нужно оружие, а не "короткоствол"


zhurnal.lib.ru

Жесть. Все к Кочергину.

2008-03-03

Криптованный дисковый раздел в линукс

Времена нынче странные, кино посмотрел "не оттуда" - заработал срок. Очевидно, кино надо прятать. А прятать лучше методом шифрования.

Я научился создавать и использовать шифрованные дисковые разделы. Теперь и вас научу. Причем дисковый раздел мы создадим из файла на другом дисковом разделе (чтоб смешнее было).

Делай раз:
установим пакет apt-get install cryptsetup
делай два:
загрузим ядреные модули modprobe dm-crypt; modprobe aes
делай три:
создадим пустой файл touch /tmp/t
делай 4
запишем в файл 40 мегабайт мусора shred -n 1 -s 40M /tmp/t
делай 5
создадим блочное устройство losetup /dev/loop0 /tmp/t
делай 6
создадим дисковый раздел cryptsetup -c aes -y create topsec /dev/loop0
делай 7
форматнем mkfs -t ext2 /dev/mapper/topsec
делай 8
замонтируем том в каталог корневой файловой системы mount /dev/mapper/topsec /mnt/mydir
Всё. Можно пользоваться. Все что попадет в каталог /mnt/mydir будет на лету закриптовано по алгоритму AES.

Размонтировать тайничок надо так:
umount /dev/mapper/topsec;
cryptsetup remove topsec;
losetup -d /dev/loop0

Обратно замонтировать надо так:
losetup /dev/loop0 /tmp/t;
cryptsetup create topsec /dev/loop0;
mount /dev/mapper/topsec /mnt/mydir

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)