Pull to refresh
  • by relevance
  • by date
  • by rating

В зоне ORG — 5 миллионов доменов

Lumber room
В зоне ORG зарегистрирован 5-миллионный домен, сообщает администратор ORG – компания PIR (The Public Internet Registry). Домен популярен как среди некоммерческих организаций и общественных проектов, так и среди владельцев товарных знаков.

Чтобы привлечь максимальное число заинтересованных лиц к домену ORG, компания PIR с лета 2005 года способствовала снижению цен на регистрацию в таких регионах как Южная Америка, Азии и Африка. В результате, по словам Эдварда Г. Вильтца, президента компании, количество регистраций увеличилось по всему миру более чем на 25%.

Для сравнения: домен COM сегодня насчитывает около 56 млн доменов второго уровня, в зоне NET — свыше 8 млн доменов.
Rating 0
Views 201
Comments 0

Закончились четырехбуквенные домены в зоне COM

Lumber room
Конец недели ознаменовался историческим событием. В зоне COM закончились свободные четырехбуквенные домены, т.е. домены вида LLLL.com, где L — любая буква латинского алфавита. Теперь желающие зарегистрировать в зоне COM короткий домен из 4 букв не смогут этого сделать, так как все домены заняты.
Читать дальше →
Total votes 57: ↑50 and ↓7 +43
Views 1.5K
Comments 141

Как создавать документы Microsoft Office при помощи PHP

PHP *
Translation
Есть два основных способа построить Excel, Word, и PowerPoint используя PHP. Первый — используя библиотеку COM (только под Windows сервером) и другой — используя более стандартизированные форматы, такие как CSV и HTML.
Читать дальше →
Total votes 32: ↑23 and ↓9 +14
Views 9.8K
Comments 46

РАДИО-Э №23

Lumber room
— Земля, космос и вода будут давать электричество всегда
— Царь бомба против космической катаны
— Истины в «Вине» нет
— Лисиная конура
— Фильм, фильм, фильм
— Ударим USB по COM
Радио-Э
Запись 2008.06.20
Слить файло к себе на комп. [01h:20m:38s] 32,3 МБ
podcast by РАДИО-Э.ru RSS-подписка
Total votes 2: ↑2 and ↓0 +2
Views 424
Comments 6

Как я с Microsoft Word воевал!

Lumber room
Я хотел бы рассказать одну историю, которая произошла со мной. На мой взгляд, она достаточно интересная, и может помочь, кому-нибудь с аналогичной проблемой. Сразу скажу — это мой первый пост на хабре :-) Он оказался немного затянутым, поэтому основные выводы я вынес отдельно — в конец статьи.

Итак, задача:
Есть портал, на который загружаются документы Microsoft Word в формате Doc. Перед публикацией в общий доступ они должны быть обработаны. Как именно — не важно, поэтому для упрощения возьмем такой алгоритм:
  1. Создать новый документ.
  2. Вставить данные из исходного (вставить файл).
  3. Сохранить полученный файл вместо оригинала.

Зачем это нужно и как это было реализовано?
Total votes 19: ↑12 and ↓7 +5
Views 975
Comments 27

Подключение планшета Wacom к последовательному (Com, Serial) порту и работа через usb-com адаптер.

Lumber room
При переходе с десктопа на лэптоп встала проблема подключения планшета Wacom Intuos. Моя модель достаточно старая и подключается через COM порт, который в лэптопах уже давно не используются. Покупать новый 6×8 дюймовый планшет только из-за usb смысла нет. Проще купить com-usb адаптер. Wacom гарантирует работу только с Keyspan, но они достаточно дороги. Зато есть множество дешевых адаптеров, большинство из которых собраны на чипе Prolific. В итоге взял TRENDnet TU-S9. С ним все заработало, думаю с другими «Пролификами» тоже проблем не должно быть.

Теперь о трудностях подключения

Интернет полнится рассказами о черной магии и танцах с бубном при подключении Wacom-ов. «Wacom Tablet Properties» в Control Panel в упор не видит планшет. Промучавшись целый день, все наконец заработало. Драйвера для Wacom брал здесь. Вся серия 6.x должна работать. Я подключал через com-usb адаптер, но, думаю, через com порт будет так же.
Читать дальше →
Total votes 65535: ↑32767.5 and ↓32767.5 0
Views 939
Comments 0

