Linkorama – Issue 3

 

 

Create a Language Compiler for the .NET Framework: Roll out your own language that targets the CLR!

http://msdn.microsoft.com/en-us/magazine/cc136756.aspx

C# 3.0 tips and tricks.

http://www.developer.com/net/csharp/article.php/3801306

Using Java to import and manipulate Excel documents.

http://www.developer.com/java/other/article.php/3801111

IBM AppScan Takes Aim at Securing Flash

http://www.internetnews.com/security/article.php/3800681

A free XPath Editor and XML analysis and testing tool supporting XPath 1.0 and XPath 2.0.

http://pgfearo.googlepages.com/

What script# is all about…

http://projects.nikhilk.net/ScriptSharp

Cross-site tracking. Learn what it is and how it affects you.

http://www.informit.com/articles/article.aspx?p=1321167

Searching the Windows event log in .NET

http://www.developer.com/net/csharp/article.php/3800246

Learn more about clickjacking

http://en.wikipedia.org/wiki/Clickjacking

Using T-SQL CROSS APPLY and OUTER APPLY

http://www.developer.com/db/article.php/3798361

Why the new Google V8 engine is so fast…

http://techon.nikkeibp.co.jp/article/HONSHI/20090106/163615/

Implement the Singleton design pattern in C#

http://www.developerfusion.com/article/9407/implementing-the-singleton-pattern-in-c/

The future of .NET languages…

http://www.developerfusion.com/article/9576/the-future-of-net-languages/

Free E-book : Programming Vertex, Geometry and Pixel Shaders.

http://wiki.gamedev.net/index.php/D3DBook:Book_Cover

JavaScript security

http://www.developer.com/lang/jscript/article.php/3796671

Volatile v/s Volatile

http://www.ddj.com/hpc-high-performance-computing/212701484

The security hazards of browser password managers

http://www.informit.com/blogs/blog.aspx?uk=Browser-Password-Managers

Header File Naming Issues

http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=382

The dangers of web access

http://www.internetnews.com/security/article.php/3793996

Eight Myths of Computer Security

http://www.informit.com/guides/content.aspx?g=security&seqNum=340

The infamous goto statement

http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=417

Setup web filtering with Open DNS

http://www.informit.com/articles/article.aspx?p=1310224

Security Advice for New Laptop Owners

http://www.informit.com/guides/content.aspx?g=security&seqNum=339

HOWTO – make a compiler ;-)

http://msdn.microsoft.com/en-us/magazine/cc136756.aspx

 

Contributed Articles

Many thanks to Mahindra and Tejinder who take great pleasure in spreading tech knowhow. Keep the articles coming! :)

Mahendra Gupta

Google Adwords and Microsoft’s alternative offering

https://adwords.google.com/select/KeywordToolExternal

http://adlab.msn.com/Keyword-Forecast/default.aspx

Flickr feed viewer

http://www.airtightinteractive.com/projects/tiltviewer/app/

Email marketing tools

http://www.mailchimp.com/index.phtml

What not to do with your e-mail newsletters.

http://www.mailchimp.com/resources/top10_html_email_mistakes.phtml

Google knows where your eye-balls go…

http://news.cnet.com/8301-17939_109-10158806-2.html

Who owns the code? Beware copyright pitfalls…

http://www.computerworld.com/action/article.do?command=printArticleBasic&taxonomyName=Development&articleId=9126595&taxonomyId=11

Track whether your web sites are up…

http://aremysitesup.com

Google’s AJAX playground

http://code.google.com/apis/ajax/playground/

Microsoft’s SDK hot-list.

http://msdn.microsoft.com/en-us/dd299405.aspx

Tejinder Singh Hanspal

Top 10 technology breakthroughs of 2008

http://specials.rediff.com/money/2008/dec/27sld1-top-19-technology-breakthroughs-of-2008.htm

Top 8 tech predictions for 2009

