Ура!
Сергей @Vanger13
User
Бесплатный VPN
1 min
113KРешил я как-то раз погуглить на наличие сервисов с бесплатным vpn. Сначала я наткнулся на Alonweb. Это чудо выскакивало по большинству моих запросов. Везде его венчали первым местом, но не везде говорили, что работать сие будет только 30 дней. Да и это еще полбеды.
Я использую Win/OSX/*nix, но преимущественно сижу под osx и не люблю всякого родапалки в колеса дополнительные клиенты. На линях у меня сервера, под виндой я в инет не хожу, поэтому расскажу про мак.
Я использую Win/OSX/*nix, но преимущественно сижу под osx и не люблю всякого рода
+11
Были получены исходники 3300 глобальных интернет-проектов
5 min
279K
+1154
Проверка равенства, неравенства, идентичности узлов в XPath
2 min
13KС одной стороны, в языке XPath используются знакомые каждому программисту операторы сравнения «равно», «не равно», «меньше», «больше» и другие. С другой стороны, эти операторы умеют работать не только с примитивными типами, но и с целыми наборами узлов. Незнание правил сравнения наборов узлов может привести к некоторым сюрпризам.
Попробуйте быстро ответить на вопрос, чему равно следующее выражение:
Если ваш ответ —
Попробуйте быстро ответить на вопрос, чему равно следующее выражение:
foo = 'bar' and foo != 'bar'
Если ваш ответ —
false
, автор предлагает +46
Panasonic атакует
9 min
17K
Совсем недавно, анализируя причины перебоев в работе сетевого оборудования, я выявил очень интересную ситуацию. Расследование длилось почти месяц, и в результате была выявлена цепочка событий, которые в совокупности способны уложить корпоративную подсеть на ура.
Данная статья представляет из себя достаточно интересную головоломку, с подробным анализом того, как она была разгадана. Я думаю, данный случай будет интересен не только системным и сетевым администраторам, но и рядовым пользователям, которые могут даже не подозревать, что же может крыться за обыкновенным МФУ, неприметно стоящим в углу кабинета, в ожидании своего часа…
А для тех кто часто употребляет фразы типа «это необъяснимый глюк», или «работа данного оборудования зависит от погоды и уровня осадков в южной зимбабве» эта статья просто «must read», ибо я убежден, что любое явление можно объяснить с помощью фактов, логики и здравого смысла. И это статья яркое тому подтверждение.
+265
Пишем свой первый скрипт для Greasemonkey
3 min
42KGreasemonkey — это расширение для Mozilla Firefox, и некоторых других браузеров на основе движка Gecko, которое позволяет пользователю добавлять JavaScript на любую страницу. Сам файл с JS должен быть оформлен соответствующим образом.
Для чего же пользователю, к примеру мне, или вам, нужно добавлять JS на страницы любых сайтов? Это чудесная возможность управлять внешним видом страницы и её функционалом. Естественно есть ограничения, которые накладывает сам язык JS. Однако и возможностей у него очень и очень много.
Как правило, большинство скриптов для Greasemonkey тесно «дружат» с CSS. Так что получается, этот пост несколько пересекается с темой User-CSS — однако я в название топика не стал выносить этот аспект.
Давайте же напишем пару очень простых скриптов для Greasemonkey, ну а жертвой для наших опытов возьмём, само собой, habrahabr.
Для чего же пользователю, к примеру мне, или вам, нужно добавлять JS на страницы любых сайтов? Это чудесная возможность управлять внешним видом страницы и её функционалом. Естественно есть ограничения, которые накладывает сам язык JS. Однако и возможностей у него очень и очень много.
Как правило, большинство скриптов для Greasemonkey тесно «дружат» с CSS. Так что получается, этот пост несколько пересекается с темой User-CSS — однако я в название топика не стал выносить этот аспект.
Давайте же напишем пару очень простых скриптов для Greasemonkey, ну а жертвой для наших опытов возьмём, само собой, habrahabr.
+13
Реши задачку, используя один бит памяти!
1 min
4.9K
Задача, подобная этой на использование совместных ресурсов:
1-го сентября 100 бессмертных эльфийских воркутинских зэков постоили на торжественную линейку и предложили им ускорить процесс своего освобождения. Итак, в тюрьме есть камера с висящей лампочкой. Лампочку можно включить или выключить. Каждый день, начиная с 1-го сентября тюремщик будет запускать одного заключённого в эту камеру. В этот момент зэк сможет увидеть, горит ли лампочка.
У каждого заключенного тюремщик будет спрашивать: «А все ли твои товарищи тут были хотя бы раз?» Если зэк отвечает «нет», игра продолжается.
Если зэк отвечает «да» и это правда — всех выпускают на волю в тундру. Если же это неправда — высшая мера наказания для всех.
Тюремщики могут выбирать заключенных вразброс и с повторениями. Заключенные сидят в одиночных камерах и могут договориться только один раз — 1-го сентября на обеде после торжественной линейки. После этого они сидят в «одиночках» без окон, совсем не видят друг друга и лампочки.
Найти оптимальную стратегию поведения каждого заключенного с тем, чтобы их выпустили пораньше.
+53
«Достаем» OLAP куб (ADOMD.NET)
4 min
31K
Итак, продолжаем осваивать внутренности OLAP кубов (предыдущие статьи на эту тему: 1, 2, 3). На повестке дня актуальный вопрос: «А как можно достать OLAP куб программно?». Понимаю – теория-теорией, но если данные нельзя (или очень сложно) получать из кода, то грош цена таким технологиям. К счастью, здесь все очень просто – знаете ADO.NET? Ну, так это то же самое, только называется ADOMD.NET.
Как же так, скажите вы – еще одна библиотека, которую нужно изучать?! Вообщем-то, можно конечно и через OLEDB «доставать» куб (как-нибудь напишу, как это делать), но тогда теряется вся специфика многомерности, а сама библиотека ADOMD.NET достаточно простая, что я сейчас и покажу.
Итак, приступим.
+18
Повышение работоспособности: как я делаю работу, которую делать не хочу
3 min
11K
В работе абсолютного большинства людей есть задачи, которые выполнять не хочется, но надо. Решается эта проблема (если решается) обычно методом «заставить себя», или «через не могу». Так происходит, потому что все мы приучены к этому с раннего детства. Поэтому мы всегда мучаем себя, делая то, что нам ненавистно. Сопровождается такой выход большим количеством негативных эмоций. А это наши нервы, и — как следствие — наше здоровье.
Так что же делать? Ответ я нашёл не так давно, и теперь хочу поделиться с Хабрасообществом.
+30
Эффективный способ повысить умственную работоспособность
13 min
222KВ прошлой заметке я писал о том, чего не стоит делать, если у вас проблемы с работоспособностью. В этой части я расскажу об эффективном способе, не требующем медикаментов. Медикаменты — это только поддержка, дополнение. Но способ этот требует организованности и силы воли, а потому так нелюбим большинством из нас.
+157
5 нетехнических ошибок, которые допускают программисты
3 min
1.3KЕсть два множества навыков, которые необходимо культивировать хорошему программисту: технические и нетехнические. К сожалению, некоторые программисты сосредотачиваются только на технической части. Когда это происходит, у них появляются плохие привычки, которые служат поводом к 5 нетехническим ошибкам.
+30
Голографический рендеринг разогнали до 10 fps
1 min
2.5KОт полноценного 3D-телевидения (с трёхмерной картинкой на экране без использования стереоочков) нас отделяет одна маленькая проблема — производительность. До сих пор нет возможности генерировать голограммы в реальном режиме времени, потому что ни один процессор пока не справляется с рендерингом такого потока информации, даже на основе готовой 3D-модели.
Японские учёные опубликовали в журнале Optics Express научную работу с описанием архитектуры специализированного кластера для голографии HORN (HOlographic ReconstructioN). Работает установка так. После обсчёта на подключённом к персональному компьютеру кластере изображение поступает на на HDTV-микродисплей с диагональю 0,7", а уже с него снимается голограмма.

Шестая модель кластера (HORN-6) из 16 плат показала производительность около 1 fps на сложной модели из 1 млн точек, а также производительность 10 fps на модели из 100 000 точек. По расчётам учёных, при таком применении их установка примерно в 4600 раз производительнее, чем ПК на базе Pentium 4 с тактовой частотой 3,4 ГГц.
Каждая плата HORN-6 несёт по четыре FPGA-процессора Xilinx XC2VP70-5FF1517C и интерфейс к модуля памяти DDR-SDRAM на 256 МБ. На этой архитектуре теоретически можно уже сейчас сделать готовую голографическую видеосистему, если масштабировать кластер в несколько раз.
Японские учёные опубликовали в журнале Optics Express научную работу с описанием архитектуры специализированного кластера для голографии HORN (HOlographic ReconstructioN). Работает установка так. После обсчёта на подключённом к персональному компьютеру кластере изображение поступает на на HDTV-микродисплей с диагональю 0,7", а уже с него снимается голограмма.

Шестая модель кластера (HORN-6) из 16 плат показала производительность около 1 fps на сложной модели из 1 млн точек, а также производительность 10 fps на модели из 100 000 точек. По расчётам учёных, при таком применении их установка примерно в 4600 раз производительнее, чем ПК на базе Pentium 4 с тактовой частотой 3,4 ГГц.
Каждая плата HORN-6 несёт по четыре FPGA-процессора Xilinx XC2VP70-5FF1517C и интерфейс к модуля памяти DDR-SDRAM на 256 МБ. На этой архитектуре теоретически можно уже сейчас сделать готовую голографическую видеосистему, если масштабировать кластер в несколько раз.
+29
Другие возможности Java
4 min
6.8KЯ продолжаю переводить источник первой статьи. Всё больше очевидных вещей, не смотря на это я все же решил, что повторение — не такое плохое занятие.
И коли источник исчерпыет себя — призыв кхабра-java-сообществу : «Don’t be jealous!», дополните этот список в комментариях, поделитесь опытом. А пока — продолжение предыдущей статьи, после монтажа, дубляжа и разбавления собственным опытом:
Почти все в курсе, что в поставку JDK входит внушительное число tools’ов. Однако в повседневной работе, думаю, многие кроме как java, javac, jar не используют. Что же ещё можно взять из папки bin:
И коли источник исчерпыет себя — призыв к
JDK tools
Почти все в курсе, что в поставку JDK входит внушительное число tools’ов. Однако в повседневной работе, думаю, многие кроме как java, javac, jar не используют. Что же ещё можно взять из папки bin:
+42
Нетривиальные возможности Java
4 min
17KJava — язык простой. И после года активного использования для Вас не остаётся секретов. Совершенно случайно я обнаружил, что на stackoverfow люди решили поделиться скрытыми возможностями (Hidden Features of Java). Вышло очень занимательно, получился своеобразный рейтинг нетривиальных возможностей, который я далее запротоколирую в вольном переводе на русский.
С большим отрывом лидирует «double brace», уже обсуждавшийся ранее в статье Эффект «double brace» by zeroed. Подробное описание метода —
http://www.c2.com/cgi/wiki?DoubleBraceInitialization
несомненно это самое забавное и неочевидное из списка. Однако как уже отмечалось, метод имеет свои минусы в виде анонимного класса на каждое использование этого метода. А также невозможности использования метода equals () для подобных объектов.
double brace
С большим отрывом лидирует «double brace», уже обсуждавшийся ранее в статье Эффект «double brace» by zeroed. Подробное описание метода —
http://www.c2.com/cgi/wiki?DoubleBraceInitialization
несомненно это самое забавное и неочевидное из списка. Однако как уже отмечалось, метод имеет свои минусы в виде анонимного класса на каждое использование этого метода. А также невозможности использования метода equals () для подобных объектов.
+34
Nemerle и спутник, или ФП для самых маленьких
7 min
1.5K
В последнее время на Хабре зачастило упоминание о Nemerle. Хотите узнать, что это такое и как его едят, а вернее — как с его помощью едят (задачки)?
Попробую показать на простом примере, но для этого вам придется
+25
VPN-мост в локальную сеть
10 min
232KПрочитал топик habrahabr.ru/blogs/linux/67209 и решил выложить сюда свою статью, которая была до этого видна только в закрытой корпоративной Wiki.
Обычно, при создании VPN, используется подключение типа точка-точка к некоторому серверу, либо установка ethernet-туннеля с некоторым сервером, при котором туннелю назначается определённая подсеть. Сервер VPN при этом выполняет функции маршрутизации и фильтрования трафика для доступа к локальной сети через VPN.
Данная статья рассматривает другой подход к созданию виртуальной сети, при котором удалённые системы включаются в уже существующую локальную подсеть, а сервер VPN выполняет роль Ethernet-шлюза. При использовании такого подхода мы всё ещё имеем возможность фильтровать трафик на основании способа подключения (например, использовать для локальной сети и для удалённых пользователей разные фильтры), но исключается необходимость настройки маршрутизации, а удалённые машины включаются прямо в локальную сеть, видят ресурсы, даже способны использовать широковещательные посылки вообще без дополнительной настройки. Через такой VPN у них отображаются все компьютеры локальной сети Windows, все доступные XDMCP-серверы при XDMCP broadcast и т. д.
Обычно, при создании VPN, используется подключение типа точка-точка к некоторому серверу, либо установка ethernet-туннеля с некоторым сервером, при котором туннелю назначается определённая подсеть. Сервер VPN при этом выполняет функции маршрутизации и фильтрования трафика для доступа к локальной сети через VPN.
Данная статья рассматривает другой подход к созданию виртуальной сети, при котором удалённые системы включаются в уже существующую локальную подсеть, а сервер VPN выполняет роль Ethernet-шлюза. При использовании такого подхода мы всё ещё имеем возможность фильтровать трафик на основании способа подключения (например, использовать для локальной сети и для удалённых пользователей разные фильтры), но исключается необходимость настройки маршрутизации, а удалённые машины включаются прямо в локальную сеть, видят ресурсы, даже способны использовать широковещательные посылки вообще без дополнительной настройки. Через такой VPN у них отображаются все компьютеры локальной сети Windows, все доступные XDMCP-серверы при XDMCP broadcast и т. д.
+17
Самая маленькая игра в мире (58 байт)
3 min
56KДля тех, кто читал статью в песочнице: добавил раздел «Можно ли сделать игру меньше?».
Прочитав историю одного байта, вспомнил свою историю.
Когда я учился в школе и только начинал программировать меня очень привлекал ассемблер и оптимизация. А именно — кропотливая оптимизация, с подсчетам тактов и байтов. На летних каникулах у меня с двоюродным братом появилась идея написать самую маленькую игру в мире.
Первый прототип, размером 80 байт, был готов на следующий день. (Поскольку о контроле версий тогда я даже не догадывался, то остается верить воспоминаниям). С этого момента началась моя борьба за байты. Помню, довольно быстро размер был уменьшен до 65 (или около того), дальше каждый байт давался все с большим и большим трудом. К концу лета результат был 58 байт.
Сюжет и управление
Вы несетесь по трассе на грузовике с двумя прицепами. Слева от вас разделительная полоса, справа обочина укрытая травой. На дороге встречаются люди и деревья (может ямы). Ваша задача: не сбивать людей и не врезаться в деревья (не попадать в ямы).
Управление: стрелки влево-вправо — поворот; Esc — пауза.
+327
Олимпиады по программированию, взгляд из НГУ. Статья 1 — составление задач
5 min
6.3KСледующий год будет моим пятым и последним сезоном в ACM-олимпиадах. За эти годы накопилось много разных воспоминаний и знаний об олимпиадах, благо мой университет участвует в них весьма активно. Рассказывать только со стороны участника будет не совсем правильным, поскольку поучаствовать в олимпиадах могут многие, мне же довелось и быть в составе жюри (правда, школьных олимпиад). Расскажу немного интересных вещей изнутри, приоткрою чуть-чуть наше закулисье. Рассказ будет тесно связан с Открытой Всесибирской олимпиадой, поскольку с ней у меня общение самое тесное (да и проводится она нашим университетом).
Вторая статья — про тестирующие системы.
Третья статья — про работу оргкомитета.
Четвёртая статья — про тур непосредственно.
В первой статье я хочу рассказать о составлении задач к этим олимпиадам. Дело увлекательное, творческое, но порой весьма муторное.
Вторая статья — про тестирующие системы.
Третья статья — про работу оргкомитета.
Четвёртая статья — про тур непосредственно.
В первой статье я хочу рассказать о составлении задач к этим олимпиадам. Дело увлекательное, творческое, но порой весьма муторное.
+42
Случайные числа из звуковой карты
15 min
13KМногие когда-либо интересовались случайными числами. Хочу поделиться моими экспериментами по получению истинно случайных чисел с помощью «аппаратного генератора» встроенного в практически любой компьютер — звуковой карты.
При подготовке материала, я переписал свой старый Си код на Питоне, поэтому данный опус также является примером по использованию Windows DLL из Питона с использованием стандартной библиотеки ctypes.
В конце статьи сравниваются данные полученные от двух звуковых карт Realtek и Audigy 2, приведены результаты статистических тестов на случайность.
UPD Исправил пропавшие в коде нули, которые съело НЛО.
При подготовке материала, я переписал свой старый Си код на Питоне, поэтому данный опус также является примером по использованию Windows DLL из Питона с использованием стандартной библиотеки ctypes.
В конце статьи сравниваются данные полученные от двух звуковых карт Realtek и Audigy 2, приведены результаты статистических тестов на случайность.
UPD Исправил пропавшие в коде нули, которые съело НЛО.
+131
Компьютерная симуляция звуков воды
1 min
4.2K
Однако, вскоре компьютеры смогут делать саундтрек к фильму с нуля — так же успешно, как и видеоряд. Учёные Даг Джеймс и Чанзи Женг из Корнелльского университета продемонстрировали технологию, которая может стать первым кирпичиком в здании компьютерных звуковых симуляций.
Учёные решили создать модель для генерации различных звуков воды. Они перерыли литературу по акустике и выяснили, что в потоке воды звук генерируется вибрацией маленьких пузырьков воздуха диаметром от 0,5 до 5 мм.
+47
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity