Archive for January, 2011

Codematic Excel development website

Saturday, 29th January, 2011

It appears the Codematic.net Excel website is down at the moment. In the meantime you should be able to use

codematic.co.uk

also note that any emails should be addressed to codematic.co.uk rather than codematic.net until I work out what has happened.

Also if you sent any email in the last couple of days please resend to the .co.uk.

sorry for the trouble

cheers

Simon

Excel XLL CALL REGISTER DataTypes

Friday, 28th January, 2011

I’ve lost track of the number of times I have had to search for this.

So now its going in a post.

From here:

Data type Pass by value Pass by ref (pointer) Comments
Boolean A L short (0=false or 1=true)
double B E
char * C, F Null-terminated ASCII byte string.
unsigned char * D, G Length -counted ASCII byte string.
unsigned short *
(starting in Excel 2007)
C%, F% Null-terminated Unicode wide character string.
unsigned short *
(starting in Excel 2007)
D%, G% Length-counted Unicode wide character string.
unsigned short [int] H WORD
[signed] short [int] I M 16-bit
[signed long] int J N 32-bit
Array O Passed as three arguments by reference: 

  1. short int *rows
  2. short int *columns
  3. double *array
Array 

(starting in Excel 2007)

O% Passed as three arguments by reference: 

  1. int *rows
  2. int *columns
  3. double *array
FP K Floating-point array structure.
FP12 

(starting in Excel 2007)

K% Large grid floating-point array structure.
XLOPER P Variable-type worksheet values and arrays.
R Values, arrays, and range references.
XLOPER12 

(starting in Excel 2007)

Q Variable-type worksheet values and arrays.
U Values, arrays, and range references.

The types C%, F%, D%, G%, K%, O%, Q, and U were all new in Microsoft Office Excel 2007 and are not supported in earlier versions. The string types F, F%, G, and G% are used for arguments that are modified-in-place. When XLOPER or XLOPER12 arguments are registered as types P or Q respectively, Excel converts single-cell references to simple values and multi-cell references to arrays when it prepares them.

P and Q types always arrive in your function as one of the following types: xltypeNum, xltypeStr, xltypeBool, xltypeErr, xltypeMulti, xltypeMissing, or xltypeNil, but not xltypeRef or xltypeSRef because these are always dereferenced.

Type O, which is really three arguments on the stack, was introduced for compatibility with Fortran DLLs where arguments are passed by reference. It cannot be used to return a value except by declaring the argument as a modify-in-place return value and placing the results in the referenced values. Type O% extends type O in Excel 2007 so that it can access arrays that cover areas larger than the Office Excel 2003 grid.

So lets hope I can remember the search term eh?

cheers

Simon

Drinks in Das Krapital

Wednesday, 26th January, 2011

I’ll be visiting our wonderful capital next week and wondered if anyone fancied meeting up for a drink?

I’ll be in the City somewhere, obviously I havent sorted accom yet (or travel…), but I will.

Proposed topics of conversion:

  1. What should be in Excel 15
  2. Is VBA better than C#
  3. Skateboarding injuries
  4. Why you could do better than Ballmer
  5. Who can drink the most
  6. Favourite curry dishes
  7. Quotes from the above book (fave so far – ‘eye cabbage’)
  8. What happened to the SOS post rate?
  9. Other emergent topics…
  10. suggestions welcome

If you fancy meeting up somewhere in the liverpool street area next Wednesday 2nd Feb for drinks and maybe a curry then let me know.

cheers

simon

they are all at it

Tuesday, 25th January, 2011

Google got a slapped wrist recently about claims they punted their own services about others in search results.

So imagine my surprise when searching for a practical personal transportation solution that I came across the suggestion that 8% eventually go on the buy a kindle.

R-U-sure?

Is that x% buy a kindle on every page?

Surely everyone is waiting for the next first batch of Windows fake iPads? Or the Android ones…

