I was cruising around the internets today and stumbled upon one of those sites that posts programming interview questions. You know the ones: archetypal algorithmic queries requesting the shortest way to move manhole covers from Mt. Fiji while weighing eight balls of 3 different colors (choose only two). Those kind of rudimentary questions.
I suppose the allure is that if one were able to successfully answer all the questions, they'd be a shoe in for the illustrious programming gig. Or perhaps to validate themselves; either they haven't been discovered (yet!) or are simply too brilliant to be burdened with the trivial job search (gimme a raise!). Only narcissists - insecure in their feeble abilities - answer these out-dated questions to puff up their sense of self-importance with a strapped-down, vein-tapped quick-fix of techno-trivia devoid of context.
So by the time I got to question number 6, I was feeling pretty good about myself. It read as follows:
You’ve got someone working for you for seven days and a gold bar to pay them. The gold bar is segmented into seven connected pieces. You must give them a piece of gold at the end of every day. If you are only allowed to make two breaks in the gold bar, how do you pay your worker?
***SPOILER ALERT***
I pondered for a bit, acquiesced to my plebeian logic, and moved ahead to the answer. However, when I read the answer I realized that it required that the worker be willing to trade in yesterday's pay for today's pay. Ummm???!!!!(Note I cannot spell the word I want to type here, so I'll simply link to a wav sound of it in use). I would never have arrived at that conclusion. There appeared to be a great many assumptions about what actions could/could not be taken.
And that is why I'm writing this. I'm not so much fascinated by the answers as I am the meta-questions. What questions would you ask before you would feel satisfied?
Some of mine include:
-Can anyone else cut the gold instead of/in addition to me?
--If Yes: Are they subject to the same restriction as me?
---Do we both get 2 cuts each?
---Must I pay extra for their services?
---Can we renegotiate the terms if the worker is the cutter?
-With what are we cutting the gold?
--What if the cut cannot be made in a 24-hour period?
What questions would you ask?
Saturday, June 6, 2009
Tuesday, April 28, 2009
Stopgapplication is officially a pseudoword!
( Thank you, Victoria )
------------------------------------------------
Zach Fisher,
thank you for submitting stopgapplication.
you can view it by going to
http://www.pseudodictionary.com/stopgapplication.
replace any spaces in the url with underscores.
you can link to it by clicking on "link to word"
and you can send it to friends by clicking the
"send to friend" button under your word.
regards,
hd - editor
paul - concept
garret - programming
------------------------------------------------
Zach Fisher,
thank you for submitting stopgapplication.
you can view it by going to
http://www.pseudodictionary.com/stopgapplication.
replace any spaces in the url with underscores.
you can link to it by clicking on "link to word"
and you can send it to friends by clicking the
"send to friend" button under your word.
regards,
hd - editor
paul - concept
garret - programming
Friday, April 24, 2009
Thoughts On: Stealing
Taken from a response I posted here.
======================================================
Lots of talk on this thread about the role of RIAA/labels/music in the context of file sharing. For a good expose on how the music industry found itself in the horns of this dilemma, check out "The Way The Music Died". It is well done, fair, and thought provoking.
I've lived in Nashville, TN since 1999 and for most of my time here, I had no aspirations for being an artist but was more involved in the session scene. Nash-vegas was once home to a thriving music industry comprised of a tenuous relationship between artists, labels, and songwriters. I joined ASCAP ( American Society of Composers, Authors and Publishers ) in the early 2000's and have realized mechanical royalties on songs I've written and co-written. I've played on a slew of custom albums ( read: low-budget ) where I played drums, sang BGVs, arranged, wrote string arrangements, programming, etc. I also received payouts from the Musician's Union for playing drums on "Shadowlands" on this album. And prior to all this, I played percussion for a series on The Learning Channel. Why all this "bragging"?
Because I've only earned about $100 in royalties for 2 songs that were recorded on a limited release ( @1000 copies pressed ). And the payout from the Musician's Union for playing 1 track on a nationally released, major-label album? About $45/year in mail-money. Now that I'm no longer pursuing music in a professional capacity, I can comfortably say: There is NO MORE MONEY in making music. Not in the established model. Some of this is the fault of greedy label execs. But a lion's share of the blame also belongs in the laps of people who view "songs" as algorithmic sequences of 1's and 0's - coldly detached from the hard work of people that are never seen and almost never recognized; that these products are somehow the inherent right of the digital denizens.
In this volatile economic environment, I've seen my friends lives reduced to panic-inducing shambles as a once dependable - albeit flawed - system of monetary compensation dried up seemingly overnight. The closest thing to retirement for these individuals is the steady stream of royalties on a large body of work. It is serendipitous income and a far cry from what I read between the lines of most protestations of the "right-to-file-sharing" adherents - that somehow the music industry is getting its just desserts for a century of decadent living. These friends of mine are living lives far from opulence, even when the DOW was well neigh 12,000. I think my engineer friend put it best, "its like complete strangers coming up to my supper table and stealing food off my kid's plate."
Some may argue that the internet levels the playing field, making it easier for unknown artists to be discovered. That maybe true, though I'm skeptical that any singular source of discovery will not necessarily homogenize. Fact is, it takes many talented people to create good music: songwriters to write the songs, engineers to capture quality sounds, producers to guide the artistic vision, mixers to blend the constituent elements into a complete musical thought, mastering engineers to combine disparate vignettes into a cohesive whole. These people are talented and deserve to work. I've heard some good indie music online...but the quality sucks. My bias is observed. Consumer electronics has done much to put power in the hands of the many, but when you see a professional at work, these devices seems like crude toys. It is an inspiring thing to "watch" the creation of an album.
Some may also argue that these poor folks should suck it up and get real jobs like everyone else. News flash: you assume that they don't already. If we adhere to the thinking that art is not worth compensation, I would ask if we would ever stop paying professional athletes just because we can toss a ball around every once in a while? What if the teeth of the digital age set its edges on your career? In many cases, it already has. We should not wait for higher courts to legislate what ultimately is a moral decision: taking a product for free when it is meant to be purchased, regardless of distribution methodology, is stealing. Period.
I understand that some will disagree with me. But before you do, I invite you to come to Nashville, TN. I'll give you the southern hospitality tour of the city and the surrounding areas. I'll show you the historic points, serve you some sweet tea, and top it all off with a trip to some of the songwriters and engineers most affected by greed in its many forms. I invite you to explain your rationale to them.
Zach...
======================================================
Lots of talk on this thread about the role of RIAA/labels/music in the context of file sharing. For a good expose on how the music industry found itself in the horns of this dilemma, check out "The Way The Music Died". It is well done, fair, and thought provoking.
I've lived in Nashville, TN since 1999 and for most of my time here, I had no aspirations for being an artist but was more involved in the session scene. Nash-vegas was once home to a thriving music industry comprised of a tenuous relationship between artists, labels, and songwriters. I joined ASCAP ( American Society of Composers, Authors and Publishers ) in the early 2000's and have realized mechanical royalties on songs I've written and co-written. I've played on a slew of custom albums ( read: low-budget ) where I played drums, sang BGVs, arranged, wrote string arrangements, programming, etc. I also received payouts from the Musician's Union for playing drums on "Shadowlands" on this album. And prior to all this, I played percussion for a series on The Learning Channel. Why all this "bragging"?
Because I've only earned about $100 in royalties for 2 songs that were recorded on a limited release ( @1000 copies pressed ). And the payout from the Musician's Union for playing 1 track on a nationally released, major-label album? About $45/year in mail-money. Now that I'm no longer pursuing music in a professional capacity, I can comfortably say: There is NO MORE MONEY in making music. Not in the established model. Some of this is the fault of greedy label execs. But a lion's share of the blame also belongs in the laps of people who view "songs" as algorithmic sequences of 1's and 0's - coldly detached from the hard work of people that are never seen and almost never recognized; that these products are somehow the inherent right of the digital denizens.
In this volatile economic environment, I've seen my friends lives reduced to panic-inducing shambles as a once dependable - albeit flawed - system of monetary compensation dried up seemingly overnight. The closest thing to retirement for these individuals is the steady stream of royalties on a large body of work. It is serendipitous income and a far cry from what I read between the lines of most protestations of the "right-to-file-sharing" adherents - that somehow the music industry is getting its just desserts for a century of decadent living. These friends of mine are living lives far from opulence, even when the DOW was well neigh 12,000. I think my engineer friend put it best, "its like complete strangers coming up to my supper table and stealing food off my kid's plate."
Some may argue that the internet levels the playing field, making it easier for unknown artists to be discovered. That maybe true, though I'm skeptical that any singular source of discovery will not necessarily homogenize. Fact is, it takes many talented people to create good music: songwriters to write the songs, engineers to capture quality sounds, producers to guide the artistic vision, mixers to blend the constituent elements into a complete musical thought, mastering engineers to combine disparate vignettes into a cohesive whole. These people are talented and deserve to work. I've heard some good indie music online...but the quality sucks. My bias is observed. Consumer electronics has done much to put power in the hands of the many, but when you see a professional at work, these devices seems like crude toys. It is an inspiring thing to "watch" the creation of an album.
Some may also argue that these poor folks should suck it up and get real jobs like everyone else. News flash: you assume that they don't already. If we adhere to the thinking that art is not worth compensation, I would ask if we would ever stop paying professional athletes just because we can toss a ball around every once in a while? What if the teeth of the digital age set its edges on your career? In many cases, it already has. We should not wait for higher courts to legislate what ultimately is a moral decision: taking a product for free when it is meant to be purchased, regardless of distribution methodology, is stealing. Period.
I understand that some will disagree with me. But before you do, I invite you to come to Nashville, TN. I'll give you the southern hospitality tour of the city and the surrounding areas. I'll show you the historic points, serve you some sweet tea, and top it all off with a trip to some of the songwriters and engineers most affected by greed in its many forms. I invite you to explain your rationale to them.
Zach...
Thoughts On: Integrity
Matthew Heusser has been writing a lot about integrity lately. I think these are so valuable. I responded to one and decided I wanted to place it here as well.
=======================================================
Matthew,
My father is a soon-to-be-retired pastor. One particular church he was serving had an individual who routinely usurped his leading and authority. It eventually came to a point where my father set forth the necessary actions to have that person removed from their position. Prayer. Council. Meetings. Votes. Those kind of actions.
Needless to say, this created quite a schism in the otherwise picturesque congregation. I witnessed many a friendly face turn sour; anger and condemnation poured almost as readily as the backbiting and slander against him. My father had done irreparable harm to "their church" I was not a little concerned that his decision may have been wrong; look at all the havoc it had wreaked in this once tranquil scene!
Sometime later, we sat at breakfast where he shared with me these words that I will forever cherish, "Son, if it comes down to pleasing God or pleasing man, go with God and take your hits." The church never regained its composure and my father recognized that he himself had to leave if healing were to take place. This is when I learned that integrity costs. Dearly.
Perhaps I'm biased, but I truly believe that my father's actions in those days were used - whether he knew it or not - to expose a truly nefarious 'bug' that existed behind the peaceful veneer of some carnal Christians. If the quality of Christian service were of the utmost importance to these slanderous actors, would their response to this perceived injustice have been so decidedly Un-Christlike? Their reactions proved to me that their "church" was not the Church of God's design, but a social club meant to satiate a more carnal desire. This kind of church was NOT in the specs.
So this has been my observation when it comes to the truth: we can hide from it, but it will eventually come out. The sooner it comes out, the less layers of false expectation have been heaped upon it - reducing the damage and expediting the healing/fixing.
Just think of how the world economy would be today if a few more "lights" spoke out in the financial epicenters 10 years ago.
Thank you, Matt, for your posts on Integrity. May they be more than read, may they be understood.
Zach...
=======================================================
Matthew,
My father is a soon-to-be-retired pastor. One particular church he was serving had an individual who routinely usurped his leading and authority. It eventually came to a point where my father set forth the necessary actions to have that person removed from their position. Prayer. Council. Meetings. Votes. Those kind of actions.
Needless to say, this created quite a schism in the otherwise picturesque congregation. I witnessed many a friendly face turn sour; anger and condemnation poured almost as readily as the backbiting and slander against him. My father had done irreparable harm to "their church" I was not a little concerned that his decision may have been wrong; look at all the havoc it had wreaked in this once tranquil scene!
Sometime later, we sat at breakfast where he shared with me these words that I will forever cherish, "Son, if it comes down to pleasing God or pleasing man, go with God and take your hits." The church never regained its composure and my father recognized that he himself had to leave if healing were to take place. This is when I learned that integrity costs. Dearly.
Perhaps I'm biased, but I truly believe that my father's actions in those days were used - whether he knew it or not - to expose a truly nefarious 'bug' that existed behind the peaceful veneer of some carnal Christians. If the quality of Christian service were of the utmost importance to these slanderous actors, would their response to this perceived injustice have been so decidedly Un-Christlike? Their reactions proved to me that their "church" was not the Church of God's design, but a social club meant to satiate a more carnal desire. This kind of church was NOT in the specs.
So this has been my observation when it comes to the truth: we can hide from it, but it will eventually come out. The sooner it comes out, the less layers of false expectation have been heaped upon it - reducing the damage and expediting the healing/fixing.
Just think of how the world economy would be today if a few more "lights" spoke out in the financial epicenters 10 years ago.
Thank you, Matt, for your posts on Integrity. May they be more than read, may they be understood.
Zach...
Thursday, April 23, 2009
New Word: Stopgapplication
Stopgapplication
Main Entry:stop·gap·pli·ca·tion
Pronunciation:\ˈstäp-ga-plə-ˈkā-shən\
A cheap, throw-away program that is meant to aid in the transition to a more complete and/or robust program, but due to neglect, has become a permanent solution that must be supported at great expense by the enterprise.
Main Entry:stop·gap·pli·ca·tion
Pronunciation:\ˈstäp-ga-plə-ˈkā-shən\
A cheap, throw-away program that is meant to aid in the transition to a more complete and/or robust program, but due to neglect, has become a permanent solution that must be supported at great expense by the enterprise.
Saturday, April 18, 2009
Community 2.0 beta
What follows was originally going to be a response to this post, but it went beyond polite comment length. A snippet of Matthew Heusser's post and my thought afterwards:
-------
"What I'm wondering is - can we use these new social media tools - facebook, (cough) myspace, twitter, instant messanger and so on - to pull together in the way that families did in the 1930's? And what would that look like, exactly?"
-------
IMHO, modernity is aiding a kind of isolationist brand of communication that placates to our 'right' to convenience.
The family nuclear may be embroiled in a kind of diaspora, but I think the idea of community is still alive and well. What I am skeptical of, however, is the quality of community these tools create around us. If all I listen to is what Pandora thinks I like, I end up with a pretty boring selection of songs.
I also am concerned about the means by which we engage in community. To me, technology is springing up to solve a problem we created for ourselves, which really is no solution at all. The irony of me saying this while commenting on a blog for someone I've never met - is not lost on me.
Community costs us. It costs time. It costs our dreams. It costs our entitlement. It suffers when we soak in myopicism. We can expedite the salutations and introductions, but we will not create something that can profoundly affect us (and others) as it should.
-------
"What I'm wondering is - can we use these new social media tools - facebook, (cough) myspace, twitter, instant messanger and so on - to pull together in the way that families did in the 1930's? And what would that look like, exactly?"
-------
IMHO, modernity is aiding a kind of isolationist brand of communication that placates to our 'right' to convenience.
The family nuclear may be embroiled in a kind of diaspora, but I think the idea of community is still alive and well. What I am skeptical of, however, is the quality of community these tools create around us. If all I listen to is what Pandora thinks I like, I end up with a pretty boring selection of songs.
I also am concerned about the means by which we engage in community. To me, technology is springing up to solve a problem we created for ourselves, which really is no solution at all. The irony of me saying this while commenting on a blog for someone I've never met - is not lost on me.
Community costs us. It costs time. It costs our dreams. It costs our entitlement. It suffers when we soak in myopicism. We can expedite the salutations and introductions, but we will not create something that can profoundly affect us (and others) as it should.
Tuesday, April 7, 2009
The Gospel of Record and Playback
Microsoft unveiled its UI Automation capabilities for VSTS 2010 at Mix09. If you are interested, watch this video. Watching it was painful for me.
Some Highly Opinionated Observations
I felt truly bad for Brian Keller (Brian, if you're ever reading this, you did a great job). He was stuck practically sweeping up the ticker-tape from previous presentations. Even he found it ironic that his presentation was stuck at the end of the conference...like so many testing efforts. And like so many testers, he pleaded for feedback from a roomful of developers to help determine if there was significant interest in future talks about testing. Oh, and the technology wasn't helping either.
In 17 minutes, I saw a perfect example of the inherent difficulty with record-and-playback, even though it was capturing a lot of deep information. A functional test was recorded and the first failure was detected upon playback, only it was triggered by errors made while editing the generated code.
Recordin' Payback
Now, don't get me wrong. I am VERY impressed by what Microsoft is putting into the hands of the team - but at what premium? This is where I would like to insert my favorite argument, "Why do I need to pay $X,XXX.YY/seat for a tool that gives me the honor of pushing the button our team was tasked with creating?" How expensive is it to do any/all of the following during development:
- Define unique control IDs
- Define Active Accessibility parameters (y'know...those weird parameter fields you NEVER fill out when adding controls to GUIs in Visual Studio)
- Override control's WndProc methods with custom logic to persist user interactions to log files that can later be used for playback
- Keep logic OUT of the forms so that your application can run headlessly
- Implement Michael Hunter's Automation Stack
- Charge a junior test engineer with the task of learning how Win32 Window APIs, MsAA, Java Active Accessibility Bridge, .NET UiAutomation namespaces, etc. really works.
- Make testability hooks critical features in the application
- Make log files critical features in the application
- Report Source Code changes to the entire team
Does it take longer to implement these things? Maybe. It will definitely take longer to impress any management that merely hovers over the process with all the disinterest one could expect from a super model on a blind date with <insert NASA scientist here>. But I can say this much: if the department I'm in is considering necessary economic cutbacks, I'm glad I won't be competing with maintenance fees for COTS tool X.
My opinion is that these are more valuable for the organization because they invest in the individual(s) and their knowledge, not dumping money into 3rd party solutions to solve what are perceived as technological issues. To me, this is the same as if my parents, after being diagnosed with Diabetes, determined that the problem wasn't their diet but was actually their cooking. And then proceeded to "solve" this by eating the same foods at restaurants because...heck...they know how to cook. Sure, it costs more, but look how much healthier we are!
Hmmm. I guess it depends on the food/restaurant.
Benediction
Finally, on a more personal note: I long for the day when the ridiculous moniker of "evangelist" is purged from the tech nomenclature. I understand that it can bear secular meaning, but its use is imbued with religious connotation. An evangelist is one whose very existence bespeaks of a salvific message. As a tester and a man of faith, I find the idea that a technological solution could save us is...well...laughable; and the very reason I have a job.
Some Highly Opinionated Observations
I felt truly bad for Brian Keller (Brian, if you're ever reading this, you did a great job). He was stuck practically sweeping up the ticker-tape from previous presentations. Even he found it ironic that his presentation was stuck at the end of the conference...like so many testing efforts. And like so many testers, he pleaded for feedback from a roomful of developers to help determine if there was significant interest in future talks about testing. Oh, and the technology wasn't helping either.
In 17 minutes, I saw a perfect example of the inherent difficulty with record-and-playback, even though it was capturing a lot of deep information. A functional test was recorded and the first failure was detected upon playback, only it was triggered by errors made while editing the generated code.
Recordin' Payback
Now, don't get me wrong. I am VERY impressed by what Microsoft is putting into the hands of the team - but at what premium? This is where I would like to insert my favorite argument, "Why do I need to pay $X,XXX.YY/seat for a tool that gives me the honor of pushing the button our team was tasked with creating?" How expensive is it to do any/all of the following during development:
- Define unique control IDs
- Define Active Accessibility parameters (y'know...those weird parameter fields you NEVER fill out when adding controls to GUIs in Visual Studio)
- Override control's WndProc methods with custom logic to persist user interactions to log files that can later be used for playback
- Keep logic OUT of the forms so that your application can run headlessly
- Implement Michael Hunter's Automation Stack
- Charge a junior test engineer with the task of learning how Win32 Window APIs, MsAA, Java Active Accessibility Bridge, .NET UiAutomation namespaces, etc. really works.
- Make testability hooks critical features in the application
- Make log files critical features in the application
- Report Source Code changes to the entire team
Does it take longer to implement these things? Maybe. It will definitely take longer to impress any management that merely hovers over the process with all the disinterest one could expect from a super model on a blind date with <insert NASA scientist here>. But I can say this much: if the department I'm in is considering necessary economic cutbacks, I'm glad I won't be competing with maintenance fees for COTS tool X.
My opinion is that these are more valuable for the organization because they invest in the individual(s) and their knowledge, not dumping money into 3rd party solutions to solve what are perceived as technological issues. To me, this is the same as if my parents, after being diagnosed with Diabetes, determined that the problem wasn't their diet but was actually their cooking. And then proceeded to "solve" this by eating the same foods at restaurants because...heck...they know how to cook. Sure, it costs more, but look how much healthier we are!
Hmmm. I guess it depends on the food/restaurant.
Benediction
Finally, on a more personal note: I long for the day when the ridiculous moniker of "evangelist" is purged from the tech nomenclature. I understand that it can bear secular meaning, but its use is imbued with religious connotation. An evangelist is one whose very existence bespeaks of a salvific message. As a tester and a man of faith, I find the idea that a technological solution could save us is...well...laughable; and the very reason I have a job.
Subscribe to:
Posts (Atom)