.NET в unmanaged окружении – использование и родовые проблемы

.NET *
Managed код и .NET Framework – совершенно замечательная вещь с точки зрения программиста, которому надо кровь из носу выдавать максимально стабильно работающие программы. Использование .NET позволяет очень сильно сократить затраты на разработку, тестирование и сопровождение программных продуктов, особенно по сравнению с C++ или Delphi.

Однако, managed код имеет одну очень серьезную родовую травму, которая прямо проистекает из его достоинств – он изначально несовместим с unmanaged средой, в которой вынужден работать. Boxing, поля памяти, отсутствие прямой адресации и прочие ухищрения, призванные облегчить жизнь программисту, приводят к тому, что взаимодействие managed и unmanaged кода становится проблемой.

Однако нет такой проблемы, которую нельзя решить (пусть даже с помощью топора и лома). Сегодня у нас краткий обзор возможностей организации взаимодействия между managed и unmanaged кодом. Многие C# и особенно VB.NET программисты боятся этого, но на самом деле в этом нет ничего страшного. Начнем мы с самых примитивных методов, которые будут интересны разве что новичкам (поэтому матерые волки .NET могут с чистой совестью первую часть статьи пропустить), и закончим описанием того, что делать, если хочется написать программу на .NET, но сделать это невозможно (а такое тоже бывает). Естественно, к каждому случаю будут приведены конкретные примеры, быть может, хабрачеловеки расскажут мне о моей собственной велосипедности. Параллельно я скажу пару слов о подводных камнях при работе с VSTO и Windows Shell.
Читать дальше →
Total votes 41: ↑35 and ↓6 +29
Views 6.1K
Comments 32

.NET в unmanaged окружении: вызов управляемого кода из неуправляемого

.NET *
Как вы, наверное, помните из моей предыдущей статьи, взаимодействие unmanaged и managed кода представляет определенную проблему, даже для опытных разработчиков. Причина этого — необходимость понимать, какие процессы происходят при пересечении данными границы CLR.

К сожалению, нередко проблема наладить взаимодействие встает у тех разработчиков, которые слабо знакомы с подноготной технологии COM и возможностями .NET для обеспечения взаимодействия. Это нормально — нельзя знать все на свете. Потому я не буду здесь объяснять всю суть проблемы маршаллинга данных из unmanaged в managed и обратно, а просто дам несколько рабочих рецептов, которые помогут вам тогда, когда нужно срочно и завтра, и вы с тоской смотрите на английское издание книги Inside OLE и понимаете, что разобраться в этом за день нет никакой возможности.

Однако, для тех, кто неплохо в этом разбирается, в конце статьи есть небольшой бонус — способ организации out-process COM на .NET. Честно говоря, я добросовестно считал, что сделать out-process COM с помощью .NET невозможно, однако буквально вчера выяснилось, что все-таки нет, можно. В связи с этим, рассказывать про архитектуру .NET Pipe RPC я скорее всего не буду — она достаточно сложна, однако все предоставляемые ей возможности с легкостью заменяет out-process COM.
Под хабракатом много текста
Total votes 35: ↑29 and ↓6 +23
Views 5.4K
Comments 8

regsrv32.exe на .NET / Register COM server from .NET

Lumber room
Проблема была такая:
У клиента была необходимость переключаться между двумя версиями приложения, которое использует около 1000 com объектов.
Чтобы переключиться надо сделать unreg всем dll первой версии и reg всем dll второй версии… Потом, когда понадобится снова перейти на первую версию, повторить процесс в обратном направлении…
Можно запускать много раз regsrv32.exe, однако, это долго и нетру :) (для каждой dll будет запущенно аж по 2 процесса, на рег и на анрег)…
Поэтому и был написан следующий код. Большой ценности он не представляет, но т.к. поиск в google про реализацию регистрации com сервера на .NET ничего похожего не дал, то привожу его здесь для индексирования и использования теми, кому вдруг надо :)
Читать дальше →
Total votes 9: ↑5 and ↓4 +1
Views 553
Comments 23

Делаем скриншоты сайтов

