MSBuild tasks for Subversion allows to manipulate with subversion's repositories and working copies.Note: Project still in development.Read more: Codeplex
Wednesday, February 03, 2010
CR_Documentor
Writing XML documentation comments in .NET can be troublesome sometimes because you can't really see what it's going to look like - you have to compile the code, then take the extracted XML doc and feed it to a rendering engine like Sandcastle, then wait for the compiled help to come out so you can read it. CR_Documentor is a plugin for DXCore that allows you to preview what the documentation will look like when it's rendered - in a tool window inside Visual Studio. Read more: Google Code
Garbage Collection, References, Finalizers and the Memory Model (Part 1)
A little while ago, I got asked a question about when an object is allowed to be collected. It turns out that objects can be collected sooner than you think. In this entry, I'll talk a little about that. When we were formulating the memory model, this question came up with finalizers. Finalizers run in separate threads (usually they run in a dedicated finalizer thread). As a result, we had to worry about memory model effects. The basic question we had to answer was, what writes are the finalizers guaranteed to see? (If that doesn't sound like an interesting question, you should either go read my blog entry on volatiles or admit to yourself that this is not a blog in which you have much interest). Let's start with a mini-puzzler. A brief digression: I'm calling it a mini-puzzler because in general, for puzzlers, if you actually run them, you will get weird behavior. In this case, you probably won't see the weird behavior. But the weird behavior is perfectly legal Java behavior. That's the problem with multithreading and the memory model — you really never know what the results of a program will be from doing something as distasteful as actually running it.
Read more: Java Concurrency
Read more: Java Concurrency
Eclipse 3.6 M5 (Helios) available for download
Eclipse 3.6 M5 is now available for download. There are lots of new and exciting features, like the ability to open and file directly from the command line. You can also use the synchronize view to compare patches: Read more: EclipseSource Blog
Official site: Eclipse
Official site: Eclipse
On the many limitations of (network) virtual appliances
At virtualization.info there’s a special skepticism about virtual appliances in their current form.
No less than three years ago we wrote about the shortcomings and hidden risks of this virtual machine incarnation.
A modular data center may certainly be in the future of IT, but in its implementation, a virtual appliance is not the best way to go there. The lack of enthusiasm from customers, which someone highlighted, is a confirmation.
The VMware effort to enhance the virtual appliance concept with metadata to define security policies and performance SLAs, something the company calls vApp since 2008, is a step in the right direction.But while waiting for the first wave of vApps and its subsequent generations, there’s still much that can be said on this topic.
Christofer Hoff, Director of Cloud and Virtualization Solutions at Cisco, published an interesting article focusing on the current limitations of network virtual appliances. It’s definitively worth a mention here: 1. Most of the virtual network appliances, especially those “ported” from the versions that usually run on dedicated physical hardware (COTS or proprietary) do not provide feature, performance, scale or high-availability parity; most are hobbled or require per-platform customization or re-engineering in order to function.
2. The resilience and high availability options from today’s off-the-shelf virtual connectivity does not pair well with the mobility and dynamism of de-coupled virtual machines; VMs are ultimately temporal and networks don’t like topological instability due to key components moving or disappearing
3. The performance and scale of virtual appliances still suffer when competing for I/O and resources on the same physical hosts as the guests they attempt to protect
4. Virtual connectivity is a generally a function of the VMM (or a loadable module/domain therein.) The architecture of the VMM has dramatic impact upon the architecture of the software designed to provide the connectivity and vice versa.
Read more: virtualization.info
No less than three years ago we wrote about the shortcomings and hidden risks of this virtual machine incarnation.
A modular data center may certainly be in the future of IT, but in its implementation, a virtual appliance is not the best way to go there. The lack of enthusiasm from customers, which someone highlighted, is a confirmation.
The VMware effort to enhance the virtual appliance concept with metadata to define security policies and performance SLAs, something the company calls vApp since 2008, is a step in the right direction.But while waiting for the first wave of vApps and its subsequent generations, there’s still much that can be said on this topic.
Christofer Hoff, Director of Cloud and Virtualization Solutions at Cisco, published an interesting article focusing on the current limitations of network virtual appliances. It’s definitively worth a mention here: 1. Most of the virtual network appliances, especially those “ported” from the versions that usually run on dedicated physical hardware (COTS or proprietary) do not provide feature, performance, scale or high-availability parity; most are hobbled or require per-platform customization or re-engineering in order to function.
2. The resilience and high availability options from today’s off-the-shelf virtual connectivity does not pair well with the mobility and dynamism of de-coupled virtual machines; VMs are ultimately temporal and networks don’t like topological instability due to key components moving or disappearing
3. The performance and scale of virtual appliances still suffer when competing for I/O and resources on the same physical hosts as the guests they attempt to protect
4. Virtual connectivity is a generally a function of the VMM (or a loadable module/domain therein.) The architecture of the VMM has dramatic impact upon the architecture of the software designed to provide the connectivity and vice versa.
Read more: virtualization.info
Solving the gcc 4.4 strict aliasing problems
A couple of days ago Jeff Stedfast ran into some problems with gcc 4.4, strict aliasing and optimizations. Being a geeky sort of person, I found the problem really interesting, not only because it shows just how hard it is to write a good, clear standard, even when you're dealing with highly technical (and supposedly unambiguous) language, but also because I never did "get" the aliasing rules, so it was a nice excuse to read up on the subject. Basically, the standard says that you can't do this:int a = 0x12345678;
short *b = (short *)&a;I'm forcing a cast here, and since the types are not compatible, they can't be "alias" of each other, and therefore I'm breaking strict-aliasing rules. Note that if you compile this with -O2 -Wall, it will *not* warn you that you're breaking the rules, even though -O2 activates -fstrict-aliasing and -Wall is supposed to complain about everything (right??). Apparently, this is by design, though why would anyone not want warnings in -Wall for something that will obviously break code is beyond me. If you want to be told that you're not playing by the rules, make sure you build with -Wstrict-aliasing=2, which will say: line 2 - warning: dereferencing type-punned pointer will break strict-aliasing rulesSo now you know you're being naughty. Of course, if you did try to access the variable, even just with -Wall it will complain at you - this more complete snippet will give you several warnings with -Wall: int a = 0x12345678;
short *b = (short *)&a;
b[1] = 0;
if (a == 0x12345678)
printf ("error\n");
else
printf ("good\n");line 3 - warning: dereferencing pointer ‘({anonymous})’ does break strict-aliasing rules
Read more: World of coding
short *b = (short *)&a;I'm forcing a cast here, and since the types are not compatible, they can't be "alias" of each other, and therefore I'm breaking strict-aliasing rules. Note that if you compile this with -O2 -Wall, it will *not* warn you that you're breaking the rules, even though -O2 activates -fstrict-aliasing and -Wall is supposed to complain about everything (right??). Apparently, this is by design, though why would anyone not want warnings in -Wall for something that will obviously break code is beyond me. If you want to be told that you're not playing by the rules, make sure you build with -Wstrict-aliasing=2, which will say: line 2 - warning: dereferencing type-punned pointer will break strict-aliasing rulesSo now you know you're being naughty. Of course, if you did try to access the variable, even just with -Wall it will complain at you - this more complete snippet will give you several warnings with -Wall: int a = 0x12345678;
short *b = (short *)&a;
b[1] = 0;
if (a == 0x12345678)
printf ("error\n");
else
printf ("good\n");line 3 - warning: dereferencing pointer ‘({anonymous})’ does break strict-aliasing rules
Read more: World of coding
Tuesday, February 02, 2010
Sikuli uses screen shots to run scripts, is amazing
If you ever find yourself doing repetitive task on your computer, pay attention. Sikuli is an important step toward removing the barrier between the average computer user and programming.Normally, to make a computer do a repetitive task, you'd need to understand a programming language like Java, Objective C or C#. To perform some remedial task like starting iTunes and kicking off a play list you'd need to write a whole mess of code and understand the API's for that application. Sikuli gets around this by using picture based computing. Instead of needing intimate knowledge of a particular API or language you simply use Sikuli script to take an action on an area of the screen it finds by you giving it a picture. Confused?Ok, let's take our iTunes example, say I want to open the app, find a particular play list, then click the play button. To do that simple task by traditional means would take a decent amount of code. With Sikuli, it's three lines and looks like this. 
Read more: DownloadSquad

