QR:
Getting more information than the exception class provides
We recently had a question about how to get more information than an exception’s type provides. The developer was trying to copy a file and didn’t know why the copy was failing. File copies can fail for many reasons, almost all of them what Eric Lippert calls “exogenous conditions”. The developer was catching System.IOException and parsing the error message. It worked on his machine, but failed during test passes. Unfortunately, the .NET Framework doesn’t always directly provide the reason that the file copy failed. If an error results from an IO operation the .NET Framework will call GetLastError to find out why the operation failed, then throw an IOException with a message explaining the problem: sharing violation, path too long, etc. The error message is formatted in such a way that you can expose it directly to your user: it clearly states the problem and gets translated into the user’s OS language. This is a little annoying if you’re trying to programmatically respond to the error. For example, if there’s a sharing violation you might want to wait for a few seconds then try again. How do you tell that this IOException comes from a sharing violation as opposed to a disconnected USB drive or a network failure? You do NOT want to parse the exception message because exception messages get translated into the user’s OS language. You can’t programmatically parse a localized string without doing a lot of unnecessary work. Moreover, the exception message could change slightly between different versions of the .NET Framework. While we don’t rewrite exception messages just for fun, one day someone could complain that the error is slightly misleading and we’d fix it, breaking your parsing code. So what can you do if you want a more robust way to get more information than the exception code gives you? The answer is pretty simple: call Marshal.GetLastWin32Error yourself in your catch block and look up the system error code on MSDN. Reading the error doesn’t clear it so you can call GetLastWin32Error even after the Framwork API does. Read more: .NET Blog
QR:
QR:
Microsoft Dumps Partner For Fake Support Call Scam
Posted by
jasper22
at
11:47
|
Microsoft has broken its relationship with one of its Gold Partners, after it discovered that the partner was involved in a scam involving bogus tech support calls. India-based Comantra is said to have cold-called computer users in the UK, Australia, Canada and elsewhere, claiming to offer assistance in cleaning up virus infections. The calls used scare tactics to talk users into opening the Event Viewer on Windows, where a seemingly dangerous list of errors would be seen. This 'evidence' was used to trick innocent users into believing they had a malware infection, and for Comantra to gain the users' confidence. Duped users would then give permission for the support company to have remote access to their PC, and hand over their credit card details for a 'fix.' Security firm Sophos says that internet users have been complaining about Comantra's activities for over 18 months, and it has taken a long time for Microsoft to take action. Comantra's website still retains the Gold Certified Partner logo, although their details have been removed from Microsoft's database of approved partners. Read more: Slashdot
QR:
QR:
CLR 4: Making the AssemblyResolve event more useful
Posted by
jasper22
at
10:37
|
In the introductory post on CLR Binder (‘Understanding the Binder – Part 1’), we listed the set of steps that the CLR Binder follows, in order to locate an assembly and bind to it. On reading this, an obvious question comes to mind. What happens when all of these steps fail to locate the assembly? Does the binder simply quit looking? It eventually does, but not before firing the AssemblyResolve event. The user can register an event handler for the AssemblyResolve event and then load the assembly that was intended to be loaded in the first place (or execute some other code appropriately). The AssemblyResolve event itself has been around for a while now. So what’s changed in CLR 4? Prior to CLR 4, if an assembly A has a reference to another assembly B, and an AssemblyResolve event occurs for the referenced assembly (in this case, B), there is no means to know the identity of the parent assembly (or the referencing assembly, or A). Why is this problematic? Let’s take this example. Let’s assume that an assembly FirstParent.dll references Child.dll. Let’s also assume SecondParent.dll also references Child.dll. On failing to load Child.dll, AssemblyResolve event is fired. Now, while loading FirstParent.dll and SecondParent.dll using LoadFile(), an AssemblyResolve event is fired for Child.dll. Looking at the AssemblyResolve event, it is unclear as to which parent assembly actually triggered loading Child.dll. This is not helpful if the user wants to execute different code as a part of the ResolveEventHandler, depending on the parent assembly that caused attempting to load Child.dll.
Read more: .NET Blog
QR:
Read more: .NET Blog
QR:
נראה מוזר? VS2011 תומך בצורה מלאה ב Kernel Debugging
Posted by
jasper22
at
10:36
|
כן, אני יודע שזה נראה מוזר לכל מי שעוסק בתחום ה Device Drivers, אבל סביבת הפיתוח החדשה לפיתוח Device Drivers, היא לא פחות ולא יותר מאשר Visual Studio 2011. להלן כמה פנינים. Device Drivers לסוגיהן הם סוג פרויקט מוכר ב Visual Studio 2011.
אתה יכול ללחוץ על F5 ולהתחיל לדבג את ה Target או סתם לעשות Attach debuuger ל Kernel.
Read more: GadiM - Gad J. Meir
QR:
QR:
Why would anyone use MSTest over NUnit?
Posted by
jasper22
at
10:08
|
Choices, choices, choices. The advantage of having a thriving open-source community in the .Net world is that you have choices…the disadvantage is that you have to actually make them. Selecting a unit-testing framework is an important step, and can have far-reaching effects across your organization and over the lifetime of your products. Complicating things further, you must also decide whether you want to trust an open-source solution, or go with what Microsoft offers out-of-the-box. Given that Microsoft only provides one solution for unit testing, MSTest is our candidate there. In the open-source world, NUnit is the incumbent candidate. MSTest’s greatest strength is in who created it. Microsoft’s offering of a complete end-to-end solution for product development, testing, deployment, and source control is a boon to developers. Writing applications in .Net means paying the Microsoft tax up-front, so why not keep it all integrated in the same product suite and offer developers a superior experience? Getting up and running in MSTest is as simple as Add -> New Test Project. No other solution provides that level of simplicity, and no other solution can guarantee that they can support future versions of the .Net runtime and Visual Studio. I don’t feel that one killer feature, or one strength, should be enough to sway anyone on such an important choice. This is especially so when some would argue that other choices like NUnit are the defacto solution. So what are MSTest’s strengths? Why should I pick it over NUnit? Let’s jump in and find out! Drew: MSTest properly instantiates a new instance of the test class for each test method being executed. This provides a number of advantages. First, it allows for easy state management in your tests, your setup and teardown code will be run each time a method is called and your instance variables are automatically reset. There’s no need to reset them manually as it is in NUnit. Indeed, many of MSTest’s other strengths rely on this very principle, as we shall see. Read more: DNK Jump In
QR:
QR:
Core .NET Types Usable from a Metro Style Application
Posted by
jasper22
at
10:07
|
When you create a new .NET Metro style application in Visual Studio, it spits out a project template that doesn't reference any .NET assemblies. Well, this isn't completely true, because when you run the C# compiler it references MSCorLib.dll by default. For a Metro style application, the referenced MSCorLib.dll contains a bunch of TypeForwardedToAttribute attributes (http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.typeforwardedtoattribute.aspx). This means that it exposes a bunch of types that you can use from your Metro style application that are actually implemented in various other assemblies. I wrote a small tool that reflects over this MSCorLib.dll are shows all of the core .NET types. The output of the tool is shown below. I grouped types by namespace and under each namespace I show the name of the type and the name of the assembly that defines the type in square brackets. Any type with a back tick in it (like Action`1) represents a generic type. SystemAction [System.Runtime]
Action`1 [System.Runtime]
Action`2 [System.Runtime]
Action`3 [System.Runtime]
Action`4 [System.Runtime]
Action`5 [System.Runtime]
Action`6 [System.Runtime]
Action`7 [System.Runtime]
Action`8 [System.Runtime]
Activator [System.Runtime]
AggregateException [System.Threading.Tasks]
ArgumentException [System.Runtime]
ArgumentNullException [System.Runtime]
ArgumentOutOfRangeException [System.Runtime]
ArithmeticException [System.Runtime]
Array [System.Runtime]
ArraySegment`1 [System.Runtime]
ArrayTypeMismatchException [System.Runtime]
AsyncCallback [System.Runtime]
Attribute [System.Runtime]
AttributeTargets [System.Runtime]
AttributeUsageAttribute [System.Runtime] (more...)
Read more: Jeffrey Richter's Blog
QR:
Action`1 [System.Runtime]
Action`2 [System.Runtime]
Action`3 [System.Runtime]
Action`4 [System.Runtime]
Action`5 [System.Runtime]
Action`6 [System.Runtime]
Action`7 [System.Runtime]
Action`8 [System.Runtime]
Activator [System.Runtime]
AggregateException [System.Threading.Tasks]
ArgumentException [System.Runtime]
ArgumentNullException [System.Runtime]
ArgumentOutOfRangeException [System.Runtime]
ArithmeticException [System.Runtime]
Array [System.Runtime]
ArraySegment`1 [System.Runtime]
ArrayTypeMismatchException [System.Runtime]
AsyncCallback [System.Runtime]
Attribute [System.Runtime]
AttributeTargets [System.Runtime]
AttributeUsageAttribute [System.Runtime] (more...)
Read more: Jeffrey Richter's Blog
QR:
Why do Windows functions all begin with a pointless MOV EDI, EDI instruction?
Posted by
jasper22
at
10:02
|
If you look at the disassembly of functions inside Windows DLLs, you'll find that they begin with the seemingly pointless instruction MOV EDI, EDI. This instruction copies a register to itself and updates no flags; it is completely meaningless. So why is it there? It's a hot-patch point.The MOV EDI, EDI instruction is a two-byte NOP, which is just enough space to patch in a jump instruction so that the function can be updated on the fly. The intention is that the MOV EDI, EDI instruction will be replaced with a two-byte JMP $-5 instruction to redirect control to five bytes of patch space that comes immediately before the start of the function. Five bytes is enough for a full jump instruction, which can send control to the replacement function installed somewhere else in the address space. Although the five bytes of patch space before the start of the function consists of five one-byte NOP instructions, the function entry point uses a single two-byte NOP.Why not use Detours to hot-patch the function, then you don't need any patch space at all. The problem with Detouring a function during live execution is that you can never be sure that at the moment you are patching in the Detour, another thread isn't in the middle of executing an instruction that overlaps the first five bytes of the function. (And you have to alter the code generation so that no instruction starting at offsets 1 through 4 of the function is ever the target of a jump.) You could work around this by suspending all the threads while you're patching, but that still won't stop somebody from doing a CreateRemoteThread after you thought you had successfully suspended all the threads. Why not just use two NOP instructions at the entry point? Read more: The Old New Thing
QR:
QR:
WCF Extensibility – Data Contract Resolver
Posted by
jasper22
at
10:01
|
This post is part of a series about WCF extensibility points. For a list of all previous posts and planned future ones, go to the index page.Continuing on serialization, this post is about a new feature on the WCF serializers in .NET Framework 4.0, the DataContractResolver. Like the previous post on surrogates, there is already good documentation on MSDN, so this post will be short. But since I’ve seen an issue this week on the forums, I thought it’d be worth including the code here in this series. In order to understand the data contract resolver, we need to take a step back and look at a common issue (and source of confusion) in WCF: known types. In order for WCF to be able to serialize or deserialize an object graph, it needs to know about all the objects in that graph. If the actual type of the object is the same as its declared type, then WCF already knows about it (the “baseInstance” member in the code below). If those types are different, then WCF doesn’t know by default about the type – in the case of the “derivedInstance” in the code below, WCF doesn’t know the MyDerived type, so it won’t serialize it unless we tell it that this type is known. public class MyBase { }
public class MyDerived : MyBase { }
[DataContract]
public class MyType
{
[DataMember]
public MyBase baseInstance = new MyBase();
[DataMember]
public MyBase derivedInstance = new MyDerived();
}There are many good descriptions on why we need the known types and how to set them (“official” MSDN documentation, Youssef Moussaoui’s MSDN blog, Mark Gravell’s Stack Overflow post, Richard Blewett’s blog, etc.) so I won’t go in detail here. But known types serves a purpose that we can declare, when the serialize is being created, which types are to be considered "valid” even though they’re not part of the object declaration. And the part in italic is important here – once the known type list is passed somehow to the serializer, it’s set and it cannot be changed during the serializer lifetime. Read more: Carlos' blog
QR:
public class MyDerived : MyBase { }
[DataContract]
public class MyType
{
[DataMember]
public MyBase baseInstance = new MyBase();
[DataMember]
public MyBase derivedInstance = new MyDerived();
}There are many good descriptions on why we need the known types and how to set them (“official” MSDN documentation, Youssef Moussaoui’s MSDN blog, Mark Gravell’s Stack Overflow post, Richard Blewett’s blog, etc.) so I won’t go in detail here. But known types serves a purpose that we can declare, when the serialize is being created, which types are to be considered "valid” even though they’re not part of the object declaration. And the part in italic is important here – once the known type list is passed somehow to the serializer, it’s set and it cannot be changed during the serializer lifetime. Read more: Carlos' blog
QR:
21 FREE Web Forms PSD Layouts
Posted by
jasper22
at
10:00
|
IntroductionG'day, today our FREE psd will be focus on forms. It's important to keep form design simple and easy to understand. In this post, I have collected 21 Login, search and newsletter forms that are eye-catching, well-organised and ready to be used on your website. This is our 4th series of FREE PSD marathon, if you missed our previous free psd posts, you can check them out here: 35 Gorgeous Free Web Buttons PSD
42 Outstanding FREE UI Kits for Web Designers
30 FREE Stylish and decorative ribbons, Stickers and Badges PSDThere are a few more post about free psd (menu, slider, scrollbar and many more) to come. So, stay tuned by following us and/or subscribe to our RSS! Read more: Queness
QR:
WIA.NET
Posted by
jasper22
at
09:58
|
In the Wake of Win8 Bombshell, Adobe Boasts Flash 11's Graphics are 1000x Faster
Posted by
jasper22
at
09:54
|
In a quick move to assure the public of Flash's continuing relevance in web and desktop development, Adobe revealed the coming features in their next version of Flash Player and AIR. Hoping to 'wow' their loyal Flash-game developers, Adobe has been revving up its 2D and 3D graphics acceleration. Full hardware-accelerated rendering for 2D and 3D graphics enable 1,000 times faster rendering performance over Flash Player 10 and AIR 2. -Adobe Release
This 1000x performance leap comes from a project that's been cooking in Adobe Labs called "Stage3D" which renders hundreds of thousands of z-buffered triangles (at 60Hz) instead of the measly thousands that were rendered (unbuffered at 30Hz) in older versions of Flash. Adobe thinks that game graphics along with the digital rights management of those games (so developers get paid) will keep Flash relevant in a web environment where HTML5 is starting to do most of the heavy lifting. Most of the buzz out there was calling the Windows 8 Metro news around plugins a deathknell for Flash, but people forget that the Metro is just one optional way to run the Windows 8 desktop. A majority of people will probably use the more familiar Windows desktop, which will allow plugins. Adobe also expects that Flash applications will find there way into Metro the same way they did for the iOS - through the AIR runtime. Read more: Web builder zone
QR:
This 1000x performance leap comes from a project that's been cooking in Adobe Labs called "Stage3D" which renders hundreds of thousands of z-buffered triangles (at 60Hz) instead of the measly thousands that were rendered (unbuffered at 30Hz) in older versions of Flash. Adobe thinks that game graphics along with the digital rights management of those games (so developers get paid) will keep Flash relevant in a web environment where HTML5 is starting to do most of the heavy lifting. Most of the buzz out there was calling the Windows 8 Metro news around plugins a deathknell for Flash, but people forget that the Metro is just one optional way to run the Windows 8 desktop. A majority of people will probably use the more familiar Windows desktop, which will allow plugins. Adobe also expects that Flash applications will find there way into Metro the same way they did for the iOS - through the AIR runtime. Read more: Web builder zone
QR:
How To Enable Windows 8 Safe Mode
Safe Mode is a diagnostic mode which loads a set of drives and processes sufficient to run Windows. The purpose is to identify root cause of hardware and software related anomalies with their respective threads to either apply fixes or to manually update or disable them. Although Windows 8 Developer Build includes relatively easy to use, automated system repair utilities like System Refresh and System Restore, along with Automatic System Repair to resolve a wide range of Windows boot issues, it doesn’t include Safe Mode option. Unlike previous Windows versions, where one can easily enable/disable Safe Mode and other Advance Boot options from System Configuration utility, also called msconfig tool, Windows 8 requires user to manually enable Safe Mode boot option using Boot Configuration Data (BCD) Edit command. For those who are not familiar with BCDEdit, it’s a Windows tool written to store and define boot applications, as well as, boot application settings. The BCDEdit store handles Windows OS Boot.ini file by providing it with system and user specified boot applications and their configurations. In this post, we will guide you through the process of enabling Windows 8 Safe Mode option in Windows 8 Advance Boot Options menu. The first step involves running Command Line Interpreter as an Administrator. From Start Orb hover menu, click Search. In search bar enter CMD and then click Apps. It will show CMD in main window. Now right-click it and from Advanced button present in bottom right corner, choose Run as Administrator. Read more: Addictive tips
QR:
How Microsoft Can Lock Linux Off Windows 8 PCs
Posted by
jasper22
at
18:48
|
Windows 8 PCs will use the next-generation booting specification known as Unified Extensible Firmware Interface (UEFI). In fact, Windows 8 logo devices will be required to use the secure boot portion of the new spec. Secure UEFI is intended to thwart rootkit infections by using PKI authentication before allowing executables or drivers to be loaded onto the device. Problem is, unless the device manufacturer gives a key to the device owner, it can also be used to keep the PC's owner from wiping out the current OS and installing another option, such as Linux. Read more: Slashdot
QR:
QR:
Microsoft And Nokia Release Windows Phone Porting Guides For Symbian Developers
Posted by
jasper22
at
18:47
|
Microsoft and Nokia have teamed up on a package of new tools aimed at getting Nokia developers prepared for the transition to Windows Phone. Announced today are three jointly developed tools and guides, the most notable being the addition of Symbian Qt to the Windows Phone API mapping tool. The Windows Phone mapping tool, which already supports iOS and Android, serves as a translation dictionary between the Windows Phone platform and other mobile operating systems. With it, developers can pick out the API calls in their apps, then look up the equivalent classes, methods and notification events in Windows Phone. To be clear, this is not a direct porting tool – it doesn’t do the work for you. Developers can simply reference the guide to aid in porting their applications.Included in the mapping tool are the core libraries for Qt 4.7 for Symbian (QtCore, QtGui, QtLocation, QtNetwork, QtSensors, QtSql, QtXml, QtWebKit, QML Elements and QML Components). Sample code and tutorials are available, too. Read more: TechCrunch
QR:
QR:
SleepRinger Whitelists Specific Numbers for Nighttime Notification
Posted by
jasper22
at
18:46
|
Android/BlackBerry: SleepRinger mutes all phone calls and text messages except for those from contacts you have whitelisted; sleep easy knowing that the people who need to reach you can do so. It’s that simple to use–install the application and just start adding contacts to your whitelist. You can specify if SleepRinger should allow calls, SMS, or both and whether it should ring or vibrate. Even if the phone is set to silent the numbers in the whitelist will ring through correctly. Read more: How-to geek
Read more: SleepRinger
QR:
End of the road for DigiNotar as bankruptcy declared
Posted by
jasper22
at
14:25
|
DigiNotar, the Dutch certificate authority which hackers compromised and used to generate hundreds of bogus web security certificates, has filed for bankruptcy. The announcement that DigiNotar has filed for voluntary bankruptcy was made today by its US parent company VASCO Data Security International. And, quite frankly, there aren't many who will be mourning its loss. Read more: Naked security
QR:
Windows 8 and what it means for Silverlight and the coming Slate Wars
Posted by
jasper22
at
10:49
|
To be honest the past year has been kind of a let down with some certain ms employee's saying this that or the other thing that really effectively killed most Silverlight work and its made me somewhat bitter about the whole thing. That being said I was trying hard to have a good attitude going into BUILD last week. BUILD was really a lot of drinking from the firehose albeit I must say that I was right on most accounts. I knew about some improvements, I may have had access to a hacked version of windows 8 that some one might have let me play with so I knew some. Certainly new about XAML and C++ and HTML5 but really so much has changed. Last week reframed Windows in so many new ways. First lets start with the basic's, Windows 8 cold boots in 4 seconds... I've tried it allot just so I can believe it... my Windows 7 dev box takes 30 seconds at least... unbelievable in a good way. The memory profile is something like cut in half and really Windows has been rebuilt from the ground up for all intents and purposes. That being the case on the windows front things are good architecturally speaking but everything isn't a bed of roses. So what is wrong with Windows 8? In all fairness its only a developer preview so I'm not going to harp on things that are likely to be addressed as Windows 8 approaches public release. That being said I break my issues into 4 things and one is even not really Windows 8 but will affect Windows 8 adoption. Read more: HackingSilverlight
QR:
QR:
Mono for Android 1.2.0
Posted by
jasper22
at
10:46
|
Visual Studio Users: Download monoandroid-1.2.0.msi and install.MonoDevelop Users: You should be prompted to upgrade next time you open MonoDevelop, or you can use Help->Check for Updates.
Major Highlights Garbage Collection: There are many important bug fixes to the garbage collector specific to Android. Every Mono for Android user is encouraged to upgrade to this release.Android SDK Fixes: We now work around the Android SDK bug which prevented the emulator from launching when the Android SDK directory contained spaces.
Changes Since Mono for Android 1.0.3
Garbage Collection A significant slowdown during collection that could affect some users under some very specific cases was fixed.
A bug related to object finalization and disposal was fixed. Visual Studio Add-in The Android Device Logging window (View->Other Windows->Android Device Logging) has been beefed up with features for sorting and filtering, and is automatically connected up to your device when you start debugging.
Read more: Xamarin
QR:
Major Highlights Garbage Collection: There are many important bug fixes to the garbage collector specific to Android. Every Mono for Android user is encouraged to upgrade to this release.Android SDK Fixes: We now work around the Android SDK bug which prevented the emulator from launching when the Android SDK directory contained spaces.
Changes Since Mono for Android 1.0.3
Garbage Collection A significant slowdown during collection that could affect some users under some very specific cases was fixed.
A bug related to object finalization and disposal was fixed. Visual Studio Add-in The Android Device Logging window (View->Other Windows->Android Device Logging) has been beefed up with features for sorting and filtering, and is automatically connected up to your device when you start debugging.
Read more: Xamarin
QR:
Top IT Skills and Salaries In 2011
Posted by
jasper22
at
10:42
|
Though IT salaries hasn't changed much these couple of years, some areas are showing good growth. Below are hot technology skills and salaries in major computer software related jobs in USA. They are good for conducting salary research, so you know what you worth when negotiating pay raise or switching career. 1. Java/J2EE and related technologies are still in demand with the highest salaries on average. C is also relevant, but there are almost as many C programmers as there are Java programmers. Average salaries:
--Java: 90k ~ $100k
--C/C++: $90k
--C# $85k2. Apex Cloud Programming
Easy to adopt for developers familiar with Java or C#, Apex is the Salesforce.com programming language that runs in the cloud in a multi-tenant environment. This is a bit of proprietary programming job, so I am not too hot on it. Average salaries for Apex professionals is around $95k. 3. Python and Ruby
Despite all the excitement around Ruby on Rails, IT professionals with Python skills has average salaries of $90k, a bit higher than RoR people. Python also jumped 7.1 percent from last year, while RoR declined 0.6 percent. The number of people with experience in those languages are still pretty low, but learning Python may be the better investment at this point. Average salaries: Python $90,208; Ruby on Rails $89,973. 4. Windows Tech
.NET developers are paid low compared to Java/C developers. Average salary is around $80k.5. Perl and COBOL
Despite the popularity of newer languages, Perl remains in demand. Perl developers on average reported higher salaries. Also there is still demand for developers with COBOL background. Average Salaries: Korn Shell $96,886; Perl $94,210; Shell $88,918; COBOL $85,847. 6. Mac, Windows, and Red Hat
Average salaries: Red Hat $88,223; Microsoft Windows Server $76,915; Mac OS $74,199.Read more: JiansNet
QR:
--Java: 90k ~ $100k
--C/C++: $90k
--C# $85k2. Apex Cloud Programming
Easy to adopt for developers familiar with Java or C#, Apex is the Salesforce.com programming language that runs in the cloud in a multi-tenant environment. This is a bit of proprietary programming job, so I am not too hot on it. Average salaries for Apex professionals is around $95k. 3. Python and Ruby
Despite all the excitement around Ruby on Rails, IT professionals with Python skills has average salaries of $90k, a bit higher than RoR people. Python also jumped 7.1 percent from last year, while RoR declined 0.6 percent. The number of people with experience in those languages are still pretty low, but learning Python may be the better investment at this point. Average salaries: Python $90,208; Ruby on Rails $89,973. 4. Windows Tech
.NET developers are paid low compared to Java/C developers. Average salary is around $80k.5. Perl and COBOL
Despite the popularity of newer languages, Perl remains in demand. Perl developers on average reported higher salaries. Also there is still demand for developers with COBOL background. Average Salaries: Korn Shell $96,886; Perl $94,210; Shell $88,918; COBOL $85,847. 6. Mac, Windows, and Red Hat
Average salaries: Red Hat $88,223; Microsoft Windows Server $76,915; Mac OS $74,199.Read more: JiansNet
QR:
Introducing the Google+ Hangouts API
Posted by
jasper22
at
10:33
|
Cross-posted from the Google+ Platform BlogIn the three months since we launched face-to-face-to-face communication in Google+ Hangouts, I’ve been impressed by the many ways people use them. We’ve seen Hangouts for game shows, fantasy football drafts, guitar lessons and even hangouts for writers to break their solitary confinement. That’s just the beginning. Real-time applications are more engaging, fun, and interactive, but were hard for developers to deliver. Until now. Today we’re launching the Developer Preview of the Hangouts API, another small piece of the Google+ platform. It enables you to add your own experiences to Hangouts and instantly build real-time applications, just like our first application, the built-in YouTube player. The integration model is simple -- you build a web app, register it with us, and specify who on your team can load it into their Hangout. Your app behaves like a normal web app, plus it can take part in the real-time conversation with new APIs like synchronization. Now you can create a "shared state" among all instances of your app so that all of your users can be instantly notified of changes made by anyone else. (This is how the YouTube player keeps videos in sync.) And we’ve added our first few multimedia APIs so you can, for example, mute the audio and video feeds of Hangout participants. Read more: Google code blog
QR:
QR:
QRCode Generator Silverlight
Posted by
jasper22
at
10:32
|
'QRCode generator' can generate QR-Codes without using web service, totally offline.he QRCode are customizable (colors, quality, version, size, etc ...)Read more: Codeplex
QR:
GPU Debugging with VS 11
Posted by
jasper22
at
10:12
|
With VS 11 Developer Preview we have invested tremendously in parallel debugging for both CPU (managed and native) and GPU debugging. I'll be doing a whole bunch of blog posts on those topics, and in this post I just wanted to get people started with GPU debugging, i.e. with debugging C++ AMP code. First I invite you to watch 6 minutes of a glimpse of the C++ AMP debugging experience though this video (ffw to minute 51:54, up until minute 59:16). Don't read the rest of this post, just go watch that video, ideally download the High Quality WMV.
SummaryGPU debugging essentially means debugging the lambda that you pass to the parallel_for_each call (plus any functions you call from the lambda, of course). CPU debugging means debugging all the code above and below the parallel_for_each call, i.e. all the code except the restrict(direct3d) lambda and the functions that it calls. With VS 11 you have to choose what debugger you want to use for a particular debugging session, CPU or GPU. So you can place breakpoints all over your code, then choose what debugger you want (CPU or GPU), and you'll only be able to hit breakpoints for the code type that the debugger engine understands – the remaining breakpoints will appear as unbound. If you want to hit the unbound breakpoints, you'd have to stop debugging, and start again with the other debugger. Sorry. We suck. We know. But once you are past that limitation, I think you'll find the experience truly rewarding – seriously!
Switching debugger enginesWith the Developer Preview bits, one way to switch the debugger engine is through the project properties – see the screenshots that follow.Read more: The Moth
QR:
Kerning.js
Posted by
jasper22
at
10:03
|
Свершилось, теперь чудеса типографики стали доступны и нам простым смертным.Как использоватьДа легко, просто подключаем и используем.<script src="kerning.js"></script>
Больше ничего не нужно, остальное она сделает сама.Что умеетУмеет она поистине восхитительные вещи.KerningКернинг для каждой буквы.#pixel-perfect {
-letter-kern: 1px 1px 0 0 0
1px 0 2px 0 0
0 0 0;
}
Read more: Habrahabr.ru
QR:
Больше ничего не нужно, остальное она сделает сама.Что умеетУмеет она поистине восхитительные вещи.KerningКернинг для каждой буквы.#pixel-perfect {
-letter-kern: 1px 1px 0 0 0
1px 0 2px 0 0
0 0 0;
}
QR:
NHibernate Pitfalls: Merge
Posted by
jasper22
at
09:33
|
This is part of a series of posts about NHibernate Pitfalls. See the entire collection here.Sometimes there may be the need to store a loaded entity in a place that outlives the session that retrieved it. Later on, you need to associate this entity with a new session, in order to continue using it; for this, you tipically use the Merge method. When you do this, however, you must use a new reference to the entity returned by this method: Order order = HttpContext.Current.Session["order"] as Order;
Order savedOrder = session.Merge<Order>(order);
savedOrder.Customer = session.Load<Customer>(Int32.Parse(this.customerDropDownList.SelectedValue));
Read more: Development With A Dot
QR:
Order savedOrder = session.Merge<Order>(order);
savedOrder.Customer = session.Load<Customer>(Int32.Parse(this.customerDropDownList.SelectedValue));
Read more: Development With A Dot
QR:
Implementing a simple HTTP server in .NET Microframework
Posted by
jasper22
at
09:33
|
To follow my previous posts, I’ve started to implement a simple HTTP server in my netduino using .NET Microfamework. I have to admit it was quite easy as there is a HTTP Server example in the samples. I was very impressed that with no OS so no Windows, no Linux, no Mac or any DOS or whatever OS, you can do high level code, create a Web Server in about 2 hours. I haven’t seen something comparable using Java, native C or other languages. There may be ways but here, all the framework is designed to be able to handle any kind of networking, there is even multithreading. I’ll use multithreading in a future post to show how to handle periodic calls. As I would not use all the functions, I’ve started to simplify the code and kept only what I needed.So I just kept couple of functions: public static void StartHttpServer()
internal static void RunServer(string prefix)
static private string GetPathFromURL(string URL)
private static void ProcessClientGetRequest(HttpListenerContext context)
static void SendFileOverHTTP(HttpListenerResponse response, string strFilePath)
class PrefixKeeperI will not used any post method, so I removed it from the code. I removed also the certificate part because I won’t use HTTPS and removed the secure part as I won’t also use it. It needs to clean a bit the code but nothing really too complicated.
Read more: Laurent Ellerbach
QR:
internal static void RunServer(string prefix)
static private string GetPathFromURL(string URL)
private static void ProcessClientGetRequest(HttpListenerContext context)
static void SendFileOverHTTP(HttpListenerResponse response, string strFilePath)
class PrefixKeeperI will not used any post method, so I removed it from the code. I removed also the certificate part because I won’t use HTTPS and removed the secure part as I won’t also use it. It needs to clean a bit the code but nothing really too complicated.
Read more: Laurent Ellerbach
QR:
Inheritance and Representation
Posted by
jasper22
at
09:32
|
Here's a question I got this morning:class Alpha<X>
where X : class
{}
class Bravo<T, U>
where T : class
where U : T
{
Alpha<U> alpha;
}This gives a compilation error stating that U cannot be used as a type argument for Alpha's type parameter X because U is not known to be a reference type. But surely U is known to be a reference type because U is constrained to be T, and T is constrained to be a reference type. Is the compiler wrong? Of course not. Bravo<object, int> is perfectly legal and gives a type argument for U which is not a reference type. All the constraint on U says is that U must inherit from T (*). int inherits from object, so it meets the constraint. All struct types inherit from at least two reference types, and some of them inherit from many more. (Enum types inherit from System.Enum, many struct types implement interface types, and so on.) The right thing for the developer to do here is of course to add the reference type constraint to U as well.That easily-solved problem got me thinking a bit more deeply about the issue. I think a lot of people don't have a really solid understanding of what "inheritance" means in C#. It is really quite simple: a derived type which inherits from a base type implicitly has all inheritable members of the base type. That's it! If a base type has a member M, then a derived type has a member M as well. (**) People sometimes ask me if private members are inherited; surely not! What would that even mean? But yes, private members are inherited, though most of the time it makes no difference because the private member cannot be accessed outside of its accessibility domain. However, if the derived class is inside the accessibility domain then it becomes clear that yes, private members are inherited: class B
{
private int x;
private class D : B
{D inherits x from B, and since D is inside the accessibility domain of x, it can use x no problem.
Read more: Fabulous Adventures In Coding
QR:
where X : class
{}
class Bravo<T, U>
where T : class
where U : T
{
Alpha<U> alpha;
}This gives a compilation error stating that U cannot be used as a type argument for Alpha's type parameter X because U is not known to be a reference type. But surely U is known to be a reference type because U is constrained to be T, and T is constrained to be a reference type. Is the compiler wrong? Of course not. Bravo<object, int> is perfectly legal and gives a type argument for U which is not a reference type. All the constraint on U says is that U must inherit from T (*). int inherits from object, so it meets the constraint. All struct types inherit from at least two reference types, and some of them inherit from many more. (Enum types inherit from System.Enum, many struct types implement interface types, and so on.) The right thing for the developer to do here is of course to add the reference type constraint to U as well.That easily-solved problem got me thinking a bit more deeply about the issue. I think a lot of people don't have a really solid understanding of what "inheritance" means in C#. It is really quite simple: a derived type which inherits from a base type implicitly has all inheritable members of the base type. That's it! If a base type has a member M, then a derived type has a member M as well. (**) People sometimes ask me if private members are inherited; surely not! What would that even mean? But yes, private members are inherited, though most of the time it makes no difference because the private member cannot be accessed outside of its accessibility domain. However, if the derived class is inside the accessibility domain then it becomes clear that yes, private members are inherited: class B
{
private int x;
private class D : B
{D inherits x from B, and since D is inside the accessibility domain of x, it can use x no problem.
Read more: Fabulous Adventures In Coding
QR:
Dependency Management in .Net
I started my career as a programmer developing on Unix platforms, primarily writing applications in ANSI C and C++. Due to a number of factors, including the platform dependency of C/C++ libraries, the low-level nature of the language and the immaturity of the Internet, code reuse in the form of reusable libraries wasn’t as prevalent as it is today. Most of the projects I developed back then didn’t have a lot of external dependencies and the code I reused across projects was checked out and compiled locally as part of my build process. Then came Java. When I first started developing in Java, I remember being excited over the level of community surrounding the platform. The Java platform inspired numerous open source projects, due both to the platform’s architecture and the increasing popularity of the Internet. The Apache Jakarta Project in particular was a repository for many of the most popular frameworks at the time. The increase in the use of open source libraries during this time, along with some conditioning from the past, help forge a new approach to dependency management. The Unix development community had long since established best practices around the use of source control and one of the practices long discouraged was that of checking in binaries and assets generated by your project. Helping facilitate this practice was Apache’s Ant framework, an XML-based Java build library. One of the targets provided by Ant was <get> which allowed for the retrieval of files over HTTP. A typical scenario was to set up an internal site which hosted all the versioned libraries shared by an organization and to use Ant build files to download the libraries locally (if not already present) when compiling the application. The task used for retrieving the dependencies effectively became the manifest for what was required to reproduce the build represented by a particular version of an application. The shortcoming of this approach, however, was the lack of standards around setting up distribution repositories and dealing with caching. Enter Maven. Maven was a 2nd generation Java build framework which standardized the dependency management process. Among other things, Maven introduced schema for denoting project dependencies, local caching and recommendations around repository setup and versioning conventions. Read more: Los Techies
QR:
QR:
Paint.NET v3.5.9 Beta (build 4278) is now available
Posted by
jasper22
at
14:24
|
This is a minor update to Paint.NET v3.5. It has some bug fixes, and also adds back in the Korean translation (thanks to Bing translator).As usual, you can download it directly from the website or you can use the built-in updater. Make sure that you enable “Also check for pre-release (beta) versions”, which you can do by going to Utility –> Check for Updates, and then clicking on the Options button. Here’s the changes from v3.5.8: Improved: The "Auto-detect" bit-depth setting for PNG, BMP, and TGA now also determines which bit-depth to use based on which one produces the smallest file size, as well as which ones can save the image without losing fidelity.
Improved: You can now use Ctrl+0 as a shortcut key for View -> Actual Size, in addition to Ctrl+Shift+A and Ctrl+Alt+0.
Fixed: Some text in the DirectDraw Surface (DDS) Save Configuration UI was not being loaded.
Fixed: Some DirectDraw Surface (DDS) files authored with other software (e.g. Unreal 2004) could not be loaded.
Fixed: In some rare circumstances, clicking on the Save button in the toolbar would crash.
Fixed: The Korean translation has been added back in, with the help of Bing machine translation to cover the few remaining strings that were untranslated.
Read more: Paint.NET Blog
QR:
Improved: You can now use Ctrl+0 as a shortcut key for View -> Actual Size, in addition to Ctrl+Shift+A and Ctrl+Alt+0.
Fixed: Some text in the DirectDraw Surface (DDS) Save Configuration UI was not being loaded.
Fixed: Some DirectDraw Surface (DDS) files authored with other software (e.g. Unreal 2004) could not be loaded.
Fixed: In some rare circumstances, clicking on the Save button in the toolbar would crash.
Fixed: The Korean translation has been added back in, with the help of Bing machine translation to cover the few remaining strings that were untranslated.
Read more: Paint.NET Blog
QR:
The 300+ Features We Weren’t Shown In Windows 8
Posted by
jasper22
at
14:20
|
While we were all given a great look at Windows 8 and even access to downloading the Windows 8 Developer Preview so we can all try it out for ourselves, apparently Microsoft didn’t get around to showing us half of the new features in Windows 8. It was mentioned that there is still more than 300 features in development for the new OS, some weren’t demonstrated and others are still under development. Microsoft briefly showed a slide of all these different features but haven’t published the list. However one Microsoft enthusiast over at WinRumors actually went through the whole list and typed them out so kudos to him!
Read more: Windows 8 News
QR:
- Battery Life
- Time/Battery/Date/Network status
- Browser
- Protection against app (…)/ malware scan
- Apps are certified
- Pre-boot reset
- OEM Activation
- Windows Adapts To Your Location
- Hardening For Genuine
- Powershell Support
- Spotlight
- Integrated Load Balancing
- Pre-Install
- Identity Management Service – Live Integration
- SendTo
- Windows Performance Analyzer
- Desktop Apps
- Key Management Services
- Start
- Multi Hand (…)
- BitLocker Self-encrypting Drive
- Credential Management interface
- Tile groupings
- Files Folders Search
- Tiles
- Optional Public Key Infrastructure
- Faster resume from hibernation
- Application package
- Always On Always Connected
- more...
Read more: Windows 8 News
QR:
Demystifying the Windows 8 Grid Application
Posted by
jasper22
at
13:37
|
If you’re looking to “re-imagine” your apps on the Windows 8 platform in Metro style you can start with the Grid Application template that’s provided in the Visual Studio 2011 preview.From Visual Studio choose New Project and select Grid Application under Windows Metro Style in the template tree:
When you start you’ll get a fully blown Windows 8 Metro application, ready to begin filling in with your own content. How did all that stuff get there and where does it go?First open up the Sample Data folder in the solution. In there you’ll find a file called SampleDataSource.cs. This contains some sample data to work with and is bound to the Xaml pages in the solution at runtime. You’ll of course replace this with runtime data but the sample helps you visualize your app along with understanding where stuff goes on the screen. Or does it? The default app is all in Lorem Ipsum speak and while this is great for visualizing a fully populated application, I thought it was a little confusing to know how it fit together. To make it clearer where everything goes I’ve modified the first collection and item in the SampleDataSource.cs calls with more descriptive labels. Here’s a better picture of the GroupedCollectionPage.xaml, the “Home” page in the app:
Read more: Fear and Loathing
QR:
QR:
NHibernate Pitfalls: Fetch and Lazy
Posted by
jasper22
at
12:48
|
This is part of a series of posts about NHibernate Pitfalls. See the entire collection here.When we use the fetch mode join for an association, we are implicitly using eager fetching, not lazy. Because the SELECT statement for the root entity already includes the association table, it will be loaded at the same time, so, it makes no sense to have fetch=”join” and lazy=”false” for an association; in this case, fetch will take precedence and disable lazy loading. Be aware if your association has lots of entities, and you don’t need it most of the time. Read more: Development With A Dot
QR:
QR:
Hackers break SSL encryption used by millions of sites
Posted by
jasper22
at
10:59
|
Researchers have discovered a serious weakness in virtually all websites protected by the secure sockets layer protocol that allows attackers to silently decrypt data that's passing between a webserver and an end-user browser. The vulnerability resides in versions 1.0 and earlier of TLS, or transport layer security, the successor to the secure sockets layer technology that serves as the internet's foundation of trust. Although versions 1.1 and 1.2 of TLS aren't susceptible, they remain almost entirely unsupported in browsers and websites alike, making encrypted transactions on PayPal, GMail, and just about every other website vulnerable to eavesdropping by hackers who are able to control the connection between the end user and the website he's visiting. At the Ekoparty security conference in Buenos Aires later this week, researchers Thai Duong and Juliano Rizzo plan to demonstrate proof-of-concept code called BEAST, which is short for Browser Exploit Against SSL/TLS. The stealthy piece of JavaScript works with a network sniffer to decrypt encrypted cookies a targeted website uses to grant access to restricted user accounts. The exploit works even against sites that use HSTS, or HTTP Strict Transport Security, which prevents certain pages from loading unless they're protected by SSL. The demo will decrypt an authentication cookie used to access a PayPal account, Duong said.
Like a cryptographic Trojan horseThe attack is the latest to expose serious fractures in the system that virtually all online entities use to protect data from being intercepted over insecure networks and to prove their website is authentic rather than an easily counterfeited impostor. Over the past few years, Moxie Marlinspike and other researchers have documented ways of obtaining digital certificates that trick the system into validating sites that can't be trusted.
Read more: The Register
Read more: Details of previous attack, Details of previous attack
QR:
Like a cryptographic Trojan horseThe attack is the latest to expose serious fractures in the system that virtually all online entities use to protect data from being intercepted over insecure networks and to prove their website is authentic rather than an easily counterfeited impostor. Over the past few years, Moxie Marlinspike and other researchers have documented ways of obtaining digital certificates that trick the system into validating sites that can't be trusted.
Read more: The Register
Read more: Details of previous attack, Details of previous attack
QR:
Top Free And Most Beautiful Live Wallpapers For Android
While the concept of wallpaper is universal to most desktop as well as mobile operating systems, Android extends this concept one step further by letting you set dynamic content as your wallpaper – a concept known as Live Wallpapers. It is Android Wallpaper Weekend here at AddictiveTips. Yesterday, we taught you how to take Android wallpaper customization to the next level. Join us today’s as we take you for a tour of the prettiest and most eye-catching Live wallpapers available for Android that we have hand-picked for you from the countless options out there. Android is all about customization and we are big fans of doing that. That’s why we have put up a comprehensive guide to customize the looks of your Android device to the max. Wherever there’s mention of customizing the looks of your device, wallpapers and themes are amongst the first things that come to mind. There are a plethora of Live Wallpapersavailable for Android and that can make choosing the right one for yourself a rather tough call, though we are here to help, but lets have a few more words on Live wallpapers before we proceed. Read more: Addictive tips
QR:
Inferno OS Running On Android Phones
Posted by
jasper22
at
16:23
|
Employees at Sandia National Labs have put the Inferno OS on Android-based phones, replacing the default Java UI. Applications are written in Limbo rather than Java. The full announcement is at the bitbucket repository, and a short video demonstrates some of its capabilities. Read more: Salshdot
QR:
QR:
Subscribe to:
Posts (Atom)