Cheers

simon

#import MFC

Sunday, 16th January, 2011

Whoever designed the #imports functionality in VS2008 and the way it interacts with MFC owes me a weekend.

I have been migrating a big VS project to VS2008 and have had some real fun managing all the includes and imports.

When I did the codematic base xll project I was very careful to structure things so as to avoid header hell. The original developer of this project took another route.

I was blocked by a stray windows.h include. So I listed them – all 25,000 includes! there were 20 windows.h ones. And the stray one was early meaning a later MFC check failed. In the end I managed to shuffle all the different parts around to get it to compile. But what a PITA. And its always depressing when you go from one compile error to 941!

The stray one (in OLEDB) was about 9 include levels down so trying a few COM_NO_WINDOWSH type guards actually made things worse. Finally it turned out that I needed to move one of the #imports into stdafx.h and leave the other 2 in their original .h.

So the original problem was that function names were not appearing in Excel 2007, that was an easy fix, involving upgrading the XLL+ version to one that supports 2007. The hard work was in the C++ include dance to get the thing to compile. The actual project is very interesting, messing with the arcane header include rules in C++ less so.

Lucky there isn’t much snow, or I’d be really bitter at missing some decent snowboarding.

What did you get up to this weekend?

Cheers

Simon.

PowerPivot training

Friday, 14th January, 2011

Just spotted this PowerPivot BI power Excel user training course.

I got the link from here where I like to go to keep up with the MS OLAP BI world. As it happens I was drawn there this time by talk of a shift in direction for Analysis Services (SSAS). As I have a big Essbase project on at the moment, I am in a bit of a BI love-in just now.

I could have been tempted to attend the pp course myself but I have something else on those 2 days. But it does remind me I was thinking of organising an Excel dev conf around then, maybe more to the end of Feb. Would anyone be up for speaking or attending an Excel conf in 6-10 weeks time?

Is anyone planning on attending this pp course?

Anyone working on PowerPivot projects right now?

Anyone working on SSAS? Or Essbase?

cheers

simon

Tablet justified

Sunday, 9th January, 2011

I do a bit of coding from time to time, and I haven’t had a desktop for a good few years.

At my current clients I have a dual screen set up. This is probably the biggest productivity boost your average desk jockey can get. Especially for Excel VBA development, grid on one screen VBAIDE on the other. You can also get a productivity boost by learning good ways of doing what you are meant to be doing but that is a separate post.

All my Codematic stuff gets done on my lapper, and the single screen aspect is a painful retrograde step after the dual screen joy. Of course I could buy a big screen for pennies but that fails the toy justification argument. (In fairness I did have this set up for a while, but it was a 19″ CRT – the size of a small house – and actually what I really want is a projector).

Now I can just get a tablet and use Wifi for that second screen. Obviously I’ll be waiting for the Android version…)

Anyone else seen any compelling tablet justifications?

cheers

Simon

(I promise SOS2011 isn’t just going to be tablets, we’ll get around to some spreadsheet and sw dev stuff eventually)

[edit: I meant to add this link to the latest US research showing Android romping forward from third to second in the smart phone market]

The tablets are coming

Friday, 7th January, 2011

Or fondleslabs as El reg prefers.

Having waited 6m for an Android tablet it looks like we’ll be spoilt for choice in Q1 2011.

But having discovered my Mac can sleep for days on end on battery and be instantly on when I open the lid, and it runs Ubuntu, a tablet is suddenly looking a little less compelling. Especially as I spent invested my tablet budget on a snowboard.

It looks like H1 will be an invasion of weird and wonderful, as manufacturers try to improve on Apples take. I expect it will all calm back down by Q4 with 7″ and 10″ tablets, netbooks and notebooks. I think a 15″ tablet would be very interesting for reading stuff and presenting – and still easier than the average tabloid.

What size/use do you envisage?

cheers

simon

 

Smurf on 2011