PHP *
Бродя по просторам PHP документации случайно наткнулся на две функции: imagegrabwindow и imagegrabscreen. Они умеют делать скриншоты в Microsoft Windows.
Заинтересовало. Кончилось дело тем, что был написан скриптик генерирующий полный скриншот любого сайта.
Итак нам необходимы:

Читать дальше →
Total votes 82: ↑64 and ↓18 +46
Views 16K
Comments 63

Вам побольше всего или поменьше лучшего?

Lumber room
На гисторамме отражена зависимость количества сайтов от их качества.
Качество сайтов убывает слева направо.
Сайты выбирались по принадлежности к тематике, определяемой ключевым словом:
найди лучшее

А также по принадлежности к той или иной доменной зоне
Читать дальше →
Total votes 3: ↑0 and ↓3 -3
Views 150
Comments 3

Простой скрипт для рассылки СМС

Python *
Я продолжаю изучать Питон. Язык красивый, меня радует что когда мой коллега — непрограммист, садится за мой код он его может прочитать и понять. Встала задача сделать СМС оповещение клиентов (ну о просрочке, новых услугах итд). Мы купили GSM модем Teleofis. Для работы с ним пошукали проги, не особо нашли, а уж бесплатного и тем более. Пришлось открыть мануалы и написать простенькую прогу под Винду, которая открывает COM порт, на котором сидит модем и пишет в него AT команды.

Сам скрипт требует pySerial для работы под виндоус.

Чтобы запустить скрипт, надо воткнуть в комп модем, установить дрова, открыть файлик sms_sender.py и отредактировать там строку 90:

a = Sender(('790864x0807',),u"Признанный критикой всего мира величайшим эпическим произведением новой европейской литературы, «Война и мир» поражает уже с чисто технической точки зрения размерами своего беллетристического полотна. Только в живописи можно найти некоторую параллель в огромных картинах Паоло Веронезе в венецианском Дворце дожей, где тоже сотни лиц выписаны с удивительною отчётливостью и индивидуальным выражением[источник не указан 91 день].",1,115200,2)

* This source code was highlighted with Source Code Highlighter.

Первый параметр — кортеж адресатов, второй — текст сообщения. Третий — номер порта. Остальные нам не нужны — это скорость и таймаут ожидания ответа.
А потом сделать из Командной строки вызов команды
python sms_sender.py

Вы увидите:
more PDU to go…
more PDU to go…


Это скрипт рассылает части вашего сообщения адресатам. Вот и все.
Сам скрипт доступен по ссылке. Ограничений на его использование никаких, он сильно простой и маленький чтобы как-то ограничивать его использование.
Total votes 43: ↑36 and ↓7 +29
Views 6.9K
Comments 21

ВКонтакте купил домен VK.COM и начинает расширение на запад

Social networks and communities
Новость, о которой я еще нигде не видел упоминаний: домен VK.COM, двухбуквенник в зоне com (а это самые дорогие домены в мире) перешел под контроль социальной сети ВКонтакте.

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

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


Отсюда можно заключить, что ВКонтакте всерьез начинает заниматься захватом зарубежного рынка, и в ближайшее время начнется кампания по популяризации социальной сети по всему миру.
Покупка vk.com прошла вне внимания СМИ, хотя сумма сделки должна быть астрономической.
Total votes 167: ↑136 and ↓31 +105
Views 11K
Comments 232

Добавление возможности скриптинга своим приложениям с помощью Active scripting

Website development *
Последнее время я заметил некоторый интерес хабралюдей к такой теме как скриптинг. Были статьи про Lua, про V8 (JavaScript движок Google Chrome). Я же хотел бы рассказать об использовании технологии Active Scripting (она же ActiveX Scripting) от Microsoft.
Это технология, используемая для реализации поддержки скриптов в приложениях. Именно так работает движок JavaScript всеми любимого браузера IE ;) Однако, не спешите с выводами. Да, тот же движок V8 работает в разы быстрее, но и у данной технологии есть свои преимущества и возможные области применения, о которых я тоже расскажу.
Читать дальше...
Total votes 25: ↑16 and ↓9 +7
Views 3.7K
Comments 8

Как не переносить весь код на 64 бита

