Welcome to TechNet Blogs Sign in | Join | Help

Что мне нравится в Exchange Server 2007

Сегодня в очередной раз был приятно удивлен одной из новых возможностей Exchange Server 2007 (перечисленной ниже под номером 4). Вот и решил перечислить все, что мне нравится (заранее оговорюсь, что это не полный список возможностей Exchange Server 2007, а лишь тех, которые мне как пользователю пригодились в повседневной работе):

  1. Новая OWA: представления "Разговор" (conversation view), напоминание о митингах, автоматическое обновление списка писем, когда приходит новое письмо, возможность прослушивания сообщения, записанного на автоответчике, прямо из OWA.
  2. Быстрый поиск писем из OWA.
  3. Обновление информации о митинге, автоматически обновляет календарь.
  4. Если информация о митинге пересылается кому-нибудь помимо приглашенных, то Exchange присылает письмо организатору о том кто и кому переслал информацию.
  5. Возможность иметь гораздо больший почтовый ящик.

 

Posted by vitalipro | 1 Comments
Filed under:

Минимализм для Windows Media Player

В Windows Media Player уже давно существует возможность настроить, то как выглядит плейер, определив skin. Как определять skin можно прочитать здесь: http://msdn2.microsoft.com/en-us/library/aa393417.aspx

На интернете можно найти много различных skin. Но мне не одна не подходила. Мне хотелось, чтобы плейер занимал минимум места на экране поскольку он у меня открыт практически все время.

Поэтому я написал свой простенький skin для Windows Media Player (см. Attachement ниже). Может кому-то еще он понравится.

Кстати, .wmz (Windows Media Player Skin Definition) файл не что иное как переименнованный zip-файл. Так что, чтобы посмотреть исходники для этой skin переименуйте файл в .zip и откройте его. Там 2 файла. Один - XML, который определяет визуальные элементы, второй - JScript, который определяет обработчики различных событий.

Почему столько головной боли из-за перехода на летнее время на 2 недели раньше

Как известно в США и в нескольких других странах решили перейти на летнее время на две недели раньше в этом году.

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

Вот небольшая программка на C#, которая демонстрирует проблему:

            DateTime dateTime = new DateTime(2007, 03, 12, 14, 0, 0);
            Console.WriteLine("Before conversion: {0}", dateTime.TimeOfDay);
            dateTime = dateTime.AddDays(-10).ToUniversalTime().AddDays(10).ToLocalTime();
            Console.WriteLine("After conversion:  {0}", dateTime.TimeOfDay);

Программку надо запускать в тихоокеанской временной зоне. В другой временной зоне надо установить начальную дату на следующий день за днем перехода на летнее время.

Posted by vitalipro | 0 Comments

Virtual PC 2007

Выпущена новая версия Virtual PC 2007: http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx

Так же как и предыдущую ее можно бесплатно скачать с майкрософтовского вебсайта. На мой взгляд, два самых интересных новшества - это поддержка Windows Vista и 64-битной ОС.

Posted by vitalipro | 3 Comments

Приоритезация ввода-вывода в Windows Vista

Одно из новшеств в Windows Vista - это возможность установить приоритет ввода-вывода для процесса.

С приоритетами процессов все уже наверное знакомы. Также наверное уже знаете на своем опыте, что если процесс с самым низким приоритетом активно работает с диском, то он тормозит всё, насмотря на то, что у него самый низкий приоритет. Это потому что ввод-вывод выполняется с одним и тем же приоритетом для всех процессов.

В Windows Vista добавили приоритезацию ввода вывода, дабы избежать ситуаций, когда фоновый процесс тормозит всё, когда работает с диском.

В ближайшем будущем от этого было бы мало пользы, поскольку нет программ, которые бы это использовали, кроме тех, конечно, что включены в Windows Vista. Но оказалось, что можно любую программу работать с низким приоритетом ввода-вывода с помощью ключей в реестре. Заодно установим и низкий приоритет процесса.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<имя выполняемого файла>\PerfOptions]
"CpuPriorityClass"=dword:00000001
"IoPriority"=dword:00000000

Кстати заодно можно установить еще и следующие значения, чтобы уж совсем загнать малонужный процесс в угол:

"PagePriority"=dword:00000001
"WorkingSetLimitInKB"=dword:00008000

SHFileOperation и FOF_NOERRORUI

Вот решил добавить новый раздел "Разработка", где буду публиковать свои находки как разработчика, что-то чего невозможно найти на MSDN, решения проблем, на которые натыкаюсь.

И вот первая такая находка.