Read more: DownloadSquad
Deanmark's AirMouse looks more like a ragged glove, less like an input peripheral

Twitter followers, Specialty Services, Business Industrial. Great deals on eBay!
Wanna buy some Twitter followers ? It's cheap :)Read more: Ebay
Oscar Nominations to Be Broadcast Live to the Web on Tuesday
As awards season nears its climatic finale with The Oscars in March, the Academy is doing something they’ve never done before: broadcasting the Oscar nominee announcements live to the web.It may not seem like a big deal, but this is Oscar we’re talking about and it’s an unprecedented live stream for the most prestigious and buzzed about award nomination ceremony in the entertainment industry. So set your alarm o’clock and make sure to check out Anne Hathaway and Academy President Tom Sherak announce this year’s Oscar nominees broadcast live starting at 8am EST. You’ve got a few online viewing options, all of which support real-time chat options (we’ve also embedded it below): - Oscars.org
- Livestream
- Facebook With Oscar on board, it seems as if the major trend towards live streaming award show programming on the web is here to stay. The Golden Globe Awards dedicated an entire social media-inspired red carpet show to their live streaming arensal, while the Grammy Awards — which saw a huge 35% ratings surge – also had a live stream of their red carpet event. Clearly, the entertainment industry is wising up to the idea that bringing fans into the experience through live video streams and social media can be a net positive for the awards show broadcast.Read more: Mashable
- Livestream
- Facebook With Oscar on board, it seems as if the major trend towards live streaming award show programming on the web is here to stay. The Golden Globe Awards dedicated an entire social media-inspired red carpet show to their live streaming arensal, while the Grammy Awards — which saw a huge 35% ratings surge – also had a live stream of their red carpet event. Clearly, the entertainment industry is wising up to the idea that bringing fans into the experience through live video streams and social media can be a net positive for the awards show broadcast.Read more: Mashable
How to Convert Hex to Decimal
In one of the recent projects, I realize the bottleneck of the query was an inline function which was converting Hex to Decimal. I optimized the inline function and reduced the query running time to one-tenth of the original running time. Later, I was eager to find out the script my blog readers might be using for hex to decimal conversion. Please leave your comments here and I will consider all the valid answers and publish with due credit to the author in one of the future posts. If the script you have posted here is not your original script, I suggest that you include the source as well.
Here is one way to do it:create function fn_HexToIntnt(@str varchar(16))
returns bigint as beginselect @str=upper(@str)
declare @i int, @len int, @char char(1), @output bigintselect @len=len(@str)
,@i=@len
,@output=casewhen
@len>0
then 0
endwhile (@i>0)
begin
select
@char = substring(@str,@i,1),
@outpu t= @output +(ASCII(@char) -
(case when @char between ‘A’ and ‘F’ then 55
else
case when @char between ‘0′ and ‘9′ then 48
end
end))
*power(16.,@len-@i)
,@i=@i-1
end
return @output
endhmm..
What about using built-in function Convert?SELECT CONVERT(INT, 0×00000100)
SELECT CONVERT(VARBINARY(8), 256)I do not pretend to be the author, but i am using this for a long time
Read more: Journey to SQL Authority with Pinal Dave
Here is one way to do it:create function fn_HexToIntnt(@str varchar(16))
returns bigint as beginselect @str=upper(@str)
declare @i int, @len int, @char char(1), @output bigintselect @len=len(@str)
,@i=@len
,@output=casewhen
@len>0
then 0
endwhile (@i>0)
begin
select
@char = substring(@str,@i,1),
@outpu t= @output +(ASCII(@char) -
(case when @char between ‘A’ and ‘F’ then 55
else
case when @char between ‘0′ and ‘9′ then 48
end
end))
*power(16.,@len-@i)
,@i=@i-1
end
return @output
endhmm..
What about using built-in function Convert?SELECT CONVERT(INT, 0×00000100)
SELECT CONVERT(VARBINARY(8), 256)I do not pretend to be the author, but i am using this for a long time
Read more: Journey to SQL Authority with Pinal Dave
How to add sounds to your software
Hi there, in this tutorial you'll learn how to use sounds in your software. Let's get to it.1. Open up Visual C# Express (or Visual Studio), and create a new Windows Form project. Name it SoundExercise. 2. Wait for the IDE to do it's loading and then click on your Form1 to select it. Press the F7 key to go into that Form1's code.3. Add using System.Media; to the Form1's using statements. (This is so we can use the SoundPlayer class) 4. Create a SoundPlayer instance, and set the soundLocation to the ever-popular Windows "Ding" sound.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} SoundPlayer My_JukeBox = new SoundPlayer(@"C:\WINDOWS\Media\ding.wav");
}Read more: Dream.In.Code
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} SoundPlayer My_JukeBox = new SoundPlayer(@"C:\WINDOWS\Media\ding.wav");
}Read more: Dream.In.Code
10 Common CSS Browser Compatibility Issues/Bugs You Must Know
When you write a CSS for your project you never know what kind of bug or issue you will face at time of browser compatibility.Internet Explorer (IE) and Mozilla Firefox are the standard browsers which are globally considerable at time of browser compatiblity. Other browsers such as Chrome, Safari and Opera have a significant presence as well. In today's scenario browser bugs with CSS can be an incredible source of frustration for Web designers and developers. In this post I'm sharing some most common CSS browser compatibility Issues/Bugs. Here's the following list: 1. How To Attack An Internet Explorer (Win) Display Bug
2. The IE/Win Disappearing List-Background Bug
3.IE6 Duplicate Characters Bug
(more..)Read more: Tutorial Feed
2. The IE/Win Disappearing List-Background Bug
3.IE6 Duplicate Characters Bug
(more..)Read more: Tutorial Feed
65 Open Source Downloads That Could Change Your Life
Can an open-source application really change your life? To find out, we went looking for apps that users described as "indispensable."What we found were tools that truly can help you significantly change the way you live or the way you use your computer every day. And as we put the list together, we noticed that a lot of these tools fall into categories that corresponded with some of the most popular New Year's resolutions. For example, a recent survey by Franklin Covey found that the top New Year's resolution for 2010 was "improve my financial situation." We found a whole host of open source apps that can help you accomplish that goal by creating a budget, managing your portfolio, or even launching your own e-commerce site. In fact, we found open source apps for most of the most popular resolutions: apps to help you eat better and exercise more, apps to help you stop smoking or break other bad habits, lots of apps to help you get organized and make better use of your time. We found open source apps that could help you get started in a new hobby, read more, improve your mind, and become more spiritual. And for the (admittedly small) group of people whose New Year's resolution is to try open source for the first time, we assembled a small group of apps for open-source neophytes. Page 1: Improve Your Financial Situation, Lose Weight (Diet/Exercise), Stop a Bad Habit
Page 2: Get Organized, Make Better Use of Your Time
Page 3: Start a New Hobby, Learn a New Language, Read More
Page 4: Improve Your Mind, Become More Spiritual, Give Open Source a Try Read more: Datamation.com
Page 2: Get Organized, Make Better Use of Your Time
Page 3: Start a New Hobby, Learn a New Language, Read More
Page 4: Improve Your Mind, Become More Spiritual, Give Open Source a Try Read more: Datamation.com
Subscribe to:
Posts (Atom)