Chrome Remote Desktop
Chrome Remote Desktop is a new Chrome extension that lets you remotely control a computer from your browser. It's the first software that uses a technology code-named "chromoting" and it's especially useful if you have a Chromebook.
The goal of this beta release is to demonstrate the core Chrome Remoting technology and get feedback from users. This version enables users to share with or get access to another computer by providing a one-time authentication code. Access is given only to the specific person the user identifies for one time only, and the sharing session is fully secured.
One potential use of this version is the remote IT helpdesk case. The helpdesk can use the Chrome Remote Desktop BETA to help another user, while conversely a user can receive help by setting up a sharing session without leaving their desk. Additional use cases such as being able to access your own computer remotely are coming soon.
Chrome Remote Desktop BETA is fully cross-platform, so you can connect any two computers that have a Chrome browser, including Windows, Linux, Mac and Chromebooks.
Read more: Google Operating System
Read more: Chrome web store
QR:
Troubleshoot remote debugging of Managed Code
Posted by
jasper22
at
11:18
|
Setting up Remote Debugging is usually a simple task, you can read the Set Up Remote Debugging guide on MSDN and you are ready to go, but sometimes it does not work and you are not able to connect to the remote process; in this post I want to give you some suggestions to troubleshoot the most common problem that you can encounter.
First: you need to be aware that Remote Debugging Managed Code is only available when you use the authenticated mode, if you run the remote debugger without authentication you can debug only Native Code, but the main problem is that usually the host and remote machine are not in the same Domain. To bypass this situation you need to create what is called “Shadow Account”, this means that you need to have in both machines the same user with the same password.
As you can see in Figure 1, I logged in the remote machine with the same user I’m logged in the host machine (the machine where I’m running Visual Studio), then I launch the remote debugger and configure to use Windows Authentication, you should also verify that current user has the Debug permission. As you can see from the description of the remote debugger is now operative and tells me: Msvsmon started a new server named gianmaria.ricci@WIN-FEVDGL2V37P. The part username@machinename is the name of the server.
Second: You need to be sure that the appropriate firewall ports are open in both machines, you can verify ports used if you launch the configuration of Remote Debugger, that tells you to open DCOM port (TCP 135) and IPSEC (UDP 4500 / UDP 500) if you run under IPSEC. If you still have problem to connect, you can try to disable the firewall on both machines, try to connect again, ad if it still does not work you probably have some authentication problem, so refer to first step and verify that you are logged in the remote machine with the same user you are using in the host machine. If you are able to connect with firewall disabled, turn on one debugger at a time (host and remote) and verify which is the one that is blocking the connection.
Read more: Alkampfer place
QR:
Mono 2.11.0 is out
Posted by
jasper22
at
11:11
|
After more than a year of development, we are happy to announce Mono 2.11, the first in a series of beta releases that will lead to the next 2.12 stable release.
Continuous Integration
To assist those helping us with testing the release, we have setup a new continuous build system that builds packages for Mac, OpenSUSE and Windows at http://wrench.mono-project.com/Wrench.
Runtime Improvements in Mono 2.11
There are hundreds of new features available in this release as we have accumulated them over a very long time. Every fix that has gone into the Mono 2.10.xx series has been integrated into this release.
In addition, here are some of the highlights of this release.
Garbage Collector: Our SGen garbage collector is now considered production quality and is in use by Xamarin's own commercial products.
The collector on multi-CPU systems will also distribute various tasks across the CPUs, it is no longer limited to the marking phase.
The guide Working with SGen will help developers tune the collector for their needs and discusses tricks that developers can take advantage of.
ThreadLocal<T> is now inlined by the runtime engine, speeding up many threaded applications.
Full Unicode Surrogate Support this was a long standing feature and has now been implemented.
C# 5.0 -- Async Support
Mono 2.11 implements the C# 5.0 language with complete support for async programming.
The Mono's class libraries have been updated to better support async programming. See the section "4.5 API" for more details.
Read more: Personal blog of Miguel de Icaza
QR:
Need a portable "What version of .Net do you have installed?" utility that you can even redistribute? Check out the .NET Version Detector XI
Posted by
jasper22
at
11:00
|
ASoft .NET Version Detector is a lightweight tool that gives information on the different versions of Microsoft .NET that are installed on a machine.
If a certain version isn't on the machine, you can simply follow the link that .NET Version Detector suggests, so it is easier for the novice user to find the runtimes.
Also detailed information is given on where the .NET Frameworks are installed with links to the directories.
The details can easily be copied by a user, to paste in a mail.
.NET Version Detector is a native application, which means it isn't dependent on any version of .NET to run.
.NET Version Detector is a handy tool for vendors of .NET applications also.
Knowing which versions a user has installed and where they are located on the hard drive.
ASoft allows for a vendor to bundle .NET Version Detector with its application (for free!) so that it is easier to get some generic and exact information on the frameworks.
But before doing so, contact us first!
New Features:
- Supports commandline option to export data to file (txt/xml) and not show the user application
Read more: Greg's Cool [Insert Clever Name] of the Day
Read more: .NET Version Detector XI
QR:
Design case study: iPad to Windows 8 Metro style app
Posted by
jasper22
at
10:51
|
[This documentation is preliminary and is subject to change.]
iOS is a popular platform for creating apps that are touch first, fun, and engaging. With the introduction of Windows 8 Consumer Preview, designers and developers have a new platform to unleash their creativity.
In this case study we want to help designers and developers who are familiar with iOS to reimagine their apps using Metro style design principles. We show you how to translate common user interface and experience patterns found in iPad apps to Windows 8 Metro style apps. We draw on our experience building the same app for the iPad and for Windows 8. We use common design and development scenarios to show how to leverage the Windows 8 platform and incorporate Metro style design principles.
To learn more about the business opportunity of Windows 8, see Selling apps. For more info about the features used to build Metro style apps, see the Windows 8 Product Guide for Developers.
Read more: MSDN
QR:
Metro XAML and HTML Control Sample Packs Available
Posted by
jasper22
at
10:46
|
A set of Metro style app samples that demonstrate how to use controls.
Description
A set of Metro style app samples that demonstrate how to use controls.
The Windows Samples Gallery contains a variety of code samples that exercise the various new programming models, platforms, features, and components available in Windows 8 Consumer Preview and/or Windows Server 8 Beta. These downloadable samples are provided as compressed ZIP files that contain a Visual Studio solution (SLN) file for the sample, along with the source files, assets, resources, and metadata necessary to successfully compile and run the sample. For more information about the programming models, platforms, languages, and APIs demonstrated in this sample, please refer to the guidance, tutorials, and reference topics provided in the Windows 8 documentation available in the Windows Developer Center. This sample is provided as-is in order to indicate or demonstrate the functionality of the programming models and feature APIs for Windows 8 and/or Windows Server 8 Beta. Please provide feedback on this sample!
QR:
SSLyze
Hi everyone,
We just released a new version of SSLyze, our Python SSL scanner.
Here's what's new in version 0.4:
* Support for OpenSSL 1.0.1 and TLS 1.1 and 1.2 scanning. See
--tlsv1_1 and --tlsv1_2.
* Support for HTTP CONNECT proxies. See --https_tunnel.
* Support for StartTLS with SMTP and XMPP. See --starttls.
* Improved/clarified output.
* Various bug fixes.
Get it here: http://code.google.com/p/sslyze/
Read more: Google code
QR:
«Воскрешаем» HDD
Хочу поделиться опытом восстановления жесткого диска Seagate Barracuda 7200.11 ST3500320AS после сбоя. Короткая предыстория: один мой друг решил сделать полное форматирование своему жесткому диску, после чего тот больше не определялся в BIOS. Выкидывать 500-гигабайтный винчестер было жалко, и он отдал жесткий диск мне на растерзание. Забегая наперед, скажу, что прокачанные навыки «гугление» и «очумелые ручки» позволили добиться отличных результатов.
Итак, данный метод подходит для жестких дисков Seagate и Maxtor (для Samsung существует похожий способ, но в этой статье он не освещен). Информации касательно жестких дисков остальных производителей найдено не было. В конце статьи рассматриваются возможные проблемы. Я настоятельно рекомендую прочитать статью полностью, перед тем как повторять описанные здесь действия.
Конвертер
Конвертер можно купить (в продаже есть USB-TTL и COM-TTL) или сделать самому (привожу несколько схем ниже).
Подключение
Подключаем RX и TX, как на рисунке ниже, отключаем SATA-кабель, подключаем питание.
Для работы с COM-портом я использовал PuTTY, с задачей также отлично справится ваша любимая программа. Итак, открываем PuTTY, выбираем тип подключения Serial, вводим порт и остальные настройки:
Открываем окно терминала, нажимаем Ctrl+Z и видим приглашение:
F3 T>
Read more: Habrahabr.ru
QR:
צפייה ישירה: חומרים מיום העיון על פיתוח אפליקציות מטרו לחלונות 8 באמצעות HTML5 ו- JavaScript
בתאריך 19.3.2012 קיימנו במיקרוסופט ישראל את יום העיון השני בנושא פיתוח אפליקציות מטרו לסביבת Windows 8 והפעם על הפרק: כיצד לפתח אפליקציות מטרו באמצעות שימוש בכלים שכל מפתח ווב מכיר: HTML5 ו- JavaScript.
Windows 8 עם ממשק המטרו המהפכני אשר מותאם למכשירים שונים, מציבה אתגרים חדשים ומלהיבים לחברות תוכנה ומפתחים. מטרת יום העיון היתה להציג את העקרונות הבסיסים והחשובים ביותר בבואנו לפתח אפליקציות מטרו וללמד מפתחים כיצד להשתמש בכלים ובטכנולוגיות מוכרות על מנת להכנס לעולם חדש ומופלא של פיתוח אפליקציות Windows 8 שגם מאפשרת הזדמנות עסקית מצויינת לכל אחד ואחת ממכם: להפיץ ולמכור בקלות את האפליקציה שפיתחתם באמצעות ה- Windows 8 Store. אז בהצלחה!..
ביום עיון זה, למדנו על עקרונות הפיתוח ל- Windows 8 ב- HTML5, ראינו איך ניתן לקחת את הידע והניסיון מעולם ה- Web לעולם ה- Desktop והבנו את ההבדלים בין העולמות. כמו כן הכרנו את WinJS – ספריית ה- JavaScript של מיקרוסופט המכילה פקדים ורכיבים המותאמים לסוג החדש של האפליקציות, ואת WinRT – שכבת ה- API החדשה לגישה ליכולות של Windows מקוד JavaScript.
Read more: בלוג MSDN ישראל
QR:
Windows 8 Camp: סרטוני הוידאו מיום העיון למפתחים בנושא פיתוח אפליקציות מטרו ל- Windows 8 זמינים להורדה וצפייה ישירה
Posted by
jasper22
at
17:46
|
בתאריך 12.3.2012 קיימנו במיקרוסופט ישראל את יום העיון הראשון בנושא פיתוח אפליקציות מטרו לסביבת Windows 8.
Windows 8 עם ממשק המטרו המהפכני אשר מותאם למכשירים שונים, מציבים אתגרים חדשים ומלהיבים לחברות תוכנה ומפתחים. מטרת יום העיון היתה להציג את העקרונות הבסיסים והחשובים ביותר בבואנו לפתח אפליקציות מטרו ולא פחות חשוב – להציג את ההזדמנות העסקית שנוצרה למפתחים אשר מעוניינים לפתח אפליקציות Windows 8 ולמכור ולהפיץ אותן באמצעות Windows 8 Store.
שימו לב: כל ההרצאות הן באנגלית.
במפגש היה לנו את הכבוד לארח את מקייל פלט, דירקטור בכיר במיקרוסופט בחטיבת המפתחים, אשר הגיע היישר מרדמונד להסביר לכם על הדרך הנכונה לפתח אפליקציות מטרו ולהראות דוגמאות חיות.
האג’נדה המלאה של יום העיון וכל הנושאים עליהן דיברנו
The Windows 8 Platform for Metro Style App
Designing Apps with Metro Principles and the Windows Personality
Everything Web Developers Must Know to Build Metro Style Apps
Building Metro Style Apps with XAML: What .NET Developers Need to Know
Building Windows 8 Metro Style UIs
Integrating with the Windows 8 Experiences
Bring Your Apps to Life with Tile and Notifications
How and When Metro Style Apps Run
Building Metro Style Apps that Take Advantage of Modern Hardware
The Developer Opportunity: Introducing the Windows Stor
Read more: בלוג MSDN ישראל
QR:
16 Linux Server Monitoring Commands You Really Need To Know
Posted by
jasper22
at
17:37
|
Want to know what's really going on with your server? Then you need to know these essential commands. Once you've mastered them, you'll be well on your way to being an expert Linux system administrator.
Depending on the Linux distribution, you can run pull up much of the information that these shell commands can give you from a GUI program. SUSE Linux, for example, has an excellent, graphical configuration and management tool, YaST, and KDE's KDE System Guard is also excellent.
However, it's a Linux administrator truism that you should run a GUI on a server only when you absolutely must. That's because Linux GUIs take up system resources that could be better used elsewhere. So, while using a GUI program is fine for basic server health checkups, if you want to know what's really happening, turn off the GUI and use these tools from the Linux command shell.
This also means that you should only start a GUI on a server when it's required; don’t leave it running. For optimum performance, a Linux server should run at runlevel 3, which fully supports networking and multiple users but doesn't start the GUI when the machine boots. If you really need a graphical desktop, you can always get one by running startx from a shell prompt.
If your server starts by booting into a graphical desktop, you need to change this. To do so, head to a terminal window, su to the root user, and use your favorite editor on /etc/inittab.
Once there, find the initdefault line and change it from id:5:initdefault: to id:3:initdefault:
If there is no inittab file, create it, and add the id:3 line. Save and exit. The next time you boot into your server it will boot into runlevel 3. If you don't want to reboot after this change, you can also set your server's run level immediately with the command: init 3
Once your server is running at init 3, you can start using the following shell programs to see what's happening inside your server.
iostat
The iostat command shows in detail what your storage subsystem is up to. You usually use iostat to monitor how well your storage sub-systems are working in general and to spot slow input/output problems before your clients notice that the server is running slowly. Trust me, you want to spot these problems before your users do!
meminfo and free
Meminfo gives you a detailed list of what's going on in memory. Typically you access meminfo's data by using another program such as cat or grep. For example,
cat /proc/meminfo
Read more: InputOutput
QR:
Windows 8 Consumer Preview Power User How To Series
Posted by
jasper22
at
17:36
|
Windows 8 Consumer Preview (aka beta version) has just been released. This prerelease version of Windows 8 focuses on people and apps and gives you powerful new ways to use social technologies to connect with the people who are important to you. It's Windows reimagined. Windows 8 Consumer Preview is built on the rock-solid foundation of Windows 7 and has the security and reliability features you expect from Windows, but we’ve made it even better. It’s fast, and it’s made to work on a variety of form factors—especially the new generation of touch devices.
Windows 8 How To: 1. Switch Between Metro UI and Desktop Mode
Windows 8 How To: 2. Switch Between Apps or Snap Apps
Windows 8 How To: 3. How to Power Off Your Device
Windows 8 How To: 4. Show and Access the Control Panel
Windows 8 How To: 5. Show and Access Administrative Tools
Windows 8 How To: 6. Show All Apps
Windows 8 How To: 7. Switch Between Windows Accounts and Local Accounts
Windows 8 How To: 8. Set up a Picture Password
Windows 8 How To: 9. Set Up a Printer
Windows 8 How To: 10. Customize Metro UI – App Tiles and Groups
Windows 8 How To: 11. Install Language Packs for Multilingual Support
Windows 8 How To: 12. Show and Use “Run” Command
Windows 8 How To: 13. Show and Use cmd Prompt (DOS Mode)
Windows 8 How To: 14. Show and Use PowerShell
Windows 8 How To: 15. Show and Use Desktop Applications
Windows 8 How To: 16. Install .NET 3.5 and Windows Live Essentials
Windows 8 How To: 17. Add New Tab or New InPrivate Tab in Metro Style IE Browser
Windows 8 How To: 18. Configure WiFi Connection and Airplane Mode
Windows 8 How To: 19. Show Hidden Files, Folders and Drives
Windows 8 How To: 20. How to Start Windows 8 in Safe Mode
Windows 8 How To: 21. Install and Uninstall Metro Style Apps
Windows 8 How To: 22. Enable or Disable Sharing Between PCs Using HomeGroup
Windows 8 How To: 23. Find and Use Windows Help and Support
Windows 8 How To: 24. Show and Configure Free Anti-Virus App (Windows Defender)
Windows 8 How To: 25. Show and Enable Split Touch Keyboard (On-Screen)
Windows 8 How To: 26. Set up Remote Desktop Connection
Windows 8 How To: 27. Backup your Files Using File History
Windows 8 How To: 28. Restore Files Using File History
Windows 8 How To: 29. Restore System to a Previous State Using Restore Point
Windows 8 How To: 30. Restore your Device using Refresh and Reset
Windows 8 How To: 2. Switch Between Apps or Snap Apps
Windows 8 How To: 3. How to Power Off Your Device
Windows 8 How To: 4. Show and Access the Control Panel
Windows 8 How To: 5. Show and Access Administrative Tools
Windows 8 How To: 6. Show All Apps
Windows 8 How To: 7. Switch Between Windows Accounts and Local Accounts
Windows 8 How To: 8. Set up a Picture Password
Windows 8 How To: 9. Set Up a Printer
Windows 8 How To: 10. Customize Metro UI – App Tiles and Groups
Windows 8 How To: 11. Install Language Packs for Multilingual Support
Windows 8 How To: 12. Show and Use “Run” Command
Windows 8 How To: 13. Show and Use cmd Prompt (DOS Mode)
Windows 8 How To: 14. Show and Use PowerShell
Windows 8 How To: 15. Show and Use Desktop Applications
Windows 8 How To: 16. Install .NET 3.5 and Windows Live Essentials
Windows 8 How To: 17. Add New Tab or New InPrivate Tab in Metro Style IE Browser
Windows 8 How To: 18. Configure WiFi Connection and Airplane Mode
Windows 8 How To: 19. Show Hidden Files, Folders and Drives
Windows 8 How To: 20. How to Start Windows 8 in Safe Mode
Windows 8 How To: 21. Install and Uninstall Metro Style Apps
Windows 8 How To: 22. Enable or Disable Sharing Between PCs Using HomeGroup
Windows 8 How To: 23. Find and Use Windows Help and Support
Windows 8 How To: 24. Show and Configure Free Anti-Virus App (Windows Defender)
Windows 8 How To: 25. Show and Enable Split Touch Keyboard (On-Screen)
Windows 8 How To: 26. Set up Remote Desktop Connection
Windows 8 How To: 27. Backup your Files Using File History
Windows 8 How To: 28. Restore Files Using File History
Windows 8 How To: 29. Restore System to a Previous State Using Restore Point
Windows 8 How To: 30. Restore your Device using Refresh and Reset
Read more: Public Sector Developer Weblog
QR:
AddressSanitizer
Posted by
jasper22
at
17:02
|
Introduction
AddressSanitizer (aka ASan) is a memory error detector for C/C++. It finds:
Use after free (dangling pointer dereference)
Heap buffer overflow
Stack buffer overflow
Global buffer overflow
Use after return
This tool is very fast. The average slowdown of the instrumented program is ~2x (see PerformanceNumbers).
The tool consists of a compiler instrumentation module (currently, an LLVM pass) and a run-time library which replaces the malloc function.
The tool works on x86 Linux and Mac.
See also:
AddressSanitizerAlgorithm -- if you are curious how it works.
ComparisonOfMemoryTools
Getting AddressSanitizer
The Chromium team periodically updates LLVM/Clang binaries, which now include AddressSanitizer support. Simply execute the following:
mkdir -p tools/clang
cd tools/clang
cd ../../
tools/clang/scripts/update.sh
# Now use third_party/llvm-build/Release+Asserts/bin/{clang,clang++}
Read more: Google code
QR:
Lesser Known CLR Custom Attributes -- UnsafeValueType
Posted by
jasper22
at
16:55
|
In a comment to the previous post about CLR Custom Attributes I listed some other custom attributes that the CLR recognizes (by name). Some of them I previously thought were compiler only custom attributes, so I decided to investigate them.
System.Runtime.CompilerServices.UnsafeValueTypeAttribute
The documentation for this attribute, somewhat uncharacteristically, actually explains what it does, but I decided to try it out.
Here's an example that demonstrates what it does:
using System;
using System.Runtime.CompilerServices;
//[UnsafeValueType]
struct Foo {
public int field;
}
class Program {
[MethodImpl(MethodImplOptions.NoOptimization)]
static void Main() {
int i = 1234;
Foo foo = new Foo();
Read more: IKVM.NET Weblog
QR:
Buffer overflow protection
Posted by
jasper22
at
16:54
|
Buffer overflow protection refers to various techniques used during software development to enhance the security of executable programs by detecting buffer overflows on stack-allocated variables as they occur and preventing them from becoming serious security vulnerabilities. There have been several implementations of buffer overflow protection.
This article deals with stack-based overflow; similar protections also exist against heap-based overflows, but they are implementation-specific.
How it works
Main article: Stack buffer overflow
Typically, buffer overflow protection modifies the organization of data in the stack frame of a function call to include a "canary" value which, when destroyed, shows that a buffer preceding it in memory has been overflowed. This gives the benefit of preventing an entire class of attacks. According to some software vendors[who?], the performance impact of these techniques is negligible.
Canaries
Canaries or canary words are known values that are placed between a buffer and control data on the stack to monitor buffer overflows. When the buffer overflows, the first data to be corrupted will be the canary, and a failed verification of the canary data is therefore an alert of an overflow, which can then be handled, for example, by invalidating the corrupted data.
The terminology is a reference to the historic practice of using canaries in coal mines, since they would be affected by toxic gases earlier than the miners, thus providing a biological warning system.
There are three types of canaries in use: Terminator, Random, and Random XOR. Current versions of StackGuard support all three, while ProPolice supports Terminator and Random canaries.
Terminator canaries
Terminator Canaries use the observation that most buffer overflow attacks are based on certain string operations which end at terminators. The reaction to this observation is that the canaries are built of NULL terminators, CR, LF, and -1. The undesirable result is that the canary is known. Even with the protection, an attacker could potentially overwrite the canary with its known value, and control information with mismatched values, thus passing the canary check code, this latter being executed soon before the specific processor return-from-call instruction.
Random canaries
Random canaries are randomly generated, usually from an entropy-gathering daemon, in order to prevent an attacker from knowing their value. Usually, it is not logically possible or plausible to read the canary for exploiting; the canary is a secure value known only by those who need to know it—the buffer overflow protection code in this case.
Normally, a random canary is generated at program initialization, and stored in a global variable. This variable is usually padded by unmapped pages, so that attempting to read it using any kinds of tricks that exploit bugs to read off RAM cause a segmentation fault, terminating the program. It may still be possible to read the canary, if the attacker knows where it is, or can get the program to read from the stack.
Read more: Wikipedia
QR:
Защита в виртуальной среде: чеклист угроз
Posted by
jasper22
at
16:48
|
Защита данных в виртуальной среде — это «дивный новый мир», означающий серьёзное изменение мировоззрения в отношении понимания угроз.
Я работаю с защитой персональных данных, у меня и коллег собралась огромная таблица возможных угроз безопасности, по которой можно проверять, что не так на конкретных объектах.
Ликбез
Стандартные понятия ИТ (сервер, кабель, сетевой коммутатор и так далее) из области физических объектов переходят в виртуальные. В среде виртуализации они начинают представлять собой элементы настройки программного кода виртуальной среды (гипервизора).
Меняется и сама форма угроз. С одной стороны в виртуальной среде исчезают угрозы «реального» мира (например, разрыв кабеля, выход из строя платы конкретного сервера и так далее), но возникают другие (например, некорректная программная настройка логических связей между объектами виртуальной среды, возможность кражи/уничтожения виртуальной среды целиком благодаря тому, что виртуальные машины представляются собой файлы, которые можно скопировать на съемный носитель или удалить).
Кроме того, существует вопрос как «натягивать» требования регулирующих органов (ФСТЭК) на виртуальную среду, поскольку существующие требования описывают требования к защите, предполагающей, что кабели, серверы и сетевое оборудование – это физические объекты.
Структурируем угрозы безопасности в виртуальной среде в соответствии с ее архитектурными уровнями:
Аппаратная платформа, на которой разворачивается виртуальная среда;
Системное ПО виртуализации (гипервизор), выполняющее функции управления аппаратными ресурсами и ресурсами виртуальных машин;
Система управления виртуальной средой (серверные и клиентские программные компоненты, позволяющие локально или удаленно управлять настройками гипервизора и виртуальных машин);
Виртуальные машины, включающие в свой состав системное и прикладное программное обеспечение;
Сеть хранения данных (включающая коммутационное оборудование и систему хранения) с размещаемыми образами виртуальных машин и данными (сеть хранения данных может быть реализована на основе SAN, NAS, iSCSI).
Read more: Habrahabr.ru
QR:
.NET COM interoperation - Fighting with RCW memory leaks
Posted by
jasper22
at
16:34
|
Introduction
Recently I was assigned a task to trace some memory leaks/crashes caused by .NET/COM interop. And I think you will understand what a tough task it is if you have been through it.
After Googling articles, reading them, doing some small trials, I've got some of my own thoughts/understandings. Things that were so daunting to me have now began to makes sense. I want to post them here and share with those who are still struggling.
Background
The general scenario is like this:
We create a COM object using ATL (it's fine if you don't want to utilize ATL and do everything by yourself, but this will be a very tough task). We define those interfaces in IDL files, and we implement them using C++. Then a COM server is done.
We want to use them in .NET. We use tlbimp.exe to generate the RCW (which are actually the generated DLL files).
We begin to consume the COM object by creating the COM object instance and invoking its methods.
The problem we are facing and trying to resolve is:
After the .NET application is done,, some COM objects are not released/disposed/destructed as expected; thus we have memory leaks.
Or/And:
Sometimes we begin to have an exception thrown by the .NET Framework saying "xxx can't be used because the underlying COM object has been separated".
Main Content
Before the exploration starts, I want to stress the fact that always remember there are three layers in case of .NET/COM interoperation: your .NET code, the RCW, and the native COM server. You have full control of your .NET code, but there are lots of rules/disciplines living in the RCW/COM world which you have to understand and follow. Otherwise you'll hit the troubles listed in the above section.
To understand those rules/disciplines in COM & RCW world, I'm going to use some sample code.In this example, I defined 2 COM objects, one is "CQTTest" , representing a test object, the other one is "CQTAction", representing an action object. A test object can contain a lot of action objects, among which there is an active one. Both Test and Action have a method named "Run" (If you have got some experience using Quick Test Professional, you know what i'm talking about). Those idl files and implemementation code are shown as below:
Read more: Codeproject
QR:
Allowing a WinRT app to do loopback network calls
Posted by
jasper22
at
16:31
|
One issue I’ve encountered while building Metro-style WinRT apps on Windows 8 is the need to have my app interact with a WCF service running on the same machine.
This is obviously a common scenario for any n-tier or SOA app development. The challenge we face is that WinRT apps are blocked from calling back to localhost (127.0.0.1). The challenge and solution are described here:
To find the real application name (moniker) necessary, I wrote a simple command line utility to read the registry:
using System;
using Microsoft.Win32;
namespace WinRtAppList
{
class Program
{
static void Main(string[] args)
{
var reg = Registry.
CurrentUser.OpenSubKey("Software").
OpenSubKey("Classes").
OpenSubKey("Local Settings").
OpenSubKey("Software").
OpenSubKey("Microsoft").
OpenSubKey("Windows").
OpenSubKey("CurrentVersion").
OpenSubKey("AppContainer").
OpenSubKey("Mappings");
var items = reg.GetSubKeyNames();
string query = null;
if (args.Length > 0)
query = args[0].ToLower();
foreach (var item in items)
{
var app = reg.OpenSubKey(item);
var displayName = app.GetValue("DisplayName").ToString();
Read more: ROCKFORD LHOTKA
QR:
Combining XAML and DirectX
Posted by
jasper22
at
16:29
|
Since early on in the development of Windows 8, we’ve been thinking about ways to combine UI, such as the rich set of controls and interactivity provided by XAML, and graphics, like the low-level, high-performance rendering of DirectX.
The feedback you gave for the Developer Preview through the Dev Center forums and other channels helped us focus on the set of related scenarios that developers really wanted to build. We saw some common themes: many of you wanted to either add DirectX graphics to what could otherwise be called a XAML app, or easily add Metro style UI to a DirectX app.
Good news! With the release of the Consumer Preview, you no longer have to draw a hard distinction between a XAML app and a DirectX app. You can now tap into the strengths of both XAML as a rich UI platform and DirectX as a high-performance rendering solution within the same app, using a familiar XAML model.
Now that you can combine these, you really get the best of both worlds. This opens up a wide range of possibilities – some of the key scenarios you told us about included things like:
Image processing, creativity, and design apps that blend UI and graphics
Large-scale map and document viewers, that mix huge DirectX graphics and some UI
Games and simulations with full-screen, high-performance DirectX graphics and minimal overlaid UI
where the combination of XAML and DirectX can make developers more productive and apps richer and faster.
Metro style UI in Windows 8
XAML – in parallel with HTML/JavaScript – is a UI toolkit for all types of apps in Windows 8, providing constructs for interactivity, Metro style controls and animations, and rich functionality like accessibility support, databinding, media, and HTML hosting. You also benefit from design-time support in Visual Studio and Expression Blend, all using your choice of programming languages.
One area of continual investment for the engineering team that spans across all these areas in both XAML and HTML/JavaScript is performance: we’ve put a lot of effort into this in Windows 8, making it easier than ever for you to build fast and fluid Metro style apps. In the graphics area in particular, we’ve continued to improve rendering and composition performance, worked to use GPU hardware wherever possible, and even made it so that common types of animations run independently off the UI thread to ensure they remain smooth regardless of any work your app is doing on the CPU. We’ve worked toward ensuring that everything the UI frameworks do, they do well — fast, fluid, and with lower power requirements. When using a UI framework, you’re already using the power of DirectX behind the scenes; in many cases this provides everything you need to achieve great graphics performance.
DirectX in Windows 8
Still, there are definitely times when you need the raw immediate-mode rendering performance and direct access to graphics devices that DirectX provides. Starting with Windows 8, DirectX SDK components are now included as part of the primary Windows SDK, and DirectX contains a host of new features such as a unified 3D API, improved 2D graphics and text performance with Direct2D, a rich image processing pipeline, and improved printing support.
Read more: Windows 8 app developer blog
QR:
Windows 8 Server Hyper-V will require SLAT (Second Level Address Translation)
Posted by
jasper22
at
16:28
|
For those about to buy some new Hyper-V hardware…
“Hyper-V requires a 64-bit system that has Second Level Address Translation (SLAT),” explains Hyper-V program manager Mathew John in Microsoft’s Windows 8 blog. “SLAT is a feature present in the current generation of 64-bit processors by Intel & AMD. You’ll also need a 64-bit version of Windows 8, and at least 4GB of RAM.”
SLAT is a form of hardware virtualization that is included in newer versions of Intel and AMD processors, such as Intel’s Core i3, i5 and i7 processors and AMD’s Barcelona processors. Hyper-V always required some form of hardware virtualization, but this is more restrictive than the current specs.
if you want to check if your servers support SLAT…try out this cool tool…by Mark Russinovich!
On an Intel processor, a star (*) on the line EPT means that SLAT is supported.
QR:
Virtual Method Dispatch and Object Layout Changes in CLR 4.0
Posted by
jasper22
at
16:06
|
As part of the upcoming Pro .NET Performance book, there’s quite a bit of research we need to do on various facets of CLR internals. During my research for the Type Internals chapter I discovered a change in CLR object layout and virtual method dispatch as of CLR 4.0 – possibly not the most exciting of changes but one that invalidates most of the existing material on this subject, such as the popular JIT and Run article or theAdvanced .NET Debugging book.
First, a quick overview of how reference type instances are laid out on the heap. Suppose that we have anEmployee class with two instance fields, _name and _id, as well as a virtual method called Work. On a 32-bit managed heap, an Employee instance occupies 16 bytes, and has the following layout (each cell = 4 bytes):
Object Header Word (Sync Block Index)
Method Table Pointer
The _name field
The _id field
The method table pointer points to Employee’s method table, which contains, among other things, code addresses for Employee’s methods. On CLR 2.0, the method table has roughly the following layout:
Flags, Size, EEClass, Module Ptr, etc.
Interface Map Pointer
+0x28 Object.ToString
+0x2c Object.Equals
+0x30 Object.GetHashCode
+0x34 Object.Finalize
+0x38 Employee.Work
Employee..ctor
Interface MTs implemented by Employee
Read more: DZone - Net zone
QR:
INSIDER’S VIEW: AUTHORING XAML-BASED METRO STYLE APPS IN BLEND BETA
Posted by
jasper22
at
16:05
|
We’re excited to see that many of you have started creating XAML-based Metro style apps using Blend. Our top priority was to get this early version of the tooling out to you as soon as possible so that you could get a picture of how you will be able to use Blend to create your XAML-based Metro style apps. This first release of Blend for XAML has a few bugs, some stability issues and it maintains a quality level more consistent with a Preview than a Beta. We are hard at work making improvements and stabilizing the product so you will see significant improvement in the next publicly available release. Of course, I can’t tell you when that will be but keep the feedback coming on our discussion forums and by filing bugs, as it will help us make sure we shake out all of the issues.
In this post I’ll give you an inside view into some of the implementation details and prioritization considerations that we employed so we could light up support for Windows 8 Metro style apps using XAML in Blend.
COMPARING BLEND SUPPORT FOR METRO STYLE APPS TO OTHER PLATFORMS
There are a few features that you may have gotten used to creating when creating SL, WPF and Windows Phone apps in Blend that are not available when creating Metro style apps. Rest assured that our goal is to provide the same level of rich functionality and visual authoring capabilities for Metro style apps as you currently have for Windows Phone, Silverlight and WPF applications, we just have not had the time to get there with this first version of authoring support for Metro style apps.
CORE AUTHORING CAPABILITIES
For this release, we focused on core authoring capabilities that are shared with the Visual Studio XAML designer including object creation, layout, property editing and rich design times for controls specific to Metro style apps. We then prioritized enabling authoring visual states and creating animations for your applications using Blend. We made sure that Visual Studio provided the richest support for editing your XAML and code-behind files and are providing only minimal support for using a text-based editor to edit these files in Blend for Metro style apps.
BLEND SDK
We are not including support for the features available in the Blend SDK for this release. The Blend SDK includes features like Behaviors, font embedding, PathListBox and Shapes. We understand that Behaviors are an important part of your workflow for creating applications in Blend and we are already working on adapting our interactivity features so that they are available from both native and managed projects, in a pure WinRT fashion.
Read more: //blendinsider
QR:
WinRT: File Access
Posted by
jasper22
at
16:03
|
This post contains my notes from the "File Access" sample in the Windows 8 developer samples.
Let me start by noting that all these samples are designed to show how the API is structured. These samples do not show proper separation of concerns, or architectural patterns like MVVM. In fact, all the code is in the CodeBehind for the MainWindows.xaml.cs. Oh well, that’s not what the samples are teaching.
There are two key takeaways from this sample. First, IO programming in WinRT is very similar to IO programming in the .NET Framework. The addition of the ‘await’ keyword before each call is the only new technique here. Second, Metro applications should not just browse the file system for storage locations. Each application should restrict its storage to the application specific document library. The code shows both of these concepts pretty clearly.
The main Window’s Initialize() code initializes a StorageFile object by searching for the file on disc, and creating the associated StorageFile object (asynchronously, of course):
async void Initialize()
{
try
{
sampleFile = await Windows.Storage.KnownFolders.DocumentsLibrary.GetFileAsync("sample.txt");
}
catch (FileNotFoundException)
{
// 'sample.txt' doesn't exist so scenario one must be run
}
}
Read more: SRT Solutions::Bill Wagner
QR:
Impressionist UI Free – User Interface Pack
Posted by
jasper22
at
16:03
|
Because the Impressionist UI set ended up to be so appreciated, the team from DesignModo decided to offer our readers a wonderful present – now you can download the free version of this cool web design elements pack.
The free version of this kit contains just a part of the elements that you can fully get in the paid version, however this free set remains one of the biggest set with free elements that we have shared before. This set also contains a collection of icons also to be found completely in the paid version of Impressionist UI. This set has been chosen out of the 200 (x3) icons that can be found in the paid version.
We would have to mention the fact that the Impressionist UI Free kit contains PSD elements with rasterized layers, exactly as there are all the other free or paid UI packs. If you would like to have the full set containing all the elements in Photoshop using shapes, we would recommend for you to buy it for a small price here. The advantage of the paid version is that the elements can be changed just the way you like it, starting with their shape and ending up with their sizes.
Read more: designmodo
QR:
Visual Studio 2010 Tips and Tricks
Posted by
jasper22
at
16:01
|
Code Project Virtual Tech Summit Session
If you missed the premiere of one of our virtual tech summits you'll still be able to view these sessions. This video originally premiered in our Agile Development Summit February 23, 2011.
Abstract
Visual Studio is huge, and most developers only learn about the most basic things that can be done with it. This session covers several tips and tricks to customize and work with Visual Studio and make the most out of it.
Read more: Codeproject
QR:
Intro to Debugging a Memory Dump
Posted by
jasper22
at
15:58
|
I was discussing debugging with some folk internally that didn’t really have much exposure to it, but wanted to learn. I considered the items pretty basic and didn’t really dive into to much, but I had a few comments that the information was good. One thing I found that was interesting was that I did some searching around, and couldn’t really find a good reference that summed up the items below. I found some information on the individual items, but I knew what to go look for. From the perspective of someone just getting started, it wasn’t obvious. So, I figured I would share out what I put together as it may be helpful for someone else.
NOTE: All examples below are using the public Debugger along with public symbols and extensions. These are available to everyone.
Intro to the Intro
There are some concepts that go along with Debugging that are sometimes not addressed directly when we look at the topic of debugging itself. These concepts are extremely helpful when we start going through dumps and understand how to connect the dots. Foundational knowledge really helps in this complex topic. I will try to add some public references to some items you can read up on, but this shouldn’t be where you stop. If you really are interested in this topic, there is a wealth of information out there that can help with some of the background.
A good place to start is the Windows Internals book by David Solomon and Mark Russinovich. Specifically the chapter on Memory Management and how this works. When talking about Dumps and Debugging, we are working with the contents of Memory. Understanding how memory works is extremely helpful. Note: Volume 6 Part 1 was just recently release, but it looks like the Memory Management pieces for Volume 6 will be in Part 2.
Having some development experience is also helpful. While you may not need to look at Code directly in a dump, you are looking at the results of code. The concept of Pointers is sometimes hard for someone to grasp that doesn’t necessarily have a programming background, but when dealing with a memory dump, or debugging, the understanding of how Pointers work can be very helpful. Even when we are debugging a Managed (.NET) application instead of a Native (C++ or non-managed) Application. Another good book is Windows via C/C++ by Jeffrey Rickter and Christophe Nasarre.
The last book I will mention is Debugging Applications by John Robbins. It should be obvious why I’m recommending it – having to do with Debugging and all.
The above books are not for the feint of heart, but do provide a lot of great information. From a support perspective, these are two books you see on most people’s bookshelves. I definitely recommend them for yours and will really help with regards to this topic.
Read more: CSS SQL Server Engineers
QR:
Windows Identity Foundation in the .NET Framework 4.5 Beta: Tools, Samples, Claims Everywhere
Posted by
jasper22
at
15:56
|
The first version of Windows Identity Foundation was released in November 2009, in form of out of band package. There were many advantages in shipping out of band, the main one being that we made WIF available to both .NET 3.5 and 4.0, to SharePoint, and so on. The other side of the coin was that it complicated redistribution (when you use WIF in Windows Azure you need to remember to deploy WIF’s runtime with your app) and that it imposed a limit to how deep claims could be wedged in the platform. Well, things have changed. Read on for some announcements that will rock your world!
No More Moon in the Water
With .NET 4.5, WIF ceases to exist as a standalone deliverable. Its classes, formerly housed in the Microsoft.IdentityModel assembly & namespace, are now spread across the framework as appropriate. The trust channel classes and all the WCF-related entities moved to System.ServiceModel.Security; almost everything else moved under some sub-namespace of System.IdentityModel. Few things disappeared, some new class showed up; but in the end this is largely the WIF you got to know in the last few years, just wedged deeper in the guts of the .NET framework. How deep?
Very deep indeed.
To get a feeling of it, consider this: in .NET 4.5 GenericPrincipal, WindowsPrincipal and RolePrincipal all derive from ClaimsPrincipal. That means that now you’ll always be able to use claims, regardless of how you authenticated the user!
In the future we are going to talk more at length about the differences between WIF1.0 and 4.5. Why did we start talking about this only now? Well, because unless your name is Dominic or Raf chances are that you will not brave the elements and wrestle with WS-Federation without some kind of tool to shield you from the raw complexity beneath. Which brings me to the first real announcement of the day.
Brand New Tools for Visual Studio 11
I am very proud to announce that today we are releasing the beta version of the WIF tooling for Visual Studio 11: you can get it from here, or directly from within Visual Studio 11 by searching for “identity” directly in the Extensions Manager.
Read more: Vibro.NET
QR:
BHO Development using managed code
Posted by
jasper22
at
15:46
|
Introduction
Browser Helper Object (BHO) is a plug-in for Internet Explorer (IE). BHO let developers to drive IE. A plug-in is a program which extends the functionality of a browser. It can be used to retrieve information or modify the content of the webpage that is being displayed in a browser window, or it may just be used to provide the user an option to see the day's Stock market status or, weather in a toolbar.
Background
To start BHO development can be depressing at the very first beginning to learn all those things. As a beginner I want to share my experience to other beginners. Here I am going to explain the simple implementation of BHO.
A Browser Helper Object is a COM object loaded for each IE window. As a browser window is opened, it creates its own copy of the BHO; and, when the window is closed, it destroys its copy of the BHO. You will need a COM DLL which interact with browser. This need to done by implementing the IObjectWithSite in class. We need to use COM interop library to implement COM DLL in our .NET project.
While we are writing in C#, we also need to write the interface IObjectWithSite ourselves. Also, we have to then implement the interface in your BHO. To interact with the HTML document, we will need to add a reference to the Microsoft.mshtml library and to get the DOM or the webpage currently in the browser, we will have to add SHDocVw library as a reference. Also, we will have to add 2 functions which will register (and unregister) our COM component as a BHO with Internet Explorer with the key.
Read mroe: Codeproject
QR:
Features NO ONE NOTICED in Visual Studio 11 Express Beta for Web
Posted by
jasper22
at
15:37
|
There's a bunch of new stuff in Visual Studio 11 Express for Web that I suspect not everyone noticed. Remember that Express is our free version of Visual Studio. Sometimes I hear folks complain that Express isn't advanced enough, even though its free.
Unit Testing is Built-into Visual Studio Express
For example, no one noticed that Unit Testing is in Express. You can add a Unit Test to an existing Web Solution. I'll add a Unit Test Project, the right click on References and add a reference to System.Web.Mvc to my ASP.NET MVC Application.
Note the new Add Reference dialog? It's got a search box, it's multi-threaded, and I can add multiple references by checkbox. That's new stuff, friends. Subtle, but it is one of those "death by a thousand tiny cuts" things that the team is trying to fix.
I can setup a bunch of tests for my ASP.NET MVC application and run them by right clicking "Run Tests."
Browser Chooser/Launcher in the Toolbar
When you hit F5 or Ctrl-F5 to check out or debug your website you often want to try it in different browsers. You can easily switch between browsers now, directly:
Read more: Scott Hanselman
QR:
Know Program Database file (PDB)
Posted by
jasper22
at
15:30
|
Introduction
This article helps developer who are beginner or intermediate level but don't have much understanding about the importance of PDBs and why they are required.
What is PDB :
PDB is acronymn for Program database file
A PDB file is typically created from source files during compilation. It stores a list of all symbols in a module with their addresses and possibly the name of the file and the line on which the symbol was declared. (from wiki)
Why PDB as a seperate file?
These symbols can be very well embedded in the binary but it will result in the file size growing significantly larger (sometimes by several megabytes). To avoid this extra size, modern compilers and early mainframe debugging systems output the symbolic information into a separate file; for Microsoft compilers, this file is called a PDB file
What PDB file Contains:
Following are some of the important information stored by PDB file
1. Local variable name- To prove this just open your dll with Reflector and uncheck the "Show PDB Symbols" option as shown in below screenshot you will find your local variables are replaced with names like "str" for string variable and "num" for decimal etc. But when you decompile your binary with the option checked Reflector uses the PDB file and shows actual variable name in decompiled code.
Read more: Codeproject
QR:
Linux shell command everyday
Posted by
jasper22
at
14:56
|
Everyday tip for Linux shell command
Read more: Open road for OpenSource
QR:
An End-to-End Windows 8 Metro Style HTML5/JavaScript Game Sample
Posted by
jasper22
at
14:11
|
We're going to start mixing in some new items in our Monday posts. Given the recent release of Windows 8 Customer Preview and Visual Studio 11 beta we're going to start mixing in some new "M's", such as today's Metro Monday project...
One of the promises of developing for Windows 8 is that you can build locally installed and executed HTML5/JavaScript based applications. These are not "web" pages morphed into an app somehow, or a link to a page running on a server somewhere, but a fully fledged app. One way to think about it is that HTML5 is the UI language (i.e. like XAML) and JavaScript is the programming language (like C++, C#, VB.Net, etc).
So what would such a game or app look like? Lets take a peek at a recently released "end to end" sample that's released by Windows SDK team...
Metro style JavaScript and HTML5 game sample
This sample shows how to design a basic casual game in HTML5, from end-to-end. The game included in the sample is deliberately simple to minimize distractions from game logic intended to be replaced.
Specifically, this sample covers:
Setting up draw and update loops
Handling snapped view
Suspend and resume behaviors
Asset loading and audio playback
Roaming application data and settings
Handling touch events
This sample also demonstrates App Bar integration, accessed by swiping up with a touch gesture from the bottom edge of the screen. The main navigation elements of the sample are available there. Additionally, when on the game screen there are game-specific commands for starting a new game or pausing the game. It also demonstrates integration with the Share Contract, accessed via the Charms Bar when you select a score on the high scores table. Lastly, settings for the sample are available via integration with the Settings Contract via the Charms Bar.
Read more: Channel9
QR:
Windows 8 Development Resources for Everyone
Posted by
jasper22
at
13:45
|
If you are starting with Windows 8 development, but have no idea where to look for tools and additional resources, then look no further. Here is a list of places that you might want to visit to get up and running on WinRT/Metro development as fast as possible.
Developer Content (Articles/Posts)
- Windows 8 Consumer Preview Product Guide for Developers
- Selling apps in the Windows App Store
- Visual C++ and WinRT/Metro - Some fundamentals
- Popup Placement in XAML WinRT/Metro
- Understanding basic WinRT Metro Applications and Application Capabilities
- Deep diving WinRT and Metro style apps for Windows 8
- WinJS – how to use resources and do some globalization
- How to Write a WinRT XAML Metro App
- Building C# custom controls in WinRT Metro
- Visual C++ and WinRT/Metro - Databinding Basics
- What’s new with .NET, Windows 8, Metro, WinRT?
- Portability Goes Metro: A CLR and WinRT Love Affair
- WinRT Transitions – Creating Fast and Fluid Metro UIs
- Analyzing Windows 8 and WinRT
- Windows 8 AppBarIcons enumerated and visualized
- Building a good app settings experience in XAML
- XAML AppBar Button Styles for Windows 8
- What about Metro JS Projects and jQuery?
- WinJS Promises: then and done
- WinJS – how to create your own custom control!
Read more: DZone
QR:
Subscribe to:
Posts (Atom)