Есть такая функция SHFileOperation, которая выполняет какую-то операции (копирование, удаление и т.п.) для многих файлов при этом показывает окошко с индикатором выполнение. Если же пользователь отменяет операцию, то устанавливается флаг fAnyOperationsAborted в структуре SHFILEOPSTRUCT. Если произойдет ошибка при выполнении операции, то пользователю предоставится возможность либо прекратить операцию, либо попробовать снова. Если пользователь выберет прекратить, то очевидно установится fAnyOperationsAborted. При этом функция вернет 0 (функция завершилась успешно).

Эту информацию вы можете найти и на MSDN. Чего вы не найдете на MSDN так это того, что если функции SHFileOperation передан флаг FOF_NOERRORUI (т.е. не показывать пользователю сообщений об ошибках), то если произойдет ошибка и операция будет прервана, то fAnyOperationsAborted установлен не будет. Вместо этого функция вернет код ошибки, которая произошла.

Таким образом правильно проверять закончилась ли операция успешно надо так:

SHFILEOPSTRUCT shop;

// заполнить shop

int status = SHFileOperation(&shop);
if (status == 0 && !shop.fAnyOperationsAborted)
{
    // операция успешно завершена
}

Posted by vitalipro | 0 Comments

Как максимизировать производительность Virtual PC

От ОС, работающей внутри VPC, мне нужна только базовая функциональность. Мне не нужны всякие визуальные эффекты и т.п., но мне нужна максимальная прогизводительность от нее. Чтобы добится максимальной производительность от ОС, работающей внутри VPC, я делаю следующее:

  1. Инсталлирую Virtual Machine Additions. Для этого в окне с работающей VPC надо в меню выбрать Action->Install or Update Virtual Machine Additions
  2. Отключаю все визуальные эффекты. Start->нажать правую кнопку мыши на My Computer->выбрать Properties->выбрать Advanced->нажать Settings в разделе Performance->выбрать Adjust for best performance->нажать OK->нажать OK еще раз.
  3. Еще отключаю визуальные эффекты. Нажать правую кнопку мыши на Desktop->выбрать Properties->в Themes выбрать Windows Classic->в Appearance нажать Effects->убрать transition, cleartype, shadows under menus.
  4. Отключаю все ненужные мне сервисы. Start->Run->ввести services.msc->нажать ОК. Появится список сервисов. Для того чтобы отключить сервис нажмите на сервис дважды и в появившемся окошке Properties выберите Disabled. Вот список всех сервисов, которые я отключил:
    • Alerter
    • ClipBook
    • Help and Support
    • Human Interface Device Access
    • Messenger
    • Network DDE
    • Network DDE DSDM
    • Print Spooler
    • Remote Registry
    • SSDP Discovery Service
    • System Restore Service
    • Task Scheduler
    • Themes
    • Wireless Zero Configuration

После этого надо перегрузить VPC.

Virtual PC или о том как поддерживать компьютер в чистоте

Очень советую инсталлировать бесплатный Microsoft Virtual PC: http://www.microsoft.com/windows/virtualpc/default.mspx

Экономит кучу времени и нервов. Самая большая проблема, которую он решает для меня, - это всяческие продукты, которые я редко использую, не мусорят в моей основной ОС.

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

Когда мне нужно попробовать какой-то продукт, я запускаю Virtual PC инсталлирую его и пользуюсь. Если продукт мне не нужен, то просто закрываю Virtual PC. Если в Virtual PC слишком много мусора накапливается, то я просто удаляю vpc файлы (3 файла) и копирую файлы из базовой копии. Это занимает все пару минут.

Также пользуюсь VPC для лазанья по интернету. И не страшны мне вирусы, spyware, и т.д., поскольку они могут только заразить ОС, работающую внутри VPC. Основная же система недоступна из VPC. Ну, а внутри VPC у меня естественно никаких важных данных нет.

Зима

На западе штата Вашингтон небывалая зима. Снег уже месяц лежит. Гололед стал обыденным. В основном работаю из дома. Вот для развлечения посмотрите эту любительскую съемку, сделанную недавно в Портланде:

http://www.king5.com/sharedcontent/VideoPlayer/makeASX.php?title=www.king5.com/kiraw_011607portlandhomevid.wmv

Дает хорошее представление о том, что происходит на дорогах. Лучше всего смотрится под звуки вальса.

Posted by vitalipro | 3 Comments
Filed under:

Хотите работать в Майкрософте?

Отдел кадров Майкрософта организует поездку для интервьюирования кандидатов с Украины и России. Если вы хотите работать в Майкрософте и вы окончили ВУЗ до июня 2006 года, то высылайте ваши резюме на адрес RussiaCV@microsoft.com (для кандидатов из России) или UkrCV@microsoft.com (для кандидатов с Украины). Более детальное описание позиций и условий следует ниже.

 