http://specials.rediff.com/money/2008/dec/31sld1-top-8-tech-predictions-for-2009.htm

Microsoft Windows XP Professional (OEM) Complaints – Cheated by the Purchase of Microsoft Windows XP Professional (OEM)
http://www.complaintsboard.com/complaints/microsoft-windows-xp-professional-oem-c149769.html

The spam mail you got could be from a terrorist!

http://specials.rediff.com/money/2009/feb/06slid1-the-spam-mail-you-got-could-be-from-a-terrorist.htm

Special Operations Software Password Policy and Password Reset

http://www.serverwatch.com/tutorials/article.php/3801791

Linux, Windows Seek Strength in Competition

http://www.serverwatch.com/eur/article.php/3801866

3 Indian cities among global IT hotspots

http://specials.rediff.com/money/2009/feb/13slide1-indian-cities-among-global-it-hotspots.htm

Linkorama – Issue 2

Another bunch of links broadly capturing the state of the tech (nerd) industry for the last week or so.

1. Getting down and dirty with SSH.

http://www.informit.com/guides/content.aspx?g=security&seqNum=336

2. The good old days? Apparently, Windows 7 will support software acceleration for DirectX 10.

http://arstechnica.com/news.ars/post/20081202-windows-7-will-sport-a-dx10-software-gpu.html

3. Free (as in beer) controls for Winforms and ASP.NET! Have a Merry Christmas! (I know I will!) :)

http://www.devexpress.com/Products/Free/WebRegistration60/

4. Moon(silver) lighting on Linux.

http://arstechnica.com/news.ars/post/20081202-moonlight-1-0-beta-1-shines-on-linux.html

5. Design patterns – Security Engineering Cheat Sheet. You are interested, aren’t you?

http://www.codeplex.com/AppArch/Wiki/View.aspx?title=Cheat%20Sheet%20-%20patterns%20%26%20practices%20Security%20Engineering&referringTitle=Home

6.  What C# geeks need to know about VB.NET. C# isn’t perfect after all? ;-)

http://visualstudiomagazine.com/columns/article.aspx?editorialsid=2894

7.  Great e-book pocket guides on everything from Agile Architecture to RIA and Mobile.

http://www.codeplex.com/AppArch/Wiki/View.aspx?title=Pocket%20Guides

8. Cleaner Code with the PMD Eclipse Plug-In. Most developers love clean code… right?

http://www.developer.com/java/ent/article.php/3788796

9. Why the economic downturn has increased the use of virtualization.

http://www.internetnews.com/dev-news/article.php/3789931

10. JavaFX makes its debut. (Finally)

http://www.internetnews.com/dev-news/article.php/3788836

11. Apple Recommends Antivirus for Mac Users. The party is finally over…

http://www.internetnews.com/security/article.php/3788241

12. Why Agile Projects Fail

http://www.developer.com/design/article.php/3784576

13. Who crashed? A nifty application that allows you to analyse (and understand?)  driver/application crash logs.

http://www.resplendence.com/whocrashed

14. Most popular Windows app downloads of 2008 : Get your download manager ready. (Not in office though… :P )

http://lifehacker.com/5110552/most-popular-free-windows-downloads-of-2008

15. Implementing a Custom X86 Encoder.

http://www.uninformed.org/?v=5&a=3&t=sumry

16. Java Performance: Ubuntu Linux vs. Windows Vista

http://www.phoronix.com/scan.php?page=article&item=java_vm_performance&num=1

17. Get Methods and Practices for Writing Secure Code

http://msdn.microsoft.com/en-us/security/cc448177.aspx

 

Contributed links

Mahindra Gupta

1. Java 1.5 under .NET : Horror of horrors! ;-)   Seriously though, what would you choose – C# or Java?

http://www.infoq.com/news/2008/12/Ja-NET

2. Koobface Virus Turns Up on Facebook – Facebook might not be as innocent as it seems

 http://www.eweek.com/index2.php?option=content&task=view&id=50722&pop=1&hide_ads=1&page=0&hide_js=1