Saturday, 1st January, 2011

My 2010 predictions were a little tame I think, so I’m going to go more out on a limb this time around. I’ve covered a broader area this time too. I normally limit myself to spreadsheets and software, I’ve had a pop at some more general stuff this time.

IT Market

  1. Google will overtake Microsoft in market capitalisation (190 v 240 currently)
  2. MS won’t bid for Adobe.
  3. MS is fading fast as a general brand, especially with consumers, this will continue and probably accelerate
  4. Apple will pick up most of that consumer mind share in computing and software.
  5. I think someone might bid for HP this year, possibly Oracle if they can digest Sun in time. I don’t see too much anti competitive hassle from this and Larry has been softening them up with body blows for a few months
  6. Yahoo will surely disappear, I’m not sure how they survived this long
  7. Once people get bored of facebooking about facebook surely it will do a myspace?
  8. Linux won’t do much in 2011, I really thought netbooks would do it 2009/2010, but I was wrong. I don’t see a better chance in 2011. Tablets? I’m not convinced this time around.

Software

  1. Phone and tablet software will be massive in consumerland. iOS and Android (and Blackberry), not Windows phone.
  2. PC consumer software will be a non story (in the general media)
  3. MS Office is in a death spin where no one understands the value it can generate so no one invests so no one discovers. MS will continue to fail dismally to market Office. They will cut marketing spend so they will send less of the wrong messages to the wrong people.
  4. Quite a few corps will start to migrate to O2010 in 2011 as many skipped 2007 and 2003 will be 2 years out of mainstream support. They won’t leverage many of the new features though, as its ‘just Office’ not an integrated part of strategic IT infrastructure like it should be. (message/people…)
  5. I think Windows 7 may be due for deployment in a lots of companies too.

Office development

  1. We will still be undervalued.
  2. We will still be loved by users and loathed by IT, who will continue to prevent us from using the best tools for the job.
  3. Office will continue to be userland so VBA still key, although job ads will request a knowledge of C#, but then not let you have Visual Studio.
  4. Microsoft will still not have a plausible .net/Excel development story. VSTO isn’t it
  5. .net developers will continue to abuse Excel as they don’t understand the object model or native code.
  6. Access will still be looked down on as a zero credibility toy – an image which hampers SharePoint uptake as Access is a million times better for managing lists than the 1970’s web UI. I’m currently calling my Access development Jet development to avoid raising the Access Alert.
  7. Office 15 Beta 1 will probably make it out of the door before the end of the year. Expect the ribbon to be nearly as good as 2003 toolbars, lots of unusable lock-in to server components that corps won’t deploy. Beefed up power features like cluster udfs in 2010 (perhaps performant .net udfs???). More eye candy cabbage/inappropriate intra suite standardisation. Closer Excel/Access integration may be on the cards, even as many corps seek to ban Access altogether, it may cheat death once again.
  8. Plenty more vacuous ‘spreadsheet control’ projects will start in 2011, although most will be tick box half hearted affairs. The crash knocked a bit of the wind out of the compliance gravy train sails. (can I mix methaphors like that?)
  9. there will be plenty of opportunities in financial services for folks with Excel/VBA/business – this market is hotting up after being depressed for 18 months or so – so many devs will have moved on.
  10. LibreOffice will continue where OpenOffice once went as the leading Office competitor, before Oracle alienated the whole dev community. Still won’t be much of a competitor though, sadly. OpenOffice will be gone by the end of 2011 imo, at least ‘gone’ like StarOffice.

