Pull to refresh
3
0
quarantino @quarantino

User

Send message

Jailbreak G1

Reading time1 min
Views1.1K
image

G1 просуществовал всего около двух недель, а разработчики уже приносят свои плоды. G1 джейбрейкнули! В кратце, что же такое джейлбрейк (jailbreak) — Jailbreak — Изменение состояния системной части файловой системы T-Mobile G1 на такое, что в нее можно производить запись, а не только чтение. Без jailbreak’а запись может производиться только в пользовательскую часть телефона. Описание процесса смотрите под катом.
Читать дальше →
Total votes 143: ↑127 and ↓16+111
Comments53

Как загрузить большую карту с Google maps

Reading time2 min
Views18K
Недавно я начал планировать свое путшествие по испании на машине. Очень удобно заниматься сим непотребством используя гугл мэпс. Но у гугл мэпс есть один существенный недостаток — проделаную работу(маршрут поездки) нельзя сохранить в хорошем разрешении картинкой. Порывшись в интернете, я нашел замечательный способ сохранять гугл мэпс карты с проложеными маршрутами или без. Данной технологией я и спешу поделится с хабрасообществом.

Читать дальше →
Total votes 111: ↑100 and ↓11+89
Comments73

Как добывается спортивный контент

Reading time5 min
Views825
Ведя в Sports.ru техническую деятельность, я никогда не лезу в редакционную кухню. Дела гуманитарные обходят меня стороной по причине отлаженного в компании разделения труда, да и спортивный журналист из меня никакой. Я знаю, что материалы, новости, фотографии выгружаются в базу данных через редакторский интерфейс, но каким образом контент формируется до появления на сайте, слабо представляю. Сотрудники редакции постоянно говорят по телефону, сидят в интернете, ходят на матчи, обсуждают темы дня на обеде, проводят брифинги, планерки, брейнстормы, митинги… Не то что бы я хотел попробовать себя в качестве корреспондента, скорее я давно хотел поучаствовать в какой-нибудь журналистской «заварушке».
В среду, когда сборная России принимала сборную Уэльса, в редакции обнаружилась лишняя аккредитация на матч, которой я решил воспользоваться по прямому назначению. Сильное желание посидеть на футболе в «прессухе» и просто разнообразить свой вечер подтолкнуло меня залезть в холодильник Вани Калашникова: вооружившись пресс-картой, олимпийкой Bosco и flip-камерой, я отправился на стадион Локомотив в составе команды журналистов Sports.ru.
Читать дальше →
Total votes 73: ↑64 and ↓9+55
Comments19

Что готовит нам Apple завтра?

Reading time2 min
Views1.3K
9-ого сентября в Сан-ФранцискоВ прошлый вторник компания Apple разослала приглашения на событие, которое произойдет 9-ого сентября в Сан-Франциско. Судя по иллюстрации, которой сопровождалось приглашение, можно сделать вывод, что оно целиком и полностью будет посвящено презентации новой линейки лучших в мире плееров — iPod. Однако, вполне вероятно, что «фруктовая» компания готовит нам и несколько сюрпризов.

Что здесь вообще происходит?
Total votes 87: ↑55 and ↓32+23
Comments99

«Яндекс» создал свой jabber-клиент

Reading time1 min
Views5K
«Яндекс» запустил сервис для обмена мгновенными сообщениями. Такая возможность появилась в новой версии программы «Я.Онлайн». Сервис работает на технологии Jabber и позволяет взаимодействовать с учетными записями, созданными как на «Яндексе», так и на других jabber-серверах — например, QIP, GMail и Livejournal.

Читать дальше →
Total votes 145: ↑122.5 and ↓22.5+100
Comments163

Гугл фильтрует содержимое YouTube для России?

Reading time1 min
Views4.7K
Нашел в Гугле по поисковому запросу клип Color Me Badd – «I Adore Mi AmorGiant». Но при попытке зайти по ссылке YouTube выдал: «This video is not available in your country» (это видео не доступно в вашей стране).
У кого-нибудь есть объяснение случившемуся?!
P.S. Объяснение найдено: при публикации контента правообладатель можеть ограничить некоторые страны к просмотру
Total votes 144: ↑102.5 and ↓41.5+61
Comments65

Определение пола по истории навигации

Reading time1 min
Views2.7K
Используя тот факт, что браузеры обычно по-разному отображают и обрабатывают посещённые и не посещённые ссылки, умные люди давно придумали, как можно автоматически отследить историю веб-навигации посетителя.

Сперва мы выводим на страницу ссылки на популярные ресурсы (в скрытом фрейме, например). Далее, два варианта:

1) Написать скрипт, который пробегает по ссылкам и определяет их цвет через getComputedStyle, как описывает Jeremiah Grossman. На этот счёт даже есть готовый скрипт.

У этого способа есть небольшой недостаток: требуется включённый JavaScript.

2) Тот же J. Grossman предложил усовершенствованный вариант с использованием CSS. Определяем свой стиль, в котором у посещённых ссылок будет фоном стоять картинка: у каждой — своя. В этом случае браузер выполнит всю работу за нас. Потом достаточно посмотреть в логах, какие картинки были загружены.

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

Теперь, почему я про это вспомнил, и почему такой заголовок поста. Один остроумный товарищ при помощи первой технологии решил определять пол посетителя. Его теория в том, что определённые сайты посещаются по половому признаку, так что можно вычислить вероятность того, что вы такого-то пола. Я вот, например, на 68% мужчина.
Total votes 19: ↑19 and ↓0+19
Comments40

Flash-игры, в которые стоит сыграть

Reading time6 min
Views1.2K
Вдоволь наговорившись о «Саморосте» и других играх от студии «Аманита дизайн», я подумал, почему бы не развить тему вообще хороших Flash-игр? Яркая графика, забавный сюжет, запоминающая атмосфера, динамичный геймплей (такое тоже встречается)… Мне хотелось бы собрать в одном месте ссылки не на просто игрульки, а на образцы своего жанра — на те игры, которыми любуешься и играешь даже тогда, когда все вроде уже знаешь наизусть… а все равно тянет :)

Я умышленно не составлял нумерованный список, чтобы не было даже подобия рейтинга — как говорится, на вкус и цвет… :) Чтобы не тянуть резину в долгий ящик,
перехожу непосредственно к списку.
Total votes 1: ↑1 and ↓0+1
Comments21

Возможности Глобальных Центров Предоставления Услуг Fujitsu (Global Delivery Centers) на примере российского «GDC»

Reading time6 min
Views13K
Общеизвестно, что компания Fujitsu входит в список крупнейших поставщиков ИТ-услуг в мире. Глобальные центры предоставления ИТ-услуг в компании Fujitsu выделены под единое управление, взаимодействуют с местными офисами Fujitsu в 70 странах, и обслуживают клиентов круглосуточно без выходных дней на более чем 40 языках.

Читать дальше →
Total votes 7: ↑5 and ↓2+3
Comments4

Опции JVM. Как это работает

Reading time7 min
Views93K
С каждым днем слово java все больше и больше воспринимается уже не как язык, а как платформа благодаря небезызвестному invokeDynamic. Именно поэтому сегодня я бы хотел поговорить про виртуальную java машину, а именно — об так называемых Performance опциях в Oracle HotSpot JVM версии 1.6 и выше (server). Потому что сегодня почти не встретить людей, которые знают что-то больше чем -Xmx, -Xms и -Xss. В свое время, когда я начал углубляться в тему, то обнаружил огромное количество интересной информации, которой и хочу поделится. Отправной точкой, понятное дело, послужила официальная документация от Oracle. А дальше — гугл, эксперименты и общение:

-XX:+DoEscapeAnalysis


Начну, пожалуй, с самой интересной опции — DoEscapeAnalysis. Как многие из Вас знают, примитивы и ссылки на объекты создаются не в куче, а выделяются на стеке потока (256КБ по умолчанию для Hotspot). Вполне очевидно, что язык java не позволяет создавать объекты на стеке на прямую. Но это вполне себе может проделывать Ваша JVM 1.6 начиная с 14 апдейта.

Про то, как работает сам алгоритм можно прочитать тут (PDF). Если коротко, то:

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


Для реализации данного алгоритма строится и используется так называемый — граф связей (connection graph), по которому на этапе анализа (алгоритмов анализа — несколько) осуществляется проход для нахождения пересечений с другими потоками и методами.
Таким образом после прохода графа связей для любого объекта возможно одно из следующих следующих состояний:

  • GlobalEscape — объект доступен из других потоков и из других методов, например статическое поле.
  • ArgEscape — объект был передан как аргумент или на него есть ссылка из объекта аргумента, но сам он не выходит из области видимости потока в котором был создан.
  • NoEscape — объект не покидает область видимости метода и его создание может быть вынесено на стек.


После этапа анализа, уже сама JVM проводит возможную оптимизацию: в случае если объект NoEscape, то он может быть создан на стеке; если объект NoEscape или ArgEscape, то операции синхронизации над ним могут быть удалены.

Следует уточнить, что на стеке создается не сам объект а его поля. Так как JVM заменяет цельный объект на совокупность его полей (спасибо Walrus за уточнение).

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

    for (int i = 0; i < 1000*1000*1000; i++) {
        Foo foo = new Foo();
    }