3. Top 10 Microsoft Research Projects : Making big bucks isn’t the only thing Microsoft’s good at…

http://www.computerworld.com/action/article.do?command=printArticleBasic&taxonomyName=Networking+and+Internet&articleId=9122061&taxonomyId=16

 

Sunny Shah

1. Let Me Google that for U : Sunny Shah wants U to read this… :)

http://letmegooglethatforyou.com/

2. Alchemy… Converts C++ code to Action Script. Rahul, you might probably get a kick out of this!

http://labs.adobe.com/technologies/alchemy/

3. Image Gallery in Windows 7 : WIndows 7 does look interesting; but will it deliver?

http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9119383&pageNumber=1

 

Tejinder Singh Hanspal

1. IFrame attacks add to web user woes…

http://arstechnica.com/news.ars/post/20080318-ongoing-iframe-attack-proving-difficult-to-kill.html

2. 3G funda – As India prepares to adopt 3G, the least we can do is learn what it is…

http://www.actnowcornwall.co.uk/3Gmobiletechnology.asp

3. Don’t get cheated online… here’s how

http://www.rediff.com/money/2008/nov/04fraud.htm

4. The business case for security frameworks

http://www.webappsec.org/projects/articles/042307.shtml

5. Sys admin discovers 13-million-digit prime number

http://www.networkworld.com/news/2008/092908-sys-admin-discovers-13-million-digit-prime.html

6. The Seven Deadliest Social Networking Hacks

http://www.darkreading.com/security/app-security/showArticle.jhtml?articleID=211201065

7. Tracking user Activity

http://dotnetslackers.com/articles/aspnet/Tracking-User-Activity.aspx

Linkorama – Issue 1

Introduction

It’s been a long time since I sent out the last bunch of links, but better late than never… right? This is the new (experimental) format that I hope proves to be more accessible to one and all. Feedbacks on the articles as well as ideas and suggestions are most welcome.

Bunch of links

Windows Confidential; Windows Can but Won’t

You’ll have to read the article to find out what it is...

http://technet.microsoft.com/hi-in/magazine/cc983682(en-us).aspx

Writing Insecure C, Part 1

Clean your own code mess after reading this article…

http://www.informit.com/articles/article.aspx?p=1249297

Password Auditing with Hydra

We all want security, but how secure are our passwords?

http://www.informit.com/guides/content.aspx?g=security&seqNum=329

.NET Tip: Creating a Read-Only List

Some .NET programming wizardry…

http://www.developer.com/net/csharp/article.php/3778371

C# vs VB.NET

Everyone knows that C++ rules… :P

http://blogs.msdn.com/alfredth/archive/2008/09/11/alfred-vs-clint-c-versus-vb-debate.aspx

Making your site and add-ons work in IE8

Get ready before you get stinkers from your clients…

http://www.microsoft.com/windows/internet-explorer/beta/readiness/developers.aspx

A Case for Mobile Security Software

Every heard of a virus scannner for your phone?

http://www.informit.com/guides/content.aspx?g=security&seqNum=327

Is .NET on Linux Finally Ready?

Mono wants to be 100% compatible with .NET…

http://www.internetnews.com/dev-news/article.php/3776201

No Flash Seen on iPhone Horizon

Poor Adobe…

http://www.internetnews.com/dev-news/article.php/3775681

Migrating your Flash skills to Silverlight

There is life beyond Flash…

http://www.projectrosetta.com/

F# to join the C# and VB.NET bandwagon

Well it certainly took its time…

http://www.eweek.com/c/a/Application-Development/F-to-Join-VB-and-C-in-Microsoft-Language-Stable/

Eclipse tools for Silverlight

Long live freeware (and hard working freeware/Open Source developers!)

http://www.eclipse4sl.org/

Using web services with Google Docs

Look smart…