ABBYY corporate blog
До чего бывает неприятно: есть 32-битная библиотека на C++, которую вы уже много лет лицензируете клиентам, а теперь все больше и больше клиентов хочет использовать ее из 64-битных программ. Вы развиваете библиотеку, исправляете ошибки, дорабатываете, холите и лелеете ее, она прекрасно работает, а клиентам это не так и важно – они просто хотят 64 бита. Им даже не важно, будет ли она вся 64-битной, они просто хотят ее использовать.
 
Что делать? Очевидно – переписать код так, чтобы он компилировался и на 32 бита, и на 64:
— читаем много статей – например, вот эту и те, что появятся в «похожих публикациях» при ее прочтении;
— быстренько правим код (за неделю должны управиться, правда?);
— ???
— PROFIT
 
А теперь добро пожаловать в реальный мир.
Читать дальше →
Total votes 109: ↑81 and ↓28 +53
Views 22K
Comments 193

Искусство программирования под Unix (и не только). Часть третья, «правило композиции»

Website development *
Продолжаю цикл статей на тему «Искусство программирования под Unix» Эрика Раймонда. Ранее я упоминал первые два правила — модульности и ясности.
Сегодня речь пойдет о третьем правиле —

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

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

Читать дальше →
Total votes 29: ↑25 and ↓4 +21
Views 3K
Comments 14

Мучаем MS Word из нашего приложения

.NET *
Перед каждым прикладным разработчиком рано или поздно встает задача экспорта данных из своего приложения в другое. Вот и передо мной она в очередной раз встала: мне потребовалось генерировать сообщения для рассылки (почтовой, которую почтальон носит). Письма должны сохраняться в формате Word. Казалось бы, задача тривиальная, но некоторые тонкости есть. На просторах инетернетов довольно много примеров работы с вордом из сторонних приложений через COM-вызов, но большая часть из них является либо примерами уровня «Hello world!», либо заточенными под определенную задачу. Реализации своей я не нашел, потому предлагаю ознакомиться с очередным велосипедом.
Читать дальше →
Total votes 21: ↑13 and ↓8 +5
Views 26K
Comments 43

Arduino? – Нет! IDuino – Да!(Часть 1)

Developing for Arduino *
Sandbox
image
Посмотрев на цены готовых ардуин в нашей стране я пригорюнился.
Но потом задался вопросом… А какого черта?! Ведь там используются обычные AVR микроконтроллеры, доступные россыпью на радио рынке за нормальную стоимость.
А почему бы не собрать свое и не сидеть на готовеньком?
Тем, кому интересен процесс сборки и настройки своей простейшей Arduino, прошу под кат.
Читать дальше →
Total votes 73: ↑56 and ↓17 +39
Views 15K
Comments 83

Получение через IMoniker объекта Range, скопированного из Excel в буфер обмена

.NET *
Год назад в нашей компании возникла задача написать на C# приложение для импорта данных из Excel, в том числе с помощью буфера обмена и drag'n'drop. Excel при копировании в буфер кладет туда данные в нескольких форматах. Часть из них стандартные типа CF_TEXT, CF_CSV и т.п. Однако, если нужно иметь дело с объединенными ячейками и прочими радостями, то может понадобиться получить доступ непосредственно к объекту Range, который был перетащен или скопипастен. Для этого нужно воспользоваться форматом CF_LINKSOURCE и лежащим в нем интерфейсом IMoniker. О том, как это сделать, читайте под хабракатом.
Читать дальше →
Total votes 30: ↑22 and ↓8 +14
Views 1.6K
Comments 0

Руководство по созданию ActiveX-контролов на C++ с помощью ATL

Website development *C++ *
В интернете существует множество учебников по использованию ATL, и в частности, по созданию COM-компонентов с его помощью, в том числе и ActiveX/OLE контролов, но большинство из них почему-то описывают процесс тыкания мышкой в разные интересные места Visual Studio, использование графических инструментов последней, и мало какой из них затрагивает нутро сгенерированного средой разработки кода в достаточно глубоком объеме. В русскоязычном сегменте интернета ситуация и того хуже — материалов по ATL крайне мало, практически нет(да и не только по ATL, а и по созданию COM-компонентов вообще), поэтому я решил этот недостаток компенсировать.
Читать дальше →
Total votes 40: ↑28 and ↓12 +16
Views 26K
Comments 43