Options are Good.

In life. And in your career.

 

What fuels your passion?

Whether you are just about to receive your diploma from University or have been in the industry for years, we know deciding where to start your career or how to move to the next opportunity can be as nerve-wracking as it is exciting. Maybe you don’t know exactly what you want to do. The good thing is, at Microsoft, you have lots of options. Nowhere else will you have such a variety of products and technologies to get behind—or so many career paths to choose from. You’ll learn from people who have been in the industry for over 30 years. And most of all, you’ll have the resources to reach people all over the world with your work. It’s about taking your career as far as you want it to go—in any direction you choose.

 

“The variety of products that Microsoft develops greatly influenced my decision to work here. As my career develops I can follow my passion to apply myself to different technologies without having to leave the company.”

- David, Software Design Engineer in Test, Live Meeting

 

 

Core Technical

 

Take the Leap, It’s Cool Inside
As a Microsoft employee in a full-time technical position, you’ll dive head first into meaningful work. The kind that inspires you. This is the kind of place where your goals are limited only by your imagination and motivation. What’s more, you’ll be backed by a multi-billion dollar company at the top of its game. It’s in your blood to innovate, so join others who share your passion, your talent, and your limitless energy.

 

"You will find no other company with the sheer breadth of technologies, from Windows kernel, to Office applications, to servers, to Live Web services, to Xbox, to games, to business solutions, to hardware. The things you get to see and learn from other people are amazing."

- John, Software Development Lead, Windows Server Performance

Start Here
Not sure what full-time position at Microsoft fits you best? Have a look at the Product Development Process to get an idea where your contributions could make the most difference.

Software Design Engineer (SDE)

 

Work at the Core of Every Product We Build
This is where the fun begins for code gurus like you. As a hands-on Software Design Engineer, you’ll make decisions about design and feature implementation, using your mastery of technical tools to make a product vision a reality. If you like to write code and design efficient data structures and algorithms to develop next-generation applications or operating systems, this is the position for you. As an SDE, you’ll bring products to life by working with Program Managers to ensure strong design and Software Design Engineers in Test to ensure quality through testing. Ultimately for the SDE, it’s your code that turns concepts into new technologies and services.

Qualifications:

Be available to relocate to our corporate headquarters in Redmond, Washington, U.S.A. (Microsoft Corporation pays all costs associated with relocation)

Fluency in C/C++/C# and a passion for writing quality code using computer science fundamentals

Ability to speak fluent English

Ability to derive creative and innovative solutions by thinking "outside the box"

Ability to solve complex problems, sometimes by testing and debugging code

Experience in feature definition, design, and feasibility

Demonstrated skill in estimating development time

Software Design Engineer in Test (SDET)

 

Discover Life on the Last Line of Defense
As a Software Design Engineer in Test (SDET), you’ll own it, break it, fix it, and own it again. You’ll ensure a product’s quality by making sure it performs as users expect it to. Part of the fun is how creative you can be devising ways to manipulate, crush, and sabotage software into submission—while creating innovative testing technologies along the way.

Ultimately, as an SDET it’s your input that can make the difference between joy and frustration for the customers. Since you’re keen on how things work, and making them work better, you’ll work hand in hand with the Program Managers and Software Design Engineers to design, develop, and maintain automation systems for use in development and testing cycles. Using the tools you create, you’ll pour over source code for trouble spots, debugging and isolating problems, and executing creative tests to find new bugs while regression testing recent fixes.

Qualifications:

Be available to relocate to our corporate headquarters in Redmond, Washington, U.S.A. (Microsoft Corporation pays all costs associated with relocation)

Fluency in C/C++/C#

 Ability to speak fluent English

Ability to solve complex problems and write automation systems and device drivers

Ability to learn to author test plans and cases, conduct security and stress tests, and debug at source level after identifying, investigating, and prioritizing bugs

Demonstrated skills in negotiation and conflict management

Whatever position you choose, you’ll make a real impact in the dynamic world of product development at Microsoft. Microsoft has an ongoing need for exceptional university students and recent graduates from around the world to help us build the next generation of software products. All positions are in the United States at our corporate headquarters in Redmond, Washington.

Send Us Your CV
Our recruiting team travels to your region regularly to meet bright and enthusiastic people like you, and we look forward to receiving your CV. And, by the way, we have many positions available, so if there is someone else you think we should know about, please share this information with them.