http://www.hackszine.com/blog/archive/2008/10/using_web_services_with_google.html?CMP=OTC-7G2N43923558

Linuxstamp embedded Linux system

Look smart II

http://www.hackszine.com/blog/archive/2008/10/linuxstamp_embedded_linux_syst.html?CMP=OTC-7G2N43923558

Speaking UNIX:

Look smart III

http://www.ibm.com/developerworks/aix/library/au-spunix_clitricks/?ca=dgr-lnxw09SpeakUnix&S_TACT=105AGX59&s_cmp=GRsitelnxw09

Photographing the night sky

Useful information for all shutterbugs…

http://www.hackszine.com/index.xml

Controlling a Nikon or Canon camera with a Nintendo DS

There are lovely SDKs in C… very hack friendly!

http://www.hackszine.com/blog/archive/2008/09/controlling_a_nikon_or_canon_c.html?CMP=OTC-7G2N43923558

First Look: Microsoft Office Heads Online with Next Release…

Need I say more?

http://lifehacker.com/5069999/first-look-microsoft-office-heads-online-with-next-release

Read more about Windows Azure

Microsoft heads for the clouds…

http://www.microsoft.com/azure/windowsazure.mspx

Analysing local privilege escalations in win32k

Security lapses once again…

http://www.uninformed.org/?v=10&a=2&t=sumry

OS X Kernel-mode Exploitation in a Weekend

Who said the Mac was secure…

http://www.uninformed.org/?v=8&a=4&t=sumry

Contributed links

Mahindra Gupta

Make Visual Studio Generate Your Repository : A very informative article that I thoroughly enjoyed. Apparently, geeks can write code to automate the rest of their “actual” code. (Yikes!)

http://blog.wekeroad.com/blog/make-visual-studio-generate-your-repository/

Nasty web bug descends on world’s most popular sites

Web trouble all over again… (had it ever stopped?)

http://www.theregister.co.uk/2008/09/30/web_bug_bites_sites/

Which is a better approach in logging – files or DB?

This article tries to provide you with the answers…

http://stackoverflow.com/questions/29643/which-is-a-better-approach-in-logging-files-or-db

Sunny Shah

Creating a Video Player in around 1000 lines.

Ffmpeg proves its usefulness and allows developers to go home early…

http://www.dranger.com/ffmpeg/ffmpeg.html

Tejinder Singh Hanspal

Intel vPro technology enhances security.

If its configured correctly that is…

http://www.net-security.org/secworld.php?id=6556

How to Optimise Queries (Theory an Practice)

A good read for one and all.

http://www.serverwatch.com/tutorials/article.php/2175621

Cloud Computing, a Foggy Concept

Azure anyone?

http://www.serverwatch.com/news/article.php/3775661

Fingerprint scanning

US wannabes know this already…

http://findbiometrics.com/Pages/fingerprint_articles/fingerprint_1.html

Is the biometric passport secure?

Not quite, but the British government thinks otherwise…

http://www.ips.gov.uk/passport/about-biometric-secure.asp

Rahul Muley

Welcome to the group, Rahul! I hope that you continue to send us links in the future. Keep them coming!

Configuring Visual Studio to Debug .NET Framework Source Code.

This should help ease the pain :)

http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx

The popularity of various programming languages.

The best of the best?

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

That’s all for now, See you soon. Remember that you can always add this site’s RSS feed to your RSS reader so that you can get updated automatically. I would love to see new contributors as well. As you can see, the links don’t have to be that nerdy to be put up over here!

- Anand Balaji

Wix – My perfectly imperfect msi file

Wix is an extremely powerful tool that should help you create installers for almost every conceivable type of setup scenario. It’s not without its flaws though and some of its quirks can result in you wasting a not so inconsiderable amount of time. I’ve listed a few of the items that frustrated me. The solutions over here should hopefully prove helpful to you.

My perfectly behaved yet perfectly useless SAPI installer