General development

  1. Java will lose some light as it has been scuttled by Oracle, I think this will cause more of a general splinter rather than a mass migration to .net for example. Ruby, Python etc will likely be winners on the web/server, but maybe C++ will find some love, it has done with MS in VS2010.
  2. Or maybe there will be an unbreakable Oracle Java?
  3. Silverlight is doomed, so VS2012 might be useable. Silverlight is the Access of UI. MS just don’t know what to do with it. Smart devs will steer clear till they decide. Gone by 2012 imo.
  4. Objective C will probably be a worthwhile skill in 2011 (not a great synergy with VBA though :))
  5. F# will get plenty of buzz, but not a lot of actual traction, just because OO is inappropriate for whole swathes of software doesn’t mean it isn’t deeply engrained (as the ‘correct/best/professional’ way of developing anything)

Hardware

  1. Well derr – tablets will be a big news story in 2010
  2. Netbooks will be replaced by tablets, in news, if not physically.
  3. The march to smartphones will make iPhone/Android/Blackberry development a very viable business model, especially compared to banging your head against the office dev wall.
  4. If the Ubuntu Tablet appears I’ll buy one ASAP.

I try not to be a ‘Microsoft watcher’ blogger partly because lots of people already do that, and partly because its hard to hit the right tone between sycophant (I earn my living in their tech after all) and irrelevant moaner.  But…

Microsoft

  1. MS is in a cost control phase at the moment. That means every investment/spend needs justifying.
  2. Plenty of possibly viable techs have been axed after massive investment over the past few years
  3. some of those have been brave (or mad – depends your pov) decisions
  4. This means very little is unquestionably safe – its perceived cost benefits, financially, ruthlessly.
  5. I think MS have lost the consumer space so they will focus more on the enterprise (which seems to work well for Oracle for example).
  6. Tight Office/.net integration? cost? benefit in increased unit sales income? – unlikely then…
  7. Windows phone? If it goes well in the next 6-12m then maybe, if not its out. Microsoft could exit this whole market with no obvious income loss (short term at least). (imo gone by 2012)
  8. Silverlight? compelling benefits or the next VB script? (imo gone by 2012)
  9. VSTO? essential .net/Office bridge? unfinishable unloved bodge? (imo VSTO will survive for a while as it joins a couple of cash cows)
  10. VBA? trusty workhorse? or poor implementation of a bad design? (imo safe as houses, there will be nothing that could be construed as a hint of retirement plans for this utterly vital (to MS) tech. Unless you take the complete lack of investment and development of the IDE as a hint of future plans of course)
  11. VSTA? remember that? VS editor in Office. Hmmm… I really don’t know if better .net/Office is coming to Office, If you pushed me I would say no, I don’t think O15 will have an integrated C# IDE.

Economics/etc

  1. No double dip recession (if anyone thinks we are out of the last one yet) just a slow (er than reported) creeping recovery.
  2. 2011 will, in line with solar physicist predictions (again), be colder than 2010 by any reasonable measure.
  3. The Urban Heat Island effect will get some attention to try to explain the gaping void between what global warming ‘scientists’ say and what normal people see and feel.
  4. We will see more climate comedy – where a council or org has made a big business decision based on promises of global warming, only to be totally shafted by actual weather. Step forward Geneva canton and Lytham council – both allegedly sold their snow clearing equipment in recent years then struggled last winter and this winter. (could we include Heathrow?)(we can take UK road salt supplies as a consistent snafu.)
  5. Financial market volatility will increase, especially on the down side as algorithmic trading gets more aggressive safety cut outs.
  6. 2011 will be even more fad-tastic than 2010, game shows, reality tv, shit music, phone apps, blankets with sleeves…
  7. No big UK bank failures
  8. Another couple of Euro zone rescue plans will be required, someone might even notice the state of the UK economy.
  9. A Euro will almost certainly be worth more than a pound, although they are both in a race to the bottom at the moment.
  10. More intrusive security pantomime mischief will make air travel even more unpleasant but no more secure.
  11. Did I mention that spreadsheet development will still not be cool?

That’s about it for now, I need to go out mountain biking now the snow has melted. Sorry this is so long!

What do you see as the big news stories of the next 12m?

All the best for 2011

cheers

Simon