Incuriosity Will Kill Your Infrastructure
yellerapp.com
yellerapp.com
I once worked with a hardware engineer that would verbalize his thought process very explicitly, as we worked in the lab.
He would say things like: "Ok, I'm about to let the target out of reset. I expect to see the I2C bus controller initiate a master read of address 0x80."
Then he would do it, and look at the oscope, and see if his expectation was confirmed.
If it wasn't, or was fishy in any way, he'd say something like "OK, I have a mystery. I expected to see <X>, but I saw <Y> instead. I'm investigating this before I go further."
So, you get the drift.
For this guy, the rule was "NO MYSTERIES."
Working with him was a fantastic and valuable experience.
I'm a biomedical engineer by way of Hopkins and would love to be able to ask you questions about medical device development.
If this is something you'd be interested in, what's the best way to reach you? Conversely, my contact info is in my profile description.
Do you have other stories or experiences to share about programming on "strict" systems like medical devices ?
Stuff like coding styles, rules, practices and the likes.
One benefit of experience is that you gain a better intuition about your hypotheses, and you know how to more quickly devise "experiments" to test them. Also if you know more things in depth (because of prior digging) you don't have so many rabbit holes to explore.
Another benefit of waiting until you understand is that you don't make bull-in-a-china-closet edits to unfamiliar code. As a freelancer I have a strong bias towards adopting the style/patterns/architecture of whatever code base I'm working in. I wish more people did this! More often programmers skim through some code and start making changes, without trying to learn why the code is how it is or what other parts of the system need it that way.
Since this is the Internet I feel compelled to add: of course moderation in all things.
As Adam Savage [1] says, "The only difference between science and screwing around is writing it down."
I don't follow this process for every problem I encounter, but when I have a really intractable issue, where nothing I've thought of seems to work, I start a "lab notebook" (usually a few sheets of printer paper). I write down all my assumptions, and start designing experiments to test each one in turn. It's a fair amount of overhead (which is why I don't use this approach for everything), but when all else fails, the scientific method powers through.
Not true at all, though publishing is an important step. Understanding what is going on is important. A startling revelation that the MythBusters guys have no understanding of statistics was when they invented their buttery-toast dropper. Doing a 'calibration' dry run (literal dry run!) with toast with one side marked with an X instead of butter, 7 out of 10 trials read one way. Adam remarked "This isn't random enough - it should be 5!".
The Mythbuster guys get 11/10 for curiosity and the spirit of investigation, but 4/10 for scientific rigour :)
Line above commented out seems to fix Bug 34541
This makes for an impressive code land mine and creates some seriously unhealthy superstitions.As for how to account for that work in your velocity, I don't believe it is realistic to size a story for fixing a potential issue (not to mention the difficulties in sizing bugs anyway [1]). However, it is possible (or at least a bit easier) to size a story for research that answers a specific question as its acceptance criteria -- in this case, the acceptance criteria for this article's situation would've been something like 1) "will latency continue to rise?" and 2) if so and it is unacceptable, what is the cause and add an implementation story to the backlog"
Some may say "well, how do you know how what is causing the issue", and if no one really can figure it out the answer to the research story question and the bug has manifested itself as an emergency, then sure your velocity will tank as you break the sprint(s), but it's up to the team/business to understand how to remove outliers for an accurate velocity.
[1]: http://www.agileforall.com/2010/05/agile-antipattern-sizing-...
It's worth noting that I agree with your point and also don't believe Scrum is a panacea, but I am starting to understand its appeal from a business perspective.
Velocity shouldn't be used to measure how "good" the team is.
Of course you could say something in standup about it, but you and I both know you'd probably be gently admonished for wasting time on it and asked to go back to what you were doing. because ... sprint goals, quarterly objectives yada yada yada.
If you make doing this enough of a habit, it might show up in your one on ones and evaluations even. There goes your big annual raise.
In essence, you have to do your work AND go figure out these sorts of things on your own time. Thats how you find yourself putting in 50-60 hour weeks, but its okay because you're a "passionate" engineer.
Either way The business wins.
You're totally right, I need to change the wording there. The marketing site doesn't run over https - I'm bootstrapping, with relatively limited funds, and so can't properly afford the SSL costs for a CDN (my current one wants to charge $600 or so a month for serving ssl requests).
The webapp and the api are all HTTPS only.
I should change the wording on that page to reflect that.
While I agree with the gist here (heed warning signs, proactively preempt failure), there are literally hundreds of "fishy" things, many/most of them low impact, that I could investigate on a given day, and my time is bounded.
At the semi-formal dance of distributed systems, meandering investigation should be chaperoned by ruthless prioritization.
Huh, interesting. That's my setup as well. I'm not super great at CSS (yet), so not too surprised by a few minor visual bugs like that. I'll fix it soon. Thanks so much.
Being:
<div class="span10 offset3">
Then swapping out the "margin-left" property for a "padding-left" for selector ".row-fluid .offset2:first-child" should fix the problem.