General Tips

Office customization tips

I've posted below a few Office customization tips, that I prefer to setup when using a new computer.Display File Path in Excelfrom http://excelexperts.com/Exc... to display the file path of the current open file (Excel 2007):Right click on the ribbonChoose "Customise quick access toolbar"Select "All commands"Then choose "Document Location"Click "Add".. and it will appear on the rightMS Word 2007/2010 - display path and filename in menu barhttp://www.technologyque... ......

Compare Pocket and Instapaper on IPad (again)

Since my last post http://geekswithblogs.net/m... I use both applications on iPad, trying to use Instapaper more often. Unfortunately, I wasn't fully satisfy with it.I didn't have any response to couple of emails, that I 've send to instapaper.support@marco.org, so I even don't know, have Marco receive it or not.The major problem is "smart" context removal, which removes comments from blogs and stackoverflow discussions, corrupts tables in pages. I've ......

From Pocket to Instapaper

Some time ago I’ve described the issues that I’ve had since a new version of Read It Later, named Pocket, was introduced.I’ve waited with hope for a new upgrade, but I had a huge disappointment with the latest version 16 June 2012. It didn’t fixed any of the two major problems, that I experienced since new Pocket was introduced- 1. iPad app still didn’t show many of the saved links. 2. ability to rename articles on iPad still wasn’t restored.I’ve posted the message into their forum. They did not ......

C# tip: do not use “is” type, if you will need cast “as” later

We have a debate with one of my collegues, is it agood style to check, if the object of particular style, and then cast as this type. The perfect answer of Jon Skeet and answers in Cast then check or check then cast? confirmed my point.//good var coke = cola as CocaCola; if (coke != null) { // some unique coca-cola only code } //worse if (cola is CocaCola) { var coke = cola as CocaCola; // some unique coca-cola only code here. } ......

Code review recommendations and Code Smells

Some time ago Twitter told that I am similar to Boris Lipschitz . Indeed he is also .Net programmer from Russia living in Australia. I‘ve read his list of Code Review points and found them quite comprehensive. A few points were not clear for me, and it forced me for a further reading.In particular the statement “Exception should not be used to return a status or an error code.” wasn’t fully clear for me, because sometimes we store an exception as an object with all error details and I believe it’s ......

"Read It Later Pro" has been ruined into Pocket, but RIL Free is still usable.

I loved RIL Pro for iPad and used it every day, but about a month ago I was forced to upgrade to new version, named Pocket.The new version has so many problems, that it's almost unusable.The main issue is that iPad app doesn't show many of the saved links. I've posted my opinion that it would be better to have Pocket as a new separate application and recommend users to install it side by side with RIL Pro and try before replace at Pocket forum APR 20, 2012 http://help.getpocket.com/c... ......

Code style Tip: Case insensitive string comparison

