pseydtonne: Behold the Operator, speaking into a 1930s headset with its large mouthpiece. (operator)
[personal profile] pseydtonne
It's not that I don't have a lot to say. I've just been talking about different topics and spending more time in Reddit and Hubski. I like Hubski in particular because it's a much smaller community built in reaction to the dominant snark of news aggregate sites. This forces me to toss my first two thoughts, take questions seriously, and really say something useful or say nothing.

I've been enjoying my promotion at work. I am taking everything I learned in the last year about taking point when the managers can't and using it to reshape how my team learns and responds to customers. I'm also learning how to walk away from the work day without feeling guilty.

I have figured out how to create work-safe or even productive distractions at work: doing other things that aren't just sloth or aimless reading but let my mind relax enough to get back to work. Last week this led me to learn how to set a constant in Excel.

I was trying to figure out how much I could pay on different debts. I have a consolidation loan that is nearly finished, a mutated store credit card with a rate worse than usury (from which I culled half to populate the consolidation loan, thus it consolidated... one debt), and a shared card with my wife. We got the shared card because we wanted a chip card to use in Europe (which I wished I'd had with me in 2008) and it also gave us frequent flyer miles with British Airways. It also has a far better APR than my old store plate.

I started putting data into a spreadsheet, but I kept getting annoying results. I would try to google what I wanted, but I only got close when I stopped using programmer terminology. Most of the third-party documentation about Excel is written by people that have never coded before, and don't even realize they're coding now.

As a result, Excel seems to be the Mos Eisley of data collection: a hive of villainy and poor ideas forced into end-of-quarter meetings. People will turn anything into a spreadsheet then make another spreadsheet to turn that data into something else. Some of you may be used to this; others may shriek in fear. Those other folks realize what I do: that's like taking a tree and turning it into mashed potatoes to create load-bearing cardboard and scrap paper. Oh sure, we've been doing that for a long time but it's a terrible waste of energy. A spreadsheet is the crappiest database format ever but it's the most common one.

Excel is a useful part of Microsoft Office. It never crashes, it's always installed even on a highly restricted computer, and even an ancient version will do what you need 99% of the time. This is exactly how its clean interface and comfy quadrille incur the worst examples of thinking inside the box(es). Someone that has never programmed or fears code winds up a genius to the others in the marketing department. All of these one-eyed leaders of the blind lead the way they know how: by charging for a training video instead of distilling to a few sentences.

Thus I am honor-bound to tell you:
  1. To define one cell as a constant for a function that will spill down a column, use '$' in front of each address. Example: "=$sheet1!S$b$4" will set the value in a cell to be the value found in cell B4 on sheet1 of a spreadsheet;
  2. To get just the content below $100 from a value, use modulo 100. In Excel this reads as "=MOD(A1,100)" to take cell A1's value of 1234.56 and turn it into 34.56;
  3. If statements and a surprising number of other commands from normal coding exist as formula tools. This is because it's really VBA processing XML: clumsy if you pay attention but effective in a world unfamiliar with shell scripting.

I spend a lot of time learning how to think about problems. It comes with my job: I fix weird problems. It makes me wish I'd taken some computer science courses during college, so I could have learned the rigor of algorithmic thinking with the resource of a professor for guideposts. Then I remember that I spent most of college spinning records. I may have been ready to learn algorithmic structures and processes, but I would've been annoyed at a potential yes-no grade. I was good at and didn't want to risk lowering my GPA with a challenge.

Wow, I really was too young for college when I went there. I guess we all are.

In any case, I eventually learned what I needed because I found a way to intersect what a programmer would ask and what a non-programmer would answer. This doesn't excuse putting Excel on a pedestal, but it sure made gave me a sense of accomplishment.

-VisiCalc shot first, Ps/d

Date: 2013-06-03 11:45 am (UTC)
From: [identity profile]
It never crashes

One of my favorite programming books is by Microsoft Press: it's by Steve Maguire and is called Writing Solid Code. You might wonder how a great book about programming could come out of Microsoft, but it makes more sense when you realize that Maguire was in charge of Excel, which, whatever else you can say about it, is at least extraordinarily stable and reliable for a Microsoft product (and that's what the book is about). He airs some dirty laundry in there, too, talking about ways in which the project got into trouble and had to get out of it again.

Date: 2013-06-03 11:50 am (UTC)
From: [identity profile]
Oh, yeah, and the sequel, Debugging the Development Process, is also pretty good. I think that's the one that begins with the line "This book might make Microsoft look bad."

Date: 2013-06-03 11:44 pm (UTC)
From: [identity profile]
Excel's weird, because it's all functions, or not, or data, depending on how you look at it. You can have a page full of hundreds of parallel functions, all executing at once, as long as you don't have any loops.

Often the only way to make things work in Excel for the complicated stuff is to produce interim tables, and then use the outputs from those for the table you actually want. Wasteful, and fragile, and yet accessible enough for "non-programmers" to figure out...and so it persists.

Date: 2013-06-04 02:40 pm (UTC)
From: [identity profile]
It occurs to me that something like Stephen Wolfram's "notebook" interface for Mathematica might be a useful pedagogical stepping stone between spreadsheets and actual coding. There are cells, but they're in a notional time sequence instead of a grid, and you can put arbitrarily complex function definitions in them, or do one thing in each cell and re-execute the whole notebook to see the results of a change. It's sort of like an arbitrarily editable abstraction of an interactive terminal session.

(There are user interfaces for other languages that imitate it, including the IPython Notebook and the open-source computer algebra system Sage.)

Date: 2013-06-11 02:49 am (UTC)
From: [identity profile]
Not too young for college over here.

August 2016

1415 1617181920

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 19th, 2017 03:09 pm
Powered by Dreamwidth Studios