скорость выполнения может увеличится в 8-15 раз. Хотя, на казалось бы, очевидных случаях из практики о которых недавно писалось (тут и тут) EscapeAnalys не работает. Подозреваю, что это связано с размером стека.

Кстати, EscapeAnalysis как раз частично ответственен за известный спор про StringBuilder и StringBuffer. То есть, если Вы вдруг в методе использовали StringBuffer вместо StringBuilder, то EscapeAnalysis (в случае срабатывания) устранит блокировки для StringBuffer'а, после чего StringBuffer вполне превращается в StringBuilder.
Читать дальше →
Total votes 72: ↑70 and ↓2+68
Comments18

Klocwork — впечатления от двухнедельного тестирования

Reading time5 min
Views6.6K
Не успел я поделиться впечатлениями от PVS-Studio, как сразу же последовали обвинения в рекламе. Что ж, расскажу о своем первом опыте использования систем static code analysis.

Так получилось, что первой системой, с которой я столкнулся, стал Klocwork. Это произошло лет 8-9 назад, когда я работал в украинском филиале одной словенской компании. Тогда анализатор запускался в головном офисе, мы же лишь получали экспортированные в эксель результаты. Но даже в таком виде, помнится, меня приятно удивляло то, насколько хорошо находились потенциальные (а порой и реальные) проблемы.

И вот (уже тоже в далеком 2010 году), увидев на Embedded World стенд того самого Klocwork-a, подошел порасспрашивать их насчет триал-лицензии для «попробовать». Спустя какое-то время получил от них е-мейл с вопросом: «Вы интересовались, все еще хотите?».

Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments12

Рисуем картинки с помощью кривой Гильберта

Reading time5 min
Views45K
В субботу на прошлой неделе «дело было вечером, делать было нечего», и мы с хабраюзером sourcerer разговаривали не понятно о чём. И почему-то речь зашла речь о задаче обратной к задаче построения графика функции по её выражению. То есть, например, у нас есть выражение y(x) = (cos0,5x ⋅ cos 200x + |x|0,5 − 0,7)(4 − x2)0,01. График такой функции чем-то напоминает сердечко. Но нам был интересен обратный вопрос, как, имея, например, изображение сердечка, получить выражение для функции, графиком которой будет это самое сердечко.

Какие-нибудь ряды Фурье вспоминать не хотелось, а хотелось чего-то простого и красивого. Мы начали вспоминать известные нам результаты, связанные с этим вопросом. В результате получилась программка, которая по изображению генерирует ломаную линию, чем-то напоминающую исходное изображение. На примере котёнка по имени Гав это выглядит примерно так (смотреть лучше издалека):



Если интересно как такое сделать, а также узнать про формулу конопли, формулу, график которой является этой же формулой, то добро пожаловать под хабракат. (Будет много картинок.)

Читать дальше →
Total votes 230: ↑229 and ↓1+228
Comments43

Памятка дизайнеру сайтов

Reading time10 min
Views244K
Вторая версия статьи, расширенная и дополненая.

Большая часть готовилась для моего выступления на «РИТ: Клиентские технологии», куда я, к сожалению, не доехал.

 

Памятка дизайнеру сайтов

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

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

Читать дальше →
Total votes 453: ↑444 and ↓9+435
Comments231

Что делать девелоперам под iPhone из России?

Reading time1 min
Views2.2K
Хотел бы поинтересоваться у общественности о тонкостях становления Registred Apple Developer и о продаже через Apple Store в целом. Из того что я знаю:
  • Для того чтобы продавать программы через Apple iTunes Store нужно купить участие в Apple Developer Connection за $99.
  • Разработка только на Mac, Леопард. IDE бесплатно.

Дальше одни вопросы:
  • Участие в Apple Developer Connection покупается за $99 через тот же Apple Store, но России в списке нет (насколько я понимаю они не работают в РФ). Предлагается отписаться в саппорт. Письмо автоматом пинают в европейское отделение, там они и гибнет: прошла неделя – ответа нет. Пытаться зарегаться в другой стране?
  • У кого есть опыт покупки, чем там оплата? Российская Visa classic проходит?
  • Если ты девелопер из штатов, с тебя удерживают налог. Если нет, то тебя просят это подтвердить, в какой форме? Насколько я знаю там нужно показать не пасспорт, а аналог штатовкого SSN. ИНН?
  • Если программа продается, возможные варианты вывода денег? Только чеки или wire тоже возможен. Если первое, то сколько идет чек, и насколько просто его обналичить.
  • Apple удерживает 30% с продаж. Какие еще минусы? Стоимость перевода чека?
Total votes 37: ↑31 and ↓6+25
Comments51

Когда программисту нечего делать, пишем игры сами. Часть 1

