Archive for the 'DotNET' Category

Microsoft DreamSpark

Even thought I am a Windows user, I am no where near a Microsoft lackey but recently I learned that Microsoft is giving away a ton of professional grade software to students. Through the Microsoft DreamSpark program, students can get access to Visual Studio 2008 Professional, Windows Server 2003 Standard Edition, Microsoft Expression Studio, XNA Studio, XNA Creators Club, SQL Server 2005, as well as other free software such as their express edition software. That is well over $1,500 of free software. I am typically not a Microsoft fanboy but I do have to give credit to Microsoft for making its development tools free of charge to students across the world. Now I wish Adobe would do the same.

Technorati Tags: , , , , , , ,

Top Programming Books on Google Book Search

Here is an extensive list of top programming books available for preview on Google Books. Google Books provides scans of thousands of textbooks. The scans are not the best, most books have visible scan defects in them.

Even though the scans are not the best, there are some features that just work well. Just like Google Maps, where you can send a link to a map (with a set size, address, etc), with Google Books you can send a link to a specific page in a certain book with specific words highlighted. Google also has handy links such as the table of contents, popular passages, and where to buy the book (perhaps in a better quality PDF format).

All the books listed here have a ‘limited preview’, meaning that some pages are not available for viewing but for the most part you can browse through most the the book. Google Books does indicate the pages that are not available.

Java
The Java Language Specification
Effective Java Programming language
Java: The complete Reference
Java In A Nutshell
Head First Java

C/C++
Practical C++ Programming
C++ The Core Language
The Concurrent C Programming Language
C++ Primer Plus

.Net/C#
The C# Programming Language
The Visual Basic .NET Programming Language
Pro C# 2005 and the .NET 2.0 Platform
Learning Visual Basic .NET
VB.NET Language in a Nutshell

Python
Python in a Nutshell
Learning Python
Visual Quickstart Guide: Python
Python Pocket Reference
Python Cookbook

JavaScript/DOM
JavaScript: The Definitive Guide
Beginning JavaScript with DOM Scripting and AJAX
The Book of JavaScript
The Complete Reference JavaScript
JavaScript Bible
DOM Scripting

Ruby/Rails
Ruby in a Nutshell
The Ruby Way
Beginning Ruby
Ruby on Rails: Up and Running
Rails Solutions: Ruby on Rails Made Easy
Beginning Ruby on Rails E-Commerce

PHP
PHP in a Nutshell
Programming PHP
PHP Cookbook
Learning PHP and MySQL
Learning PHP 5

Database
Visual Quickstart Guide: MySQL
MySQL Cookbook
MySQL in a Nutshell
MySQL Tutorial
Programming SQL Server 2005
SQL Server 2005: Developer’s Guide
SQL Server 2005: A Beginner’s Guide
Beginning SQL Server 2005 Express

Technorati Tags: , , , , , , , , , , , , ,

Top Technology Podcasts

In no particular order here is the list of of technology related podcasts that I frequently listen to.

  • Cranky Geeks - Not cranky enough, but John C. Dvorak and guest rant on latest technology news.
  • Diggnation - A weekly tech/web culture show based on the top stories on Digg.
  • Drunk and Retired - They are not as drunk as one would hope, but they do tend to go off on Rails, software development, and zombies.
  • Google Developer Podcast - Googlers talking about the latest Google APIs.
  • The Java Posse - The seminal Java podcast put out by Google, Sun, and Apple engineers, just hope they never have to pronounce your name.
  • .Net Rocks! - A weekly talk show for anyone interested in programming on the Microsoft .NET platform.
  • Railscasts - Free, and most importantly frequent, Ruby on Rails screencasts ranging from 5 to 10 minutes covering testing, migrations, controllers, and more.
  • WebDevRadio - This podcast covers web development news with the occasional interview with engineers working on projects with .NET, MySQL, PHP, etc.
  • Polymorphic Podcast - Insight into software development in the .NET platform along with interviews with industry luminaries.
  • Code Sermon - The podast somewhat preaches to the choir. This is a somewhat semi-weekly sermon on the virtues of software development best practices.
  • Killer Innovation - A podcast about creativity, innovation, and idea generation. This podcast will present ideas to think outside the box, or IDE.
  • Grails Podcast - Keeps you up to date about the latest Grails developments.
  • NetBeans Podcast - Hosted by Roman Strobl of Sun, this podcast has the occasional interview with NetBeans developers like Tor Norbye and Geertjan Wielenga.
  • Ask A Ninja - Every programmer needs a break between hacking sessions.
  • Rails Podcast - News and interviews about the Ruby language and the Rails framework.
  • Entrepreneurial Thought Leaders - This podcast is put out by the Stanford business school. It usually has business leader share their experience.
  • Floss Weekly - Free/Libre Open Source Software might be free, but it is not timely.
  • Late Night Cocoa Podcast - Usually has hacking cocoa and API discussions and Cocoa practitioners, currently on summer hiatus.
  • TWiT - Leo Laporte and gang talk technology, unless they are reminiscing about their TechTV days or how to monetize ‘netcasts’.
  • Scoble Show - Robert Scoble talks with geeks, technologists, and developers.
  • GigaOm Show - Om Malik and Joyce Kim talk with entrepreneurs in the valley and run down some of the latest tech news.

