- This self-contained, self-service kit will help you complete a Proof-of -Concept (PoC) at your organization, allowing you to quickly evaluate the new Microsoft desktop technologies, including Windows 7, Office 2010 Pro Plus, Internet Explorer 8, and Application Virtualization with Microsoft Desktop Optimization Pack technology App-V. It will also familiarize you with some of the important deployment tools provided by Microsoft to assist with your broader deployment efforts. This PoC is not meant to be comprehensive training mechanism but rather an introductory set of modules to familiarize you with tools and technologies.
- Microsoft Windows Server 2008 Enterprise Edition – A platform that helps IT Professionals increase the flexibility and reliability of their server infrastructure.
- Microsoft Assessment and Planning Toolkit (MAP) – A tool to assess your hardware readiness for Windows 7 and Office 2010.
- Microsoft Application Compatibility Toolkit (ACT) – A tool to assess your software readiness for Windows 7 and Office 2010.
- Microsoft Office Migration and Planning Manager (OMPM) – A tool to assess and upgrade Office versions and files.
- Microsoft Office Environment Assessment Tool (OEAT) – A tool to assess Office add-ins.
- Microsoft Office Code Compatibility Inspector (OCCI) – A tool guide remediation of Office VBA code.
- Microsoft Security Compliance Manager (SCM) – A tool guide management and customization of group policy settings
- more....
Proof of Concept Jumpstart Kit v2.0
The PoC Jumpstart provides resources to deploy a desktop PoC with Windows 7, Office 2010, Internet Explorer 8, and Application Virtualization with Microsoft Desktop Optimization Pack technology.
Read more: Bink.nu
9 סוגיות משפטיות שחובה להכיר לפני הקמת אתר אינטרנט
Posted by
jasper22
at
15:07
|
אחד מהדברים הבסיסיים ביותר שחשוב לבדוק עוד לפני שמתחילים בפעילות שיווקית כלשהי באתר זה ההיבט המשפטי. בואו נודה בזה – רובנו לא מכירים את החוקים והדקויות. גם בגלל שאנחנו לא עורכי דין וגם כי לעיתים אנחנו מתעצלים לחקור את הנושא האפור הזה לעומק. "מה כבר יקרה? מקסימום אם יהיו בעיות נעשה שינויים, העיקר כבר לעלות לאוויר לא?"…
אז הזמנתי לכאן את אחת מעורכות הדין המומחיות לדיני אינטרנט – רחל אלקלעי, להסביר לנו קצת על הנושא ואיך אפשר להימנע מתביעות מיותרות. רחל היא הבעלים של משרד עורכי הדין אלקלעי ושות' ועוסקת בתחום דיני האינטרנט כבר למעלה מ-11 שנה.
בניית אתר אינטרנט וניהולו השוטף, בדומה לבניית בית חדש, דורשת תכנון וידיעה של כללי יסוד חשובים. במאמר זה אעסוק בנקודות העיקריות שעליכם לבדוק בבניית "הבית" החדש שלכם, האתר שלכם באינטרנט, ובניהולו החוקי והנכון.
התחומים שנעסוק בהם כאן הם:
- בחירת שם האתר
- בחינת חוקיות תחום העיסוק של האתר
- חשיבות תקנון האתר
- זכויות יוצרים באינטרנט
- הסכמים מול ספקים בבנית האתר ועיצובו
- תכנים פוגעים- לשון הרע ופגיעה בפרטיות
- חוק הגנת הצרכן
- סמכות משפטית במקרה של תביעה נגד אתר אינטרנט
- חשיבות הפניה לעורך הדין המתמחה בתחום האינטרנט
1. בחירת שם האתר
רבים סבורים בטעות כי בחירת שם האתר היא דבר אקראי וכי ניתן "לתפוס" כל שם אם הוא פנוי. האמת היא שדבר זה אינו נכון. שם אתר, גם אם הוא פנוי, יכול להיות סימן מסחרי רשום או מוכר היטב של חברה ישראלית או חברה זרה. ולכן תפיסת השם – מבלי בדיקה האם השם חוקי כאמור, יכולה לחשוף את בעל האתר לתביעות משפטיות.
היבט נוסף של חשיבות שם האתר: פתחתם אתר אינטרנט והשקעתם במותג שלכם, האם תוכלו בבוא היום להגן עליו מפני מתחרים ?
Read more: AskPavel
OpenSSL Timing Attack Can Intercept Private Keys
Posted by
jasper22
at
14:59
|
"Remote timing attacks have been a problem for cryptosystems for more than 20 years. A new paper shows that such attacks are still practical ... The researchers, Billy Bob Brumley and Nicola Tuveri of Aalto University School of Science, focused their efforts on OpenSSL's implementation of the elliptic curve digital signature algorithm, and they were able to develop an attack that allowed them to steal the private key of an OpenSSL server.
Read more: Slashdot
10 טיפים שיהפכו אותך ממהנדס תוכנה למותג
Posted by
jasper22
at
14:52
|
אתה מהנדס התוכנה הכי טוב בחברה. את מרוויחה מצויין ואת המשבר האחרון עברת בקלילות, אפילו יותר משאר התעשייה. אני לא הולך ללמד אותך איך לתכנת. יותר מכך נראה שאתה יכול להעביר הרצאה לא רעה בכלל על ניהול צוות, פיתוח ב – Java או .Net או על Design Patterns. אבל מה הלאה?
הנתונים שבידינו מראים כי לא לעולם חוסן. מחר אולי תחפשו עבודה חדשה, תרצו קידום או העלאה יפה. מי ערב שזה יסתדר? איך תוכל להפוך ממנהל טוב ומפתח מצויין לאדם שציידי ראשים מחפשים אותו בג'ונגל? איך תוכלו לעבור בקלות את משבר גיל ה – 40? ומי יודע, אולי תגייסו סכום יפה לסטארט אפ חדש…
התשובה נשמעת מסובכת לכאורה, למה שיחפשו אותי? למה שירצו דווקא אותי? אבל בפועל אם נתסכל ימינה ושמאלה נגלה שיש לא מעטים שעברו את המכשול הזה ונחשבים למומחים. אם תעקבו אחרי הטיפים הבאים, סיכוי טוב שתוכלו להצטרף לאותם מומחים שעולים בראשכם עכשיו.
אם הם יכולים, אז אתם בוודאי יכולים!
10 טיפים שיהפכו אתכם מסתם מהנדסי תוכנה למותג
מיקוד
לפני שאתם רצים לפרסם, לכתוב ולהרצות, שבו מספר דקות עם עצמכם ו/או אנשים שאתם סומכים עליהם והחליטומה אתם רוצים לעשות בחיים? או יותר נכון, במה אתם באמת טובים? השאלה הזאת לכאורה נראית קשה, אבל בפועל היא די פשוטה: חשבו רגע מתי אמרו לכם שעשיתם עבודה מדהימה ואתם הפטרתם אותם באמירה שזה באמת משהו קטנטן. אם יש משהו כזה (ואני מבטיח לכם שיש) זהו הדבר שמבדיל אתכם מהשאר! זה הדבר שבו יש לכם את הערך המוסף הגדול ביותר, כיוון שאתם עושים בקלילות דברים שנראים מסובכים לאנשים אחרים. הבנתם מהו הדבר הזה? זה באמת מעניין אתכם? הייתם רוצים לעשות אותו גם בעוד חמש שנים? אם כן, אפשר לעבור לטיפים הבאים!
לינקדאין
מי שמחפש אותך בענייני עבודה יחפש אותך קודם כל שם, לכן רצוי לשמור על פרופיל נקי, שם תקין באנגלית (moshe kaplan לדוגמה היא צורה לא טובה, רצוי מאוד להתחיל שמות עם Capital Letters), חברות בקבוצות רלוונטיות שיציגו את תחומי העניין שלך (איך אתה עדיין לא חבר בקבוצת Agile או SCRUM?).
רשתות חברתיות אחרות
אמנם אנחנו חושבים על Twitter ו – Facebook כמקום שבו אנחנו מנהלים את החיים הפרטיים שלנו. אבל בפועל אם נסתכל על רשימת החברים שלנו, נגלה שרבים מהם מלווים אותנו משלבים שונים בחיים שלנו, חלקם מהחיים המקצועיים וחלקם ממעגלים עסקיים רחבים יותר. קראת מאמר טוב? יש לך טיפ מצויין? שתף את החברים שלך, ויתכן שאחד מכם יזכור את זה.
שיפור תוצאות החיפוש עליכם ב – Google
מתברר ש – Linkedin הוא לא אתר הפרופילים היחיד באינטרנט. יש אתרים נוספים כדוגמת CrunchBase, VisualCV ו – ZoomInfo שמומלץ להשקיע כמה דקות כדי למלא בהם את קורות החיים שלכם. הסיבה המרכזית לעשות את זה, היא שהאתרים הללו מאפשרים לכם לעצב את תוצאות החיפוש על השם שלכם, כך שהתוצאות הראשונות יהיו התוצאות שאתם רוצים שיראו.
הרצאות
Read more: newsGeek
Greylock Partners launches new $160 million tech fund for Europe and Israel
Posted by
jasper22
at
14:43
|
Well known US VC house Greylock Partners is launching a brand new $160 million fund aimed at internet technology companies, with the fund being deployed between Europe and Israel. Greylock is best known for its stakes in Facebook, Groupon and LinkedIn and European investments including Wonga. Greylock’s move will be a shot in the arm for European tech companies looking for more options when raising financing.
We’ve confirmed that the fund will be represented in London by Laurel Bowden, a Partner, and will cover investments from early stage and beyond.
[Correction: The fund was raised by Greylock Partners' affiliate fund, Greylock Israel Partners. The fund is managed by five Greylock general partners, Moshe Mor, Erez Ofer, Yoram Snir, Laurel Bowden and Arnon Dinur. Laurel Bowden is operating from the recently opened office in London. Greylock Partners began operating in Israel in 2002, when Moshe Mor started investing there and launched Greylock Israel with its first fund in 2006].
In the US Greylock invests in seed stage companies through its Greylock Discovery Fund, early stage companies through Greylock XIII and late stage companies through Greylock Growth. But this new fund will specifically target Europe and Israel.
Read more: Techcrunch
RMS Cancels Lectures In Israel
Posted by
jasper22
at
14:41
|
"Globes and Haaretz report that Stallman cancelled his plans for lecturing in Israeli universities as part of a visit to the Palestinian Authority, due to threats by the Palestinian organizers that they won't be paying for his trip if he does so. Globes write: 'Stallman was scheduled to visit Israel in July and to speak at Haifa University, Tel Aviv University and Shenkar College. The Palestinians initiated the visit, but when they understood that Stallman would also be speaking at Israeli universities they told him they would no longer fund the trip. In response, Stallman announced that he would cancel the speaking engagements in Israel, and would be satisfied with visiting the Palestinian Authority regions only.'"
Here's the email from RMS and response from the Israeli organizer. Hopefully RMS will brush off being named "Linux founder" by Haaretz. Update: 05/29 19:39 GMT by T : Oops! As user Windrip points out below, it's Globes, not Haaretz, which attributed Linux to RMS.
Read more: Slashdot
Microsoft latest security risk: 'Cookiejacking'
Posted by
jasper22
at
02:09
|
BOSTON, May 25 (Reuters) - A computer security researcher has found a flaw in Microsoft Corp's (MSFT.O) widely used Internet Explorer browser that he said could let hackers steal credentials to access FaceBook, Twitter and other websites.
He calls the technique "cookiejacking."
"Any website. Any cookie. Limit is just your imagination," said Rosario Valotta, an independent Internet security researcher based in Italy.
Hackers can exploit the flaw to access a data file stored inside the browser known as a "cookie," which holds the login name and password to a web account, Valotta said via email
Once a hacker has that cookie, he or she can use it to access the same site, said Valotta, who calls the technique "cookiejacking."
The vulnerability affects all versions of Internet Explorer, including IE 9, on every version of the Windows operating system.
To exploit the flaw, the hacker must persuade the victim to drag and drop an object across the PC's screen before the cookie can be hijacked.
That sounds like a difficult task, but Valotta said he was able to do it fairly easily. He built a puzzle that he put up on Facebook in which users are challenged to "undress" a photo of an attractive woman.
"I published this game online on FaceBook and in less than three days, more than 80 cookies were sent to my server," he said. "And I've only got 150 friends."
Read more: Reuters
Design Desktop App And Web UI Prototypes With Mockup Builder
Posted by
jasper22
at
00:48
|
Read more: Addictive tips
How To Stream Video to Both iOS and Android Devices With Plex
Finding a video streaming solution that does transcoding is tough enough, but trying to find one solution that’ll work for both iOS and Android makes it even harder. Thankfully we have Plex, which does all of this and more.
Plex Media Server
Plex Media Server is an application based off of XBMC that’s primarily built for Mac OS X. It works in two parts: a server app on your desktop and a client app for your mobile device. Plex has been around for a while and even has some awesome plug-ins available. Fortunately for us, the developers made a Windows version that’s pretty wholesome, and there’s even a Linux beta currently in the works and available for download. The Mac OS X version is the definitely the most fully featured, allowing pictures, video, music, and tons of plugins – life Netflix and Hulu – to be streamed to your devices. The Windows version is pretty polished, but doesn’t support Flash/Silverlight plug-ins – no Netflix or Hulu, here. The Linux version is definitely beta – fewer options, no Netflix/Hulu, and the management interface can be really slow – but transcoding and streaming work well on both iOS and Android. Choose the appropriate link below, download the app, and give it quick install.
Read more: How-to-geek
Create Color Schemes For Websites using ColorSpire
Posted by
jasper22
at
18:22
|
Before you can get any website design off the ground, the first thing you need to decide is the color scheme. Whether you’re designing a page yourself or having someone do it for you, the colors are something that will take a lot of time. Colorspire is a web app that makes it easier to play around with colors; it lets you try different combinations in a simple interface by giving you simple blog type layout for a page. The page is divided in to five sections (including background); the color for each section can be changed. The hex code for the colors you select are given so you can share them with your designer or use them yourself.
Read more: Addictive tips
How to Setup Network Bootable Utility Discs Using PXE
Posted by
jasper22
at
11:44
|
We’ve shown you how to network boot the Ubuntu LiveCD. In this article we’ll show how to make some other utilities network bootable, which will give you the knowledge to replicate the procedure for other utilities you may be using.
Note: this article is not geared at beginners, though you’re welcome to keep reading!
Image by Steve Jurvetson
Overview
This guide aims to give you the tools with witch, you will be able to convert utilities, to be PXEable. While unfortunately, it will not be possible to convert any tool under the sun, we wouldn’t be geeks if we didn’t at least try.
As mentioned on the “How To Network Boot (PXE) The Ubuntu LiveCD” guide, If you are not already using Ubuntu as your number one “go to” for troubleshooting, diagnostics and rescue procedures tool, what are you waiting for?
With that said, one has to acknowledge that there are things that simply cannot be done within the Ubuntu LiveCD (like BIOS upgrades), or that you are already using a different tool that you like and would rather keep on using for whatever reason.
Recommendations, Assumptions and Prerequisites
It is assumed that you have already setup the FOG server as explained in our “What Is Network Booting (PXE) and How Can You Use It?” guide.
You will see the “VIM” program used as the editor, this is mainly because it is wildly available on Linux platforms. You may use any other editor that you’d like.
The Ultimate Boot CD (UBCD) is used as an example, as unlike some other utility collections, it is free to download and the programs it bundles are free to use.
Why not just use ISO over PXE?
This is often the first question asked when talking about PXEing. The short answer is that while technically it is possible to take an ISO image and PXE it to the client machines, almost always the content of said ISO, will be expecting to have the physical manifestation of itself accessible in the physical CDROM drive. Therefore, what ever the content of said ISO may be, it will try to look for the “post boot-sector” files in the physical CDROM drive of the client machine, will not find them and fail to boot.
Read more: How-to-geek
[Hands On] Mr. Mixit Turns Memory Matching On Its Head With A Surprisingly Good Soundtrack
Posted by
jasper22
at
11:34
|
Doing this quickly gives you multipliers to score, which forms the core gameplay of Mr. Mixit; scores are saved in a "top 10" format as opposed to using online leaderboards, like OpenFeint. As levels progress, more symbol possibilities are added, and the multiplier meter decreases at a faster rate. However, making fast matches will boost it back up again.
Read more: Android police
Read more: Android Market
Read more:
Is this real life? Apple copies Android’s notification system and lock screen
Posted by
jasper22
at
11:29
|
At the WWDC conference in San Francisco, Apple just showed off a number of features and improvements that are coming in iOS 5. One of those improvements is a revamped notification system called Notifications Center, which might look at little too familiar to those of us that use Android. As you might or might not know, iOS’ current notification system is horrible. iPhone users know this, and Apple certainly knows this.
On the other hand, Android’s notification system is a work of art. It’s useful, non-intrusive, accessible, and easy to use. In summary, everything that iOS’ is not. Therefore, is really not a surprise that Apple has decided to go ahead and copy Android’s notification bar. With that said, we’re happy that iPhone users will now be able to enjoy the awesomeness of having a non-awful notification system. You’re welcome, iPhone users.
Since we’re already talking about things that suck in iOS, Apple also demoed some improvements for iOS’ lock screen. iPhone and iPod users will now be able to launch certain apps right from the lock screen by dragging their icons. If you think you’ve seen something like that before, that’s because you have. HTC’s Sense 3.0 has the same kind of capability built-in. If Apple can sue HTC for such ridiculous things like swiping to unlock, I guess HTC can now sue Apple for this as well.
Read more: Android and me
SIP SDK
Posted by
jasper22
at
10:55
|
Our brand-new SIP Client SDK provides a powerful and highly versatile solution to add quickly SIP (Session Initiation Protocol) based dial and receive phone calls features in your software applications and websites. It accelerates the development of SIP/RTP compliant soft phone with a fully-customizable user interface and brand name. Our SDK is a software development kit for creating SIP-enabled telephony applications. Applications that may be developed with the our SDK include IVR (Interactive Voice Response) Systems, Conference Servers, Callback Systems, and other telephony applications. SDK can also be used to convert existing telephony applications into SIP supported products and/or applications.
SIP stack | SIP Stack(We can decode any additional features in SIP message for your SIP Project, or fix any problems that may exist in the SIP core) | Very stable and compact size |
Compatible SIP Servers, Proxy and PBX | Full compatible with Open SER, Asterisk, Cisco CallManager, Audio Codes, 3CX, Radvision, Rainbow and more others SIP platforms. | |
Compatible SIP Hardwares | Full compatible with DLink, Audio codes, Grandstream, Cisco, Huawei, other major SIP hardware phones and PBXs. | |
Programming interfaces | C++ head files and lib | |
Supported development tools | MS Visual Studio 2003/2005/2008(C#, VB.NET, J#, ASP.NET,...) | |
Audio call | Yes |
(more....)
Read more: SIP VoIP SDK
Displaying Videos from YouTube Channel in ASP.NET Website
Posted by
jasper22
at
09:57
|
Introduction
YouTube is firmly entrenched in our lives. Now, many users cannot imagine life without the use of this site. Due to the simplicity and ease of use, YouTube has become the most popular video sharing and one of the most popular websites in the world. Like many popular Google services, YouTube has Data API. This API allows you to interact with this service. This opens up great opportunities for developers of sites and various applications. Using this API, developers can query videos, search videos, upload videos on YouTube, create and read reviews and more.
Problem
Our goal is to query all the videos from YouTube channel of the famous Russian DJ and show them on the website.
Solution of the Problem
To work with YouTube Data API, you need to download and install the Google Data API library. Then copy Google.GData.Client.dll, Google.GData.YouTube.dll, Google.GData.Extensions.dll files into the Bin folder of the website project and add references to them. How to do this was described in detail in my other article, Using Google Calendar in an ASP.NET website.
To use all possibilities that YouTube Data API offered, you need to get Developer Key.
Developer key uniquely identifies an application that will interact with the YouTube service. You can get it here.
Let’s create a class to represent YouTube video on our site. The object of this class is a video that has properties: VideoId and Title.
VideoId represents unique identifier for the video on YouTube and Title is the title of the video on YouTube:
public class YouTubeVideoObject
{
public string VideoId { get; set; }
public string Title { get; set; }
}
Let’s create a class that will interact with YouTube, and return us all the videos (objects of YouTubeVideoObject class) of channel:
public class YouTubeVideoHelper
{
const string YOUTUBE_CHANNEL = "BobinaMusic";
const string YOUTUBE_DEVELOPER_KEY = "AI39si6JqO_f2b_JWSV3QUbcwg5S-1RJ4-
kiieosBZy9r1ORkCAv7BT5tLp579Tzmly8rvOVm3Jyueq3ZVqUNt1blS4DcoVppA";
public static YouTubeVideoObject[] GetVideos()
{
YouTubeRequestSettings settings =
new YouTubeRequestSettings("Bobina Channel", YOUTUBE_DEVELOPER_KEY);
YouTubeRequest request = new YouTubeRequest(settings);
string feedUrl = String.Format
(,
YOUTUBE_CHANNEL);
Feed<Video> videoFeed = request.Get<Video>(new Uri(feedUrl));
return (from video in videoFeed.Entries
select new YouTubeVideoObject()
{VideoId = video.VideoId, Title = video.Title}).ToArray();
}
}
Description of Constants
YOTUBE_CHANNEL - Channel from which we will show videos
YOUTUBE_DEVELOPER_KEY - Developer key, obtained in step 2
Read more: Codeproject
Silverlight 5 Features Local File System Access without using COM API
Posted by
jasper22
at
09:56
|
Background
In Silverlight 4, it was possible to only access files and folders present inside a fully trusted folder like My Documents. You could use COM APIs from fully trusted OOB Silverlight applications. If you want to know more about this topic, read this post:
File Explorer using Silverlight 4 COM Interoperability
In Silverlight 5, you don't need any COM APIs. If your Silverlight application is a trusted out-of-Browser application, you can access any files or folders present inside your system very easily (as you do it in other applications like Win Form, WPF etc.). Let's discuss more on it with a small example.
Case Study
Let's take a case study. One of your client asked you to create a Silverlight application, which will run outside the browser window and read the hosts file present in the local system (i.e. c:\windows\system32\drivers\etc folder) and display it in the view.
To do this, you need to create an application using Silverlight 5. Set it as an Out-of-Browser application and mark it to run under "Elevated Trusted Application" from the project properties.
...
...
Here is the code implementation:
private void Button_Click(object sender, RoutedEventArgs e)
{
string fileContent = File.ReadAllText(@"c:\windows\system32\drivers\etc\hosts");
lstContent.Items.Add(fileContent);
}
It's so simple. Just call the File.ReadAllText() method and pass the complete file path as the parameter. This will read the content and store it in a local variable called "fileContent". Now add the content to our ListBox.
Read more: Kunal's Blog
Memory Mapped File Quirks [Greg]
Posted by
jasper22
at
09:54
|
Memory mapped files are segments of virtual memory that are directly mapped to a physical file on disk, byte-by-byte. This technology has a number of benefits over traditional stream based I/O, such as performance during random access to large files, or the ability to share the mapped memory between different threads and processes. The .NET framework provides built-in support for memory mapped files starting from version 4. In most cases using memory mapped files in .NET is as easy as using traditional files streams: just map a file into the memory, open a seekable memory stream and use it as if it was a normal file while enjoying all the performance benefits. However, there are some subtle, but important differences. One of them is that memory mapped file views must always be aligned at the boundaries of the system’s virtual memory pages. An important consequence is that:
Compared to the size of the underlying file on disk, the size of a memory mapped view stream is always rounded up towards a multiple of the system’s virtual memory page size. You must take care to differentiate between useful data and junk bytes used to fill up the space.
A little background
A memory mapped file is a continuous chunk of memory in a process address space that has a direct byte-by-byte mapping to an external resource. Typically, such resource is a data file on the physical hard drive. However, it is also possible to represent device memory or any other OS object that can be accessed via a file handle as a memory mapped file structure. In Windows, memory mapped files can also be backed by the system page file rather than by a separate file system object.
In Windows, managing memory mapped files has been supported for a while (see the function reference). The .NET framework natively supports this technology starting from version 4.0 through the types in the System.IO.MemoryMappedFiles namespace.
In .NET you can create a memory mapping either for an existing file on the physical hard drive by specifying its path, or for an existing mapping by referring to the map name. Alternatively, you can create a new memory mapped file and have the system automatically manage a temporary file on disk to back it up. The temp file will be automatically deleted when you dispose of the memory mapped file; this is particularly useful when using memory mapped files for inter-process communication rather than for data persistence. In any case you need to use one of the static methods in the MemoryMappedFile class to create a memory map instance.
Read more: BCL Team Blog
Changes coming to ClickOnce applications running in the Internet Zone
Posted by
jasper22
at
09:53
|
We wanted to let you know that we’ll be changing the signature verification process for ClickOnce applications and WPF XAML Browser Applications (XBAPs) in an upcoming update. This change will help users recognize when they’re running untrusted applications from the Internet Zone, but may require you to make changes to your applications. Currently, applications configured to run “online-only” will not display notifications requesting that the user make a decision whether to run the application or not. After the update, users will see an Application Run dialog commonly encountered when accessing applications over the Internet using Internet Explorer.
In some situations you may want to retain the current application launch behavior. There are two ways to achieve this:
1. Add the application publisher to the Trusted Publisher list. (http://msdn.microsoft.com/en-us/library/ms172241.aspx)
2. Add the application URL to the Trusted Sites list (http://windows.microsoft.com/en-US/windows-vista/Security-zones-adding-or-removing-websites)
Read more: CLR Team Blog
Angry Birds on IE9
Posted by
jasper22
at
09:53
|
I was asked recently where "angry birds for ie9" was. My answer was Angry Birds is already there, kind of, for IE9. Actually its there for HTML5 browsers. Angry Birds was released as a HTML5/Flash app targeted for Chrome at http://chrome.angrybirds.com recently.
Accordingly, ChromeBirds works pretty good on IE9 too. Simply point your IE9 browser to http://chrome.angrybirds.com and you'll have Angry Birds up and going in IE9.
Why Blog this? Truthfully I was asked if there was angrybirds for IE9. I'm using this article this as a ref to email them.
Read more: DevFish on MSDN ...>««(o>...
Using Cudafy for GPGPU Programming in .NET
Posted by
jasper22
at
09:51
|
Introduction
This article explores making use of the GPU for general purpose processing from .NET.
Background
Graphics Processing Units (GPUs) are being increasingly used to perform non-graphics work. The world's fastest super computer - the Tianhe-IA - makes use of rather a lot of GPUs. The reason for using GPUs is the massively parallel architecture they provide. Whereas even the top of the range Intel and AMD processors offer six or eight cores, a GPU can have hundreds of cores. Furthermore GPUs have various types of memory that allow efficient addressing schemes. Depending on the algorithm this can all give a massive performance increase, and speed-ups of 100x or more are not uncommon or even that complicated to achieve. This is not just something for super computers though. Even normal PCs can take advantage of GPUs. I'm typing on a fairly cheap Acer laptop ($800) and it has an Intel i5 processor and an NVIDIA GT540M GPU. This little thing hardly runs warm and can give my fairly standard workstation with its two NVIDIA GTX 460s a good run for its money. The amazing thing about this work station is that in ideal conditions it can do 1 teraflops (less than 100GFLOPs are down to the Intel i7 CPU) . If you look through the history of super computers, this means I've got something that matches the performance of the best computer in the world in 1996 (ASCI Red). 1996 is not that long ago. In 2026, can we have a Tianhe-IA under our desks?
The key point above is that whether an application can speed up or not is down to the algorithm. Not everything will benefit and sometimes you need to be creative. Whether you have the time or budget to do this must be weighed up. Anyway whatever lowers the hurdle to taking advantage of the supercomputer in your PC or laptop can only be a good thing. In the world of General Purpose GPU (GPGPU) CUDA from NVIDIA is currently the most user friendly. This is a variety of C. Compiling requires use of the NVIDIA NVCC compiler which then makes use of the Microsoft Visual C++ compiler. It's not a tough language to learn but it does raise some interesting issues. Applications tend to become first and foremost CUDA applications. To extend a 'normal' application to offload to the GPU needs a different approach and typically the CUDA Driver API is used. You compile modules with the NVCC compiler and load them into your application.
This is all very well but it leaves a rather clunky approach. You have two separate code bases. This may not be a big deal if you have not enjoyed Visual Studio and .NET. Using CUDA from .NET is another story. Currently NVIDIA direct .NET people to CUDA.NET which is a nice, if rather thin, wrapper around the CUDA API. However GPU code must still be written and compiled separately with NVCC and work appears to have stopped on CUDA.NET. The latest changes that came in with CUDA 3.2 and now 4.0 mean that a number of things are broken (e.g. CUDA 3.2 introduced 64-bit pointers and v2 versions of much of the API).
Being a die hard .NET developer, it was time to rectify matters and the result is Cudafy.NET. Cudafy is the unofficial verb used to describe porting CPU code to CUDA GPU code. Cudafy.NET allows you to program the GPU completely from within your .NET application with a minimum of messy, clunky business. Now on with the show.
The Code
This project will get you set-up and running with Cudafy.NET. A number of simple routines will be run on the GPU from a standard .NET application. You'll need to do a few things first if you have not already got them. First be sure you have a relatively recent NVIDIA Graphics card, one that supports CUDA. If you don't, then it's not the end of the world since Cudafy supports GPGPU emulation. Emulation is good for debugging but depending on how many threads you are trying to run in parallel can be painfully slow. If you have a normal PC, you can pick up an NVIDIA PCI Express CUDA GPU for very little money. Since the applications scale automatically, your app will run on all CUDA GPUs from the minimal ones in some net books up to the dedicated high end Tesla varieties.
Read more: Codeproject
What Really Keeps Poor People Poor
Posted by
jasper22
at
09:51
|
The New York Times has a great piece this week about how top colleges (many of which are heavily subsidized by the government) are, in their words, largely for the elite. It’s well worth reading. In it, Anthony Marx, the president of Amherst College, is quoted as saying the following:
“We claim to be part of the American dream and of a system based on merit and opportunity and talent,” Mr. Marx says. “Yet if at the top places, two-thirds of the students come from the top quartile and only 5 percent come from the bottom quartile, then we are actually part of the problem of the growing economic divide rather than part of the solution.”
There’s a lot of evidence that suggests that the admissions policies of the top universities tend to perpetuate the notion of rich getting richer. This post isn’t meant to argue for or against that point. Rather it’s to argue another point which is that when you look at this issue the larger concern here shouldn’t be that people from lower-income families aren’t able to receive as good of an education as people from higher-income families. That’s of course very important but the critical factor is that people from lower-income families aren’t able to gain access to the same networks that higher-income families have access to.
Read more: Jonbischke.com
REST Web Service Interview Questions
Posted by
jasper22
at
09:50
|
Here I am putting 20 REST questions. Please read some tutorial on REST before taking up these questions. Simply mugging up the answers will not give you the confidence for interview.
Some questions may not be applicable to eveyone. For example if you have used anything else than CXF or RESTLET for building REST web services then the question number 15 may not hold good for you
If you are unable to get answer to any of the question, do drop a comment, I will be more than happy to get back with the answer...
1) What is a web service?
2) Can I use GET request instead of PUT to create resources?
3) What is the difference between a RESTful web service (on HTTP) and a HTTP Servlet both of which perform the same function?
4) How will you migrate from SOAP web service to RESTfull web service?
5) What is the difference between HTTP POST and PUT requests?
6) What all kind of output formats can one generate using RESTful web service?
7) What all tools have you used to write RESTful web service?
8) Can my web browser be a client to RESTful web service? If yes then how will you generate DELETE request from web browser?
9) What is meant by JAX-WS and JAX-RS?
10) How is JAXB related to RESTful web services?
11) How will you handle synchronization issues when multiple clients try to consume web service simultaneously?
12) Can you describe any one RESTful web service you have written?
(more...)
Read more: Javalobby
20 SHOWCASE UNUSUAL WEB LAYOUT FOR YOUR INSPIRATION
Posted by
jasper22
at
09:48
|
Usually, we used to design a website with header on top, left, or right navigation below it then a sidebar along side content area and in the end there is a footer. Sometimes we want something different with the layout, it will makes our website eye catching. So here we have collected some unusual website layout to get inspired and create one for yourself. All this is so different from regular websites that we see everyday. Some of these seems to be very simple but still due to its interaction and structure it makes them include in the list of unusual web layout.
Read more: Denbagus.net
Silverlight: String localization Problems
Posted by
jasper22
at
09:46
|
This summary is not available. Please
click here to view the post.
Stylecop 4.5.17.0. a.k.a. StyleCop 4.5 RC5.
Posted by
jasper22
at
09:41
|
Stylecop 4.5.17.0. a.k.a. StyleCop 4.5 RC5 has now been released at http://stylecop.codeplex.com/releases/view/62209
This is a particularly important release if you use ReSharper. When the new version is installed, it prompts you regarding setting your ReSharper defaults to be StyleCop compatible. If you acccept these defaults, making code StyleCop compatible becomes much easier.
There is is now an option that will automaticly add the "this." where required. This is a very useful option for ReSharper users.
Read more: Tatworth
Passing ASP.NET Session Variables to WCF Service
Posted by
jasper22
at
09:41
|
There are multiple ways of passing the Session variables to WCF service. We will pass the session variables to WCF service using SOAP Message header. So let’s open Visual Studio 2010 and create a Blank solution with the name ‘SessionStateSharingExample’. Once the solution is created, add a WCF Serivce library with the name ‘TestWCFService’ as shown below –
Read more: dot net curry
לא רק ברמזור מחפשים DBA
Posted by
jasper22
at
09:38
|
למי שלא ראה את חפר ה-DBA, קבלו:
גם בואלינור מחפשים DBA!
אם אתם יותר טובים מחפר (או עדיף: יותר טובים אפילו משרגא), אנא שלחו את קורות החיים שלכם למייל jobs [at] valinor.co.il
Read more: אם הייתי ליידי גאגא אז כנראה שלא הייתי DBA
Getting something better than “Server not found.” from WCF in Silverlight redux
Posted by
jasper22
at
09:27
|
I have had a lot of question lately about my blog post concerning “Server not found.” messages coming from WCF to Silverlight. I decided to create a quick post that provides a sample application that has everything wired up with some test buttons.
The application just has some buttons at the bottom of the screen that make calls to the service operations. Here is what the code looks like for the WCF service:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.ServiceModel.Activation;
using Web.Core;
namespace ServerExceptions.Web
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "BusinessService" in code, svc and config file together.
[WcfErrorBehavior()]
[WcfSilverlightFaultBehavior()]
public class BusinessService : IBusinessService
{
public void RaiseException()
{
throw new Exception("Can't log in to the database.");
}
public string RaiseInvalidOperation()
{
throw new InvalidOperationException("You can't call this method!");
}
public void RaiseIndexOutOfRange()
{
throw new IndexOutOfRangeException();
}
public string GetCustomerName()
{
return "Matt Duffield";
}
};
}
This is a contrived example but the most important thing to note are the attributes above the service definition.
WcfErrorBehavior
WcfSilverlightFaultBehavior
It is these attributes that give us the ability to capture the error and send it back down the wire to the client. If you comment out the attributes and try any example that throws an error you will get our favorite message:
Read more: Matt Duffield
Unit Testing with Rhino Mock .Net
Posted by
jasper22
at
09:22
|
What is unit Test?
It is a method of testing a smallest unit of source code. Unit can be function or method. Unit tests are created during development process by developers or occasionally white box testers. Ideally each test case should be independent from each others. Unit tests helps to maintain quality of your application, it helps to find out any error or discrepancy during development process. There are many libraries available to unit test source code like nunit, mbunit, junit, MSTest etc.
What is mock object?
- The mock objects are proxy of real objects which mimic behavior of real objects. Mock objects are mainly used in testing when testing with real objects is impractical or impossible to incorporate in unit testing. Below is some characteristics that can help you to decide to use mock objects.
- Testing data is dynamic i.e. testing results cannot be determine on every test.
- Unit testing includes network or database dependencies.
- You don’t know about behavior of dependent objects.
What is Rhino Mock?
It is a dynamic mock object framework for the .Net platform. It includes features from EasyMock.Net and NMock. Below is some features of this library:
- It can mock interfaces, delegates and classes including parameterized constructors.
- Explicit Record & replay model for expectations.
- Can work for strong type mock objects.
- Expectations are based on
- Argument matching.
- Constraints matching.
- Custom callback to verify the expected arguments using your own code.
- Setting actions of methods, properties to return pre determine value.
- you can also tests methods which doesn’t return any value. In this case you can test interaction based testing ie. you can verify specific sequence of actions and then you can verify these actions according to predefined order.
- State base Testing: initiate action and then check expected results.
Read more: Beyond Relational
Android Dependency Injection and Testing Libraries
Posted by
jasper22
at
09:21
|
Anything and everything that makes life easier to develop for Android should be looked into. There are a couple of libraries that make testing easier, increase the modularity of your code, and provide already created mock objects:
- RoboGuice - This is an adaption of Google’s dependency injection library but for Android
- Robolectric -This is a testing framework/platform which works to remove the need for constant mocking of Android objects. It also works with RoboGuice.
I can’t begin to thank the guy that first introduced me to dependency injection enough. Coming from a C++ world, where objects can’t describe themselves and there is no reflection unless the developer purposefully implements it himself, to a more modern language I often created my own static factories to simulate the @inject pattern. But why reinvent the wheel each and every time if an object can describe itself perfectly to the virtual machine?
If you’ve never seen Dependency Injection (DI) before look at the “simple example” RoboGuice provides on their webpage. At first glance it might seem like a fancy way to clean up the code so that maintainers could focus on just the specifics of the actions within each method. That is a side benefit (a really nice one at that) but only a side benefit. The example does not demonstrate the true power of such a framework in testing and asserting bug-free code.
Without DI in your code base
Let’s take a look at a contrived example of what sort of pain points DI can help conquer and alleviate. Suppose that I have a method which needs some sort of widget that takes user input. How can I test such a method without requiring someone to step through a script (as in written instructions) wherein they manually enter all the different combinations which could result in a real world scenario? That’s expensive and time consuming. I’m not even going to mention the human factor for mistakes (like skipping a test by accident). Oops, I just did (see? So easy to make mistakes!)
Read more: Java code geeks
Visual Studio Mag Highlights 17 Free Visual Studio Tools
Posted by
jasper22
at
09:20
|
“What developer doesn't love a new toy? Especially if it's free and actually solves a problem that you face every day. Tools, however, are a very personal thing -- just because something works for someone else doesn't mean it will fit your style of development. You need a variety to pick from to find one worth keeping.
This is why I sifted through dozens of tools and utilities to come up with a list of free tools that can help .NET developers do their jobs better. I looked at both standalone tools -- which can be of value no matter what version of Visual Studio you use -- and Visual Studio add-ins, which integrate directly into the IDE UI.
I have a lot of respect for the people who created these .NET tools and Visual Studio add-ins (and the many others that didn't fit in this article). Many of these tools have been created by individual developers who have not only built the products, but have been actively supporting them for years and through several versions of the Microsoft .NET Framework. They're heroes. You should try out what they've created for you.
Standalone Tools
With two exceptions the tools in this section run independently of Visual Studio. Some of them (Regulator, for instance) have been around since the .NET Framework 1.0 and Visual Studio .NET, yet some developers don't seem to know about them. Others, like LINQPad, have appeared more recently to support new .NET technologies.
Read more: Greg's Cool [Insert Clever Name] of the Day
Read more: 17 Free Tools for Visual Studio
Hacker group: We have Sony dev source code
Posted by
jasper22
at
09:19
|
Lulz Security claims to have compiled SCE’s Developer Network source code
Lulz Security, the shady hacker network responsible for many recent online attacks against Sony and other games studios, has claimed that it has compiled Sony Computer Entertainment’s Developer Network source code.
The group has made the claim via its Lulzsec Twitter account, following attacks against Sony BMG and Sony Pictures over the past few days.
Read more: Developer
Cheap GPUs Rendering Strong Passwords Useless
StrongGlad writes with a story at ZDNet describing how it's getting easier to use GPU processing against passwords once considered quite strong.
"Take a cheap GPU (like the Radeon HD 5770) and the free GPU-powered password busting tool called 'ighashgpu' and you have yourself a lean, mean password busting machine. How lean and mean? Working against NTLM login passwords, a password of 'fjR8n' can be broken on the CPU in 24 seconds, at a rate of 9.8 million password guesses per second. On the GPU, it takes less than a second at a rate of 3.3 billion passwords per second. Increase the password to 6 characters (pYDbL6), and the CPU takes 1 hour 30 minutes versus only four seconds on the GPU. Go further to 7 characters (fh0GH5h), and the CPU would grind along for 4 days, versus a frankly worrying 17 minutes 30 seconds for the GPU."
Read more: Slashdot
Mozilla Labs Introduces the Webian Shell
Posted by
jasper22
at
15:16
|
Mozilla Labs has introduced its concept of a desktop replacement called Webian Shell. The Webian Shell basically consists of a browser which will replace the traditional desktop, and web applications are given more importance than the native applications. Right now, the prototype of the Webian Shell is nothing more than a full screen browser with a dock which holds the tabs and the clock.
Read more: Slashdot
Read more: Webian Shell
10 Online Sites To Make Your Photo Unique And Animated
Posted by
jasper22
at
14:37
|
Internet is the source which perfects you and can make your Imagination possible to some extent. Softwares and Tools are becoming less popular as the world of Internet can is inbuilt with some of the Interesting applications which can make your Experience well. If you are getting bored with your Images and if you want to make your photos animated and much more unique, I collected all the most used online sites which allows you to edit your photos online and make them unique.
BeFunky
BeFunky Photo Effects allow everyday people to easily create photographically rich and artistic results from their digital images without the need for any technical knowledge. These “one-click” photo effect options produce desired results effortlessly and each effect comes with the option to make simple adjustments.
MagMyPic
There are 30 different magazines to choose from for now. You can select any of them and make an impressive, unique, custom fake magazine with ease and Your own picture – it’s simple as that!
Read more: SmashingGeek
Enterprise Library for Silverlight - Logging demo
Posted by
jasper22
at
13:07
|
First screencast on Silverlight logging with Enterprise Library.
Pre-requisites:
Silverlight SDK
Unity for Silverlight 2.0 (included)
Enterprise Library Silverlight Integration Pack - code drop 3
Take a look. Play with the demo. Tell us what you think.
Source code is posted here.
Read more: Channel9
Clog: Client Logging, Silverlight Edition
Posted by
jasper22
at
13:03
|
Introduction
So you've deployed your brand new Silverlight application to test. But wait, there's a problem! Your testers tell you that it breaks when they perform a particular action. They send you a multitude of screenshots, yet to no avail. Without more information, the issue appears irresolvable. With deadlines looming and no hope in sight, desperation sets in. You raise your fists in the air and exclaim, "If only I knew what was happening client side!".
Enter Clog.
OK, the previous hypothetical scenario is melodramatic, but it highlights the need for an integrated client side logging solution. Thus, I decided to create Clog. Clog is a log provider system that allows you to harness your existing logging system to log client side messages to your server. It is fully customizable, can serialize and log all Exception types, and allows filtering of messages both on the client and server sides using custom or inbuilt filters, which so far consists of an IP Address Range Filter and a Role Membership filter. In this release, Clog includes an extendible log provider system, a log4net log strategy, a Microsoft Enterprise Library log strategy, and a Silverlight log viewer. Clog now supports multiple simultaneous log strategies!
Read more: Codeproject
Computer All Rolled Up
Posted by
jasper22
at
12:46
|
A day will come when computers can be rolled up like newspapers, and concepts like Roll Me will make complete sense. Here’s why, it features e-paper nanotechnology roll-able display, making it light and portable. With minimal components and built-in cooling systems, the computer is highly ergonomic and intuitive. To “round” it off, it’s powered by SolarRoll – a flexible solar panel that can be stowed within the hollow shaft of the computer.
Designer: Omer Sagiv
Read more: Yanko Design
Plivo – Open Source Framework For Voice-Enabling Apps
Posted by
jasper22
at
12:34
|
Plivo is an open source communication framework for creating voice-based apps which can make or receive calls from phones (fixed, mobile or SIP), Skype and Gtalk.
With a REST-based API (has XML responses) and ready-to-use helper libraries (for Java, PHP, Python and Ruby), developing apps like IVRs or voicemails is pretty simple.
Read more: Plivo
Sony Pictures attacked again, 4.5 million records exposed
Posted by
jasper22
at
10:35
|
The same hackers who recently attacked PBS.org have turned their attention back to Sony by releasing the latest dump of information stolen from Sony's websites.
While the information disclosed includes approximately 150,000 records, the hackers claim the databases exposed contain over 4.5 million records, at least a million of which include user information.
The data stolen includes:
A link to a vulnerable sonypictures.com webpage.
12,500 users related to Auto Trader (Contest entrants?) including birth dates, addresses, email addresses, full names, plain text passwords, user IDs and phone numbers.
21,000 IDs associated with a DB table labeled "BEAUTY_USERS" including email addresses and plain text passwords.
~20,000 Sony Music coupons (out of 3.5 million in the DB).
Just under 18,000 emails and plain text passwords from a Seinfeld "Del Boca" sweepstakes.
Over 65,000 Sony Music codes.
Several other tables including those from Sony BMG in The Netherlands and Belgium.
Read more: Naked security
Criminal Classifieds: Malware Writers Wanted
Posted by
jasper22
at
10:16
|
Many of the ads highlight job openings for coders who are skilled in devising custom “crypters,” programs designed to change the appearance of known malware so that it goes undetected by anti-virus software. Anti-virus signatures are based on snippets of code found within known malware samples, and crytpers can try to help hide or obfuscate the code. When anti-virus firms update their products with the ability to detect and flag files that are shrouded by this layer of obfuscation, malware writers tweak their creations in a bid to further evade the new detection mechanisms.
The composite banner ad pictured above is a solicitation from a crime gang that offers a base salary of $2,000 per month in exchange for a “long-term partnership” creating crypters that include customer support. The ads lead to a sign-up page (below) where interested coders can leave their résumé and contact information, and state why they think they are qualified for the position.
Read more: Krebs On Security
VisualStudio: How to save the obj folder somewhere else
Posted by
jasper22
at
09:58
|
Question:
Does anyone know how to tell VS(2008) where to save the obj folder when building the solution? We have it save the bin folder to another path in order to keep the source file folders small (ie. emailable), but can't find any way to tell it to do the same with obj...
Answer:
Read more: StackoverflowUse the BaseIntermediateOutputPath property in the project file (.csproj, .vbproj, etc.), as explained at http://msdn.microsoft.com/en-us/library/bb629394.aspx. You'll have to manually edit the XML document using a text editor, then reload it in Visual Studio. It may still create the obj folder (that's a known bug), but will leave it empty and put the actual obj files in your specified folder.
NHibernate Pitfalls: Lazy Properties in Non-Lazy Entities
Posted by
jasper22
at
09:56
|
If you want to have lazy properties on your entity, your entities must also be lazy. This applies to basic type or array type properties (typically String or Byte[] mapped to CLOB or BLOB columns) as well as entity type references (one to one, many to one). This is because NHibernate will only create proxies (in practice, subclasses created at runtime that override the lazy properties) for entities marked as lazy. These properties, of course, must be declared as virtual, and need to be public, protected or protected internal, private or internal wont work, and the classes cannot be sealed.
A different matter is lazy collections (one to many): for these, classes don’t need to be inherited from as NHibernate will change the collection properties for their own collection classes that already implements the lazy behavior. These collection properties must though be declared as interfaces (IEnumerable<T>, ICollection<T>, IList<T>, Iesi.Collections.Generic.ISet<T>), not actual types, so that they can be assigned to NHibernate classes, which also implement these interfaces.
Read more: Development With A Dot
NHibernate Pitfalls: Bags and Join
Posted by
jasper22
at
09:55
|
If you have an entity with a non-lazy loaded bag collection that I fetched using a join, you will get an incorrect number of items when you query a list of this entity: NHibernate will return as many elements as contained by the child table referenced by the bag, plus one for every item in the master table that does not have any child. This happens because NHibernate misinterprets the returned record set.
There are two solutions: either switch to a set, or apply a DistinctRootTransformer:
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping default-lazy="false" namespace="SomeNamespace" assembly="SomeAssembly" xmlns="urn:nhibernate-mapping-2.2">
<class name="Order" lazy="false" table="`ORDER`">
<id name="OrderId" access="property" column="`ORDER_ID`">
<generator class="hilo" />
</id><property name="Customer" type="String" column="`CUSTOMER`" length="50" /><set cascade="all-delete-orphan" inverse="true" lazy="false" fetch="join" name="Details">
<key column="`ORDER_ID`" /><one-to-many class="OrderDetail" />
</set>
</class>
</hibernate-mapping>
Read more: Development With A Dot
How To Use a .NET 4 Based DLL From .NET 2 Based Application?
Posted by
jasper22
at
09:53
|
Introduction
The official answer is you can’t. Even with the In-Process Side by Side execution (SxS) feature, introduced in .NET 4.
The SxS feature was intended to be used when COM is involved. For example, if you got an application that loads plugins, like outlook, and it loads 2 COM plugins, one is using .NET 4 and the other is using .NET 2.0 then it will load two versions of the CLR into the process using the new SxS feature.
What if I simply have a .NET 2 application or DLL that needs to access a .NET 4 DLL?
Personally I’ve encountered two scenarios when I had to solve this problem:
I had a 3rd-party control that would load only in a .NET 3.5 application, but I had to use it in a .NET 4 application.
I wanted to write a plug-in for Windows Live Writer, which must use .NET 2.0, but I needed to use in my plug-in a .NET 4 DLL.
So, what can we do if no COM is involved?
Well, simply add COM to the mixture..
The idea is that you can expose the required classes from your DLL (which uses .NET Framework X) as COM classes (using COM Interop), and then use those classes from your other DLL (which uses .NET Framework Y). Since you are crossing a COM interface, in-process SxS will kick in and work its magic.
Steps to work around the problem
Create a .NET 4 DLL
Suppose we have a .NET 4 DLL which does some .NET 4 functionality. In the attached example our .NET 4 class prints the CLR version, which should be 4. This DLL is compiled with .NET Framework 4.
using System;
namespace Net4Assembly
{
public class MyClass
{
public void DoNet4Action()
{
Console.WriteLine("CLR version from DLL: {0}", Environment.Version);
}
}
}
Create a .NET 2 EXE
Here we create a .NET 2 EXE which will eventually call the .NET 4 DLL, currently all it does is write it’s own CLR version.
using System;
namespace Net2Assembly
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("CLR version from EXE: {0}", Environment.Version);
}
}
}
Create a .NET 4 to .NET 2 adapter
Here we create a .NET 4 DLL that exposes the same functionality we need from our original .NET 4 DLL only it exposes it in a COM-friendly way. In this example, it only needs to delegate the call to the original implementation, but in more advanced scenarios it should translate the parameters to something more COM friendly. In addition to changing the parameters the classes also implement interfaces (as required by COM) and are marked with ComVisible and Guid attributes to allow access using COM.
Here is our COM visible interface:
using System;
using System.Runtime.InteropServices;
namespace Net4ToNet2Adapter
{
[ComVisible(true)]
[Guid("E36BBF07-591E-4959-97AE-D439CBA392FB")]
public interface IMyClassAdapter
{
void DoNet4Action();
}
}
Read more: Arik Poznanski's Blog
The ABC of streaming in Silverlight
Posted by
jasper22
at
09:52
|
Advanced media integration is one of Silverlight’s greatest strengths. In this tutorial we delve into this topic by carrying out some simple exercises. We will learn how to play a movie, how to interact with webcam and microphone and how to create a live streaming solution using Expression Encoder 4 and VLC and capture it in a Silverlight application.
Play a movie
In Silverlight there is a native control called MediaElement which allows you to do a lot of things. The first thing obviously is the possibility to play a video: using its Source property you can define the location of the video you want to see and you can use either a relative or absolute URL. Suppose you have a collection of videos in a subdirectory called “Videos” of your web application and you want to play one of them. The xaml code snippet below is all you will need:
<Grid x:Name="LayoutRoot" >
<MediaElement x:Name="mediaEl" Source="videos/video1.wmv" />
</Grid>
If you launch the application the movie will start automatically. This happens because the Autostart property of the MediaElement is true by default. To control the video, the MediaElement exposes the canonical Play(), Pause() and Stop() methods. At this point adding a commandbar to control the video is fairly easy ; just add a StackPanel in the xaml as below:
<StackPanel Name="CommandBar" Orientation="Horizontal" Background="Beige" Height="39" Width="783" Margin="5" HorizontalAlignment="Center" Canvas.Left="3">
<Button Name="PlayMovie" Background="AntiqueWhite" Content="Play" FontWeight="Bold" Click="PlayMovie_Click" Margin="50,5,0,5" Width="100"/>
<Button Name="PauseMovie" Background="AntiqueWhite" Content="Pause" FontWeight="Bold" Click="PauseMovie_Click" Margin="50,5,0,5" Width="100"/>
<Button Name="VideoStop" Background="AntiqueWhite" Content="Stop" FontWeight="Bold" Click="VideoStop_Click" Margin="50,5,0,5" Width="100" />
</StackPanel>
And, in the code behind, the following event handlers:
private void PlayMovie_Click(object sender, RoutedEventArgs e)
{
if(mediaEl.CurrentState != MediaElementState.Opening ||
mediaEl.CurrentState == MediaElementState.Stopped ||
mediaEl.CurrentState == MediaElementState.Paused)
mediaEl.Play();
}
private void PauseMovie_Click(object sender, RoutedEventArgs e)
{
if (mediaEl.CurrentState == MediaElementState.Playing)
mediaEl.Pause();
}
private void VideoStop_Click(object sender, RoutedEventArgs e)
{
if(mediaEl.CurrentState == MediaElementState.Playing ||
mediaEl.CurrentState == MediaElementState.Paused)
mediaEl.Stop();
}
Let’s focus on the video formats supported. The list below recaps all the formats recognized by Silverlight 4:
Read more: Silverlight Show
Subscribe to:
Posts (Atom)