?

Log in

No account? Create an account

[darxeth digital]
View:Свежие записи.
View:Архив.
View:Друзья.
View:Личная информация.
View:Website (RSS-Feed).
View:RSS трансляция. ATOM трансляция.
You're looking at the latest 10 entries, after skipping 10 newer ones.
Missed some entries? Then simply jump back 10 entries or forward 10 entries

Security:
Subject:programlets :: vba
Time:07:03 pm
Маленький скрипт для Outlook - открывает журналы всех выбраных контактов (если они указаны, само собой). Если у вас броузер по умолчанию - IExplorer, то откроется только для последнего выбранного. Точнее все откроются, но в одном окне.
Чтобы скрипт заработал, нужно добавить в References проекта VBA библиотеку "Microsoft Shell Controls and Automation".
Sub OpenLiveJournalsForContacts()
    Dim Item As Object
    Dim Shell As New Shell32.Shell
    
    For Each Item In ActiveExplorer.Selection
        If TypeOf Item Is ContactItem Then
            Dim Contact As ContactItem
            Set Contact = Item
                
            With Contact.UserProperties
                If Not ![Живой Журнал] Is Nothing Then
                    Shell.Open "http://www.livejournal.com/users/" & _
                        ![Живой Журнал]
                End If
            End With
        End If
    Next Item
End Sub
outlookvbaextensionslivejournal
comments: 2 комментария or Оставить комментарий Поделиться

Security:
Subject:feeds :: selected
Time:11:53 pm
Очень интересная и забавная запись:
Sure, we do that

И весь блог читать стоит, безусловно.

blogsoldnewthinghacks
comments: Оставить комментарий Поделиться

Музыка:Sarah Brightman - Naturaleza Muerta
Security:
Subject:dotnet :: vb .net
Time:01:58 am
Настроение:surprisedsurprised
Обычно из семейства языков .Net я предпочитаю VB .Net. В первую очередь потому, что я в своё время перешёл на него с VB6, и переучиваться на что-нибудь другое было достаточно глупо. Все книги на эту тему утверждали что принципиального различия нет. Да это и так было понятно - ILASM всё равно один.

Но очень серьёзная разница всё же была обнаружена - в IDE. Когда в VS.Net мне в первый раз пришлось иметь дело с C# - я был очень неприятно удивлён. Фоновая проверка кода, давно принятая мной за данность, (2004 год на дворе, давно пора) в C# таинственным образом отсутствовала. Даже закомментировав строчку с ошибкой я не избавлялся от предупреждения (нонсенс !). Любимым сочетанием клавиш почти сразу стало Ctrl+Shift+B - Build. Странная "недружелюбность" IDE и IntelliSense эффективно отбила у меня всякое желание писать на C#. Хотя, с другой стороны, компилятор C# имел несколько тоже очевидных и очень полезных функций. Предупреждения о неиспользованных переменных и отсутствии возвращаемого значения отсутствовали в VB .Net, и это был серьёзный недостаток. Но, субъективно, менее серьёзный.

А недавно я нашёл обьяснение странному преимуществу IntelliSense в VB:

“Background compilation” is the feature in VB that gives you a complete set of errors as you type. People who move back and forth between VB and C# notice this, but VB-only developers may not realize that other languages such as C# don’t always give you 100% accurate Intellisense and don’t always give you all of the errors that exist in your code. This is because their Intellisense engines are separate, scaled-down compilers that don’t do full compilation in the background. VB, on the other hand, compiles your entire project from start to finish as Visual Studio sits idle, allowing us to immediately populate the task list with completely accurate errors and allowing us to give you completely accurate Intellisense. As Martha would say, it’s a good thing.

A good thing, indeed. Но принцип странный - пару фич одному языку, пару фич - другому. Причём без особой логики. Не понимаю.

.netidevbcsharpramblings
comments: 4 комментария or Оставить комментарий Поделиться

Security:
Subject:iexploring :: abcde...
Time:01:16 am
Кстати, на сайте http://www.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk.com можно получить замечательный своей длиной е-майл. Даже бесплатно, но за все жизненно необходимые возможности (POP, SMTP) они уже просят денег.

Кстати, ведь любая веб-форма формально обязана поддерживать такой адрес. В соответствующих RFC всё чётко, я уверен (хотя и не читал).



Найдено у yatsena [здесь]

yatsenahumormail
comments: 8 комментариев or Оставить комментарий Поделиться

Security:
Subject:usability :: ms research
Time:11:18 pm
Нашёл на Microsoft Research:
http://host130.ipowerweb.com/~patrickb/projects/

Очень интересные проекты в области GUI и usability.
Мне наиболее понравился пример drag-and-pop, хотя реальная полезность такой фичи весьма сомнительна.

Но само наличие подобных разработок не может не радовать.

