Как стать автором
Обновить

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

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

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

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

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

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

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

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

РАДИО-Э №23

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

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

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

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

Зачем это нужно и как это было реализовано?
Всего голосов 19: ↑12 и ↓7 +5
Комментарии 27

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

Время на прочтение 2 мин
Количество просмотров 2K
Чулан
При переходе с десктопа на лэптоп встала проблема подключения планшета 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 порт будет так же.
Читать дальше →
Всего голосов 65535: ↑32767.5 и ↓32767.5 0
Комментарии 0

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

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

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

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

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

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

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

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

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

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

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

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

Читать дальше →
Всего голосов 82: ↑64 и ↓18 +46
Комментарии 63

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

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

А также по принадлежности к той или иной доменной зоне
Читать дальше →
Всего голосов 3: ↑0 и ↓3 -3
Комментарии 3

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

Время на прочтение 1 мин
Количество просмотров 7.8K
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…


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

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

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

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

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


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

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

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

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

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

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

Время на прочтение 3 мин
Количество просмотров 3.2K
Разработка веб-сайтов *
Продолжаю цикл статей на тему «Искусство программирования под Unix» Эрика Раймонда. Ранее я упоминал первые два правила — модульности и ясности.
Сегодня речь пойдет о третьем правиле —

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

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

Читать дальше →
Всего голосов 29: ↑25 и ↓4 +21
Комментарии 14

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

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

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

Время на прочтение 3 мин
Количество просмотров 28K
Разработка под Arduino *
Из песочницы
image
Посмотрев на цены готовых ардуин в нашей стране я пригорюнился.
Но потом задался вопросом… А какого черта?! Ведь там используются обычные AVR микроконтроллеры, доступные россыпью на радио рынке за нормальную стоимость.
А почему бы не собрать свое и не сидеть на готовеньком?
Тем, кому интересен процесс сборки и настройки своей простейшей Arduino, прошу под кат.
Читать дальше →
Всего голосов 73: ↑56 и ↓17 +39
Комментарии 83

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

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

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

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