Reading time13 min
Views12K
Недавно на хабре была статья «Когда программисту нечего делать…», вот и у меня такая ситуация но я не просто хочу дать ссылку на Цветные линии, а рассказать как можно самому сделать её. Всем кого интересует добро пожаловать под кат
Всем кого интересует добро пожаловать под кат
Total votes 39: ↑33 and ↓6+27
Comments49

Сервис автоматической расстановки мягких переносов

Reading time1 min
Views5.6K
Мало кто знает, что в HTML есть специальный символ для «мягкого» переноса — ­. Работает он так: если попадает на конец строки — появляется символ переноса, если не попадает — ничего не отображается. Очень удобно, но, к сожалению, вручную вставлять в текст такие символы — занимает слишком много времени. Сегодня обнаружил интересный сервис для автоматической расстановки.

Читать дальше →
Total votes 46: ↑37 and ↓9+28
Comments46

Защита флэшки от Autorun-вирусов.

Reading time3 min
Views64K


     Доброго времени суток, уважаемый хабра–читатель. Я работаю в университете, в лаборатории вычислительной техники. Администрируем около сотни компьютеров. Перед нами встала проблема защиты от Autorun–вирусов на флэшках. Естественно у нас отключен автозапуск в Windows, однако нужно было защитить сами флэшки, чтобы работник дома, вставив рабочую флэшку, не заразил свой компьютер. Под катом решение проблемы.
Итак, примемся за дело...
Total votes 92: ↑74 and ↓18+56
Comments278

Давно проверялись на вирусы/adware/spyware?

Reading time1 min
Views1.5K
В процессе подсчета вот этой статистики по Хабру обнаружил, что как минимум у 950 хабралюдей (~2.5% от всех читающих Хабр, если считать, что распределение равномерно) в системе живет Adware-вредитель под называнием AdCentriaIM. Он оставляет след в user-agent браузера, что и позволило его обнаружить. Полное описание, и как избавиться написано — здесь. Подавляющая часть болеющих — Windows/Firefox.

Вот так выглядит типичный user-agent:
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.13) Gecko/20080311 AdCentriaIM/1.7 Firefox/2.0.0.13

Я не знаю правильно ли я поступаю, написав этот топик, но просто так сидеть сложа руки тоже как-то не могу, как еще донести это до людей?

Читать дальше →
Total votes 117: ↑111 and ↓6+105
Comments122

Новая версия Google Chrome — dev 2.0.156.1

Reading time1 min
Views1.8K


Dev-версия 2.0.156.1. Официальные release notes, и пост в официальном блоге.

Основное изменение: новый WebKit (с 525 обновили до 528). Благодаря новому вебкиту, в частности, получили:
  • Плавная прокрутка средней кнопкой мыши
  • Полностраничный зум
  • Автозаполнение форм
  • Новые свойства в CSS
Кроме вебкита:
  • Встроенный Greasemonkey инструкции по включению; работают пока не все скрипты из-за ограничений по безопасности
  • Импорт закладок из Google Bookmarks
  • Докинг окон к сторонам экрана
Для апдейта на эту версию необходимо заново перейти на Dev Channel с помощью утилиты смены канала.
Total votes 104: ↑89 and ↓15+74
Comments129

Ботнеты, участвующие в «медленном брутфорсе», стали умнее

Reading time1 min
Views3K
Примерно в начале ноября специалисты по безопасности заметили необычное поведение ботнетов. Они начали координированную работу по медленному перебору логинов и паролей к самым разным хостам. Специалисты называют это «медленным брутфорсом», потому что скорость перебора паролей крайне мала (нужно перебрать все комбинации паролей для всех возможных логинов по словарю) — этот процесс займёт несколько лет. Но за счёт огромного числа машин, участвующих в «атаке», дело всё-таки постепенно продвигается — каждый день злоумышленники получают какой-то «улов». Запросы идут с разных IP (см. логи). Атака явно координируется из общего центра (у ботов есть общий словарь для перебора вариантов).

К настоящему моменту ботнеты перебрали уже больше половины словаря и дошли до буквы “o”. Чем это закончится и кто стоит за странной активностью — пока не совсем понятно. Также неясно, почему злоумышленники не трогают машины под OpenBSD.

Ясно только одно: в последнее время активность ботнетов претерпела изменения. Уменьшилось количество попыток подбора пароля для каждого логина с 10-15 до 1-4. Специалисты считают, что причиной этого может стать перераспределение ресурсов в ботнете. Боты динамически переключаются с более сложных целей на более простые и перераспределяют ресурсы.
Читать дальше →
Total votes 60: ↑55 and ↓5+50
Comments101

Information

Rating
Does not participate
Registered
Activity