- IE8 and above:
- use XDomainRequest instead
- Can only cross from HTTP to HTTP or HTTPS to HTTPS (i.e. if web page is served from HTTP, then cannot cross-site access HTTPS. Or web page served over SSL cannot cross site access HTTP content. Will get "Access Denied" error.)
- Cross site request server must send this response header: Access-Control-Allow-Orig
*
Tips that make life of a software engineer easier. Well, not exactly. Some posts are open questions that I haven't found an answer ... yet
Tuesday, January 17, 2012
Cross Site XMLHttpRequest
Friday, December 02, 2011
Useful Sysinternals Utilities
As a software engineer (not system administrator), I found the following tools from Sysinternal to be useful.
- Autoruns: mainly used to turn off unnecessary executables during boot and login to speed up system boot performance
- Portmon: used to monitor serial port traffic (similar to wireshark for network traffic)
- Process Explorer: used mainly to find file locks, so that I know which process to kill to be able to free up the lock.
- Process Monitor
- PsExec: remote execute console application. Examples:
- psexec \\vm-001 ipconfig /all
- psexec \\vm-001 cmd
- This command copies the program test.exe to the remote system and executes it interactively: psexec \\vm-001 -c test.exe
- PsKill: kill local or remote processes. Mainly used in server software for house keeping (for example: kill stuck Office Automation process)
- PsService
- ZoomIt: usefuly for presentation. Zoom in screen, draw lines on the screen.
Friday, October 28, 2011
Disable Touchpad on Dell Laptop
Problem
Ever frustrated with Touchpad being overly sensitive?
I frequently got random mouse movements and clicks while using Laptop's keyboard. They are caused by the Touchpad being overly sensitive. It is especially a problem when I am using remote desktop working on another computer. I guess the Touchpad sensitivity settings does not work on remote desktop client?
And this is a major frustration, because when I finish typing a line of code, they frequently show up on the wrong line, and did not show up anywhere at all, because the random mouse clicks has took their focus away.
Research
Today, finally it struck me that I should disable this thing. And turns out the latest DELL tool has some nice options available. For one thing, I can permanently enable/disable "Pointing Stick", "Pointing Stick Buttons", "Touchpad", and "Touchpad Buttons". But, there is also a very nice feature called: "Disable Touchpad/Point Stick when external USB mouse is present". This is really a very user friendly feature that I never thought of searching for before.
Conclusion
I put a check next to the option: "Disable Touchpad/Point Stick when external USB mouse is present", and got a wireless mouse. Problem solved. Happily typing code again.
Ever frustrated with Touchpad being overly sensitive?
I frequently got random mouse movements and clicks while using Laptop's keyboard. They are caused by the Touchpad being overly sensitive. It is especially a problem when I am using remote desktop working on another computer. I guess the Touchpad sensitivity settings does not work on remote desktop client?
And this is a major frustration, because when I finish typing a line of code, they frequently show up on the wrong line, and did not show up anywhere at all, because the random mouse clicks has took their focus away.
Research
Today, finally it struck me that I should disable this thing. And turns out the latest DELL tool has some nice options available. For one thing, I can permanently enable/disable "Pointing Stick", "Pointing Stick Buttons", "Touchpad", and "Touchpad Buttons". But, there is also a very nice feature called: "Disable Touchpad/Point Stick when external USB mouse is present". This is really a very user friendly feature that I never thought of searching for before.
Conclusion
I put a check next to the option: "Disable Touchpad/Point Stick when external USB mouse is present", and got a wireless mouse. Problem solved. Happily typing code again.
Friday, October 14, 2011
Monday, October 10, 2011
Portable Mouse with a Hook or Loop
Goal: to allow portable mouse to be even more portable
Going to meeting with a laptop, a pen and notebook (made with paper) and a mouse can be a handful (not to mention when you have a cup of coffee). What if we have a hook or ring on the mouse so that it can dangle on a finger (or belt?).
Potential Solutions
- retractable ring
- foldable ring
- hook
Need to pay attention of location of ring or hook so that they don't interfere with normal mouse use.
Going to meeting with a laptop, a pen and notebook (made with paper) and a mouse can be a handful (not to mention when you have a cup of coffee). What if we have a hook or ring on the mouse so that it can dangle on a finger (or belt?).
Potential Solutions
- retractable ring
- foldable ring
- hook
Need to pay attention of location of ring or hook so that they don't interfere with normal mouse use.
Saturday, September 03, 2011
Adobe Flash Builder 4 and Coldfusion Builder crash during startup
Symptom: all of sudden, my Flash Builder 4 and Coldfusion Builder can not be started. They will crash during start. They are running on Eclipse 3.4.2, and 3.5.2 respectively.
Diagnostic: Coldfusion builder simply show me an error dialog without any useful information. It just generically states something like: Visual C++ request application to exit in abnormal way.
Of course, I tried to reset Eclipse and clear it's workspace to no avail.
However, luckily, Flash Builder 4 throws an exception. And I got a chance to start Visual Studio 2010 debugger session on it. Once in Visual Studio debugger, I saw exception type "bad_day_of_month" from boost library. Then I turn to "Stack Trace" tab, and saw callstack: Kernel32->atmlib.dll->UpdateNotifications.dll. A little Google on this end turned up a thread talking about similar problem from other Adobe users. So, I read the thread, it starts to mention how the "UpdateNotification" library will look at Windows Scheduled Tasks for Adobe updater. Then it occurs to me what might be, and later proven to actually be the root cause.
Cause: A few days earlier, in an effort to speed up my computer, I ran "AutoRuns" utility from "System Internals", and disabled a bunch of "Scheduled Tasks". Among them was a task named "AdobeAAMUpdater-1.0......".
Fix: using "AutoRuns" utilities, I turned the "AdobeAAMUpdater-1.0....." scheduled task back on. Then Flash Builder 4 and Coldfusion Builder are all back to normal.
Diagnostic: Coldfusion builder simply show me an error dialog without any useful information. It just generically states something like: Visual C++ request application to exit in abnormal way.
Of course, I tried to reset Eclipse and clear it's workspace to no avail.
However, luckily, Flash Builder 4 throws an exception. And I got a chance to start Visual Studio 2010 debugger session on it. Once in Visual Studio debugger, I saw exception type "bad_day_of_month" from boost library. Then I turn to "Stack Trace" tab, and saw callstack: Kernel32->atmlib.dll->UpdateNotifications.dll. A little Google on this end turned up a thread talking about similar problem from other Adobe users. So, I read the thread, it starts to mention how the "UpdateNotification" library will look at Windows Scheduled Tasks for Adobe updater. Then it occurs to me what might be, and later proven to actually be the root cause.
Cause: A few days earlier, in an effort to speed up my computer, I ran "AutoRuns" utility from "System Internals", and disabled a bunch of "Scheduled Tasks". Among them was a task named "AdobeAAMUpdater-1.0......".
Fix: using "AutoRuns" utilities, I turned the "AdobeAAMUpdater-1.0....." scheduled task back on. Then Flash Builder 4 and Coldfusion Builder are all back to normal.
Monday, August 08, 2011
SQL Maintenance Plan Failed
Environment: SQL 2005
Symptom: Scheduled SQL maintenance plan to do partial backup failed. Got two message logged in SQL Server log:
Error: 3041, Severity: 16, State: 1
BACKUP failed to complete the command BACKUP DATABASE master WITH DIFFERENTIAL. Check the backup application log for detailed messages.
Cause: Master database does not support partial backup. So, if the task is for "Differential" backup, "master" database should not be included.
Solution: Open the plan details, in the "Database(s)" section make sure database that needs to be backup are explicitly selected, instead of having "All databases" checked.
Symptom: Scheduled SQL maintenance plan to do partial backup failed. Got two message logged in SQL Server log:
Error: 3041, Severity: 16, State: 1
BACKUP failed to complete the command BACKUP DATABASE master WITH DIFFERENTIAL. Check the backup application log for detailed messages.
Cause: Master database does not support partial backup. So, if the task is for "Differential" backup, "master" database should not be included.
Solution: Open the plan details, in the "Database(s)" section make sure database that needs to be backup are explicitly selected, instead of having "All databases" checked.
Monday, August 01, 2011
Coldfusion Webservice Input Name Changed to in0
Symptom: Coldfusion webservices sometimes complain about input parameter "In0"
Environment: Coldfusion 9 on Windows
Solution: Login to Coldfuion 9 Administrator portal, Go to Server Settings > Caching, click on "Clear Template Cache Now" and "Clear Component Cache Now". This seems to trigger to re-compile of webservices WSDL thus fixed the problem.
However:
Environment: Coldfusion 9 on Windows
Solution: Login to Coldfuion 9 Administrator portal, Go to Server Settings > Caching, click on "Clear Template Cache Now" and "Clear Component Cache Now". This seems to trigger to re-compile of webservices WSDL thus fixed the problem.
However:
- I don't know what is the root cause of this problem. Google turn-up some similar complains, but could not find any official answers on this
- The solution which required human interaction does not help in production environment
- The solution does not solve the problem permanently, sooner or later I'll hit the same error, and has to go back to the server and clear cache again
Wednesday, May 11, 2011
CFQUERYPARAM: LIST and SEPARATOR attributes
Adobe online document only listed these two attributes without much explanation. I found the following link with very thorough explanation of the effects and usage of these two attributes:
http://www.pukkared.com/2011/01/using-cfqueryparam-list-attribute-when-using-in-operator/
http://www.pukkared.com/2011/01/using-cfqueryparam-list-attribute-when-using-in-operator/
Tuesday, May 03, 2011
NUnit Integration With Visual Studio 2010
I just discovered the perfect tool for NUnit integration: Visual Nunit 2010
Here are the pros:
Here are the pros:
- Open source, Apache License
- GUI: I personally like it better than the official Nunit GUI
- Visual Studio Integration: of course, this is the #1 reason I try it out, and I'm completely satisfied
- Load config file without problem (Nunit project does not load config files correctly)
- Debug: attach to Nunit or Nunit-agent is no longer needed, simply set breakpoints and click the red arrow to start debug session
- Easy drilldown of test cases
- One click to execute any individual test cases
Thursday, April 21, 2011
Server Side Office Automation using ColdFusion
Tips after fighting to get robust Office Automation using ColdFusion 9.
Definitions
COM: Microsoft Component Object Model.
Automation: the process of launching another application and controlling it programmatically through a public interface.
Environment
ColdFusion 9
Office 2007 SP2
Tips
Reason: ColdFusion is not type safe. COM definition for this input parameter is variant type. Seems like ColdFusion trying to send it over in string format "1" instead of numeric value 1.
Solution: objPresentation.Designs.Item(JavaCast("int", 1))
Server Side Office Automation Problems
References
Definitions
COM: Microsoft Component Object Model.
Automation: the process of launching another application and controlling it programmatically through a public interface.
Environment
ColdFusion 9
Office 2007 SP2
Tips
- Pay attention to Office version (down to minor rev numbers), I encountered several major differences between Office 2007, and Office 2007 SP2 (no to mention the differences between 2003 and 2007)
- Server setup
- CF service account must be interactive
- Office installation need to select option to install all features locally
- After Office installation, need to login as service account, and start Office applications and click through license agreement, registration, ...
- Open Office applications with Visible=false may have negative impact on it's behavior (At least for Powerpoint, I found some layout options are not functioning correctly if application is started in invisible mode. Specifically, I was trying to set text box property: "Shrink text on overflow", by setting AutoSize=2 (msoAutoSizeTextToFitShape), it won't work unless Powerpoint application is created in visible mode.)
- Before even start ColdFusion code, I usually test my script using VBS, then translate to CFScript, however, CFScript have some minor difference from VBS:
- VBScript can use array notation or foreach on some collections, but CFScript usually has to access the 'items' accessor
- Explicit type conversion may be necessary in some COM function calls, use "JavaCast". In my case, I got this error message:
An exception occurred when executing a COM method.Code causing the problem: objPresentation.Designs.Item(1)
The cause of this exception was that: AutomationException: 0x80048240 - Item 1 not found in the Designs collection. in 'Microsoft Office PowerPoint 2007'.
Reason: ColdFusion is not type safe. COM definition for this input parameter is variant type. Seems like ColdFusion trying to send it over in string format "1" instead of numeric value 1.
Solution: objPresentation.Designs.Item(JavaCast("int", 1))
- VBScript can use enumerates just by name, CF does not have that luxury, you have to find out the numeric values for each of the enumerations, please see my other post for list of some numeric values: Some Enum Values for Office COM Object.
- To find out numeric values, I used Visual Studio to add reference to Office library, then I can easily navigate or search for enums
- One way to implementation robust automation:
- Main CFC
- Create a worker thread to do automation task
- Wait for the thread with timeout
- After wait is finished, if it's timeout, will kill automation application, kill thread, and cleanup, else we have successfully done!
- Automation thread
- Global lock on Office Application name (avoid concurrency issue)
- Create automation object
- <<do you thing
> > - quit automation object
- ReleaseCOMObject
- cleanup
- To cleanup, I use "pskill" to kill office processes, so that a single failed call won't block all future automation attempts
- Code segment to create automation object
Server Side Office Automation Problems
- Office applications are not designed for server environment
- Concurrency (Office applications are non-reentrant, STA based automation, use global shared resources)
- Scalability
- Security
- May lock up on launch or any point during execution if there are modal dialog popup (typically you will see license agreement, error messages, “install on first use”, … dialogs)
- License considerations: each client must have licensed copies of Office
- Officially discouraged by Microsoft
“Microsoft does not recommend or support server-side Automation of Office”Alternatives
- CFSpreadsheet
- HTML/XML based format for word and excel
- OOXML (Open XML file format)
- Excel Services (Since Sharepoint Server 2007)
- Word Automation Services (Since Sharepoint Server 2010)
- Server libraries: Apach POI, Microsoft Open XML SDK
- After the above "Problems" section, the biggest incentives to use automation are
- Need to invoke Excel macro or solution package on server side
- You already have some fancy VBS code that can do what you wanted through Office automation
References
Adobe. 2011. ColdFusion Developer’s Guide. Last Accessed April 19, 2011. http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Part_4_CF_DevGuide_1.html
Forta, Ben and et al. 2005. Advanced Macromedia ColdFusion MX 7 Application Development, Chapter 26 Extending ColdFusion with COM. Macromedia Press. http://www.forta.com/books/0321292693/0321292693_chapter26.pdf
Microsoft. 2011. KB 257757: Considerations for server-side Automation of Office. Last Accessed April 19, 2011. http://support.microsoft.com/kb/257757
Microsoft. 2011. KB 257757: Considerations for server-side Automation of Office. Last Accessed April 19, 2011. http://support.microsoft.com/kb/257757
Friday, March 25, 2011
Some Enum Values for Office COM Object
Actual integer values for several Office 2007 (12.0) COM Enums
Microsoft Office Core
MsoAutoSize| msoAutoSizeMixed | -2 |
| msoAutoSizeNone | 0 |
| msoAutoSizeShapeToFitText | 1 |
| msoAutoSizeTextToFitShape | 2 |
Word
WdSaveFormat| wdFormatDocument97 | 0 |
| wdFormatDocument | 0 |
| wdFormatTemplate97 | 1 |
| wdFormatTemplate | 1 |
| wdFormatText | 2 |
| wdFormatTextLineBreaks | 3 |
| wdFormatDOSText | 4 |
| wdFormatDOSTextLineBreaks | 5 |
| wdFormatRTF | 6 |
| wdFormatUnicodeText | 7 |
| wdFormatEncodedText | 7 |
| wdFormatHTML | 8 |
| wdFormatWebArchive | 9 |
| wdFormatFilteredHTML | 10 |
| wdFormatXML | 11 |
| wdFormatXMLDocument | 12 |
| wdFormatXMLDocumentMacroEnabled | 13 |
| wdFormatXMLTemplate | 14 |
| wdFormatXMLTemplateMacroEnabled | 15 |
| wdFormatDocumentDefault | 16 |
| wdFormatPDF | 17 |
| wdFormatXPS | 18 |
| wdFormatFlatXML | 19 |
| wdFormatFlatXMLMacroEnabled | 20 |
| wdFormatFlatXMLTemplate | 21 |
| wdFormatFlatXMLTemplateMacroEnabled | 22 |
| wdFormatOpenDocumentText | 23 |
WdExportFormat| wdExportFormatPDF | 17 |
| wdExportFormatXPS | 18 |
WdAlertLevel| wdAlertsMessageBox | -2 |
| wdAlertsAll | -1 |
| wdAlertsNone | 0 |
PowerPoint
PpSaveAsFileType| ppSaveAsPresentation | 1 |
| ppSaveAsPowerPoint7 | 2 |
| ppSaveAsPowerPoint4 | 3 |
| ppSaveAsPowerPoint3 | 4 |
| ppSaveAsTemplate | 5 |
| ppSaveAsRTF | 6 |
| ppSaveAsShow | 7 |
| ppSaveAsAddIn | 8 |
| ppSaveAsPowerPoint4FarEast | 10 |
| ppSaveAsDefault | 11 |
| ppSaveAsHTML | 12 |
| ppSaveAsHTMLv3 | 13 |
| ppSaveAsHTMLDual | 14 |
| ppSaveAsMetaFile | 15 |
| ppSaveAsGIF | 16 |
| ppSaveAsJPG | 17 |
| ppSaveAsPNG | 18 |
| ppSaveAsBMP | 19 |
| ppSaveAsWebArchive | 20 |
| ppSaveAsTIF | 21 |
| ppSaveAsPresForReview | 22 |
| ppSaveAsEMF | 23 |
| ppSaveAsOpenXMLPresentation | 24 |
| ppSaveAsOpenXMLPresentationMacroEnabled | 25 |
| ppSaveAsOpenXMLTemplate | 26 |
| ppSaveAsOpenXMLTemplateMacroEnabled | 27 |
| ppSaveAsOpenXMLShow | 28 |
| ppSaveAsOpenXMLShowMacroEnabled | 29 |
| ppSaveAsOpenXMLAddin | 30 |
| ppSaveAsOpenXMLTheme | 31 |
| ppSaveAsPDF | 32 |
| ppSaveAsXPS | 33 |
| ppSaveAsXMLPresentation | 34 |
| ppSaveAsOpenDocumentPresentation | 35 |
| ppSaveAsExternalConverter | 36 |
PpAlertLevel| ppAlertsNone | 1 |
| ppAlertsAll | 2 |
PpAutoSize| ppAutoSizeMixed | -2 |
| ppAutoSizeNone | 0 |
| ppAutoSizeShapeToFitText | 1 |
PpSlideLayout| ppLayoutMixed | -2 |
| ppLayoutTitle | 1 |
| ppLayoutText | 2 |
| ppLayoutTwoColumnText | 3 |
| ppLayoutTable | 4 |
| ppLayoutTextAndChart | 5 |
| ppLayoutChartAndText | 6 |
| ppLayoutOrgchart | 7 |
| ppLayoutChart | 8 |
| ppLayoutTextAndClipart | 9 |
| ppLayoutClipartAndText | 10 |
| ppLayoutTitleOnly | 11 |
| ppLayoutBlank | 12 |
| ppLayoutTextAndObject | 13 |
| ppLayoutObjectAndText | 14 |
| ppLayoutLargeObject | 15 |
| ppLayoutObject | 16 |
| ppLayoutTextAndMediaClip | 17 |
| ppLayoutMediaClipAndText | 18 |
| ppLayoutObjectOverText | 19 |
| ppLayoutTextOverObject | 20 |
| ppLayoutTextAndTwoObjects | 21 |
| ppLayoutTwoObjectsAndText | 22 |
| ppLayoutTwoObjectsOverText | 23 |
| ppLayoutFourObjects | 24 |
| ppLayoutVerticalText | 25 |
| ppLayoutClipArtAndVerticalText | 26 |
| ppLayoutVerticalTitleAndText | 27 |
| ppLayoutVerticalTitleAndTextOverChart | 28 |
| ppLayoutTwoObjects | 29 |
| ppLayoutObjectAndTwoObjects | 30 |
| ppLayoutTwoObjectsAndObject | 31 |
| ppLayoutCustom | 32 |
| ppLayoutSectionHeader | 33 |
| ppLayoutComparison | 34 |
| ppLayoutContentWithCaption | 35 |
| ppLayoutPictureWithCaption | 36 |
PpTextStyleType| ppDefaultStyle | 1 |
| ppTitleStyle | 2 |
| ppBodyStyle | 3 |
Friday, December 17, 2010
Instead of CFDUMP
Ways to inspect CFC returns in browser without using CFDUMP.
1. Using Chrome JSONView extension:
Prerequisite:
Install Google Chrome
Install JSONView for chrome
Now just add to request URL: "&returnFormat=JSON". The CFC return will be shown in nice hierarchical which can be interactively expanded or collapsed.
2. In IE and FireFox using ServiceCapture
Prerequisite: buy and install ServiceCapture.
Still in request URL, add: "&returnFormat=JSON". In ServiceCapture, Response > JSON will show the data structure in expandable tree structure.
Wednesday, December 01, 2010
Friday, November 19, 2010
SQL Interview Questions
Here is a collection of Microsoft SQL Server interview questions.
Basic Concepts
---------
ID
Name
Table B
---------
ID
Name
Table A_B
---------
ID_A
ID_B
Basic Concepts
- Filtered index
- Common Table Expression
- Derived tables
- Fill factor
- Clustered Index
- Heap table
- OLTP vs. OLAP
- Star schema
- What are the differences between SQL developer, standard and enterprise editions
- local vs. global temporary table
- sparse columns
- Functions: STUFF, PATINDEX, RANK, NTILE
- SCOPE_IDENTITY vs. @@IDENTITY
- XML support
- Geo-spatial data support
- CLR integration
- Replication
- NoSQL
- Column based RDBMS
- What are the performance best practices
- What are the security best practices
- How to select top N records without using TOP
- Write a stored procedure to check out one job with columns: JobID, Status (new, checked out, done), priority
- Write a stored procedure to atomically insert records into the following tables with error handling
---------
ID
Name
Table B
---------
ID
Name
Table A_B
---------
ID_A
ID_B
Wednesday, October 27, 2010
Flex: set cursor shape to hand
The catch is to remember to also set "buttonMode" to true.
Tuesday, September 07, 2010
Laptop Performance vs. Network Drive
Symptom: When working from home using a company laptop, ever notice that the corporate laptop appears to be much slower on your home network? Well, I have had this problem for a while. After a closer look, I found whenever I switch to Windows Explorer or trying to open a file, it will take almost a minute for it to showup.
Root Cause: In my case, I found out the root cause is actually a bunch of network drives that are causing this performance problem.
There are 4 network mapped drives on my laptop which access various resources on intranet. Some are setup by IT so that they will be mapped whenever you boot you computer on company intranet. However, at home, connection to intranet is slow or non-existent. Whenever you make Windows Explorer visible or showing a File dialog, Windows explorer will try to map all of them one by one. That is, the more network drives you have, the longer you have to wait until Windows decide to give up on reconnecting these network drives.
Solution: I end up created a VB script to batch start/stop the mapping. At home with limit access to internet, I will run the scripts to stop all the mapped drives. At work, I will run the script to start the mapping.
The vb script to stop network drive:
Set objNetwork = CreateObject("WScript.Network")
On Error Resume Next
objNetwork.RemoveNetworkDrive "X:", "True"
objNetwork.RemoveNetworkDrive "Y:", "True"
objNetwork.RemoveNetworkDrive "Z:", "True"
To start network drive:
Set objNetwork = CreateObject("WScript.Network")
On Error Resume Next
objNetwork.MapNetworkDrive "X:" , "[your URI]"
objNetwork.MapNetworkDrive "Y:" , "[your URI]"
objNetwork.MapNetworkDrive "Z:" , "[your URI]"
Root Cause: In my case, I found out the root cause is actually a bunch of network drives that are causing this performance problem.
There are 4 network mapped drives on my laptop which access various resources on intranet. Some are setup by IT so that they will be mapped whenever you boot you computer on company intranet. However, at home, connection to intranet is slow or non-existent. Whenever you make Windows Explorer visible or showing a File dialog, Windows explorer will try to map all of them one by one. That is, the more network drives you have, the longer you have to wait until Windows decide to give up on reconnecting these network drives.
Solution: I end up created a VB script to batch start/stop the mapping. At home with limit access to internet, I will run the scripts to stop all the mapped drives. At work, I will run the script to start the mapping.
The vb script to stop network drive:
Set objNetwork = CreateObject("WScript.Network")
On Error Resume Next
objNetwork.RemoveNetworkDrive "X:", "True"
objNetwork.RemoveNetworkDrive "Y:", "True"
objNetwork.RemoveNetworkDrive "Z:", "True"
To start network drive:
Set objNetwork = CreateObject("WScript.Network")
On Error Resume Next
objNetwork.MapNetworkDrive "X:" , "[your URI]"
objNetwork.MapNetworkDrive "Y:" , "[your URI]"
objNetwork.MapNetworkDrive "Z:" , "[your URI]"
Friday, September 03, 2010
What's in a RIA Software Engineer's Tool Chest
Major Power Tools
Firefox Plugins
Free or really affordable utilities
Online Resources in Browser Bookmarks
Open Source Software
- Microsoft Visual Studio
- Adobe Flex Builder, Flash Builder
- Adobe Coldfusion Builder
- SQL Server Management Studio
- IE
- FireFox
- Google Chrome
- Subclipse: SVN client
- Flex Formatter: auto indent and format Flex code
- Aptana: excellen JS, HTML, CSS editors
- CFEclipse: Coldfusion editor
Firefox Plugins
- Firebug
- Html Validator
- Screengrab: take screenshots of browser content (including Flash)
- YSlow
- Web Developer
Free or really affordable utilities
- Data Dictionary Creator: manage and generate data dictionary
- Service Capture: capture HTTP traffic in/out of local computer, with built-in parser of Flash Remoting content
- Fiddler: capture HTTP traffic, well known in .NET community
- JSON Viewer: all you can ask for to navigate, search, format JSON data string
- VNC: remote desktop
- Tortois SVN, CVS, GIT: version control with Windows Explorer integration
- Tour De Flex: Air application showcasing Flex controls and sample code
- Skype: IM, talk, video conference, share desktop, ...
- Google Desktop: search code, design document with ease
- GIMP: free replacement for Photoshop
- Sysinternals: a group of Windows Utilities now owned by Microsoft. Here are a few of my favorites:
- Process Explorer: advance task manager, mostly used to search for locked resources
- Port Mon: serial port traffic analyzer
- Autoruns: manage autorun programs that can start through various mechanisms
- Depends: Dependency Walker
- WinMerge: graphical diff, can be easily integrated with Tortoise clients
Online Resources in Browser Bookmarks
- Google Code Search: search open source code
- Google Analytics: keep tab on web site usage
- Stackoverflow: ask questions, search for answers, and answer some questions. Occasionally get job offers due to your answers here
- EETimes: resource on embedded, semiconductor development
- TechCrunch
- DZONE: daily digest of tech blogs similar to TechCrunch
- ScottGu's Blog: MSFT VP of several .NET products
- MIX: Video, PPT of past conference
- PDC: Video, PPT of past conference
- GOOGLE IO: Video of past conference
- BeanStalk: online SVN server
- Github: onlien GIT server
- Gist: code snippet management
- CFLib.org: Coldfusion library
Open Source Software
- FlexLib: Flex controls
- AS3Core: Actionscript 3 utilities
- PureMVC: MVC framework, popular in Flex community
- Cairngorm: official MVC framework in Flex community
- Report.NET: .NET PDF library
- ZedGraph: .NET chart library
- SQLite: light-weight database, popular in embedded community
- NUnit: .NET unit testing framework
- FlexUnit: Flex unit testing framework
- Java Look and Feel Graphics Repository: official JAVA icon set
- Visual Studio Image Library: came with Visual Studio Installation
- Web Application Icons from WebAppers.com
- famfamfam.com
Thursday, September 02, 2010
Flex Builder - TODO, FIXME in "Tasks" view
Here is a plugin that adds support for TODO comments in "Tasks" view.
http://www.richinternet.de/blog/index.cfm?entry=911D4B57-0F0D-5A73-AF6F4D4D04099757
It was created for Flex Builder 2 in 2006, but I tested, it also works for Flex Builder 3.
Here is link to the request on Adobe's JIRA: FlexBuilder should parse //TODO comments into the normal Task panel . I have voted for this issue.
However, Dirk obviously did a good job in his plugin, such that Adobe decided to defer and closed the issue!?
http://www.richinternet.de/blog/index.cfm?entry=911D4B57-0F0D-5A73-AF6F4D4D04099757
It was created for Flex Builder 2 in 2006, but I tested, it also works for Flex Builder 3.
Here is link to the request on Adobe's JIRA: FlexBuilder should parse //TODO comments into the normal Task panel . I have voted for this issue.
However, Dirk obviously did a good job in his plugin, such that Adobe decided to defer and closed the issue!?
Thursday, August 26, 2010
Subscribe to:
Posts (Atom)