All positions are at our corporate headquarters in Redmond, Washington, in the United States. We do require functional level English language skills, written and spoken. If we invite you to an interview somewhere in your region, we will cover any travel expenses you may have.

C.V. Instructions

Submitting a C.V. is the only way to get to the next stage of consideration, the interview. Here are a few things to keep in mind when you are updating your C.V. to send to us:

Include your military status if your country mandates it. This will help us know if you are allowed to leave your country to work in the United States

Clearly state your graduation date, degree/major and the university you attended or are attending

Specify your technical skills (including programming languages and other development tools you know well), project details (both within university and at any jobs or internships you have held), and technologies you have used on those projects

Describe your role in the projects that you worked on, and what you personally achieved

Provide an active e-mail address, physical address, and current phone number where we can reach you

 

Send it off to: RussiaCV@microsoft.com (Russia)  UkrCV@microsoft.com (Ukraine)

A recruiter will review it, and if interested will set up a phone interview as a first step!

NOTE: All non-U.S. residents will require a U.S. work visa (H1B). If you receive an offer from Microsoft, we will cover all costs for visa processing and approval.

Microsoft is an equal opportunity employer and supports workforce diversity.

GOOD LUCK!

 

Электрическая зависимость

Прошлой ночью по западной части штата Вашингтон и Орегон пронесся сильнейший шторм. Многие районы остались без электричества, а значит и без тепла. Обогреваются дома в большинстве своем газом, но вот управление газовыми обогревателями электричеством. Наш район один из немногих, в которых есть электричество. Приятно ощущать себя островком цивилизации. Родственники вот приехали погрется :)

Основной кампус Майкрософта без электричества. Естественно кампус закрыт - без электричества там делать нечего. Вот такой неожиданный выходной.

Posted by vitalipro | 1 Comments
Filed under:

Адриан

Как вы могли заметить у меня был длительный перерыв в публикациях на моем блоге. Это вызвано тем, что я был в отпуске по уходу за ребенком. 20 октября у меня родился сын - Адриан.

Одно из достоинств работы в Майкрософте - это то, что папе дают 1 месяц оплачиваемого отпуска после рождения ребенка.

Posted by vitalipro | 0 Comments
Filed under:

Как тестеры перехитрили UAC в ранних версиях Windows Vista

Этот случай мне с одной стороны показался забывным, а с другой - демонстрирующим насколько серьезно Microsoft подходит к вопросу тестирования и безопасности системы.

Для тех кто еще не знает, что такое UAC, советую почитать мой пост на эту тему http://blogs.technet.com/vitalipro/archive/2006/06/23/438573.aspx. В то время когда я его писал, этот компонент назывался UAP.

Вкратце суть в том, что пользовательский интерфейс по умолчанию работает без администраторских привелегий, даже если пользователь является администратором. Если программа хочет запуститься с административными привелегиями, система спросить разрешения у пользователя. При этом появляется окошко с кнопками "Да"/"Нет".

Так вот что придумали тестеры.

Как известно в Windows можно переопределить как отображается курсор мышки. Два интересных параметра курсора это его картинка для отображения курсора и координаты точки внутри этой картинки, которая является "активной" точкой. Координаты этой точки на экране используются как место в котором мышка находится.

Так вот тестеры сделали курсор мышки, в котором слева достаточно много пустого пространства "прозрачного цвета", а потом нарисован стандартный курсор мышки. При этом активная точка по прежнему находилась в левом верхнем углу курсора.

В результате пользователь подводил видимую мышку к кнопке "Нет" и как ему казалось нажимал "Нет", но на самом деле нажимал кнопку "Да". Важным моментом конечно являлось еще и то, что программа с ограниченными привелегиями тоже могла подменить курсор.

Конечно с тех пор это уже починили. Более того, это окно работает теперь в своем собственно "невидимом" рабочем столе. Тем самым все остальные программы, работающие с ограниченными привелегиями никак не могут повлиять на то, что происходит в этом диалоговом окне.

Следующая версия, новая команда

Итак, выпущен Exchange Server 2007 и начинается работа над следующей версией. Как всегда в таких случаях происходит реорганизация, дабы структура организации была более "заточена" на решение задач новой версии.

В частности команда, которой я работал, одна из старейших команд в Exchange исчезает.

Я теперь буду в команде занимающейся установкой Exchange.

 

Posted by vitalipro | 0 Comments
Filed under:

Выпущен Exchange Server 2007

Сегодня официально закончен и выпущен Exchange Server 2007! Русский является одним из языков локализации. Так что и администрировать и использовать его можно по-русски :)

Posted by vitalipro | 0 Comments
Filed under:
More Posts Next page »
 
Page view tracker