Tuesday, 24 November 2009

REMOVE Bayesian Computing from MS OFFICE

TO MS OFFICE: If I want a macro I'll write it myself thank you very much. STOP WASTING MY TIME trying to second-guess my actions. A word processor should be a DETERMINISTIC SYSTEM.

An Answer is Useless if No-one Understands It

Many papers are written in long-winded academic style. The style of writing is what makes the paper inaccessible, not the content. Reasoning is often not clearly explained.

Sunday, 22 November 2009

The Law of Windows: Baker & McKenzie LLP

Law firm Baker & McKenzie, whose London office is based in New Bridge Street (near Blackfriars Bridge)and is a specialist on IP law, reflects on the "Laws of Windows", or more rightly licensing of Microsoft's Open Office XML formats. Baker's NY office is in Avenue of the Americas (the home of the New York Hilton), also known as Sixth Avenue, whose Northern end is Central Park South (59th Street), traffic moves in a Northerly direction towards Central Park.

Excel Hell FAQ

Excel Hell, How do I split a window in Excel? It used to be so easy!

Excel Hell: In the olden days you used to do Window->Split. Now you click View and then the small "Split" button in the toolbar (you may need to expand your Excel horizontally to see this).

How do I turn off those annoying "loss of fidelity" messages when saving workbooks?

Excel Hell: Click on the big Windows button. Prepare->Run Compatibility Checker and turn off "Check Compatibility".

The Business Model of Making Simple Things Complex

Complicating simplicity is a business in the software industry and a sad trend to which there is currently no counter (think "complexity-defense" lawsuits from customers). Many "Rainbow Warriors" and "Princess Mononokes" have come forward through the history of the world to attack complexity and should be commemorated in the annals of software history. Amongst the warfarers is Alan Cooper Esquire, the power-programmer behind "Visual Basic 1.0" which debuted in March, 1991 as Microsoft's first visual development tool. VB came out of Tripod which Microsoft bought in 1988.

Good Software

Good software is so wonderful precisely because it is so rare. The power to create personalized software is so wonderful because software today is so bad. Software used verily is an extension of the human consciousness and an ode to human ingenuity, used incompetently it is an ode to human stupidity.

Saturday, 21 November 2009

InvalidOperationException: Cross-thread Operation Not Valid

DO NOT mess with Windows Forms Controls (even just READING a text field is BAD NEWS) from a a thread other than the GUI thread (unless a) you use Invoke, b) don't know anything about Windows programming. The following "wisdom-sommaire" from MSDN summarises aforesaid most appositely:

"If you use multithreading to improve the performance of your Windows Forms applications, you must make sure that you make calls to your controls in a thread-safe way. Access to Windows Forms controls is not inherently thread safe. If you have two or more threads manipulating the state of a control, it is possible to force the control into an inconsistent state. Other thread-related bugs are possible, such as race conditions and deadlocks. It is important to make sure that access to your controls is performed in a thread-safe way. It is unsafe to call a control from a thread other than the one that created the control without using the Invoke method."

As aforesaid, even reading a text box is bad news, amigos. I can't say this enough times:

Access to Windows Forms controls is not inherently thread safe.
Access to Windows Forms controls is not inherently thread safe.
Access to Windows Forms controls is not inherently thread safe.

Failure to comply WILL result in IOE. But what about WPF?

Activist Programmers

The notion of activist hedge funds is to effect change in companies. Activist programmers can do the same. If they do not like the direction a company is taking in terms of computer software, they should rebel. Such action will lead to the company producing stronger products and ultimately to be in a stronger competitive position.

The Art of the Multiline Label

To create multiline labels in dot net, set AutoSize=False, and Dock=Fill.

Excel Macros in Excel 2007: Selection.Unmerge

Excel 2007 help menu system is a gimmick. In fact, the whole of Excel 2007 is a graphical gimmick. Previous versions were imperfect yet better-designed. But here our priority is to discuss macro action in Excel. Wherefore art thou macros? Click on: View->Macros->Record Macro. Once recorded, you can do View->Macros->View Macros.

One useful and simple macro is Selection.Unmerge. Reason for this is when you need to highlight columns and can't do so - primarily because of MERGED CELLS. Probably those cells got merged as a result of cut-and-paste operation gone wrong.

Friday, 20 November 2009

Gulf of Execution

This is the gap between the user's perceived actions to perform a task and the required actions. To learn more, read Donald Norman, the "dean" of usability and cognitive psychology. Some companies seem to thrive by increasing the gulf of execution in their products (sigh).

Thursday, 19 November 2009

Excel Memory Madness

The memory madness that is new Excel can lead to situations where new worksheets are impossible create due to memory constraints. This usually happens when you already have a worksheet open that you opened from an email (this takes more memory). Solution is to save the file locally, close Excel and reopen.

Wednesday, 18 November 2009

Apply Multiple Slide Masters to PowerPoint

All pressies contain at least one SLIDE MASTER - idea is to make universal style changes that apply to every slide.

View -> Master -> Slide Master (ALT-VM)

Right click the slide master you want to copy. Copy and PASTE.

Now you have copied and pasted all the SLIDE MASTERs, the next phase is to copy slides across and associate those slides with slide masters.

Now for the TRICKY PART.....

Right click on a slide and select Slide Design. Right Click on a prototype slide in the Slide Design window and click "Apply to Selected Slide". Boombah!