If you feel I missed any other developer noteworthy podcast please let me know in the comments.

Technorati Tags: , , , , , , , , , , , ,

Visual Kill -9

Here is some Visual Basic script code which allows you to terminate a process given a process id number.

' Kills a program given its process id.
Function ProgKill(strProcessId)
   ' Declare used variables
   Dim strWQL
   Dim objProcess
   Dim objResult
   Dim intReturnCode
   Dim wmi

   Set wmi = GetObject("winmgmts:")
   ' Get Process by WMI
   strWQL = _
      "select * from win32_process where ProcessId='" _
      & strProcessId & "'"
   Set objResult = wmi.ExecQuery(strWQL)

   ' Kill all found process
   For Each objProcess in objResult
      ' Try to kill the process
      intReturnCode = objProcess.Terminate(0)
   Next
End Function

You can use code like this to kill a process started in your script after a given event or set time.

Print HTML Using IE

I’ve might have mentioned before that I am not well versed in Visual Basic. Here is a small Visual Basic script snippet that took me an afternoon to figure out. You can use this code to print an HTML file using Internet Explorer. After the HTML file has been printed Internet Explorer will close.

Sub PrintHtml(fileName)
    Dim objIE
    Set objIE = WScript.CreateObject( _
        "InternetExplorer.Application", "ie_")
    objIE.Visible = True
    objIE.Navigate filename
    do until objIE.readystate = 4 : wscript.sleep 20 : loop
    print_done=false
    ' 6 = PRINT, 2 = NO USER PROMPT
    objIE.ExecWB 6, 2
    ' Wait until printing id done.
    do while not print_done : wscript.sleep 50 : loop
    objIE.Quit
End Sub

' Listen to ie print events
sub ie_PrintTemplateTeardown(pDisp)
    wscript.sleep 200
    print_done=true
end sub

More Ways To Open A Doc

As the Perl guys like to say and what I tell my girlfriend, there is more than one way to do it. This is also true for a simple task such as opening a Word document using Visual Basic script. The following code opens a MS Word document:

Sub OpenWord(fileName)
    Set Word = WScript.CreateObject("Word.Application")
    Word.Visible = True
    Set doc = Word.Documents.Open(fileName)
End Sub

I have seen some issues with such code if the word document has a mail merge data source associated with it and you try to execute it (see Word Mail Merge).

doc.MailMerge.Execute True

Trying to execute the mail merge generates a ‘This method or property is not available because the document is not a mail merge main document.’ But I know this is wrong because double clicking on the file reveals a data source associated with the document. Another way to open a word document and circumvent this issue is to use the run command such as:

Sub OpenWord(fileName)
    Set WshShell = WSCript.CreateObject("WScript.Shell")
    WshShell.Run fileName, 8, False
End Sub

In fact, the file name could be any file type and this code will try to open it up with its default application. Just to compare some code, this is the code you can use to open an Excel document:

Sub OpenExcel(fileName)
    Set Excel = WScript.CreateObject("Excel.Application")
    Excel.Visible = True
    Excel.Workbooks.Open(fileName)
End Sub

Next Page »