PyPy

17 Жовтня 2011

PyPy це Пітон написаний на Пітоні. В це важко повіритити, але ця штука працює в рази швидше на певних типах задач, ніж просто Пітон.

В відео я тестую генерацію множества мельборна. Також я згадую psyco, але ця штука нажаль вмерла і зараз вже на версії 2.7 нічого не працює.

Стріми по старкрафту замінили мені телик. Дивлюся в основному на сайтах http://sc2tv.ru, http://goodgame.ru, http://vodportal.ru. Та одне напрягало, що приходилося по всіх них клацати щоб побачити що сьогодні йде і вибрати якийсь один. І як постійні читачі вже напевно здогадалися, я написав свій "велосипед", а точніше міні-сайтик який збирає інфу про стріми і показує її в одному місці.

Тож зустрічайте - http://stream.tutamc.com/ :)

Зверніть увагу на дизайн... який трішки схожий маковський. Не подумайте що мені нефіг було робити і я рисував ті кнопочки :), то просто фронтенд написаний на Капучіно. То такий цікавий фреймворк - суміш маковського апі і яваскрипта. Цікавенька штучка.

Загальна ж внутрішня схема така. Що як проксі сервер стоїть Nginx - який віддає правильно статику, плюс кешує запити до Node.JS. Node.JS віддає лише змінену першу сторінку в яку вставляє онлайн-стріми, щоб після завантаження відразу була таблиця з стрімами. Далі Капучіно юзаючи лібу Socket.IO підключається до Node.JS і жде оновлень до таблиці. Коли щось нове з'являється - відразу відображається. Node.JS зберігає масив всіх онлайн клієнтів, і чекає оновлень від redis. По крону запускається скрипт на Пітоні який юзаючи лібу PyQuery достає потрібну інфу, а далі через команди pub/subscribe посилає сигнал на Node.JS, що є нові дані. Все це дає таку круту реалтайм схему, що Пітон парсить сайт - відразу посилає результат на Node.JS, а Node.JS через вебсокети на всіх клієнтів. Коли розповідаю про схему то розумію наскільки далеко технології в вебі залізли порівнюючи з тим часом коли робив першу свою домашню сторінку на ПХП )

Пишучи якийсь сайт всі чомусь вважають що саме той їхній сайт повинен бути для кожного єдиним. На тому єдиному сайті треба зарегатися - обов'язково, а потім отримувати всі останні новини. Звичайно кожному з нас нічого цілими днями робити :)

Щоб з такими вебмастерами боротися вигадали добрі люди тимчасову почту, але вони занадто складні для мого розуму. Тому вирішив просто написати свою тимчасову почту. В результаті отримав http://m.tutamc.com. Надіюсь вам сводобається юзати його )

А якщо ви програміст, то можливо зацікавить що там в середині...

Далі...

JS-морфер на Пітоні

9 Лютого 2011

Написав 2 місяця назад статтю в журнал Хакер. За останні 2 роки моїх статей було опубліковано близько 10, але лише десь 5-ть добре вийшли, і ця стаття відноситься до тих 5ти.

JS-морфер vs Тьма сигнатурная

Создаем гениально простой морфер на Python'е

Антивирусное зло растет изо дня в день, большинство из них уже породило веб-модуль, который постоянно мешает свету правды проникать в браузеры пользователей. И как говорил классик:

Веб-модулю объявим мы войну! Что б навсегда нам уничтожить тьму!

О созданиях темной силы

Веб-модуль Антивирусов Тьмы сейчас зачастую работает на двух уровнях - на сетевом и на уровне браузера. Первый уровень это когда антивирус пропускает весь трафик на 80-ом порту через свои сигнатуры. Обход этого возможен через простое шифрование JavaScript'а тем же XORом. Второй уровень работает через встраивание тулбаров во все браузеры. Это дает возможность тьме посылать на сигнатурный чек JavaScript после окончания его расшифровки в браузере и делает криптование бесполезным. Наиболее опасный тулбар антивирей в Internet Explorer'е, ведь он дает полный контроль над страницей. Еще ко второму уровню относится эмуляция запуска скрипта внутри антивируса. Но на данный момент эта эмуляция настолько примитивная и бажная, что не хочется ребенка обижать. Да и эмуляция вообще тупиковая ветвь эволюции по многих причинах.

Для обхода обоих уровней нужно всего лишь каждый раз генерить достаточно уникальный JavaScript (ага, Капитан Очевидность). Это наш написанный морфер и будет делать :)

Далі...

Новий Движок Блогу

22 Листопада 2010

Сьогодні дописав базовий код движку для веб-блогу. І відразу ж переніс TutaMC з Друпалу на новий двиг. Тому цей пост пишу вже в Джангі. Движок звичайно ще треба допилювати й допилювати, але початок є.

Десь на тижні напишу статтю про все те що було зроблено, бо виявилось що дивитися відео-трансляцію програмування занадто тяжко, тому вертаємося до старого методу статтей.

Якщо побачете якісь глюки - пишіть.

Як писати резюме

5 Листопада 2010

