Browse by Tags
All Tags »
DEV (
RSS)
The x64 calling convention is a great improvement over the state of affairs in x86. Few would argue about this. After all, remembering the differences between __stdcall and __cdecl , when to use each, which API defaults to which calling convention, and which specific variation of __fastcall JIT compilers use when given the choice -- is not the best use of developer time and not the best in terms of debugging productivity. With that said, the x64 calling convention often makes it very difficult to...
Once upon a time, threads were a new thing. Hardcore Unix architectures were processes-only, cheap forking, and would have none of this lightweight threads business. Some system architects -- stuck in the 1970s -- still produce architectures for modern operating systems that consist of dozens of processes. I have personally seen a complex UI application on Windows that relies on >35 processes, of which eight different processes display parts of the application's UI (at the same time!). There...
My third (and last) talk at the SELA Developer Practice was about Windows Azure Media Services. If you haven't explored it yet, it's a SaaS offering for uploading, encoding, managing, and delivering media to a variety of devices, scaled by the power of Windows Azure. A couple of months ago this blog featured a detailed overview of one of the proof-of-concept workflows I built with Windows Azure Media Services , so I won't repeat myself. If you are considering Windows Azure Media Services...
My first breakout session at the SELA Developer Practice covered the most common attacks against web applications and how to defend against these attacks. When planning this talk, I knew 60 minutes are hardly enough to cover all common vulnerabilities -- especially if I wanted to show any demos -- so I decided to focus on the three most prevalent vulnerability types, according to the OWASP Top 10 : Injection (command injection and SQL injection) Broken authentication or session management Cross-site...
Next week, May 5-9, is our biggest developer conference yet. We have developers from more than 150 software companies attending more than 70 sessions and workshops taught by local and international speakers. We are very happy to host industry rockstars like Jesse Liberty , Shawn Wildermuth , and Udi Dahan -- and we're looking forward to make SDP even bigger and more interesting for software developers everywhere. We are expanding our technology reach beyond the traditional .NET stack, with talks...
It is as though there is an infinite variety of heuristics that you can use to determine which synchronization object your thread is waiting for. In fact, these are heuristics for retrieving fastcall parameters passed in registers that have been clobbered by subsequent method calls. Method 1: Inspect the handle passed to WaitForMultipleObjectsEx The CLR uses an auto-reset event to implement sync block synchronization, which means that every attempt to acquire an owned sync block will result in a...
One of the benefits of using more than one development platform, more than one IDE, and more than one debugger is that you gain a better understanding of what your personal ideal development workflow looks like. It might well be the case that no single tool provides every feature you're excited about, which is what I feel these days. Because Visual Studio is my long-time (since 1999) favorite IDE and debugger, here are some features from other tools I'd like to see integrated in Visual Studio...
There have been some very interesting discussions at the MVP Summit concerning the CLR JIT, what we expect of it, and how to evolve it forward. I obviously can't disclose any NDA materials, but what I can do is share my hopes and dreams for the JIT, going forward. This is not a terribly popular subject, but there are some UserVoice suggestions around the JIT, such as adding SIMD support to C# . The state of the JIT today is that it's a fairly quick compiler that does a fairly bad job at optimization...
A discussion during the MVP Summit prompted me to think about what would make it easier to use tuple-like classes while preserving valuable naming information of the tuple's constituents. The purpose of this exercise is to try and come up with a solution that does not require modification of existing C# syntax. To set the scene, consider the following method: bool ParseRequest(string request, out string operation, out int id) { string[] parts; if (request == null || (parts = request.Split('...
In 2008, I blogged about the just-released Windows Performance Toolkit , and the xperf tool that collects ETW events (including stack traces) and displays them in a form that allows basic analysis. Since then, ETW generation and collection have taken a huge leap forward. Microsoft has released a great library for creating ETW providers , and a set of tools ( PerfMonitor , PerfView ) for analyzing ETW traces in .NET apps. With the release of the Windows 8 SDK, xperf has been superseded by two new...
I have found that the biggest obstacle I face when adopting a new language, technology, or framework is using something I don't fully understand how to implement myself. I read hundreds of blog posts every week talking about language extensions to JavaScript, cool new iOS application frameworks, and brand-new SaaS offerings on top of Windows Azure -- just as a small sample. Obviously, just using some piece of technology or adapting a sample to my needs is usually not that hard. The thing is,...
I’m very happy to announce our next conference—the biggest one yet— SELA Developer Practice, May 5-9, 2013 . This time we opened the call for papers to local and international speakers, and here are the results, in numbers: 5 conference days : 3 days of full-day workshops and 2 days of breakout sessions in 4 tracks each 37 speakers , including 11 international speakers Among the speakers are 11 Microsoft MVPs and tech rockstars including Jesse Liberty , Shawn Wildermuth , and Udi Dahan A total of...
I totally forgot to blog about it, but my unofficial SDK has had authentication support for a few days now. This has been pretty easy to implement, actually, thanks to OAuth and the Mobile Services backend. If you haven’t gotten started with WAMS authentication yet, you really should try it out. It’s easy as pie, really, and you can set yourself up with 3-4 authentication providers in a matter of several minutes. I’ll leave the rest to this great tutorial on authentication with WAMS . So, if you...
I'm very happy to announce that the call for papers is now open for the next SELA Developers Practice ! Our last conference has been a huge success, with over 1350 registered attendees and a number of workshops that we had to duplicate due to high demand. We want our next conference to be even bigger -- and you can be a part of it! We are looking for breakout sessions (60-75 minutes) as well as full-day workshops covering any topic related to the Microsoft stack -- from Windows 8 to Windows Phone...
Scheduler scripts are a very recent addition to Windows Azure Mobile Services . This is a very nice feature that supports periodic background processing in your mobile service. As a reminder, in the original release of Windows Azure Mobile Services, the only opportunity to run any server-side work (in scripts) is when the client performs an operation on a table (select, insert, update, or delete). For any kind of periodic processing, you'd have to use an external solution or have a client ping...
More Posts
Next page »