Привет!
Решил посмотреть лучшие посты своего любимого хаба и с ужасом обнаружил, что такой фичи нет.
Когда это нас останавливало!
Прошу под кат всех желающих посмотреть на самые рейтинговые посты для каждого хаба + пару слов о реализации скрипта.
Скрипт написан на питоне при помощи отличной библиотеки grab, а точнее её модуля Spider. Спасибо автору(и по совместительству хаброюзеру) itforge за подробную документации.
В качестве БД использовалась sqlite3. Парсились только страницы хаба, т.е. в сам пост паук не залазил, что отразилось на скорости скрипта: получена информация о 111690 постах менее чем за час, и это в 1 поток.
from grab.spider import Spider, Task
import sqlite3 as lite
class HabraParser(Spider):
# отсюда начинаем парсить
initial_urls = ['http://habrahabr.ru/hubs/']
def prepare(self):
# сюда будем складывать
self.post = []
self.con = lite.connect('files/habra_hubs.db')
def task_initial(self, grab, task):
# стрелка, указывающая на следующую страницу списка хабов
nav = grab.doc.select('//ul[@class="next-prev"]/li/a[@class="next"]')
# парсим хабы и передаём ссылки в новое задание hub
for elem in grab.doc.select('//div[@class="info"]/div[@class="stat"]/a[2]'):
self.add_task(Task(name='hub', url=elem.attr('href')))
# если стрелка существует - переходим на следующую страницу
if nav.exists():
self.add_task(Task(name='initial', url=nav.attr('href')))
def task_hub(self, grab, task):
nav = grab.doc.select('//a[@class="next" and @id="next_page"]')
# парсим пост
for elem in grab.doc.select('//div[@class="post shortcuts_item"]'):
comments = ''
score = ''
post_url = elem.node.find('h1[@class="title"]/a').get('href')
post_title = elem.node.find('h1[@class="title"]/a').text
# Страховка от факапов
try:
comments = int(elem.node.find('.//span[@class="all"]').text)
except:
comments = 0
try:
score = int(elem.node.find('.//span[@class="score"]').text)
except:
score = 0
self.post.append([
score,
comments,
post_url,
post_title
])
if nav.exists():
self.add_task(Task(name='hub', url=nav.attr('href')))
else:
# сохраняем в бд
hub = task.url.split('/')[4] # название для таблицы
self.save_data(hub)
def save_data(self, hub):
with self.con:
self.cur = self.con.cursor()
self.cur.execute("DROP TABLE IF EXISTS %s"%hub)
self.cur.execute("CREATE TABLE %s(Score INT, Comments INT, Url TEXT, PostTitle TEXT)"%hub)
self.cur.executemany("INSERT INTO %s VALUES(?, ?, ?, ?)"%hub, self.post)
self.post = []
Дальше остаётся только задавать вопросы бд вида:
("SELECT * FROM %s ORDER BY Score DESC LIMIT 10" % hub)
Для этого был тоже написан простенький скриптик, который и сгенерировал большую часть этой статьи.
Первоначально была идея поместить ещё самые комментируемые посты(и для этого всё реализовано), но уж слишком толстой получается эта статья!
Хабы брались из условия:
habraindex > 100.0 and posts_number > 200
Бд, исходники и проч на гитхабе.
Ну а теперь самое интересное. Я думаю каждый найдёт себе что-нибудь по вкусу.
Уязвимость на Habrahabr или как украсть инвайт 581
Нифига себе сходил за хлебушком, или история одного взлома 560
Безопасность интернет ресурсов — взлом сайта rospil.info 475
Верни мои деньги, банкомат! 410
Как я ловил хакера 383
Новый троян с валидной цифровой подписью LLC Mail.Ru маскируется под обновления популярных программ 375
Как ловили меня 373
QIP — Минутка ненависти (хистори на сервере) 369
Дефейс официального сайта ЕГЭ Санкт-Петербурга 348
Несколько полезных сервисов 329
8 полезных сервисов для веб-разработчика и дизайнера 311
Чек-лист вёрстки. Что можно отдавать клиенту, а что надо переделывать 301
Наберитесь смелости сделать не как все. 12 устаревших интерфейсных и технологических решений 295
Визуализация «В Контакте»: Скажи мне, кто твой друг? 290
Фоторама 286
Чем плох свой Open Source проект 269
Генерирование изображений-заглушек 265
Грабли при верстке HTML писем 264
Игра в 0 строк кода на чистом JS 291
Визуализация «В Контакте»: Скажи мне, кто твой друг? 290
Как я Quake в браузере делал 261
Chosen: сделай выпадающие списки более дружественными 236
Велосипеды на Javascript и jQuery 234
JavaScript F.A.Q: Часть 1 222
Замечательное выступление настоящего программиста 220
Про jQuery и велосипеды — мое дополнение 218
Сверхплавное передвижение объектов 207
Как я искал работу или Как не надо проводить собеседования 451
С Днем программиста! 431
RIP Dennis Ritchie 344
Джефф Дин из компании Google — это Чак Норрис нашего времени 333
Путешествия во времени и программирование 2: парадоксы 331
Как два программиста хлеб пекли 316
Как я получил ключ к Diablo III Beta 310
Обустраиваем рабочее место программиста в деревне 308
Сколько-сколько? Я бы это сделал за Х/10 рублей! 306
Солнечные затмения с расстояния 36 тыс. км или почему мы об их космосе знаем больше чем о нашем 391
О космической доброте и Челябинском метеорите 385
Водитель марсохода Curiosity отвечает Хабру 359
Путешествия во времени и программирование 2: парадоксы 331
Внезапно: спутник Электро-Л снял затмение по нашей просьбе 326
Веб 3.0 Децентрализация. Тренд на 5+ лет 316
Opportunity – позабытый рекордсмен 278
Звезда Смерти не нужна когда есть Curiosity 275
Удивительный Марс 272
Ностальгия: как работают «сохранения на бумажке» 218
Исходники Prince of Persia нашлись спустя 23 года 212
Разработка браузерной стратегии 208
Space Engine — Вселенная на ладони 185
Текстурирование спрайтов с помощью (dis)placement map 180
Корпоративная культура в компании Valve 168
Angry Birds. В поисках встроенного редактора уровней 164
Написание макроса-бота для браузерной игры 160
Кроссплатформенность — это круто 157
Управление разработкой в стиле BDSM 153
Как от маленького сайта дойти до розничной сети и что для этого нужно 140
Эффективные совещания 132
Бесплатная электронная книга по гибким методологиям разработки 128
Мотивация удаленных сотрудников 125
Идеальный шторм. Постмортем неанонсированного проекта. 125
Корпоративный троллинг. Часть вторая 124
Советы, как успешно завалить проект 123
Разработка макетов: а давайте в этот раз не будем спрашивать уборщицу? 122
Мощный лазер своими руками за один вечер 463
Электровелосипед своими руками 449
Получаем изображение с оптического сенсора комьютерной мыши с помощью Arduino 375
Как воровать бензин с помощью Ассемблера (основано на реальных событиях) 349
Кухонный компьютерный стол 335
Процессор 331
Как я собрал первый аналоговый клиент для твиттера 330
Регистрация своей фирмы собственными руками, туду-лист 330
Делаем твёрдый переплёт для любимых книжек 326
Как я выиграл суд с EMS Почта России 445
Против анонимного пользователя Хабрахабра будет возбуждено уголовное дело 425
Как воровать бензин с помощью Ассемблера (основано на реальных событиях) 349
Как я был торговцем порно 345
Про системного администратора, обыск в его квартире и незаконное изъятие компьютерной техники 307
Судья Алсуп умеет программировать и поучает адвоката Oracle 241
Как я стал уголовником 234
Главе Крыма на открытии школы показали компьютерный класс с одними мониторами 228
Очередная регистрация ООО или жестокая война с налоговой 225
Hello world в 1 строчку на чистом JavaScript 337
Шутер с псевдо-3D графикой на… bash 301
Игра в 0 строк кода на чистом JS 291
Клуб анонимных PHP'ешников 259
Я не знаю Си 251
Взаимодействие между несколькими .bat, мультиплеер на .bat 251
Просмотри видео на сканере штрихкодов 244
Многопользовательский чат на BAT 237
Эстафета из 50-ти квайнов 229
Android. Обзор боевых приложений 221
Обзор Android коммуникатора за $210, DualSIM, 5Mp, WiFi 199
Недостатки Андроида в планшетах 181
Стирая границы устройств 157
Notion Ink Adam или почему я жду Нового Года 156
AsciiCamera 149
От любви до ненависти один push 139
Трансляция с мероприятия Google и Samsung в Гонконге — характеристики Galaxy Nexus, новинки Android 4.0 Ice Cream Sandwich [обновляется] 137
Конфликт между сообществом разработчиков Android и Google 137
Пи. Научно не популярное 231
Когда не нужна тригонометрия 199
Гугл научился строить графики математических функций 196
Философская геометрия, Часть 2. Корень из трех и его практическое применение 190
Немного математики, или Почему я не покупаю лицензионный контент 182
«Футурама по-научному» от Multreality.com 168
Фундаментальное отличие русской Википедии от английской 152
FAQ по проективной геометрии для программистов 141
Ричард Фейнман: Алгебра 130
Сколько-сколько? Я бы это сделал за Х/10 рублей! 306
Стандартный программист 296
Программизм: история одной болезни 285
Жаргон программистов 254
Happy 0b100000000 day! 252
10 приемов, разрушающих хрупкую красоту кода 246
Как две недели?! 242
С Днем Программиста! 240
Я и мои джойстики или как превратить хобби в работу (и наоборот) 228
Декодирование JPEG для чайников 402
Подделываем вашу подпись при помощи шарнирного механизма. Теорема Кемпе 376
Восстановление расфокусированных и смазанных изображений. Повышаем качество 349
Путешествия во времени и программирование 2: парадоксы 331
Распознавание некоторых современных CAPTCHA 307
Алгоритм сортировки Timsort 279
Опубликовано доказательство P ≠ NP? 277
Необыкновенный способ генерации лабиринтов 263
Процедурный генератор хрущёвок 257
О космической доброте и Челябинском метеорите 385
Проект Стрекоза, или «А как ты решил проблему обледенения?» 277
Фобос-Грунт. Уроки для оставшихся на Земле 275
Curiosity — первые 50 дней на Марсе 263
Сказ о том, как Непалы клад искали 241
Хабраквест с элементами космонавтики и геокешинга [done!] 241
Опасна ли комета ISON? 237
Частный космос теперь и в России 227
Curiosity на дне 226
«Google. Прорыв в духе времени» — книга издательства Эксмо 60
Google предлагает выбрать новые возможности Gmail 55
Новые карты, новый поиск, новый YouTube-плеер 50
Первый сервер Google 50
Google построит дата-центр за $600 млн 49
Google Cheat Sheet 44
Google использует солнечные батареи 43
Google разрабатывает искусственный интеллект 43
Google Search Quality запрещает обмен ссылками и рекомендует SMO 42
TOP'ай сюда 377
Памятка пользователям ssh 344
Эмулятор компьютера с linux на JavaScript 304
Хочется взять и расстрелять, или ликбез о том, почему не стоит использовать make install 293
О том, как я заставлял Ubuntu работать 10 часов от батареи 274
Миникомпьютер из роутера с OpenWRT: разрабатываем USB-видеокарту 272
pv — маленькая, но очень полезная утилита 270
Почему гику стоит переходить на Linux 232
Пишем свой драйвер под Linux 229
Станция УВБ-76 подала четвёртый сигнал за 30 лет 217
ФБР не смогло взломать зашифрованный диск (сдались через год брутфорса) 215
Сноуден пролил свет на ситуацию со взломом криптографии. Все плохо 196
Загадочный случай в нью-йоркском метро 196
Миссия невыполнима 196
Легендарный криптограф Диффи попытался остановить патентного тролля 190
Дмитрий Скляров взломал цифровую подпись в камерах Canon 171
Вы опасно некомпетентны в криптографии 155
Элементарная криптография 137
Пост-мортем: Divine Space на Kickstarter.com 128
0 A.D. — свободная стратегия в реальном времени собирает деньги на Indiegogo 115
Сообщество собрало больше 60 000 долларов на открытый независимый аудит TrueCrypt 114
Плати авторам, а не копирастам 110
Sprite Lamp: динамическое освещение 2D-объектов 109
Confederate Express — игра про выживание в тонах сурового ретро, «написанная» мастерами современного пиксель-арта (Kickstarter Campaign) 106
Донейт, Литрес и копирайт 106
Наш ответ 3doodler`у. Собран за 20 минут 105
Кампания Spintires на Кикстартере увенчалась успехом 103
Отладка самолета? Это очень просто! 256
Стандартный_тест_на_обработку_длинного_заголовка 234
Электромобиль Tesla S сломал оборудование для проведения краш-тестов 223
Разработка ПО авионики 215
7 бесплатных сервисов для проверки сайтов (о которых вы могли и не знать) 173
WinRAR vs 7-zip 154
Билд-светофор в офисе 152
Bomberman Online и хабраэффект — 450 игроков на одной карте. Отчёт и детали игрового движка 152
Может ли быть слишком много автоматизации в самолете? 151
Необыкновенный способ генерации лабиринтов 263
Избранное Хабра в PDF 183
Перестаньте писать классы 178
Распознаём изображение с токена при помощи камеры 166
Учебник по языку программирования Python (хабраиндекс) 158
Сумбурные заметки про python и django 147
Уроки Python от компании Google 137
Вернулся невод с тиной морскою… 136
Python-неизвестный 136
Sublime Text 2 180
Civilization 2: десять лет без перезапуска 170
FastPic.ru — Очень стыдно! 154
Навязывание своих продуктов mail.ru 146
Про прогород 117
Китайский офис 111
Опенсорс-фотореализм на GPU: Cycles Render 107
Анонимусы с 4chan выступают в защиту разработчиков CDProjekt RED от пиратов 105
Synergy — управление несколькими ПК с одной клавиатуры 105
Достала избыточность С++ 275
Я не знаю Си 251
Что нужно знать про арифметику с плавающей запятой 239
Популярные вопросы на собеседовании по C++ и ответы на них 193
Файл, который нужно закоммитить перед уходом с работы 172
C++11 — removed and deprecated 172
Обходим чужие тормоза 172
Еще 5++ причин ненавидеть С++ 172
Lock-free структуры данных. 1 — Начало 157
Клавиатура, идея, две руки 501
Микроэлектроника для космоса и военных 461
Как я жарил видеокарту 448
Как нельзя зарядить смартфон 442
Первый украинский SSD диск или вторая жизнь швейцарского компьютера 361
Обзор Apple iPad 348
Расставляем точки на Li: Нужна ли тренировка литиевых аккумуляторов? 284
Клавиатура своими руками под свои руки 275
Фобос-Грунт. Уроки для оставшихся на Земле 275
Реалистичные тени при помощи CSS3 без использования изображений 243
Тривиальные задачи по вёрстке 227
Пример — часы на СSS3 без изображений и JavaScript 208
CSS хаки 194
В поисках идеального css-фреймворка. Требования, реализация, maxmertkit 190
Подборка инструментов для эффективной frontend разработки 190
HTML и CSS безумие [перевод] 189
Подборка 10 css3 кнопок 188
Что если бы Google выпустил свой Bootstrap? 184
Что нужно делать смолоду или как стать богатым айтишником 217
Как устроен Forex и нужен ли он? 186
Трагедия общин в реальном мире или купонная лихорадка-2 163
22 главных тренда десятилетия по версии журнала Forbes 156
Как не стать бедным IT-шником из-за ошибки перевода 154
Почему брать кредиты выгодно? 151
Как попасть в «золотой миллиард» или отрезвляющая статистика 146
Открытие компании в зарубежной юрисдикции для айтишника, фрилансера, разработчика мобильных приложений 142
Искусство переговоров — это просто бизнес, ничего личного 136
Что нам стоит байк построить? 435
Лайтпак 5.5 опубликован 290
Чем плох свой Open Source проект 269
Графический стек Linux 186
Отчет с финала Google Code-In, Калифорния 185
Помочь GNU/Linux — это просто! 183
Hacker in Law (блоггер bablaw) перепечатал открытое письмо Президенту в защиту подлинной свободы программного обеспечения 162
Юмор в стиле Open Source 160
Французский суд разрешил реверс-инжиниринг протокола Skype 156
Техника для проверки подлинности денег 360
Восстановление расфокусированных и смазанных изображений. Повышаем качество 349
The Foundry Nuke. Введение 308
Распознавание некоторых современных CAPTCHA 307
Восстановление расфокусированных и смазанных изображений 287
Blind Deconvolution — автоматическое восстановление смазанных изображений 235
В новый микроскоп IBM видно межатомные связи в молекуле 193
Новый алгоритм для депикселизации графики 193
PNG — not GIF! 183
Взгляд изнутри: светодиодные лампочки 532
Полупроводниковая электроника 470
Микроэлектроника для космоса и военных 461
Сколково на вашем столе (или история о том, как я делал электронное устройство с нуля) 357
Взгляд изнутри: LCD и E-Ink дисплеи 353
Процессор 331
Электронная система управления подвеской горного велосипеда 325
Взгляд изнутри: CD и HDD 309
Прекратите скручивать — 2. О способах крепления кабеля 295
Сказ о том, как я инвестиции искал 140
Как создать вебсайт для мобильных устройств 123
Microsoft купил Nokia 120
Как хотел срубить бабла с корпорации добра 117
Ботнет из утюгов и чайников: партия утюгов и чайников из Китая, рассылающих вирусы и спам через скрытый в них Wi-Fi адаптер, арестована в СПб 107
OpenWeatherMap – как энтузиасты делают погоду 106
Пишите в первую очередь под платформы, которые популярны в США, и не тратьте свои силы на остальные 105
Безработный геймдизайнер сделал модель Солнечной системы на движке Unreal 104
Определение местоположения без GPS: как устроен Яндекс.Локатор 101
Смотрим на мир глазами рака-богомола: ближний инфракрасный диапазон 260
Как работает стилус Galaxy Note 244
К чёрту такие инновации! 224
Смартфон от РЖД 198
Инсталлятор CyanogenMod появится в Google Play, разработчики получили $7 млн инвестиций 192
Все самое главное для очередного «убийцы Angry Birds» 185
Выключайте свои сотовые телефоны 166
Apple iPhone 5s: вскрытие, сравнение с предыдущими поколениями и оценка ремонтопригодности 158
Nokia 105 за 15 евро с фонариком и аккумулятором 800 мА·ч 156
Рекламное видео Windows 98 201
Почему я люблю Microsoft. Заметки зомби 194
Биллу Гейтсу — 55 лет! 183
Office 2013 привязывается к одному компьютеру навсегда 160
В аду сегодня холодно: Firefox от Микрософт 151
Microsoft терпит неудачу? 141
Как Microsoft стал тем, что раньше презирал 141
Обзор Windows 7 M3 b6801 140
Microsoft лучше знает 135
Как веб-дизайн катится прямо в Ад 351
Самый крутой системный блок для PC (сделай сам) 269
Коаны о программировании 227
Не тратьте своё время на дерьмовую работу в стартапе 204
Загадочный случай в нью-йоркском метро 196
Руководство новичка по эксплуатации компоновщика 192
Строение двигателей 191
HTML и CSS безумие [перевод] 189
Графический стек Linux 186
Panasonic атакует 266
Анализируй это, или почему я каждый день опаздываю и получаю премию 262
Изменение часовых зон в России, Белоруссии и на Украине 245
Еще раз про IP-адреса, маски подсетей и вообще 236
Adobe рассылает непонятные письма 229
Как стать системным администратором — пособие для начинающих (часть 1) 209
Нетипичная история «домового» провайдера 201
Лайфхак для сисадмина, когда не работает «ping ya.ru» 199
Черный понедельник 186
Миллион одновременных соединений на Node.js 181
Новостные сайты не готовы к высокой нагрузке 181
Хабракамп 162
Еще раз об архитектуре сетевых демонов 157
Google издевается над веб-сервисами Microsoft 137
Насколько крупны порносайты? 135
NoSQL базы данных: понимаем суть 129
«Т-Платформы» оказались в списке врагов США 122
Про сайт metro29.ru 116
Хабраиндекс для статей по программированию под Android 188
Улучшенный Android NDK (Native Development Kit) 172
Android vs iOS на примере одной игры 156
Пишем первое приложение для Android 143
Конкурс ВК: Мессенджер для Android. Как это было!? 142
Как я продал права на своё приложение для Android 126
Galaxy S3: радикальное снижения энерго-потребления mediaserver-ом 117
31 метод эффективного программирования под Android 115
Пишем клиент для Хабра под Android 115
Big switch или жизнь после Microsoft: Почему мы сказали .NET'у нет 173
Взлом матановой капчи на C# — это просто! 168
ASP.NET MVC. Урок 0. Вступление 140
Взлом программ для чайников 129
Обратная сторона луны 126
Мифы и заблуждения насчёт CLR и .NET 114
Нейронные сети для чайников. Сеть Кохонена 95
«Оживление» пользовательского интерфейса 90
CFD 3D: простой симулятор воды 87
Водитель марсохода Curiosity отвечает Хабру 359
Внезапно: спутник Электро-Л снял затмение по нашей просьбе 326
Робот-пылесос Kärcher RC 3000: опыт эксплуатации 289
Opportunity – позабытый рекордсмен 278
Звезда Смерти не нужна когда есть Curiosity 275
Curiosity — первые 50 дней на Марсе 263
Жизни нет, населена роботами 262
Какого цвета Марс? 259
100 дней любопытства 249
Сказ о том, как один нерадивый провинциал в MIT поступал 406
Зачем нужны попы в ВУЗе? 326
Произносим правильно 299
Сдача сессии по-английски 281
ЕГЭ изнутри (глазами админа) 278
Почему я убегу из школы 254
Как я однажды преподавал программирование не как все 228
Искусство публичных выступлений 211
Где погрызть гранит науки 203
Памятка дизайнеру сайтов 435
Анатомия шрифта 293
Подборка полезного для любителей Twitter Bootstrap 238
Как заказать дизайн «Тематических Медиа»? 236
Subtle Patterns: фоновые текстуры для вашего сайта 232
Теплая, ламповая новогодняя игра на HTML5 192
Что если бы Google выпустил свой Bootstrap? 184
Adobe бесплатно раздает Creative Suite 2 (или же не раздает?) 182
Главные особенности китайского веб-дизайна и их истоки 170
История Linux. Вкратце о главном 299
Моя бабушка — программист 298
Олдскульный фотошоп 297
Ко дню рождения Мастдайки 264
Игровая партия длиной 12 лет… Кто больше? 250
Atari Portfolio — ноутбук Джона Коннора 242
История создания Absolute Games 239
Нетипичная история «домового» провайдера 201
Звук диалапа 194
Уроки написания утилитки на $1 000 000 443
Поможем Сбербанку 406
QIP 2008 concept 302
Наберитесь смелости сделать не как все. 12 устаревших интерфейсных и технологических решений 295
Интерфейс банкоматов Сбербанка 4 месяца спустя 289
Имена людей и интерфейс 288
Юзабилити кабинки туалета 261
Почему я не верю в возможность улучшения сервиса в Сбербанке 255
Пост ненависти к модальным окнам 229
Элиза 328
Австралийские роботы сами придумали себе язык 212
Распознавание лиц человеческим мозгом: 19 фактов, о которых должны знать исследователи компьютерного зрения 177
Взлом каптчи файлообменника 173
Нейронная сеть против DDoS'а 171
Суперкомпьютер IBM Watson выучил уличный жаргон: пришлось чистить ему память 162
Компьютер сгенерировал эффективные, но непонятные человеку алгоритмы ускорения TCP 142
Незаметная смерть распознавания речи 142
Разбор каптчи Xakep.ru 139
Работа с памятью (и всё же она есть) 213
KPHP от ВКонтакте 191
Pinba — мониторим php в реальном времени 175
Знакомимся с PayPal API 174
Битовые операции в PHP на примерах 164
Эхо или печать? 148
Traits в php 5.4. Разбираем детали реализации 147
Демоны на PHP 146
Ловля бага #52001 в PHP 5.3: указатели и неициализированные переменные 146
Логотип за 4 доллара 352
Как создать идеал? 298
Вам календарик 2010 281
Живая каркасная модель мотоцикла 278
Дизайнер на кладбище 263
Дизайн будильника моей мечты 256
Антидизайн. Часть 2. Очевидные приемы 253
Курс по подготовке идиотов (цитаты из книги «Искусство оформления сайта») 247
Простой тканевый фон за 5 секунд 240
Генерация музыки в реальном времени 215
История одного вскрытия: реверс-инжиниринг Java ME трояна 207
Как я систему безопасности для авиакомпании разрабатывал и сам оказался в опасности 189
Bomberman Online и хабраэффект — 450 игроков на одной карте. Отчёт и детали игрового движка 152
Java Logging: история кошмара 144
«Детский» геймдев или «Как я играл в инди-разработчика» 143
Решение суда: Google не нарушает авторское право Oracle на Java API 138
Малоизвестные особенности Java 137
Автономная кроссплатформенная монолитная программа на Java 136
Инсталлятор CyanogenMod появится в Google Play, разработчики получили $7 млн инвестиций 192
«Телекон» извинился перед зрителями. Все точки над „i“ в истории про BolgenOS 189
Помочь GNU/Linux — это просто! 183
Прототип национальной ОС разработают за 5 млн рублей и 16 дней 179
Поддержка USB в KolibriOS: что внутри? Часть 1: общая схема 161
Стенограмма доклада про Фантом-ОС, сделанного Дмитрием Завалишиным на ADD-2010 148
Школьник из Ставрополья попросил у Медведева €1 млн на создание конкурента Windows 146
Рассвет Haiku OS 137
Замкнутый круг вирусов. 125
Чек-лист вёрстки. Что можно отдавать клиенту, а что надо переделывать 301
Как превратить браузер в notepad за 1 секунду 282
Пример — часы на СSS3 без изображений и JavaScript 208
Почему HTML считает, что «chucknorris» — это цвет? 199
В поисках идеального css-фреймворка. Требования, реализация, maxmertkit 190
HTML и CSS безумие [перевод] 189
Тренды, возведенные в культ 189
HTML5 как победа научного материализма 183
Чёртова дюжина советов начинающим верстальщикам. Часть первая 151
Автор: ErhoSen