Постійно слухаю Будама, який живе в Штатах і постійно записує підкасти про свій життевий досвід й розміщає їх на http://americhka.us/. Так ось в нього є дуже круті підкасти про те як складати резюме - я їх частенько згадую. По роду своєї діяльності в день як мінімум одне резюме доводиться читати і частенько просто хочеться плакати ). Тож вирішив написати декілька своїх рекоменадцій:

  • Якщо ви йдете на програміста, то не пишіть що знаєте Photoshop, чи Word чи інше те що зовсім не має справи до програмування.
  • Не пишіть що знаєте українську мову. Це й так розуміється для нормальної людини.
  • Ніколи, ніколи не присилайне резюме в форматі PDF. Краще текстового формата ще не придумали. Особливо цим грішать випусники ХІРЕ, бо їм це розповідаюсь якісь викладачі, що не наймали на роботу нікого ніколи в житті.
  • Не пишіть свій повний адрес з домом і квартирою, не збираюсь я вам в гості. Вкажіть лише район, чи вулицю, типу Харків, пр. Перемоги.
  • Не треба писати яку школу ви закінчили. Вистачить лише університет і спеціальність.
  • Не пишіть особисті якості. Ну це ж смішно коли пишуть розумний, компанійський, вмію співати...
  • Обов'язково перерахуйте проекти в яких брали участь. Навіть якщо ваш вклад невеликий в проекті, або якщо це якась домашня сторінка - все одно напишіть.
  • Дайте посилання на ваш код на якихось репозиторіях.
  • Не треба намагатися писати велике резюме. Хай краще це буде півсторінки та вони будуть конкретні і по справі!
І нехай HR за вами ганаються, а не ви за ними! :)

Продовжив робити блог на Пітоні і все записав для вас на відео. І виявилось що вже записано 3 години. За цей час було додано темплейт, РСС, перегляд головної сторінки, окремих сторінок і інше. Ще мабудь 2-3 години і Друпал повністю заміню на написаний двіжок.

PS1: код - http://bitbucket.org/presidentua/blog
PS2: відео нижче, або на сторінці - http://www.youtube.com/user/iamspiritua

Далі...

Конференція PyCon UA

28 Жовтня 2010

З 23 до 24 числа в Києві проводилась конференція по Пітону. Я на ній побував і мені сподобалось.

Доповідачі різні були і кожен розраховував на якусь аудиторію, хтось розповідав як новачками в програмуванні, а хтось як професіоналам. Тож практичних знать отрмав не багато, в принципі лише Андрій Світлов розповів те що я незнав в доповіді про внутрішню роботу інтерпретатора Пітону. Всі ж інші теми були як мінімум відомі, а по деяких темах знав навіть трішки більше ніж доповідачі ). Ну це не причина не їхати на конфи. Бо ж доповіді то не головне. Головне спілкування і та атмосфера. Хоча найголовніше це безкоштовна футболка )

На конфі було багато знамениностей в галузі Пітона, таких як створювач South Андрю Гудвін, Армін Роачера - автор фреймворка Фласка, Михайло Кашкін - який веде блог по гугл апп енжайн, Олександр Лябах  http://www.lyabah.com/ автор крутого сайта-задачник http://checkio.org/ (рекомендую порішати кілька задачок, це дуже цікаво).

І звичайно, Велике спасибі організаторам! Надіюсь що в наступному році буде продовження.

PS: Треба буде й мені щось підготувати до наступного року... якщо вивчу англійську до того часу )
PS2: В Києві реальну круті таксі! Порівняно з Харковом то це небо й земля. Я користувався 244 таксі - так телефон безкоштовний с мобілок, машина приїзжала за 5-10 хвилин, а вся інфа приходала по СМСкі, і ціни не більші ніж тут. Нам залишається лише мріяти і користуватися нашими недо-таксі-службами.
PS3: Ще в Києві знайшов готель з дуже низькими цінами. І при цьому з крутими номерами - http://www.hotel-nivki.kiev.ua/index.php

Привіт Друзі!

Скрінкасти гарна штука, та в них не зовсім правильно відображається реальний процес програмування. Скрінкаст показує якийсь результат і розповідає про цей результат. Реальне програмування зовсім інше, я в день перериваю десятки блогів, постійно працюю с різноматінтими технологіями, і рідко памятаю якісь конструкції. Моє програмування це в більшості контр-копі зі старих моїх проектів чи з Гугла. Зі сторони це можливо здається неправильно, чи просто занадто просто, але при тому об'ємі інформації що є зараз це на мою думку єдиний вихід. Та я знайшов заміну скрінкастам, який не матиме тих проблем, хоча буде мати інші проблеми.

Дивлячись стріми з чемпіонатів по СтарКрафт2 подумав чому б не стрімати процес програмування. Звичайно це не так цікаво як СтарКрафт2, але надіюсь такі стрими допоможуть комусь.

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

Щодо тем, то найближий час буду стрімати наступне:
1. Написання блогу на Джанго, імопорт записів до нього з Друпала, і налаштування все на серваку.
2. Написання міні-сервісу по онлайн генерації MAC-адресів на http://flask.pocoo.org/
3. Написання плагіна для Хрома по збереженню паролів.

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

Перед лінками на відео маленька питання, хто їде на конфу по Пітону в Київ 23 і 24 числа? Напишіть будь-ласка. Якщо їдете з Харкова - буде прикольно разом в поїзді обговорити цікаві Пітонські проблеми. А хто буде на самій конфі, то також напишіть мені - обміняємося телефонтами - там стусимо.

Далі...

Один з популярних антивірусів це NOD32, і він нажаль платний й створює багатенько проблем зі своїми ключами. Щоб спростити життя для тих хто юзає його створив http://nod.tutamc.com/. Звичайно таких сайтів повно, наприклад - http://www.hhuu.net/. Та більшість з них блокується NODом і потрібно тимчасово вимикати NOD. Тож надіюсь з http://nod.tutamc.com/ робота з NODом для вас спроститься.

Якщо ж вам цікаво що там в середині, то для вас маленький скрінкастик:

Весь код сайту прикріплений до посту )

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

 
 
 
Роман Хоменко aka PresidentUA
mail/jabber: spirt40@gmail.com