(Nov 27, 2020)
Session was a total loss. Do not read: Still working on letting the Princess get out of room one. After creating doorway-hallways as rooms, we're getting close.
(Nov 26, 2020)
So many things to be thankful for here on Thanksgiving. One small one, I hope, is the Rectangle. Then, a wild Andrew appears!
(Nov 23, 2020)
I guess I should work on putting a player in the room and moving her about.
(Nov 19, 2020)
More tiling, trying to make all the floors align.
(Nov 18, 2020)
A new, possibly better idea about room tiling. That may be enough for the day. We'll see.
(Nov 17, 2020)
More like a game, step by step. There's arithmetic involved. I hate that.
(Nov 16, 2020)
There's a bit of cleanup I'd like to do, but I think we have to start making this act more like a game.
(Nov 14, 2020)
The Zoom Ensemble met last night. Our 'work' gave me some ideas. Plus we have an issue to resolve.
(Nov 13, 2020)
My plan, the day notwithstanding, is to get door markers drawn and, with luck, improve the design. But I'm not sure that's what I'd advise.
(Nov 12, 2020)
I wouldn't call them ideas, exactly, but I have some things I want to try.
(Nov 11, 2020)
Is there a difference between creating a better design and discovering one? I think so.
(Nov 10, 2020)
Some thoughts on consistency, clarity, abstraction, and efficiency. A LOVELY REFACTORING!
(Nov 9, 2020)
Feature or improved code? Maybe a feature spike? Who knows, not I.
(Nov 8, 2020)
My recursive pathfinder doesn't work as I thought it did. This cannot endure.
(Nov 7, 2020)
Today I think I need to deal with tiling, or decide that we can do without it.
(Nov 6, 2020)
I've become aware of some issues, as should be expected in a new venture. The question is what to do about them.
(Nov 5, 2020)
Most of what I did yesterday was dreck, detritus, dung. Not very good at all. I plan to revert today and figure out a new plan.
(Nov 4, 2020)
I can't face reality, so I'll keep working on this little imaginary world. At this moment, no idea quite what I'll work on.
(Nov 3, 2020)
Today, I think, separation of the primeval blob of rooms.
(Nov 2, 2020)
Some pals are Zoom-mobbing on a dungeon program that one of us was working on. I'm gonna try one in Codea.
(Oct 28, 2020)
Today, some code review. No big plans. We'll see what we see. I expect to mention Beck's Four Rules.
(Oct 27, 2020)
We'll look at using invader count as a flag to start a new rack. I don't promise to change it.
(Oct 26, 2020)
I don't feel very bright this morning. Let's see if I can prove it.
(Oct 23, 2020)
I have an idea and I can't wait to try it out. Niagara Falls.
(Oct 23, 2020)
Today's plan: Code review, and targets of opportunity. Short morning, just one new class.
(Oct 22, 2020)
Displaying two player score. Beyond that, we'll see.
(Oct 21, 2020)
Attract mode needs to be turned back on. Maybe we should show both players' scores. What about those buttons?
(Oct 20, 2020)
Let's do more on the two-player game mode. We're probably getting to the hard part.
(Oct 19, 2020)
It's time to start on the two-player option. I have ideas but not precisely a plan.
(Oct 18, 2020)
A lesson from history, a surprise refactoring, and, apparently, a sermon.
(Oct 16, 2020)
Not really, but the saucer is looking to score.
(Oct 14, 2020)
A Slack conversation brought up the question of why I do ... the things that I do.
(Oct 13, 2020)
The Agile Manifesto says that working software is the primary measure of progress. What does that mean?
(Oct 9, 2020)
Users observe the need for more racks of invaders. That's going to get ... interesting. Also Game Over if they reach bottom.
(Oct 8, 2020)
I've convinced myself that a global would be a better way to handle constants than the singleton. Kill your darlings.
(Oct 7, 2020)
Users have detected a problem. Users, do you hear me? Users!
(Oct 6, 2020)
Improving zombie behavior. Sound adjustments. Maybe more. Maybe less.
(Oct 5, 2020)
Let's take a look at a simple attract mode. Zombies!
(Oct 4, 2020)
More with Singletons. And distractions. And no singletons.
(Oct 3, 2020)
Improving our Singleton and using the idea elsewhere.
(Oct 2, 2020)
There's no reason to think that I'm smarter today than I was yesterday, but I am a bit more experienced.
(Oct 1, 2020)
Touch to Start has me thinking that attract mode might be within reach. Things go Very Wrong.
(Sep 30, 2020)
Saucer Scoring, then whatever makes sense to me at the time.
(Sep 28, 2020)
Another day of improv. Let's see what looks worth doing. (Wow, a factory object!)
(Sep 26, 2020)
What shall we do today? I honestly don't know.
(Sep 26, 2020)
Remarks on a Twitter comment from Jez Higgins.
(Sep 25, 2020)
Another defect. I'm starting to feel ... afraid. That's not a good sign.
(Sep 24, 2020)
This isn't Houston, but we definitely have a problem. And it's not a new one. And I'm tired of it.
(Sep 23, 2020)
Things we might do. And I'm thinking about conditionals. The next trick may surprise you.
(Sep 22, 2020)
I have an idea. Let's find out if it's a good idea.
(Sep 21, 2020)
Maybe some tuning. Do we need more start-up settings? Should the test results disappear? What about a FireControl object?
(Sep 19, 2020)
The world is burning, and I'm really just trying to ignore reality, but in addition, I've made a mistake. Another mistake, that is.
(Sep 18, 2020)
If nothing else, you have to admire me for getting over 100 articles out of ancient video games. Let's do another today.
(Sep 18, 2020)
A couple of interesting articles crossed my virtual desk yesterday. Links and some reflection within.
(Sep 17, 2020)
Better scaling, then more with the saucer, I guess. Plus whatever opportunities we spot.
(Sep 16, 2020)
More with the saucer, that's my plan.
(Sep 15, 2020)
I know the voices in my head aren't real, but they're sure ticked off at me for the past few days of messing up.
(Sep 14, 2020)
Well this goes entirely not as planned. Double Arrgh.
(Sep 14, 2020)
In which our intrepid author makes a grievous error: disagreeing with Kent Beck. Or does he?
(Sep 12, 2020)
No, not space pirates all of a sudden. I released a fatal defect yesterday. What's up with that?
(Sep 11, 2020)
A couple of small changes to CodeaUnit and my CUBase template. Then let's see what we can improve about Space Invaders. (Saturday: Arrgh, a defect!)
(Sep 10, 2020)
More to do with bombs, especially targeted ones. We need some refactoring as well. The results may surprise me.
(Sep 9, 2020)
I think today we'll work on the bomb timing, and targeting the rolling bomb. Often, what I think will happen is what actually happens.
(Sep 8, 2020)
Let's continue the bomb dropping logic. Our current design can't do what's required.
(Sep 7, 2020)
Speed indicator; Bomb dropping order; Free player, maybe.
(Sep 5, 2020)
Some recovery from repo problems, some work with the clock, whatever else seems right.
(Sep 4, 2020)
The web site with sounds came back, so I'm scarfing them down and starting to install them. Should be mostly straightforward, he said. Except when my repo locked up.
(Sep 3, 2020)
If you're like me, you're wondering what space invaders eat. The answer will surprise you.
(Sep 2, 2020)
Let's damage shields from below, and try to continue small steps toward 'better', whatever we mean by that.
(Sep 1, 2020)
Let's make missiles explode, and continue improving this design.
(Aug 31, 2020)
I want to figure out why this program makes me feel bad. Then do something about it.
(Aug 27, 2020)
Some improvements. But first, a word about less technical matters, the book `x + y`, by Dr Eugenia Cheng.
(Aug 27, 2020)
A bit of planning, a bit of action.
(Aug 26, 2020)
Let's get a start on scoring. This should be easy enough. But--when is too much way too much?
(Aug 26, 2020)
I woke up this morning certain that some of my bitmap calculations were STILL off. Something has to be done.
(Aug 25, 2020)
A bit more exploding. I'm going to continue to let things get messy.
(Aug 24, 2020)
Let's do some damage
(Aug 21, 2020)
It's my ball and if I want to play with it you're not the boss of me.
(Aug 20, 2020)
One of these two things is not like the other ...
(Aug 19, 2020)
If the world isn't flat, how come these invaders keep falling off the edge?
(Aug 18, 2020)
Today we'll try to fix the collision logic to accommodate our origin changes, and to make the invaders explode.
(Aug 16, 2020)
I've moved the good iPad into the TV room and while waiting for our Sunday festivities to start, I'll set up the project's bitmap assets.
(Aug 14, 2020)
Having decided to move to CORNER mode from CENTER, we've got some work to do. I'm hoping this one isn't interesting.
(Aug 13, 2020)
Is it worse luck when Friday the 13th comes a day early? Or a near miss? Time to dig further into bombs failing to miss shields. (Added Friday: It was worse luck.)
(Aug 12, 2020)
I had no plan. Now I have a plan. Check code clarity, then work on shields. Things go ... oddly
(Aug 11, 2020)
Maybe make the invader bombs do some damage? Or what?
(Aug 10, 2020)
My plan for the day is to retrain myself by reading this code that I've not touched for two whole days, and then to see about moving things forward. My guess: invader missiles.
(Aug 7, 2020)
I think today I'll work on making the invaders march back and forth. Right now they just march forth and forth and forth ...
(Aug 6, 2020)
A friendly demo of shield damage techniques leads to an examination of an interesting coding approach. I need to figure out what I think about it.
(Aug 5, 2020)
It's 6 bloody AM and I'm programming. What's up with that?
(Aug 4, 2020)
Let's see about extending our square invaders game-like thing to be a bit more like a game.
(Aug 3, 2020)
Twelve articles and no product. What's up with that?
(Jul 22, 2020)
In the real game, the invaders' missiles eat away at the shields. How can we duplicate this effect?
(Jul 21, 2020)
An experiment and some planning. Then even some doing.
(Jul 20, 2020)
Learnings from the ancient scrolls. What shall we do about them?
(Jul 18, 2020)
This one is mostly for the record, if it goes as planned. I'm just going to import some more bitmaps. I recommend against reading this.
(Jul 17, 2020)
Let's see what happens if we try to refactor our little spike into something reasonable.
(Jul 16, 2020)
A bit of an idea about marching, and thoughts about spikes.
(Jul 15, 2020)
I need an idea. Representation is important.
(Jul 14, 2020)
I'm wondering how to move these invaders. Let's do an experiment.
(Jul 13, 2020)
Dave1707 from the Codea forum shows a much better approach to converting the bitmaps.
(Jul 11, 2020)
Importing Invaders. How hard could this be?
(Jul 10, 2020)
I'm having so much fun with Asteroids that I thought I'd look at the old Space Invaders game. I'm sure I'll learn something.
(Jul 9, 2020)
Let's clean up that level handling a bit.
(Jul 8, 2020)
Unfortunately, we need to take things to whole new levels. This'll be fun. (Later: not as interesting as some, but it has its moments.)
(Jul 7, 2020)
Let's get some more modernization up in this baby. I'm sure it's the only reason we aren't selling millions.
(Jul 6, 2020)
Let's see about reducing a Singleton or two, and maybe some more modern graphics.
(Jul 6, 2020)
Our marketing people have a challenging request: modernize the look of this game.
(Jul 2, 2020)
It could happen: I've figured out a good way to handle these callbacks.
(Jul 1, 2020)
We'll continue our code review, with particular attention to our tweens, especially that tricky one.
(Jun 30, 2020)
I feel like reviewing some code. What I learn? Kill your darlings.
(Jun 29, 2020)
We're nearly done here!
(Jun 29, 2020)
Some tweaks to hyperspace seem in order, but I feel that this thing is nearly done.
(Jun 27, 2020)
Enhance Hyperspace?
(Jun 26, 2020)
Perfect saucer shots and a start on hyperspace.
(Jun 25, 2020)
Let's put in some options.
(Jun 25, 2020)
Let's clean up the Aimer and look around. I think we need options.
(Jun 24, 2020)
I really want to crack missile targeting. I've made some observations.
(Jun 22, 2020)
Two things go right. One thing goes horribly wrong
(Jun 20, 2020)
Free ships. Beyond that, maybe some reorganization? No, more like confusion.
(Jun 19, 2020)
Let's finish up the small saucer, and how about testing it this time?
(Jun 18, 2020)
Ships Remaining Indicators. After that, who knows?
(Jun 17, 2020)
After some discussion of things we might do, we decide to do GAME OVER. The results will surprise you.
(Jun 16, 2020)
Run tests automatically, dribs, drabs, and oddities. Pretty calm.
(Jun 15, 2020)
Today I plan to give the saucer the ability to aim its shots. I anticipate zero trouble.
(Jun 13, 2020)
A bit of planning and a bit of doing.
(Jun 12, 2020)
Not really an answer, but just a bit of fun.
(Jun 11, 2020)
Some sound, and saucer needs to stop helping so much.
(Jun 9, 2020)
Let's do collisions. And try to TDD them.
(Jun 9, 2020)
We move saucer and ship in the direction of our new scheme, and get rid of the cloning of the collection. Also took a nice walk.
(Jun 8, 2020)
We made a number of useful changes last time. Let's harvest some value.
(Jun 8, 2020)
I'm sure my double dispatch approach will work fine. But the pattern seems simpler than that ...
(Jun 7, 2020)
Some thinking and working on collisions. Is Ron converting to London School???
(Jun 6, 2020)
I've determined that it's time to collapse some 'technical debt', in small, incremental steps.
(Jun 6, 2020)
We need to improve collision detection. I think we have to do it in one go.
(Jun 5, 2020)
I think this afternoon I'll just push a little further on the saucer. Maybe make it dangerous.
(Jun 5, 2020)
I've decoded how to draw the saucers. Let's see about making them fly. That will require some research.
(Jun 4, 2020)
Some rationale, an experiment, some learning, some protection.
(Jun 3, 2020)
We start asteroids on the edge, which gives us an edge on refactoring.
(Jun 3, 2020)
A new approach to steering. And an apology.
(Jun 1, 2020)
I found some better recordings of the Asteroids sounds. And it's time to trigger new waves.
(May 31, 2020)
Stereo, because I can.
(May 30, 2020)
Based on the 'learning' from #25, let's just make bigger buttons.
(May 30, 2020)
Today I decided to experiment with improved controls. The experiments, um, succeeded oddly.
(May 29, 2020)
New ship, new sounds, learn new tricks, amaze your friends, confuse your enemies. Apply now! UPDATED!
(May 28, 2020)
I think today we'll do waves of asteroids. And some tests.
(May 27, 2020)
I've made yet another mistake. Will the embarrassment never end?
(May 27, 2020)
I reckon it's time to kill the ship when it's hit by an asteroid. I have a clever way to do it and a direct way. Which is best?
(May 26, 2020)
I'm feeling like coding a bit this evening. So stand back.
(May 26, 2020)
Thinking about tests and refactoring. The boss wants a feature.
(May 25, 2020)
I think it's time to move more toward objects. Part of our mission is to decide what we like. And: 'No large refactorings!'
(May 25, 2020)
I thought I knew what we had to do today but I was a bit mistaken. We need more, and better thinking ... and code.
(May 24, 2020)
Just arriving 'at work' this morning, I'm thinking we'll make the Ship move. We need a safe place to land first. EDIT: Arrgh, a defect!
(May 23, 2020)
A report on last night, and a 'major' refactoring. P.S. There is no such thing as a major refactoring.
(May 22, 2020)
A quick report on a short project last night, then let's try to get something nearly playable.
(May 21, 2020)
I looked up tween and my tween example and it seems like just the thing. Let's find out.
(May 21, 2020)
First, I'm really feeling the need to improve this code. But maybe it's too soon to do good work? Plus explosions.
(May 20, 2020)
Displaying different shaped asteroids is nice, but we have an issue of size we might work on for a bit. And let's split them!
(May 20, 2020)
Having converted the 6502 asteroid shapes to Codea style, let's plug them in. This design is starting to bug me, and we'll think about that too.
(May 19, 2020)
Dave1707 offers a much better idea for the conversion of Asteroids graphics into Codea. Let's explore it.
(May 18, 2020)
I found the definitions of the asteroid shapes in DVG language. Let's draw them in Codea.
(May 17, 2020)
I spent last night decoding some graphics chip code on computerarchaeolgy.com, and I managed to draw an Asteroid in the classic style. Today, a look at what I found out. Updated: New Resource.
(May 16, 2020)
I've decided how buttons should work. It only remains to make it so.
(May 15, 2020)
To move forward with this project, the ship needs to be able to move forward. And turn. And fire ...
(May 14, 2020)
OK, Asteroids doesn't have a horizon, but today we'll start on the ship. Shouldn't be too hard: it's a triangle.
(May 13, 2020)
I needed to test some floats the other day. Let's improve CodeaUnit to help with that.
(May 13, 2020)
Today we'll clean up the code a bit. It really needs it.
(May 12, 2020)
Today I decided to draw two square asteroids at random angles. All's well that ends well, but I did get confused.
(May 11, 2020)
For something to do, and because it might be helpful to new Codea users, I'm going to implement an homage to the old Asteroids game.
(May 5, 2020)
The Gilded Rose 'kata' exists in many languages, but I've not seen Codea Lua. Maybe I should fix that bug. This is pretty boring. Skim, don't read. Needed for the record.
(May 2, 2020)
Some final thoughts on the Gilded Rose exercise. Well, final for now ...
(Apr 30, 2020)
To round out a dozen, we simplify things a lot. Too much? What do you think?
(Apr 29, 2020)
Experiment with lambda.
(Apr 28, 2020)
Today I think I'll double-check that double-decrement issue. Then I want to see if we can combine those two parallel if nests.
(Apr 27, 2020)
Some really nice progress today ... and one open question.
(Apr 25, 2020)
Dave Nicolette mentioned on Twitter that he was wondering whether a Mob Programming Gilded Rose kata, using Arlo Belshee's 'Read by Refactoring' would make a good video. That gave me an idea.
(Apr 24, 2020)
We're on a path more like re-implementing the program than refactoring it. That's a concern. Can we do better?
(Apr 22, 2020)
Today I plan to move the Conjured item code to the new scheme, and see what that tells me. Something will probably go wrong.
(Apr 21, 2020)
It's noon on Tuesday. I've whiled away the morning. Let's try to make a bit more progress on this code.
(Apr 20, 2020)
Monday, Monday ...
(Apr 18, 2020)
Are we doing it right? Are we in trouble already?
(Apr 17, 2020)
It's April 17th. It's snowing. We're on lockdown. Let's look at Gilded Rose and see what we might do that would be interesting.
(Apr 16, 2020)
Chet, Amitai Schleier, and I played with the Gilded Rose exercise the other day. I think I'll write about it a bit, starting from scratch. [edited]
(Mar 22, 2020)
Wow. Shapr 3D is neat! I wish I could use it. It's so cool I might warp my process just to fit it into my plans.
(Mar 18, 2020)
This may be the most powerful most frustrating 3D application ever created.
(Mar 17, 2020)
To create reasonable creatures or vehicles, I'd need a decent 3D object creation tool. Ideally, since this is an iPad project, an iPad app.
(Mar 11, 2020)
I am supposedly on a course to make the Orc stay within bounds of our little world. Today might be the day ...
(Mar 9, 2020)
It's probably time to work on behavior, so I want to take a bit of time to look forward at what we might do, might not do, and probably won't do.
(Mar 8, 2020)
It's Sunday. My long-suffering wife is prepping for the upcoming election. On my own, I decided to spike motion for my game creature.
(Mar 7, 2020)
I've decided a bit about the 'game' I'm writing in Codea. This should keep me off the streets for a while.
(Mar 3, 2020)
I've been reading examples and searching the web about terrain generation and I'm ready to start sharing. Brace yourself, this gets pretty random.
(Feb 28, 2020)
I feel I've got my feet firmly on the grass, dirt, and bedrock, and I can see what I'm doing. Time to become confused again.
(Feb 27, 2020)
I think I nearly have a solid place to stand: a tiny application that I understand pretty well. Today we'll clean it up and see what's next.
(Feb 25, 2020)
There's trouble, my friends, right here in river city. Is this little project serving my needs? Am I about to break through to the other side ... or to break through the ice and freeze?
(Feb 17, 2020)
We're at a fairly clean point right now. There are a couple of small topics in the code to consider, but we need to figure out a plan for what's next.
(Feb 17, 2020)
Owing to driver error, I lost all my code versions for the Orc program. We'll speak of recovery and then move on.
(Feb 11, 2020)
In response to some question on the codea.io forum, Dave1707 showed me a neat trick with text. It taught me something, and raised some questions.
(Feb 10, 2020)
Despite its great value in the hands of experienced TDDers, the uptake is slow and the practice is often hard to sustain. What's up with that?
(Feb 7, 2020)
The bird experiment worked pretty well. Now it's time to clean it up and consolidate what we've discovered.
(Feb 5, 2020)
I've made a couple of objects move, in two different ways. I figure that topic is spiked. What should I look at next? This session is gonna be rambling, I'll wager.
(Feb 4, 2020)
Today I'll build a different kind of creature, who moves differently from the Orc. The idea is to build up an understanding of where the design needs improvement in terms of flexibility or clarity.
(Feb 3, 2020)
Today I'll review the code, and think about whether to build in some object thinking. I want to ... but should I?
(Jan 31, 2020)
Last time I managed to make a fairly simple Codea Craft program draw an Orc standing on (or near) the floor. Today I plan to make him move a bit, and then to see what I've learned.
(Jan 30, 2020)
Yesterday I managed to move an Orc, by hacking a sample program. Today, let's try to do a clean version to consolidate our learning and ask ourselves some questions. Maybe even begin to answer some ...
(Jan 29, 2020)
I begin trying to make sense of Codea's ambitious and powerful Craft components.
(Jan 20, 2020)
>Alex Bunardzic has been part of a rambling Twitter thread about TDD and people who object to it. One of his concerns is that TDD proponents agree that TDD isn't always appropriate but don't say when. Let's explore that.
(Jan 18, 2020)
I tweeted this on the 18th, in response to something left frustratingly vague by one of my dear colleagues, which caused me to think more deeply about what they said.
(Jan 8, 2020)
Some folks who don't know TDD, and some folks who should know better, have been describing TDD in ways that don't match what I experience. Herewith, some thoughts.
(Jan 8, 2020)
In a Twitter conversation a week or so ago, I was asked to do a TDD video, to show how I do it. A video isn't within scope just now, but here's an article with real TDDed code in it.
(Nov 28, 2019)
A Medium article with an interesting mix of observation and questionable opinion inspires me to write what I hope will be the same. 😈
(Nov 25, 2019)
Despite my concerns about experienced coaches advocating against practices that are often quite useful, there are a few things where I'd at least advise great caution.
(Nov 24, 2019)
Some thoughts from Twitter on 'technical debt', what it is, what it isn't, and why we avoid it.
(Nov 24, 2019)
Why do we do that? One word: Productivity
(Nov 24, 2019)
A number of blogs, tweets and emails have crossed my 'desk' lately, gently or strongly advocating against some generally well-thought-of practices. I'm troubled by that.
(Sep 15, 2019)
This article expresses, in written form, the talk that Chet Hendrickson and I gave at the deliver:Agile conference.
(Sep 12, 2019)
A private note from GeePaw Hill, and a tweet from Brian Marick inspire me to mumble a bit about mindfulness and collaboration.
(Sep 10, 2019)
When I was blurting about the Increment as the most important thing, just the other day, GeePaw Hill mused about collaboration as the most important thing. Today, I'll muse on that and his notion of makers-making-made.
(Sep 5, 2019)
If you are not producing working, running, tested usable software in every single Sprint or iteration, you are not [yet] 'doing' Agile, you are not [yet] 'doing' Scrum.
(Aug 29, 2019)
A question on AgileMentoring.com triggered this little article. Perhaps repetition is the mother of something ...
(Aug 24, 2019)
Kate chats with people at the KALE Society meetup. They discuss some small issues and then one big one. Test Doubles come up. Darts are thrown.
(Aug 5, 2019)
A bit of a screed about naming, triggered by a super idea from Dan Terhorst-North.
(Jul 6, 2019)
We're here to discuss whether Agile ideas fit in with fixed-scope efforts. We'll look at Agile values, principles, frameworks, and practices. The answer is that Agile works just fine.
(Apr 13, 2019)
A couple of people asked me to list all the technical skills required in order to do Agile Software Development. I can't do that, but I can do this.
(Apr 2, 2019)
YAGNI can be a legitimate way to go fast at minimal cost. Skimping on the practices that support YAGNI? That's a mistake. Technical Debt? Not the same thing.
(Mar 31, 2019)
Some words and pictures about the various notions of 'technical debt', or, as I like to call it, wishful thinking.
(Mar 26, 2019)
A recent idea from an Organization That Should Know Better suggested that use of a standard story card format was a good idea. I tweeted 'wrong'. However, Chet and I talked about the subject a bit this morning.
Practices ]
(Mar 25, 2019)
Probably not a good thing to say. Possibly a good thing to think about.
(Mar 13, 2019)
A lovely post by GeePawHill led to a Twitter conversation about up front design, inspiring this article.
(Mar 4, 2019)
First some refactoring - then some behavior.
(Mar 4, 2019)
I decide to follow Braitenberg's approach a bit more closely, driving the wheels at different speeds rather than rotating the vehicle.
(Mar 4, 2019)
Let's Turn - making our little guy turn. And see the comments on Gross Hackery at the end of the article.
(Mar 4, 2019)
I'm playing in Codea with 'Braitenberg Vehicles', just for fun. I'll be sharing what I do with you all.
(Nov 27, 2018)
Agile transformations have little, if anything, to do with Agile Software Development. Let me hook up some connections for you. Bit of a rant here ...
(Nov 26, 2018)
Another tweet-storm, this one about slicing from top to bottom of the software. Slicing provides value, and information, sooner.
(Nov 3, 2018)
I was asked on Twitter what I meant when I said 'Simple, not easy. There's a difference.' I have no idea what I meant then, but here's what I think just now.
(Jul 9, 2018)
A chapter from 'Software Development, How I'd do it'.
(May 10, 2018)
The above was the title of my talk with Chet Hendrickson at deliver:Agile. I'll update this with a link to the talk when it is published. Meanwhile, here are some thoughts.
(Apr 12, 2018)
Where do we place the responsibility–surely not blame–when things don't go well on a Scrum team? Who's responsible for taking action? (A bit of something I wrote on Twitter, lightly edited.)
(Apr 3, 2018)
I'm not finished ripping Scrum a new one, but I don't want to come off all negative. So let's talk a bit about what I'd like to see done.
(Apr 2, 2018)
We've spoken often before about the backlog. Let's get down and dirty today. Delenda est backlogus or something like that.
(Mar 29, 2018)
If your factory pollutes the river, you're supposed to clean it up. If you plant kudzu to combat erosion, you are responsible for its destruction of everything in its path. If you swallow a spider to catch the fly, and die when you swallow the horse, of course -- it's on you.
(Mar 28, 2018)
The Sprint causes serious problems in many Scrum installations. What are some ways to mitigate those problems?
(Mar 27, 2018)
Let's consider the Scrum Sprint. What's the strongest case we can make against it? It harms people, how's that for a case?
(Mar 27, 2018)
In the spirit of inquiry, fairness, and a generally bad attitude because it's raining, let's consider how strong a case we can make against Scrum. It might be fun.
(Mar 22, 2018)
These articles about hills to die on are in response to a continuing trope on Twitter and elsewhere, to the effect that X is bad, or Y is better than X, and therefore don't do X do Y. These are amusing, provocative, and rather frequently ... mistaken.
(Mar 21, 2018)
When are Sprints a good idea, when not so good? What are their values, and their costs?
(Mar 20, 2018)
Bashing of Scrum (and other methods) is a common form of Internet Entertainment, and not without reason. Some of the concerns are more accurate than others. Choose carefully which hill you want to die on. In this series we'll explore some hills.
(Oct 27, 2017)
We keep re-reading about the FTP object, and re-learning how it works. Then a week later, we've forgotten.
(Oct 19, 2017)
Last time we zeroed in on the FTP capability of our new cut at my 'iPad' project. Today, I'm hoping we'll TDD an FTP object.
(Oct 10, 2017)
Against all my best judgment, we decide to 'start over' on this tiny product.
(Oct 3, 2017)
We've not done work on this for ages. Tozier and I try to figure out what's up.
(Sep 21, 2017)
Just a bit of reflection after two weeks off. Next week, I hope we'll actually do something. Today I remember the Boy Scout Refactoring Rule.
(Sep 7, 2017)
It has been a week since Tozier and I last worked, and I spent most of the time under repair. I'm thinking we'll work on the date-sensitive stuff. I'm mostly wrong.
(Aug 29, 2017)
Chet has me nearly convinced to move my site base to Dropbox. Today we'll talk further about that and about moving the product forward.
(Aug 25, 2017)
I decide to spike a bit on folder and file manipulation.
(Aug 24, 2017)
When this article appears, it will have been processed by our new (MVP) iPad Transfer Mechanism. 'Thank you for pressing the self-destruct button.'
(Aug 23, 2017)
Tozier and I learned something about clean code yesterday. Topics may include bits of Confirmation Bias and fragments of Coding Morality.
(Aug 17, 2017)
You'll meet them where they are. You'll work with them where they are. And when you leave, they'll still BE where they are.
(Aug 15, 2017)
I thought today we'd work on the triggering mechanism for the iPad build. Instead something important happened! (Clickbait)
(Aug 4, 2017)
I'm wondering, today, whether the Increment could be the driver for all 'Agile' software development.
(Aug 3, 2017)
If I were a REAL product owner, I'd be pressuring the hell out of my team right now. So I will. How did that work out, Ron?
(Aug 1, 2017)
We'll try to focus on building features today, but there are lurking issues in those magical incantations we do about Dir and FTP classes.
(Jul 31, 2017)
Today, let's talk about cadence. Iterations, Sprints, to have them or not, that is the question.
(Jul 28, 2017)
Thoughts about Technical Debt
(Jul 28, 2017)
Time to do some work after the heavy refactorings involving quantum mechanics. Let's see if we remember how.
(Jul 26, 2017)
I was asked a question about one of today's modern approaches to Agile software development. Here are some general thoughts.
(Jul 25, 2017)
In this short session, we inch forward and wind up in a better place. Not THAT better place. I just mean the code is better.
(Jul 20, 2017)
What's next for the iPad project? Refactoring, it turns out.
(Jul 13, 2017)
We knew last Thursday that we had an issue with folders and folder names. A week later, we dig back in.
(Jul 12, 2017)
An innocent email question leads me off into wildness and chaos. What's new with you?
(Jul 6, 2017)
We really hope to get from end to end today. You won't believe what happens next. Unless you're paying attention.
(Jul 4, 2017)
Tozier and I shoot again for end to end on the iPad project. What happens next? As I write these words, I don't know either.
(Jun 30, 2017)
We're clearly closer than we were, and it feels very close. But not as close as we thought.
(Jun 28, 2017)
Bill and I decided to do a bit more on the iPad publication project. You won't believe what happened next. Unless you expect trouble.
(Jun 26, 2017)
What if I were to create a new software development framework? I'd never do that, but if I did, what might I do? Let's find out. Let's talk today about Whole Team.
(Jun 25, 2017)
Terms seem important to me today. (Revised 2017-07-05: Techniques)
(Jun 25, 2017)
Some Notes on the theme "If I were going to create a new framework, what would it be?".
(Jun 20, 2017)
Today Tozier and I will do a Quick Design Session and start TDDing something that will, I hope, turn into the actual app.
(Jun 16, 2017)
In which we suddenly realize something about Tozier.
(Jun 15, 2017)
Tozier and I start with some Ruby code for FTP or something.
(Jun 14, 2017)
Tozier and I try some things.
(Jun 10, 2017)
I'm told the iPad is the new Mac, or something. Anyway, it'd be nice to be able to write articles on the iPad and get them on my web site without lugging around my Macbook.
(Feb 19, 2017)
I've been trying to learn a 3D drawing program. Yesterday I noticed that I was working but not learning.
(Jun 27, 2016)
Some interesting tweets make me wonder: if I were creating a method today, what would it be?
(May 27, 2016)
Over the past few days, an ancient twitter thread accidentally revived, talking about how you don't need quality code when you're just validating assumptions. What do the ants have to say about that?
(Dec 18, 2015)
I was asked a question via email and liked my answer enough to write it up. I hope you like it too.
(Nov 3, 2015)
A Twitter thread gets me thinking about Mock objects and whether they're more than just a matter of personal taste.
(Nov 2, 2015)
Let's try this again. The previous article was not clear to all readers. I suppose this is often the case with my work but in this case I thought I'd try again.
(Oct 30, 2015)
At the time of the Agile Manifesto, we all did the best we knew. Here's something I wish we had done. (Revised)
(Oct 18, 2015)
The Backlog is an essential artifact in Scrum. It may also be the root of serious dysfunction.
(Oct 12, 2015)
Generalizing from a few results isn't proof. In this article I'm going to prove that by generalizing from a few results. Wait, what?
(Jul 29, 2015)
If we can't build software well, all our Agile is for nothing.
(Feb 13, 2015)
Content from XProgramming has been moved to this site. Some brief retrospective thoughts.
(Oct 7, 2014)
Robin Dymond asked me to write about making stories small. Well, there's this.
(Apr 1, 2014)
My friends and colleagues in the #NoEstimates circles have some good ideas, as I've commented elsewhere. I'm left, though, with a couple of concerns.
(Mar 27, 2014)
The Agile Manifesto says "Deliver working software frequently". Learn to do that. The rest will follow.
(Aug 23, 2010)
At the Agile Developer Skills course at the Raikes School, I commented that we don't usually test accessors. But we test everything. Is this a contradiction?
(Aug 5, 2010)
Jon Bettinger has found a failing test! Excellent!
(Aug 4, 2010)
Philip Schwarz provided a nice-looking implementation. Let's look at it and try to build on his ideas.
(Aug 4, 2010)
My critiXXXXX advisors expected a more function-oriented solution. Here's something a bit better, perhaps ...
(Aug 3, 2010)
I've been working with Scala a bit, just to learn what it is. I've found it interesting, if frustrating. Here is a bowling experiment.
(Mar 8, 2010)
Uncle Bob Martin comments on "Developer Certification WTF?" in a recent blog entry. Let's talk a bit about developer quality, and some things that are being done about it.
(Mar 6, 2010)
Choose your tools wisely, that they allow for the development of your skill.
(Mar 5, 2010)
Jim Shore has written a short item with the above title. Let's think about it a bit.
(Dec 23, 2009)
There are essential practices in Scrum and Agile. Not because we say so. It's the nature of the beast.
(Apr 10, 1998)
They're not XP's rules, they're the team's rules.
(Apr 8, 1998)
(Mar 24, 1998)
The C3 project team has voluntarily adopted a large number of practices. Every team member follows these practices closely. We have found that designing, coding, and testing in a consistent way means that the team becomes quite well integrated and that team members know just what they can expect from each other. Software quality is kept more uniform, and at a high level.
(Mar 23, 1998)
We call the combination of frequent release with tests at 100%: continuous integration, relentless testing. The result is rapid progress and a system that always works better than it did the day before.
(Mar 23, 1998)
Simplicity + Communication + Testing = Aggressiveness
(Mar 23, 1998)
We do use class comments to describe what a class is for, and sometimes how it works. We probably don’t do this often enough, and we probably don’t keep them as up to date as we should.
(Mar 23, 1998)
There is some written documentation for the software, more commonly interpreting requirements than documenting design. Sometimes we document an approach to some particularly difficult area. We "never" document code.
(Mar 23, 1998)
We use CRC card design almost exclusively. Developers, managers, and users are all comfortable with the cards, since they are non-threatening. Moving the cards around makes it easy to describe how classes work, and it is easy to throw a couple of cards away and create new ones if the design isn’t working out.
(Mar 23, 1998)
A few times during the project, a team took on a task and did not complete it within the iteration. They wanted to complete the task and kept it for the next iteration. This generally turned out to be a mistake.
(Mar 23, 1998)
Here are a few of the key code formatting patterns we use. The names and some of the examples are from Kent’s book.
(Mar 23, 1998)
Never underestimate the power of inspecting and changing things with Inspectors. Perhaps your GemStone database is messed up: a bunch of People have excess Parts in certain Bins.
(Mar 23, 1998)
In general, we do not comment our methods. Beck teaches that a comment is used to indicate that a method is not yet finished. That’s how we use them.
(Mar 23, 1998)
We all code to the exact same standards. We name our classes and methods the same way, we format code the same way.