Archive for the ‘development’ Category
Wednesday, 9th April, 2008
important or overrated?
I think I am gradually getting more consistent in more things as time goes on and I find ways of doing stuff that I think are the best in the circumstances.
But every project is different and in many I will do a similar operation in different ways. Sometimes because I am searching for a ‘best’ way. Often because I forgot I already solved this in a previous project (even with the nagging deja vu). Sometimes I know I solved it before but can’t find the right project.
I do have tons of library code that finds its way into nearly all my projects, for managing Excel, managing Essbase, menus, common constants, ADO, logging etc.
I am thinking things like working with certain types of list, managing application state etc. Stuff that is not totally general but is in 1 in 3 projects or something. And I mean consistent across projects, not within one.
When I work with other peoples work if I find the same thing solved is many different ways in the same project I would probably start to worry. But if I got 2 projects and one used the app.rows approach and the other used the used range intersection approach it wouldn’t bother me as being inconsistent, would it bother you?
I think some consistency is handy enough, but overall I think it could be a little overrated, especially if we are constantly learning.
What do you think?
how consistent do you think you are (beyond library code stuff)?
cheers
Simon
Posted in Excel, Spreadsheet, development, quality, risk | 3 Comments »
Monday, 7th April, 2008
[Not the Yorkshire meaning!]
Dick over on DDOE has recently done a post on investment analysis. His basic premise being that ‘lean’ companies may make better preforming investments.
In his excellent book ‘Slack’, Tom DeMarco almost goes the opposite way.
TDMs view is that these lean companies that have stripped the middle management layer back to the bone have made a huge blunder. His view is that this much maligned middle tier is where all the creativity happens, where great new ways of working are invented, where new products or services are imagined. Having a little slack in the business gives people the space to create.
Its a compelling argument, and the book is well worth the couple of hours it takes to read.
I certainly think it holds true in SW dev (for me at least!) - when I’m under massive pressure I just do what I know works, when I have a bit of time I try and find a better way.
Do you think the middle management layer in orgs is/was important? or just a bunch of fat cats with mid level company cars (and cheap suits)?
And do you think that less pressure or more pressure results in the best quality work?
Have you read Slack? what did you think?
Cheers
Simon
Posted in Spreadsheet, development, enterprise, quality, risk | 7 Comments »
Friday, 4th April, 2008
I just switched on my pc and went and brewed up. It turned itself off - thanks.
I read some software developer guidelines years ago that the default action of any dialog should be to leave the computer as is. Great! that saves idiots from accidentally destroying their computer. But it also means the default action is to ignore the users request. That seems pretty dumb/arrogant to me.
The Apple approach (as I understand it) is to let the user do whatever they want, but make it easy to undo. That seems to make more sense than to make it hard for them ‘for their own good’.
I did try turning off the ‘are you sure you want to delete that file’ warning, as I know I can get it back from the re-cycle bin, but I like the comfort of clicking Yes (without thinking) to the warning so I put it back.
I find that I turn off many of the Excel warnings, as they are covered by undo anyway. Things like ‘are you sure you want to overwrite those cells’ when pasting is turned off (along with all similar warnings) as I know I can either undo or revert to a saved version if things go badly wrong.
Do you agree that some of this stuff is patronising?
Do you turn off the warnings (Excel and elsewhere)?
What do you do with the systems you build for others?
cheers
Simon
Posted in Excel, Spreadsheet, development, error, quality, risk | 2 Comments »
Wednesday, 2nd April, 2008
Bearing in mind that cells in Excel worksheets are effectively variants is there any point in having an integrated programming language that is typed?
Is the whole ‘Option Explicit’ thing wrong headed for a spreadsheet automation language?
The modern trend seems to be towards dynamic typing, would that be a better option?
I’ve always properly typed all variables (and not with that $# nonsense either). But thats maybe a throwback to other types of dev work I have done.
When working with spreadsheet data in code should we worry about the underlying type?
And if so, should we also worry about it in spreadsheet formulas too?
What do you think?
cheers
Simon
Posted in Other Sites, Spreadsheet, development, quality, skill | 14 Comments »
Friday, 28th March, 2008
Charlie sent us this rather ironic link.
Its a story about how the latest revisions to Google docs have reverted back to an Office 2003 drop down menu style. They used to be more like the tab based ribbon. Seems there are lots of useful screen space savings from using drop down menus.
This makes the Google docs v Office ‘battle’ (? too strong?) a bit more exciting, its becoming a battle of Office 2003 ui (Google) v Office 2007 ui. I really hope people switch to Google and justify it on the user friendly ui.
But according to this link Rob sent, that may be a challenge. (security privacy concerns)
I know the effluent UI battle lines are already drawn so lets not go over that, but does anyone here use Google docs regularly as part of work? and if so what sort of things do you do?
cheers
Simon
Posted in development | 4 Comments »
Wednesday, 26th March, 2008
How do you get a range in code?
If its a marker range (a single cell where I start my code from) I tend to name it at worksheet level then access it via
sheet1.[StartPoint].row/.column/.value etc
If I am looping through cells I use
.cells(r,c).value/.formula etc
I almost never use range(”A” & r) as it has a (part) fixed text cell reference that often ends in tears if someone modifies the sheet.
Bob P was outraged that I used [StartPoint] instead of Range(”StartPoint”), he now thinks I am a total cowboy. What do you think? if you don’t like [], why not? I was going to test the performance but its completely irrelevant as I only access these once.
I wish worksheet level defined names popped up in intellisense as a worksheet property, like public code thats added to a sheet class. This [] approach seems like a reasonable compromise to me. Obviously I’m not going to be wasting time wrapping a cell ref in a property (or variable) just to make intellisense do what I want. (Or should I?)
Whats your preference?
cheers
Simon
Posted in Excel, Spreadsheet, development | 16 Comments »
Tuesday, 25th March, 2008
Of course 10,000 hours wisely invested in becoming a spreadsheet guru isn’t going to be much help if you get a problem that would be best solved with a relation database right?
In skiing either you have developed the core skills to ski most terrain or you havent. You don’t get into a heavy powder field and think “bugger I should be snowboarding”. (Well I would actually, being more of a snowboarder these days).
In football you wouldn’t get to a position where you think “Damn I should have done this with a hockey stick”.
With spreadsheets, I have seen many ‘experts’ who can create a mega monster array formulas to solve all sorts of things. Way beyond what I can or would do.
To me any expertise has to include the ability to select the appropriate technology for the task. And potentially the confidence to say “you should do this in Java, for these reasons…I don’t do Java but I can recommend someone”.
Do you think being an expert in only one small area of IT means you really aren’t an expert in IT?
cheers
Simon
Posted in Spreadsheet, development, quality, skill | 12 Comments »
Sunday, 23rd March, 2008
I was reading somewhere to do with sports of a known phenomenon that it takes 10,000 hours of practice to achieve expert status in an activity.
The suggestion was those kids covering that many hours in football would almost certainly be excellent. In part time activity that’s about 10 years, which may explain why we have some superb players around 17. (club football tends to start around 7 in the UK)
In full time its about 5 years, which is why those with that level of experience of a product or business process are often considered gurus. Of course if your area changes fundamentally every couple of years, then its not going to be possible to achieve guru status in any current product.
There is another side to this that I first read in Code Complete - do you have 5 years experience, or 1 years experience 5 times? ie the progress you make depends how you invest your 10,000 hours.
And of course there is also the oft repeated phrase - practice makes perfect, but only perfect practice. Having watched tons of people practice and practice crappy ski technique, I am never surprised to see hundreds of skiers who have mastered the art of skiing badly. They have created a glass ceiling for themselves, that they will struggle to get through. Decent advanced training can fix this, but few intermediates take further training - taking misplaced pride in being self taught, just like many spreadsheeters?
Maybe people who code procedurally do the same thing? they will struggle to ‘move to the next level’ of object oriented coding? I’m not convinced thats valid as OO is often overkill, especially for spreadsheet based stuff.
What do you think?
Have you got 10,000 hours/5 years in? do you feel like an expert?
cheers
Simon
Posted in development, quality, skill | 4 Comments »
Friday, 21st March, 2008
Every now and then I wonder about writing a book related to the work I do, and the sort of stuff we discuss here. And equally I keep thinking I should finish the commercial version of XLAnalyst and get it up for sale.
The truth is I enjoy posting to this blog and the discussions we have, but I have a sneaky suspicion that writing a book is a lot less fun and a lot more grind.
I also like writing useful code (and making sure it does what I expect it to (to a fair extent anyway)). But I know for sure that the gulf between useful little (free) utility and polished, professional product is wide and full of low fun stuff like help files, marketing etc. The final polish on the free version of XLAnalyst took way longer than the interesting coding part.
So my latest dilemma is should I knuckle down and write and book and/or a proper app. Or keep just doing the fun bits posting articles and utilities here as I have time and enthusiasm?
In terms of commercial viability; from what I have read 5-10,000 copies is a common estimate for technical book sales. Royalties are in the 1 to 2 quid bracket, approx effort 6 months. The thought of earning 5k for 6 months hard slog doesn’t set me on fire, at the other end though (10k * 2) 20 grand working at home doesn’t sound too bad.
For XLAnalyst the finances are anyones guess, and thats part of why its not finished.
So the future looks like just cherry picking the best bits - maybe I’ll gather enough to publish as a book by accident?
Posted in Spreadsheet, development | 30 Comments »
Thursday, 20th March, 2008
Jon made a good point about the death of VB6 and IE’s reduced market share being symptoms of the same problem. I went back and re-read Joels API war post, it seemed longer than other times I’ve read it, but mostly familiar.
Here is the key part for me:
The first big win was making Visual Basic.NET not backwards-compatible with VB 6.0. This was literally the first time in living memory that when you bought an upgrade to a Microsoft product, your old data (i.e. the code you had written in VB6) could not be imported perfectly and silently. It was the first time a Microsoft upgrade did not respect the work that users did using the previous version of a product.
And the sky didn’t seem to fall, not inside Microsoft. VB6 developers were up in arms, but they were disappearing anyway, because most of them were corporate developers who were migrating to web development anyway. The real long term damage was hidden.
[my emphasis (I'm sure I don't need to explain!)]
He mentions the ribbon mess in his latest post Martian Headsets, pointing out that the MSDN camp have won the compatibility v new features battle.
I quite liked the idea of IE8 conforming to standards, but I can see the value in backwards compatibility too. In fact the all too apparent disregard for backwards compatibility at MS is my biggest frustration. Sadly that seems to be getting worse, and I’m not sure we are getting sufficient new valuable functionality on return.
In related news here is an early review of OpenOffice 3.0 due out in 6 months or so.
Posted in Spreadsheet, development | 4 Comments »