I had taken the responsibility of creating an installer for one of the products designed by my firm. As part of the install process, the installer needed to install version 5.1 of Microsoft’s Speech Engine.

Microsoft had played their part and created a set of nifty merge (basically a bunch of .MSM files – if you didn’t know that, you’ve got a long way to go buddy!) modules. What could be simpler than adding the msm files to your wixproject, referencing them and then compiling your shiny new creation?

Well to cut to the chase, my spanking new MSI was created. It appeared to install fine but it didn’t actually seem to install all of the files.

Before this incident, the general impression that I got was that MSIs were more of a “plug-and-play” solution and that one didn’t have to worry about the fine intricacies of what the MSM was doing. Wix changed all that…

After a day of accomplishing almost nothing, I came to the conclusion that Wix did almost certainly not know what to do with the contents of the MSI file beyond installing them. My hunch turned out to be correct.

It seems that Wix needs to be (ahem) “prodded” to perform additional tasks that are contained within the MSM database. It won’t do them unless your application -

a. Performs the same tasks as part of its installation routine. For example, if your wxs/wxi files add registry entries as part of the install routine, then Wix will ensure that any registry entries required by the MSM are carried out at runtime as well.

b. Explicitly “prods” Wix to perform one or more tasks within the InstallExecuteSequence directive.

Once you’ve understood that, all you need to do is to add the following snippets of code to your wxs file

<InstallExecuteSequence>
     <RemoveFiles />
     <InstallFiles />
     <WriteRegistryValues />
     <CreateFolders/>
     <RegisterTypeLibraries/>  
     <DuplicateFiles/>
     <RegisterClassInfo/>
     <RegisterProgIdInfo/>
     <SelfRegModules/> 
</InstallExecuteSequence>

You might need to add a few additional entries, but I think that the ones given above should suffice. Note that the WIX team does not count this as a bug. They claim that the MSM files have been “improperly” created. Basically it sounds that a lot of inter-office “blame the other party” nonsense, but I don’t have the time nor the mental-bandwidth to care.

PS: Users of Crystal Reports’ MSM modules may face the same problems too. The solution is more or less the same…

- Anand Balaji

Life at 44100 hertz – I

Despite claims by the creators of the Digital Audio Compact Disc, CD audio quality is far from perfect. Low cost CD players often sound harsh lacking the warmth and vibrancy of analogue and high resolution digital formats such as SACD and DVD-A.

Many would claim that the differences between CD players are non-existent or minimal. What they do not understand is that the human brain is extremely adept at picking out differences in distortion even though they might not be audible.

I’ll leave it up to you to decide, but you may find that a run of the mill low cost audio system will eventually fatigue your ears. If so, it’s highly probable that the CD player is the culprit.

There are 2 main factors that affect the quality of audio emitted by a CD player.

The transport : This is the mechanism that not only holds the disc but also spins it and moves the laser mechanism. If you do spend a not so inconsiderable amount of time at your local audio dealer (I assume that you’ve established a good rapport with the staff) you’re bound to find that the costlier players have better transports. How do you find the better transports you ask? Better transports are sturdier and they don’t tend to shake or wobble when you open the tray. Apart from that, better transports commonly employ mechanisms to dampen vibrations from external sources thereby ensuring that discs are read without having to resort to rely on the error correction mechanism to fill in erroneous bits.

The DAC : The Digital to Analogue converter is the system responsible for converting data read from disc into analogue signals that can be amplified by your amplifier. It is the DAC that primarily denotes what a player “sounds” like. (In other words, it separates the winners from the loser)

I don’t want to get into the technical aspects over here , but I would like to say that tremendous progress has been made in the quality of signal generated by DACS over the last couple of years.

Here’s the catch, players with good DACs are costly but money is often (for me at-least) scarce. How does one upgrade the sound of their player while keeping costs as low as possible? The next article in which I’ll be able to share my (hopefully useful) experiences aims to answer this question.

- Anand Balaji