microsoftresearchusabilityhcidrag_drop
comments: 2 комментария or Оставить комментарий Поделиться

Security:
Subject:misc :: programmers
Time:12:54 am
Systematic programmers tend to follow a defensive coding style. They do not make assumptions about the code they are writing, the platform it runs on, the class libraries that they are using etc. For example, they do not assume that a class library will behave as advertised. Instead, systematic programmers will test the library in a safe environment, inspect the library source code etc before using it in a production environment. Systematic programmers desire programming languages and APIs that give them full control over the execution of their code and that do not hide important details from them, even if it means they have to write more code and take more time to understand how the code works. They value being able to get under the covers and tinker with components or even replace them.

Pragmatic programmers tend to be less defensive than systematic programmers. In many cases, they are comfortable trading off control for productivity as long as they are aware of the existence of the trade off. Rather than spend the time understanding the full working details of an API, they will prefer to learn as they go, building up an understanding of the API, programming language etc in the context of the work that they are doing. They value being able to get under the covers and tinker with components should they need to, but will prefer not having to do so.

Opportunistic programmers value productivity features in a language, API and IDE very highly, often higher than anything else. Unlike systematic programmers, they place less value on having complete control over their code, since for opportunistic programmers, the cost of control is added development time. They particularly value 3rd party controls and APIs that allow them to concentrate on the business problem that they are trying to solve, rather than on configuring the control or specialising the API so that it meets their requirements. They don't really value being able to get under the covers and tinker with components - they would rather look for some other API or control that met their needs instead of modifying controls or APIs that they already have.

Taken from Brad Abrams.



Что касается меня - я, безусловно, прагматик.

brad_abrams
comments: Оставить комментарий Поделиться

Security:
Subject:feeds :: xml-button
Time:02:14 am
Стандартная оранжевая кнопка с надписью XML или RSS, оказывается, может быть сделана так

a.standardsButton
{
border:1px solid;
border-color:#ffc8a4 #7d3302 #3f1a01 #ff9a57;
padding:0px 3px 0px 3px;
font:bold 10px verdana,sans-serif;
color:#FFFFFF; background-color:#ff6600;
text-decoration:none;
margin:0px;
}

Локальный вариант: XML

rssbuttons
comments: 5 комментариев or Оставить комментарий Поделиться

Security:
Subject:misc :: geek-code
Time:02:08 am
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/TW/L d-(++) s++:- a--->--
C++(+++) !U P+++(++++) !L W++
N+ w+++>$ PS PE? Y PGP- t- 5++
X++ R tv-- b+++(++++) D+ G e>++
h! y?
------END GEEK CODE BLOCK------


[декодировать]

geekcode
comments: Оставить комментарий Поделиться

Security:
Subject:cf :: errors
Time:02:22 am
Настроение:angryangry
Замечательная ошибка от Microsoft: при попытке создать некоторые обьекты через POOM (Pocket Outlook Object Model). Иногда (я пока ещё не локализовал причину) возникает ошибка DV_E_LINDEX (Invalid lindex).
Что такое этот самый lindex - я могу только догадываться. Во всём MSDN описаны только две функции, возвращающие такой код ошибки, но в обоих случаях параметр lindex зарезервирован и должен быть всегда равен 0.
В таких случаях я всегда жалею о том, что Microsoft не даёт исходников своих операционных систем - насколько легче было бы найти ошибку !
Reflector - незаменимый инструмент для поиска ошибок в .Net Framework, а об ошибки API иногда приходится просто биться головой.

P.S.
Вот тут товарищи жалуются в ньюсгруппах на то же самое, что и я.
Microsoft безмолствует.

sporadic error from ITask->Save (POOM)
POOM Error invalid lIndex

Update:
Ага, а ларчик просто открывался. У них код ошибки DV_E_LINDEX по несчастливой случайности совпал со специфическим кодом ошибки POOM: E_INVALIDREMINDERTIME. Кучу времени на это потратил !

.net microsoft poom reflector ramblings.netcf
comments: Оставить комментарий Поделиться

Security:
Subject:dotnet :: books
Time:01:37 am
Настроение:iexploring
Интересная книжка по .Net Compact Framework обнаружилась на www.paulyao.com.
Свободно для скачивания, нужно только зарегистрироваться. Приятно.

Но за скачивание через <form> надо руки отрывать !

Кстати, Appendix (о Венгерской нотации в .Net) очень интересен сам по себе.

.netcfbooksdesign_guidelineshungarian_notation
comments: Оставить комментарий Поделиться

[darxeth digital]
View:Свежие записи.
View:Архив.
View:Друзья.
View:Личная информация.
View:Website (RSS-Feed).
View:RSS трансляция. ATOM трансляция.
You're looking at the latest 10 entries, after skipping 10 newer ones.
Missed some entries? Then simply jump back 10 entries or forward 10 entries