Goodif (String.Compare(myString, ALL_TEXT, StringComparison.OrdinalIgn... == 0) { return true; }OK(not obvious what true means) if (String.Compare(myString, ALL_TEXT, true) == 0) { return true; }BAD: (non null safe) if (myString.ToLower()==ALL_TE... { return true; } ......

Search systems on desktop/enterprise level

I've put together a few links regarding search systems on desktop/enterprise level Best Desktop Search Software – Reviews and Comparison Enterprise Desktop Search Tools Matrix Desktop Search Tools Matrix Search Appliance Comparison Matrix http://desktop.google.com/f... ......

Disable messages from SQL Server “Login failed for user” in Event log

I’ve noticed multiple messages from SQL Server in EventLog on my machineLogin failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: 10.222.25.129]I’ve found that there are machines of my co-workers, but they were not sure, which processes tried to access my SQL server.I’ve tried a few things and finally in SQL Server Configuration Manager disabled tcp, as it was suggested inhttp://blogs.msdn.com/b/p... ......

Copy to local drive before running installations

I've downloaded Windows Identity Foundation from http://www.microsoft.com/do... when I was trying to install, it returned ---------------------------... Update Standalone Installer------------------... encountered an error: 0x80070003The system cannot find the path specified.-----------------... tried a few other similar downloads, and all had the same error,Finally I’ve realized, that they don’t want to run from shared ......

Bookmarking for e-reading devices(Kindle and IPad)

Our family has Kindle and IPad, and periodically I had to use one or another. Normally I prefer IPad, but Kindle has 2 advantages - on a light sun it’s much easy to read Kindle screen, and it also have free free wireless internet(but browser is quite limitted),when for my IPad wi-fi is required. A few months ago I’ve wrote a post about Kindle and ability to transfer articles using Instapaper add-on http://www.wordcycler.com/h... I beleive that it’s the most convinient way to pass html files ......

Put reusable code into libraries to share between projects

I’ve recently read the post The Mooney Project » Reusable Code Is Bad. Also I disagree with the title of the post, most of the issues in the text are valid and important. Mike Mooney is mostly talking of creating customizable applications, that have hundreds of configuration settings. Most close to my opinion is a comment from Geoff H Design libraries for reuse, glue code to bind together, and logic code to call libraries through the glue. When I am writing an individual method, I am asking myself, ......

Copy HTML documents to Kindle DX

I’ve tried to work out, is it good to use email@free.kindle.com to convert and send documents to Kindle DX. Amazon description is not very clear, and it’s not obvious, that DX doesn’t support WiFi. Finally I understood, that sending to email@free.kindle.com just sends the email to your email address attempting to convert attachments to azw fromat. You can then transfer the document to your Kindle through the USB cable. Keep in mind that IE support to send html page in email body, but not directly ......

Search engine optimization Links

Below there are a few links, that I used for my Search engine optimization research for PrintPagesOnline site. : http://websearch.about.com/... Keyword Selection Guidelines Where To Use Keywords Google Search Engine Optimization http://websearch.about.com/... http://en.wikipedia.org/wik... http://www.google.com/suppo... And more technical links: URL Rewriting Using ......

Do not check-in DEBUG specific code.

We are using .Net Remoting to interact beteeen client and back end server. I needed to call a method from services class. For debugging purposes I decided to create the class directly. It was easier to debug without starting extra back-end process. The code was like the following: IMyServices services = (IMyServices)RemotingHelper... #if DEBUG services = new MyServices(); #endif // Process the task services.ProcessItems(Items... During the development I checked ......

Use HashSet instead of "seen" Hashtable.

In our code (originally created in .Net 1.1) there are a few examples of "seen" Hashtable pattern Hashtable seen = new Hashtable(); for (int i = 0; i < nCount; i++) { if (seen[key] == null) { //Do the changes seen.Add(key, key); } } It's better to use type-safe HashSet: HashSet<string> seen = new HashSet<string>(); for (int i = 0; i < nCount; i++) { if (!seen.Contains(key)) { //Do the changes seen.Add(key); } } ......

Don't Repeat Yourself(DRY principle) when modifying existing function

If there is an existing non-trivial function and you need to change it , do NOT copy and paste it , but modify to satisfy new requirements. You may be need to split a big function into small ones and call them in different order or with different parameters. Often you need just to add extra parameter to the function and have if-else branches depending on a new parameter. In some cases new change is actually a fix of the problem, that applicable to all usages of the function. Remember that "Copy and ......

Code reviews and coding recommendations

We don't have code reviews, but sometimes I have to tell the team quite obvious coding recommendations. There are a few examples: 1. We should do the check if array element is available before access it: E.g. BAD: string departureCity = Flight[0].StartPoint; GOOD: if (Flight.Rows.Count <= 0) { WarningMessageEvent.Raise("... <= 0"); return; } string departureCity = Flight[0].StartPoint; 2. Keep separate functionality in small functions, rather than add morre code to existing functions, ......

Developers should avoid smart-quotes in Word

We had a Word document, describing steps, based on MSDN instructions Use the Windows Workflow Tracking Service I desided to create batch file createWorkflowTrackingDB.bat to create Database: @echo Change name of Database server if required @echo press control-Z to stop batch @pause sqlcmd -S localhost -E -Q "create database WorkflowTracking" c: cd "C:\WINDOWS\Microsoft.NET\F... Workflow Foundation\SQL\EN" sqlcmd -S localhost -E -d WorkflowTracking -i Tracking_Schema.sql sqlcmd -S ......

«July»
SunMonTueWedThuFriSat
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789