(Oct 20, 2021)
One small improvement. Then I want to consider the bigger picture: if I were starting over, how would I do this program differently?
(Oct 19, 2021)
Late start today. Not sure what to do. Try the hex map again, I guess. Feeling meh. But it works!
(Oct 18, 2021)
Let's continue to prepare the Dungeon class to work on hexes as well as square tiles. I expect no real trouble. I look forward to learning why my expectations will not be met.
(Oct 17, 2021)
I have in mind a fun small win on the path to hexes: a multiple dispatch. If nothing else, you may be surprised at what I think is fun. (And I do get in the weeds a bit along the way.)
(Oct 16, 2021)
I said I wasn't going to write an article today. Was I wrong? I want to just look around. And some thoughts on self improvement.
(Oct 15, 2021)
I found the defect, and I think I can fix it. Let's find out. Then I rationalizeXXX explain something.
(Oct 15, 2021)
What's the deal with Jira? Is it a bad thing, or the worst thing?
(Oct 14, 2021)
I'm thinking of adding a shark to the game that you can only escape by jumping over it. Today, however, a bit more on Maps.
(Oct 13, 2021)
Already wrote one article today. Not sure about this one. Probably I'll find an acorn somewhere.
(Oct 13, 2021)
We were thinking about words for code. Let's consider these. New! Improved! Now with more words!
(Oct 12, 2021)
Well, I guess there's nothing for it but to forge ahead getting a hex map to draw. I rather regret committing to this idea.
(Oct 11, 2021)
Can I make a hex map in the game yet, or do I need more than a couple of changes? I don't know. Let's try to find out. Spoiler: Not great, not horrible.
(Oct 10, 2021)
Today, I'm going to try a fun exercise to demonstrate Codea's translate, scale, and rotate.
(Oct 9, 2021)
Today my cunning plan is to try to make the Map the primary container of Tiles, and the tiles collection secondary.
(Oct 8, 2021)
My commitment for the day is to be using the new Map objects for something in the actual game. I think I see at least a couple of ways to go. Spoiler: It's in!
(Oct 7, 2021)
Today I'm going to start plugging the new Map classes into the actual Dung program. I expect a little chaos. For large values of 'little'.
(Oct 6, 2021)
Let's keep on drilling. Real soon now, we'll have hexes in the game.
(Oct 5, 2021)
Another idea? A possibly better idea? We don't pay you to think, we pay you to do.
(Oct 4, 2021)
I promise, I'm nearly ready to plug in the new hex coordinates. There's just one more thing that I want to do ...
(Oct 3, 2021)
In Agile, there's no design. Everyone knows that. So why is there so much design in Agile, and how can they go so fast?
(Oct 2, 2021)
No, not really. Cartesian coordinates, perhaps. Yesterday I was optimistic at session end. How will I feel today? Let's find out.
(Oct 1, 2021)
Frequent readers know that I try to keep my code well-organized and well-designed. No one is perfect. Well, I'm not. Today we face mistakes.
(Sep 30, 2021)
Today I'll do the first experiment, or a few of them, putting hexagonal tiles into the Dung program. I expect this to get really messy, but with luck, we learn a lot.
(Sep 29, 2021)
Today I want to step back and write about screen transformations, translate and rotate. They are fairly natural to me, but some folks are not so familiar with these powerful tools.
(Sep 28, 2021)
In a fit of madness, I decided to try to convert the square-tiled Dung game to use hex tiles. Let's see how well my theory of programming holds up. Just inspection and planning today.
(Sep 26, 2021)
I have to face facts: I simply enjoy writing code and making it better.
(Sep 25, 2021)
Today we'll talk about why no one should do what I've been doing the past few days, and intend to do for a few more.
(Sep 24, 2021)
Bill Wake found an interesting site about hexes (not the magical kind) and now I'm not sure what I want to do.
(Sep 23, 2021)
Let's push this Hex spike a bit further, see what we can learn. Come on, it'll be fun. You can hold my beer. Well, chai.
(Sep 22, 2021)
An idea from the Zoom Ensemble last night has caught my attention. Let's explore it.
(Sep 7, 2021)
Two ways of doing a thing appeared on the Codea forum today. I'd like to see whether we can transform the one into the other in small steps.
(Sep 7, 2021)
Another in my continued attempts to come to terms with what Scrum is rather than what it could (and should?) be.
(Sep 4, 2021)
Satire? Idiocy? Monkeys? Why not all three?
(Aug 25, 2021)
Again today, I take my writing prompt from GeePaw. I have a good purpose in mind. (Added: Dammit. I didn't expect to end up here.)
(Aug 23, 2021)
Is it useless marketing BS? Certainly there are issues. [CW: language, systemic racism/sexism]
(Aug 22, 2021)
Events in a few worlds lead me to write a few words about how we treat each other.
(Aug 15, 2021)
When someone shows you who they are, believe them the first time. -- Maya Angelou
(Aug 10, 2021)
I've had a reply from the Chief Product Owner of the Scrum Alliance.
(Jul 28, 2021)
I think that today I'm going to write about joy. I have no idea where this goes. Walk with me ...
(Jul 23, 2021)
I mentioned that the dungeon program is boring me on Twitter and asked for ideas. Andreas asked about software design. Practice, folks, practice!
(Jul 21, 2021)
Are we ready to lock classes? Probably not yet.
(Jul 20, 2021)
I'm bored with this program. What shall we do about this?
(Jul 19, 2021)
Jeff Patton writes about the importance of outcomes. Yes, and ...
(Jul 17, 2021)
I've think I've figured out the disconnect between my view of the Scrum Developer priorities, and those of the Refactoring Team who created the new CSD track.
(Jul 16, 2021)
Responses from Scrum officials to my recent Scrum articles here and on more private slacks have not been favorable. I think I'll sum up and move on for now.
(Jul 13, 2021)
I've chosen a large windmill at which one might tilt. Could we, of good heart and great skill and courage, fix Scrum? If so, should we?
(Jul 10, 2021)
The End Scrum Now site, a bit of a rant, raises important issues. Let's explore some of them.
(Jul 8, 2021)
That Temporal Coupling bothers me. What are some ways to resolve it?
(Jul 7, 2021)
I believe that I have fallen into my own trap, Could this be the end of our intrepid hero? Click on in and see.
(Jul 6, 2021)
Just button highlighting, I guess, unless we see something interesting. Ooo, joy! Some tests!
(Jul 5, 2021)
Herewith, some remarks pro-Scrum, and a reminder that Scrum is not as good for developers as it might be. Even some advice to developers.
(Jul 5, 2021)
On June 19th, I sent this email to the CPO of the Scrum Alliance. I have had no reply. In a second article today I will offer some related ideas.
(Jul 4, 2021)
No idea what I'm going to do this morning. Or too many ideas. Let's find out.
(Jul 3, 2021)
One nice thing. One at a time. One nice thing at a time is enough.
(Jul 2, 2021)
A week ago, I posted a Scrum-related survey. Today, the results of that survey, and my comments.
(Jul 1, 2021)
Let's try our new FSM and query logic in the Horn Girl NPC. Watch Jefries add mass duplication and then reduce it!
(Jun 30, 2021)
Those words came up in our Zoom Ensemble last night, and they're part of my theme this morning.
(Jun 29, 2021)
Fantastic day! Completely augured in. Recovered. Brilliant.
(Jun 28, 2021)
OK, I like the Finite State Machine, but I don't like it enough. What can we do to make it better?
(Jun 27, 2021)
Let's get some tests directly on the Finite State Machine. Maybe give it a little shot of YAGNI.
(Jun 26, 2021)
Let's do an experiment with a Finite State Machine, to get a sense of whether we want one.
(Jun 25, 2021)
Extremely Artificial Intelligence: Let's see if we can give our NPC some rudimentary smarts.
(Jun 24, 2021)
Scrum asks for an Increment every Sprint. Of all the Scrum rules, this one is most important for developer success and survival.
(Jun 23, 2021)
A Quest! Let's have a Quest.
(Jun 22, 2021)
Let's try to finish moving InventoryItem to publish-subscribe, and maybe centralize Item creation. And look for Watch This near the end.
(Jun 21, 2021)
Are you wondering why i don't start a new program? There are reasons. Also: let's take the Bus.
(Jun 20, 2021)
Maybe I'll fiddle some more with InventoryItem, Loot, and Decor. Depends what time breakfast is.
(Jun 20, 2021)
Some consolidation and refactoring is what I have in mind. What will I really do? At this moment, I have little or no idea.
(Jun 18, 2021)
A few(?) more thoughts on the battle between Scrum and Software Development. A review of some past thoughts, and some of today's.
(Jun 18, 2021)
I just want to program a bit after all the screed-writing. No promises on what I'll do or whether it'll be any good at all.
(Jun 17, 2021)
The Scrum Alliance mission? Let's talk about that. Fail better.
(Jun 16, 2021)
I'm at a loss to find anything interesting to do. But I bet I can find some code that could be improved. Thinking about an idea from Bruce Onder leads in an interesting direction.
(Jun 15, 2021)
As often happens, this article didn't go where I expected. I hope you like where it went.
(Jun 15, 2021)
Well, with that musing out of the way, what shall we program today?
(Jun 14, 2021)
Today I have in mind an improvement to Announcer, because I think it'll be nice and will give us something to wonder about.
(Jun 12, 2021)
In which our intrepid author muses at length and decides to keep on keeping on. And to do some random stuff, no doubt.
(Jun 11, 2021)
Some odds and ends, a nice feature, and a bit of trouble. And the most distracting thing ever!
(Jun 10, 2021)
Let's pretend we care about that inefficiency in drawingOrder. Also a momentary loss of momentum.
(Jun 9, 2021)
I don't usually predict an outcome but today I think something good is going to happen. Let's find out.
(Jun 8, 2021)
Today, more refactoring to remove connections between dungeon objects and their tiles. And, as always, some thinking.
(Jun 7, 2021)
Two starting ideas: Quest, and removing duplication in the dungeon objects. These are not unrelated. And: as so often happens, we go in a surprising direction.
(Jun 5, 2021)
Maybe some wind for my sails. A need for better notes. An idea from Bryan's experiment with Unity. A thought about apps without programming. Everything is hopeless. Not necessarily in that order.
(Jun 4, 2021)
I am really tired of this game. I think I understand why. Is there anything I can do about it?
(Jun 3, 2021)
Doors, or I'll know the reason why! Just in: Ron bites bear!
(Jun 2, 2021)
Let's advance the game, and try to advance our 'making' tech at the same time. This just in: Bear bites Ron.
(Jun 1, 2021)
What are you doing, Ron, how do you do it, and most of all, WHY?
(May 31, 2021)
Let's set some direction. I'm concerned that I'm off track on what is of value to work on. Possibly it's residual fear from decades ago.
(May 29, 2021)
I think we'll do a bit more on our 'Making App', the part of our code that helps us make the 'Shipping App', the product we ship. (We decide to bless this effort.)
(May 28, 2021)
One more challenge in the class/method finder, then maybe we'll think about what we actually need in our Making App.
(May 27, 2021)
I've had an idea about a change--perhaps an improvement--to the class/method reporter. As I write this, even I don't know what happens next.
(May 26, 2021)
More work on our nascent Making App. Dave1707 has some interesting tricks in his programs. And we have a fine small example of refactoring 'legacy' code.
(May 25, 2021)
Dave1707 from the Codea forum provided an interesting program. I would like to bring it under control.
(May 24, 2021)
Turns out we do a number of small but nice, and somewhat interesting, things. Not much stumbling, sorry. I know you love to see me mess up.
(May 23, 2021)
Let's press on a bit with our learning level. And, I have an idea that may be a bit difficult to implement. Let's hope so.
(May 22, 2021)
'With a little help from my friends', my tests are now fast. All of us are greater than any of us. This is important.
(May 21, 2021)
A bit more on the Learning Level, I think, but I'd really like to make some progress on untangling some mistakes, er, learning opportunities in the code.
(May 20, 2021)
Let's put some announcements in the rooms of the learning level. That should be easy, and it should give us a sense of how designers might want to work.
(May 19, 2021)
I think today I'll work on room announcements. I have a partial idea.
(May 18, 2021)
I have yet another idea about how to handle switching between developer and player modes. This might be what Bruce Onder was talking about.
(May 17, 2021)
Variations on an Idea from the Wild Blue Onder. No success.
(May 17, 2021)
I guess we'll work on the Learning Level, but honestly I'm getting a bit tired of this project. Must think about that.
(May 16, 2021)
A random idea for an interesting dungeon layout may give me some more insight into the tools needed for designed dungeons.
(May 15, 2021)
Still making a place for our new designed dungeon capability to stand. What I'm about to do may surprise you, and raise questions.
(May 14, 2021)
Let's take another swing at moving dungeon creation out of GameRunner. We'll focus on creating our learning level's layout.
(May 12, 2021)
Untangling the knots. Let's see if we can clean up the coupling between GameRunner, tile, and their friends.
(May 12, 2021)
Working toward the Learning Level. Is it time to start on our 'Making App'? We do start. Then we revert.
(May 11, 2021)
Planning the Learning Level. We need to do a bit better than our usual small feature ideas here. Get some shape up in this b- baby.
(May 10, 2021)
The business people--me, with my business hat on--want to be able to better define levels in the game. The tech people--my other hat--get to figure out how to do this.
(May 8, 2021)
We need puzzles. How do we address a big problem like 'puzzles'? Same way you eat an elephant.
(May 7, 2021)
After a brief digression to build polyominoes, we are back in the dungeon. I'm beginning to wonder why. And: Why XP is The Way.
(May 6, 2021)
I was going to move back into the dungeon today, but realized I wanted to talk about what I learned doing the ominoes exercise. Here goes ...
(May 5, 2021)
It is of course necessary to display yesterday's polyominoes, for our viewing pleasure.
(May 4, 2021)
The Zoom Ensemble folks have been playing with polyominoes. I can't resist embarrassing myself by trying them.
(May 2, 2021)
I shipped a defect yesterday. And there was a test for it! What happened?
(May 1, 2021)
More about the crawl. But let's see if we can get the Mimic animated the way we'd like. Unfortunately, these two ideas are not unrelated.
(Apr 30, 2021)
Spikes. My Darling Crawl. And a simple change generates many reverts.
(Apr 29, 2021)
Will this thing never end? More on the Mimic. User(!) concerns. Pluggable behavior.
(Apr 28, 2021)
I'm dismissing my desire to convert to mesh for animation. Let's get that Mimic hiding.
(Apr 27, 2021)
Dave1707 wrote a nice demo showing how to get project information in Codea. Let's think about what it tells us. No code, just think
(Apr 26, 2021)
More with the Animator. Maybe we can get it plugged in today. That would be nice.
(Apr 25, 2021)
Improving the Animation idea. Moar cohesion, less coupling. At least that's the plan.
(Apr 24, 2021)
We're animating our Mimic. Naturally, that leads us to thoughts of coupling, cohesion, and Beck's Four Rules. Naturally.
(Apr 23, 2021)
A bit of a tricky issue today. We want our Mimic to have different animation sequences, depending on what's going on. No other Entity does this at present.
(Apr 22, 2021)
I 'created' new art for an open chest. Then let's see if we can make the Mimic behave differently depending on its mood.
(Apr 21, 2021)
Convert Chests to look like Mimics. Look for other interesting things to do. Short morning today. But some progress.
(Apr 20, 2021)
Let's let the Mimic be oversize. Oh, that works nicely!
(Apr 19, 2021)
There's this thing called a Mimic ...
(Apr 18, 2021)
Today, for fun, I decided to give Decor better query messages. And it was fun.
(Apr 17, 2021)
More work on untangling the objects. Perhaps we'll find some interesting refactoring. Maybe a feature?
(Apr 16, 2021)
We'll start with the garbage collection issue and move on from there. We should be able to remove all Floater's references to GameRunner--if nothing else goes wrong.
(Apr 15, 2021)
Let's drive the bus a bit further. And, I've seen a suggestion for a slightly different angle. We should consider that. Ohhh and a garbage problem!
(Apr 14, 2021)
Let's catch a bus and see what happens. Maybe it will take us to the WayDown.
(Apr 13, 2021)
Once more, into the breach ... is it good luck when Friday the 13th falls on a Tuesday? I may need some good luck.
(Apr 12, 2021)
First, some planning. Then we consider why it's hard to test this thing. What will we decide? I don't know yet. P.S. Turns out to be one of THOSE days.
(Apr 11, 2021)
Alistair found some ancient estimate for a KWIC program and challenged folks to implement it. I'm picking up the challenge.
(Apr 10, 2021)
Deleting tests, not writing tests. A moral issue? Hardly. Also an interesting discovery about InventoryItems.
(Apr 9, 2021)
Some cleaning, I expect. And a user(!) has discovered a defect!
(Apr 8, 2021)
I guess we're going to have to plan a bit today. Maybe a bit more fun with the new more intelligent Decor?
(Apr 7, 2021)
It's interesting how one idea leads to another. I'm sure I have too many ideas now, but some of them seem interesting. The dungeon objects come to life!
(Apr 6, 2021)
Every time these organizations stamp out a new ScrumMaster, there are programmers somewhere whose lives will be made worse.
(Apr 6, 2021)
After getting my blood flowing with a bit of a rant, let's see if we can get a venomous creature up in this ... place.
(Apr 5, 2021)
I hesitate to say that we'll work on poison and antidotes, the way things have gone, but one of these days it could happen. Is today that day? Click to find out.
(Apr 3, 2021)
Musing on Technical Debt. A very interesting series of tiny commits leading to an important change: my invariant.
(Apr 2, 2021)
We have a defect to fix, and, I suspect, a lesson to re-learn. Then, maybe we'll look at poison and antidotes. And liddle lamzy divey.
(Apr 1, 2021)
I think today I'd like to get started on Poison and Antidotes, and on eliminating death from the dungeon. Is that what I'll do today? Maybe. One never knows, do one?
(Mar 31, 2021)
With a handle on pre-planned dungeon layouts, we need to decide what to do next. Have we squeezed all the juice out of this program yet? No real code today, just one little experiment.
(Mar 30, 2021)
Marketing makes an impossible demand. Can we make it possible? If not, does that mean incremental/iterative doesn't work? Is 'Agile' wrong???
(Mar 29, 2021)
Let's make icons in the Inventory do things. Pick something easy, it's Monday up in here.
(Mar 28, 2021)
A good idea from Bruce. Let's move toward it. I have no real idea how to start.
(Mar 27, 2021)
Ron, why do you write this stuff? And let's get that Pathfinder guy working better.
(Mar 26, 2021)
There's a defect! Also, I'd like to do something about creating a monster who leads you to the WayDown. And there's inventory. But first, the defect.
(Mar 25, 2021)
Let's do some work on inventory items and touch to use. That should be amusing in its fashion.
(Mar 24, 2021)
I'm starting to wonder if we have all the juice out of this program, but there sure is a lot that we could still do. Let's consider some options.
(Mar 23, 2021)
Second shot down. Slices looking good. What shall we do today?
(Mar 22, 2021)
Now that we can slice images, let's see what it takes to plug them in. I'm sure we'll need to adjust how things work.
(Mar 21, 2021)
Images, free stuff, ideas, random thoughts. It's Sunday, cut me a break!
(Mar 20, 2021)
Some planning, then something. Come find out with me. I have no plan for the morning.
(Mar 19, 2021)
I really want to make some progress on the creatures that hang around the WayDown. But first, I am going to write a Coda on CodeaUnit and my simple toolset.
(Mar 18, 2021)
I want to get a creature to lead us to the WayDown. And I feel the need to improve the campground. Also St. Gertude. And, as often happens, we don't go where I expect. Neat outcome, thoughl
(Mar 17, 2021)
Top o' the morning' to ya, and I think we'll be starting on a set-piece today. Unless I change my mind. Also, some ranting about Definition of Ready.
(Mar 16, 2021)
More pathfinding, that's the plan. Testing is likely to be harder than doing.
(Mar 15, 2021)
I think today I'll try some pathfinding. And, yes, I have a story asking for it.
(Mar 14, 2021)
It's Pi Day, Sunday, and I think we'll take a look at our new Strategy object with fresh eyes, if we have any.
(Mar 13, 2021)
What we need here is a Strategy. Well, not so much need. Want.
(Mar 12, 2021)
Thoughts on throwing things away. And let's move these monsters.
(Mar 11, 2021)
A bit more on Monster movement. I'm not certain the implementation is correct. After that, I'll think of something.
(Mar 10, 2021)
Thoughts on 'Tiny Habits', maybe a change to Monster behavior, maybe poison.
(Mar 9, 2021)
A time for healing. Gonna do it this time.
(Mar 8, 2021)
It's International Women's Day here at the dungeon, so let's see whether we can give the Princess the ability to heal.
(Mar 5, 2021)
I noticed something significant last night. Something I don't recall ever really thinking about before. Of course, in 8 decades you forget a lot ...
(Mar 4, 2021)
Today we'll follow up a good idea from an idea source that is new to me. I expect that we'll have an interesting and desirable outcome. Interesting, at least.
(Mar 3, 2021)
Will this thing never end?? Let's take a small cut at inventory.
(Mar 2, 2021)
Implementation inheritance? Why not? A challenge to my betters.
(Mar 1, 2021)
Some small cleanup items. Then ... I don't know, I'll have to wait and see what I do.
(Feb 28, 2021)
Today, I'm going to create a new class to deal with Monsters. And I'll tell you why it's OK to do that. And it'll be in tiny increments!
(Feb 27, 2021)
Hide the WayDown. Make the spikes spikier. A new test, and a smarter DeferredTable improves some code.
(Feb 26, 2021)
We have to set a trap in a hallway. Let's make that more efficient to do. Also, we don't do it in the more efficient way after all. Also invariants. Also: Ron defines 'should'.
(Feb 25, 2021)
I have traps in mind, and smarter monsters. Is that what the day brings? One never knows, do one?
(Feb 24, 2021)
Monster levels should be easy. Then I wander off into code improvement.
(Feb 23, 2021)
Let's get items properly distributed. After that, some leveling, perhaps. I don't know. I'll have to wait and see what I do.
(Feb 22, 2021)
I feel the need to make Dung a bit more like a game, with levels and such. Let's start pushing in that direction.
(Feb 21, 2021)
A second cut at TDDing the music players. Simple isn't easy.
(Feb 20, 2021)
I decide to redo the music playing logic with TDD. Results are mixed.
(Feb 19, 2021)
Music? And then, idk, something else. Maybe refactoring? Poison?
(Feb 17, 2021)
Today, girls just want to have fun, and so do I.
(Feb 16, 2021)
Combat and the Crawl have been kicking my tail. This does not please me, even a little bit. I'm sure the difficulty is at least partly due to a poor description of the problem, leading to poor solutions. Today I win.
(Feb 15, 2021)
Let's clean some code. Let's also try to make combat more interesting. Let's also try to stay out of trouble. Is that so much to ask? (As usual, the plan changes before long. Also, trouble.)
(Feb 14, 2021)
Happy Valentine's Day. In other news, I have an idea.
(Feb 13, 2021)
A new day dawns. New chai. Consolation from the Zoom Ensemble. Technical debt. And another run at combat.
(Feb 12, 2021)
Wow, he's really dragging this one out, isn't he? Let's do some more Combat, round this out a bit. Later: Things go very wrong. This is a debacle.
(Feb 11, 2021)
Let's work a bit further on combat. I'll start with something easy, but there are some possibly tricky roads ahead. (Plus, Ron comes out against death.)
(Feb 10, 2021)
Let's see how far we can push this 'little language' we're making for combat. I should try something tricky next, to be sure the idea can bear weight.
(Feb 9, 2021)
More on Combat. I have now been advised by my betters on how, possibly, to test this thing. I may have an angle.
(Feb 8, 2021)
Let's start on our new combat logic. But first, those failing tests ...
(Feb 7, 2021)
Now for some magic. How can we get screen effects synchronized with the information crawl? You won't believe this cunning plan!
(Feb 6, 2021)
Everyone thinks they know how I should do combat. There are issues that daunt me. I'm sure there's a pony in here somewhere.
(Feb 5, 2021)
Last night I found a rather embarrassing defect. Fortunately, there are probably lessons to be learned.
(Feb 4, 2021)
More on turn-based. Let's try converting Encounter to a combat round, or writing a new combat round. Or something else.
(Feb 3, 2021)
Input from Bruce. And our turn-based implementation isn't quite good enough yet. I'm not sure what to do about that.
(Feb 2, 2021)
In my roles as Product Owner and Chief Game Designer, I have thrown me in my role as Programmer a curve: We want me to make the system turn-based.
(Feb 1, 2021)
Let's do some more user input. And some planning, not necessarily in any particular order.
(Jan 30, 2021)
You know that thing where they ask you for something no one ever thought they'd ask for? They just asked for it.
(Jan 29, 2021)
Let's talk about some design aspects, starting with the new DeferredTable. Then we'll follow our nose. But there's kind of a paradox.
(Jan 28, 2021)
Let's try a more conventional approach to our deferred collection. First, some words on why it's a good idea.
(Jan 27, 2021)
Let's reach deep into the bag of tricks, and see whether we like what we find there.
(Jan 26, 2021)
Let's use the new Loot object for Health and Keys. That should test the concept and drive out some nice clean generality. (N.B. Plan changes one page in.) Worse yet: hours of confusion!
(Jan 25, 2021)
Loot today. And a possibly interesting problem.
(Jan 24, 2021)
Just some little things. There may be nothing interesting to see here. One never knows, though, do one?
(Jan 24, 2021)
A tricky graphics issue. And about those walls. Is there a problem?
(Jan 23, 2021)
Let's try the wall data. This calls for a slightly different scheme, I think.
(Jan 22, 2021)
An interesting problem. Is there a clean solution, or do I need a bigger hammer?
(Jan 19, 2021)
New Tiles? Torches? Redecorating the Dungeon.
(Jan 19, 2021)
Why do I almost always do something other than I planned to do yesterday? It's a mystery.
(Jan 17, 2021)
Some display work. Then let's start on treasures. I have a cunning plan ...
(Jan 16, 2021)
Damage display, and what about showing attacks? I have a few weak ideas ... WARNING: Big movie files.
(Jan 15, 2021)
Some thoughts on the world as I see it today, in 2021, from my privileged vantage point as an old white guy in the USA.
(Jan 14, 2021)
Mostly some thinking and planning about behavior. Maybe some code. Now: with movies!
(Jan 13, 2021)
Just a little bit more, for an afternoon's relaxation.
(Jan 13, 2021)
Let's finish up and clean the coroutine message floater, and purge the unused tabs. Then make all the tests run. Then, stick our head up and look around.
(Jan 12, 2021)
More on Encounter coroutine version. Rationalizing not doing much more TDD. Will he be sorry?
(Jan 10, 2021)
I'll save you some reading and trash the first version of this article. I will sum up. Then I'm going to try a coroutine. Hold my chai.
(Jan 9, 2021)
More work on Encounter. I still want the fighters to separate after a round.
(Jan 8, 2021)
Today, more work on combat encounters. I have in mind separating the fighters.
(Jan 7, 2021)
Fortunately, I have programming to distract me. But there's too much going on in there, too. Also: a rather large mistake.
(Jan 6, 2021)
Let's display Encounter results before we enhance it further. This may become tricky, but let's hope not.
(Jan 5, 2021)
More thinking and doing on combat encounters. Can we avoid turn-based?
(Jan 4, 2021)
I'm sorry--I have to do some planning. Then maybe some code.
(Jan 3, 2021)
Tweak attributes. Make some tentative decisions on combat.
(Jan 2, 2021)
Let's try again today to improve the character sheets. I have a new idea. That rarely goes well.
(Jan 1, 2021)
Character sheet for the player today, then a daunting bug, er, defect.
(Dec 31, 2020)
Probably my last article of 2020. Some thoughts on these articles, and the design of OO programs. Perhaps a character sheet for the Player.
(Dec 30, 2020)
I think we need to work on treasures today.
(Dec 29, 2020)
More work on Character Sheets, and a feature idea from Twitter follower WR. Nothing interesting happens.
(Dec 28, 2020)
Levels, treasures, or character sheets, that is the question. The answer is only a bit interesting. One good bit tho.
(Dec 26, 2020)
Monsters. We need more monsters. Bigger, badder monsters.
(Dec 25, 2020)
While I wait to see whether Santa came, I want to enhance Monster movement a bit. This will require the TileArbiter table and code to change.
(Dec 24, 2020)
Not a political idea, but perhaps it should be. But I digress. Let's do on-screen controls.
(Dec 23, 2020)
Let's do some more with the TileArbiter, including plugging it in to actual game play.
(Dec 22, 2020)
If at first you don't succeed, try something different. Sorry, no pics or movies today. Just code.
(Dec 20, 2020)
Probably not THE answer but maybe some small ones.
(Dec 19, 2020)
Brute force FTW, a sound in the silence, and ... I don't know what else yet.
(Dec 18, 2020)
Lighting? Better lighting? In a DUNGEON??? Are you serious?
(Dec 16, 2020)
Double dispatch! Chet will be so proud. Or jealous. And Keys!
(Dec 15, 2020)
It's time to put some game-playing features into this thing. That could lead anywhere, but I'm hoping today at least will be easy.
(Dec 14, 2020)
More refactoring: I want more habitable code to work in. Maybe one tiny feature.
(Dec 13, 2020)
Too many notes. Just refactoring today, with reasons why.
(Dec 12, 2020)
More pushing things to Tile. I'm required by law to publish this but I'm not required to like it.
(Dec 11, 2020)
Today I'm interested in learning something about how far to push the 'tile' design. Join me.
(Dec 10, 2020)
Maybe give the monsters a bit of volition. Maybe place them randomly. Maybe some screen controls. Who knows, I just write this stuff.
(Dec 9, 2020)
I believe that the dungeon should have some monsters in it. Let's take a cut at that. Also, I provide an overview of how it works.
(Dec 8, 2020)
I think we should refocus the design a bit, for improved graphics. This promises to confuse me.
(Dec 7, 2020)
Let's limit the Princess's view of the dungeon. I know one way to do that. Let's think of at least one more.
(Dec 6, 2020)
Two nice little things. A short report. Thanks to GeePaw for one of them. A weird explanation for the other.
(Dec 5, 2020)
I'm fairly satisfied with room and hallway generation. It's time to work on what the screen looks like in play.
(Dec 4, 2020)
Let's get some rooms up in this ditch.
(Dec 3, 2020)
It helps if your tests actually check something. Sounds like a good idea, let's try it.
(Dec 2, 2020)
Current plan is to move forward from the little tiled-space experiment, evolving it into a playable game. If I'm right, we should see faster progress. It could happen.
(Dec 1, 2020)
A New Hope, from a New Direction. Yes, that's right, I'm thinking about starting over. Could this be a good idea?
(Nov 30, 2020)
Technical debt, or messy code? Why not both?
(Nov 28, 2020)
Another run at moving into the new hallway rooms and back out again. Fortunately, as I mention at the end, my purpose isn't to show you how smart I am.
(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 tidying up 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 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 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 30, 2020)
Adam Savage (@donttrythis) posted a marvelous video of his attempt to build a giant brass nut and bolt. It reminds me of software.
(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)
Some tweaks to hyperspace seem in order, but I feel that this thing is nearly done.
(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 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.
(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 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.
(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 20, 2019)
A Twitter conversation and some reading has triggered some new, and probably some old, thoughts on estimation and the #noEstimates tag and meme.
(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.
(May 23, 2019)
I like to say that I may have invented story points, and if I did, I'm sorry now. Let's explore my current thinking on story points. At least one of us is interested in what I think.
(Apr 19, 2019)
There was a thread on Twitter talking about Agile being anti-management. No, it's much more radical than that.
(Apr 15, 2019)
Sprints, Iterations, Cadences, Continuous Flow. Planning sessions, daily scrums, retrospectives, increment reviews. Are these all, in the end, overhead to be eliminated along the way to some Agile Nirvana?
(Feb 28, 2019)
Scrum is founded in the belief that self-organizing teams can figure out what they need. When true, this is sometimes not sufficient. And sometimes, particularly in software development, it seems not to be true.
(Feb 27, 2019)
Let's talk about what responsibility we have for those who never take a course from us, read our books or web sites, or even see our tweets. I think we have rather a lot.
(Feb 26, 2019)
I wrote this in response to some tweets from an esteemed colleague, who I think is a bit less sensitive to dangerous ideas than I'd prefer our 'thought leaders' to be.
(Feb 21, 2019)
Another little tweet-storm about estimation. I think it's useful and not as easy to use as some people think it is.
(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.
(Oct 26, 2018)
Are Imposition and Dark Agile both bad? Yes. Are they the same thing? No.
(Sep 26, 2018)
Some early unfocused thoughts around original XP practices and what I might say today.
(Sep 17, 2018)
I'm not going to define a new framework, and don't think I should redefine XP, as it's not my baby. But I was thinking ...
(Aug 17, 2018)
I tweeted a storm about responsibility when 'Agile' doesn't go well. Here we'll unroll it and say a few more words.
(Jul 25, 2018)
Yesterday, I tweet-improvised the following thread. I had intended to write it up later as an article on my site, and here it is. It received a number of replies and comments, and I'll address some of those here as well.
(Jul 20, 2018)
There's a lot of whinging going on about imposing 'Agile' methods and practices. These whiners just don't know how to do imposition correctly. Me either, but here's what I'd try.
(Jul 19, 2018)
People have been telling me for years that Scrum is not an Agile Software Development Framework. I should have paid more attention. It's still good stuff, though.
(Jul 11, 2018)
A discussion of my personal values in the light of way too many 'well-reasoned' but mistaken notions on diversity.
(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 20, 2018)
I watch The Expanse to force myself to exercise. Today this quote hit me pretty hard.
(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 6, 2018)
Just a few words about why I publish all these words, going over and over the same topics again and again, repeatedly and repetitively.
(Apr 6, 2018)
On the Agile Mentoring Slack group, Jack Caine and I were discussing what it means to be Agile. I wound up writing something like this, and wanted to share it more broadly.
(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.
(Jan 23, 2018)
There's a lot of noise going on on the Twitter just now, about starting with Scrum, with kanban, or with nothing. Here are some thoughts.
(Sep 8, 2017)
Responding to a mistaken TDD flowchart.
(Sep 6, 2017)
Mike (GeePaw) Hill storified about sense of urgency and an acronym RAMPS. I like what he said and will muse upon it.
(Aug 4, 2017)
I'm wondering, today, whether the Increment could be the driver for all 'Agile' software development.
(Jul 31, 2017)
Today, let's talk about cadence. Iterations, Sprints, to have them or not, that is the question.
(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 12, 2017)
An innocent email question leads me off into wildness and chaos. What's new with you?
(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 21, 2017)
A number of tweets and posts this week point out, correctly, that if we don't think about what we're doing, Scrum and Agile won't work. Apparently people need this reminder.
(Jun 12, 2017)
A couple of things passed by my Twitter last week and I'll try to comment briefly on them. For values of 'briefly'.
(Apr 24, 2017)
Based on our Scrum Gathering 2017 talk, we discuss the impact on real software development of growing focus on the 'enterprise'.
(Oct 5, 2016)
Time was, you got a spec, got browbeaten into saying you'd do it in 6 months, then got mostly left alone for 6 months. Now, they get to **** with you every ******* day!
(Sep 13, 2016)
Good frameworks are deep. Quick-entry courses sell well. It turns out they sell TOO well.
(Sep 8, 2016)
Scrum is good, when done as intended. Otherwise it can be oppressive and dangerous to developers. Let's study: Defense Against the Dark Arts of Scrum.
(Jul 9, 2016)
A twitter conversation got me thinking about the extent to which Agile ideas are intended to support small improvement, or to disrupt things.
(Jun 27, 2016)
Some interesting tweets make me wonder: if I were creating a method today, what would it be?
(Jun 24, 2016)
A foray into Google App Engine turns into a Tibetan adventure with Bos grunniens. No real lesson is learned.
(Jun 21, 2016)
Mike Vizdos and I are starting a new Slack team and we invite you to join us.
(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?
(May 24, 2016)
Tozier and I did a little work on the ants experiment. Lessons are beginning to be learned.
(May 17, 2016)
Tozier posed an interesting problem today, and we decided to work on it at the coffee shop.
(Apr 21, 2016)
I found this picture of a roulette wheel. I wonder how hard it would be to make my little game use it.
(Apr 20, 2016)
Let's finish wiring up our second pass at Jim Jeffries' roulette example, and see what we can see.
(Apr 19, 2016)
I felt I owed it to myself to do Jim Jeffries' roulette exercise, this time with more tests. You won't believe what happened next. (Sorry, I have a click-bait virus.)
(Apr 18, 2016)
Jim Jeffries (no relation) proposed a TDD exercise / challenge. I took it on. The results may surprise you. (Sorry.)
(Mar 29, 2016)
Measure teams by metrics. Because that's how you get Crappy Agile!
(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.
(Dec 8, 2015)
Some twitter leftovers got me comparing Scrum and [Kk]anban. Are they Agile?
(Dec 6, 2015)
Some tweets inspire me to write a bit about management in Agile.
(Nov 27, 2015)
Going too far is quite difficult to do.
(Nov 25, 2015)
Bob Martin has published the Programmer's Oath. What do I think about that? The answer may surprise you.
(Nov 23, 2015)
Just some small thoughts bordering on rants. Something here for everyone to get mad about.
(Nov 12, 2015)
It's common to tweet things objecting to high automated test coverage as if it's irrelevant, incompetent, or stupid. I suggest otherwise with a thought experiment.
(Nov 9, 2015)
In which we discuss the technical debt metaphor, bright code, and the inevitable decline of civilization.
(Nov 5, 2015)
Mistakes, I've made a few [thousand], but then again too many to take personally. – not Frank Sinatra
(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?
(Oct 9, 2015)
Let's look at what Agile-focused individuals can do to improve their own lives, and, through interacting, help their colleagues and their organizations.
(Oct 8, 2015)
In a conversation about religion, I found myself saying something that makes me think about 'Agile'. Trigger warning: includes words like 'Christian'.
(Sep 28, 2015)
I've been a bit disappointed lately by the state of Scrum in companies, and rightly so. But there's another way to look at it.
(Sep 15, 2015)
Chet and I were talking about the importance of the Increment and the Sprint Goal. Herewith, some musings.
(Sep 8, 2015)
You have to either laugh or cry. -- Wm. M. Rogers
(Sep 1, 2015)
One great way to remove an impediment is to replace an old idea with one that's better. Let's give that new idea a new name.
(Sep 1, 2015)
You people could help me by doing a better job and making fewer mistaks.
(Aug 26, 2015)
Kate and Dan estimate a new project. Or do they?
(Aug 24, 2015)
The Estimate-Commitment relationship stands in opposition to collaboration. It supports conflict, not teamwork.
(Aug 22, 2015)
After a lot of email and blogging, Steve McConnell and I "Came out by the same door where in we went".
(Aug 6, 2015)
Many individuals are creating new, marvelous, incredibly valuable Agile contributions. These were inspired by the Manifesto. They are not updates to the Manifesto, they're founded upon it.
(Aug 1, 2015)
In which we search for common ground and disputed ground.
(Jul 31, 2015)
Steve makes some great points. I think I'd make somewhat different ones.
(Jul 29, 2015)
If we can't build software well, all our Agile is for nothing.
(Jul 24, 2015)
A recent Twitter conversation bugged me (and bugged Clarke Ching even more). Here's why.
(Jul 22, 2015)
Privilege. No privilege. Screw it, improve your situation. Or don't. It's up to you.
(Jul 20, 2015)
OK, one more on this bowling thing: I decided I should do some tests.
(Jul 19, 2015)
Scoring bowling is Chet's and my go-to application for demonstrating pair programming and TDD. So here it is in Elixir, without either pairing or TDD. Interesting, though.
(Jul 16, 2015)
A report on building up a payroll pipeline. Twice. And still not entirely liking it.
(Jul 15, 2015)
Let's see whether we can sketch a little payroll. In Elixir. As the title suggests. Expect trouble - I do
(Jul 15, 2015)
It seems like time to experiment with something new. Will it be Elixir? Hold on, this is going to be chaotic.
(Jul 13, 2015)
Apparently the word 'estimates' is not clear. Here's what I mean and don't mean.
(Jul 11, 2015)
You keep using that word. I don't think it means what you think it means.
(Jul 9, 2015)
Slicing is easier and better than estimation for projecting done. And slicing adds value, while estimation does not!
(Jul 7, 2015)
That's all you need. You don't need no more.
(Jul 6, 2015)
A Twitter conversation got me thinking about how often teams or organizations fall away from their process, when it happens, and why.
(Jul 5, 2015)
Theory, Practice, Received Wisdom, Certification. These are not the things that make things work. Good people make things work.
(Jul 2, 2015)
Deciding what kind of tests, and what tools, would be good for a payroll series, if I continue with it.
(Jul 1, 2015)
I love computers! Trying to set up Fitnesse and landing squarely on rspec.
(Jun 30, 2015)
Every minute we spend just thinking and talking, and not programming, is wasted!
(Jun 29, 2015)
Chet and I just ran an Agile Skills Workshop last week. It was great fun. We were asked for a description, and here it is.
(Jun 7, 2015)
A brief um discussion about the Increment and how it might help you change culture.
(Apr 24, 2015)
I guess today I must write about the Scrum "Definition of Done", which is neither a definition, nor done. Is it a Scrum Artifact? I'd rather not.
(Apr 23, 2015)
Someone asked about comments on this site. I don't want comments on the site, but I am happy to discuss things, so I've set up a Google Groups forum. Here's some info about the forum.
(Apr 20, 2015)
I had occasion to look at a couple of articles from 2010, and things don't seem to have changed much. Should we be concerned?
(Apr 10, 2015)
All around us, Scrum and Agile are used, misused, and abused. How should we feel about that?
(Mar 29, 2015)
For success with Scrum, we need the basics, our expertise, and to improve our culture. To improve the culture, we need the Product Increment.
(Mar 27, 2015)
Development teams need help using the product increment as a center for making lives better. I resolve to work to fix that.
(Mar 27, 2015)
We're not blaming you when we say you're doing it wrong. We're trying to help you do it right.
(Mar 27, 2015)
We need to make Scrum and Agile safe for software developers. How should we proceed? (updated)
(Mar 25, 2015)
It's not up to Scrum or "Agile" or XP to make you successful or happy. It's on you.
(Mar 25, 2015)
We don't want just a "Product Owner". We want a Product Champion!
(Mar 23, 2015)
Impediments are there to be removed, not there to be recorded for posterity. Drive them out, don't log them in.
(Mar 16, 2015)
There's not much wrong with Scrum. Or is there? It depends what the meaning of 'wrong' is.
(Mar 16, 2015)
They shipped the software, therefore what they did was best. It ain't necessarily so.
(Mar 12, 2015)
Jonathan Rasmusson wrote an interesting article. I agree. It's not about unit tests. It's about skill and understanding.
(Mar 9, 2015)
Giles Bowkett invited me to discuss another article he wrote. For some reason I'm willing to do that.
(Mar 6, 2015)
The conversion from XProgramming.com to RonJeffries.com is essentially complete. Let's look at some learnings.
(Mar 2, 2015)
Many people assert that Scrum fails often. They say it's Scrum's fault. I'm still trying to understand.
(Mar 1, 2015)
Jeff Sutherland said today that it's not done if it's not tested. You won't believe what happened next!
(Feb 24, 2015)
It is my practice to reconsider important topics. Certification certainly is such a topic. Here are today's thoughts.
(Feb 20, 2015)
Giles Bowkett has written some impassioned diatribes against Scrum on his blog. He raises some issues, which I shall try to discuss.
(Feb 8, 2015)
I was reminded by a lovely email of what happened during our SAFe training. Eliminate dependencies, don't document them or accommodate them.
(Jan 29, 2015)
Address given at the final meeting of the Agile Alliance, August 20__, by Ron Jeffries
(Jan 24, 2015)
As Tozier and I work on Scraper, I find the pairing to be quite difficult, though not unrewarding.
(Dec 8, 2014)
XProgramming will transition slowly over to ronjeffries.com. Be there or be square.
(Nov 29, 2014)
Today is a big day for people tweeting how they deplore what other people are doing. Others retweet those tweets. I think that's a fruitless behavior and suggest something different.
(Nov 22, 2014)
This is an NSFW rant regarding the whiny, mewling *bastards* who bitch, whine, and complain about Agile methods, Scrum, and similar topics.
(Sep 25, 2014)
Scrum top dogs announce combined site for Scrum definition.
(Sep 20, 2014)
XProgramming.com needs a new implementation. Want to watch?
(Sep 20, 2014)
XProgramming.com needs a new implementation. Want to watch?
(Sep 5, 2014)
Put makeup on your own pig, make it look as good as you can. Don't go around finding ugly imaginary pigs to stand it beside.
(Apr 2, 2014)
Recent Twitter conversations inspire me to pull out some of my concerns with SAFe and talk about them.
(Feb 27, 2014)
I recently took the SAFe SPC training. My bottom line assessment is that it will be a marketing success, organizations trying it will see improvement, and some will see great improvement. And I don't like it.
(Dec 31, 2013)
Don't buy a brand. Seek out good ideas, and apply them to your situation.
(Mar 27, 2013)
Robert Pirsig's protagonist "Phaedrus" said "Quality is what you like". We talk a lot about "value". My aim here is to suggest to you that value is what you like.
(Jan 3, 2011)
Alan Shalloway blogged on "Big Change Up Front", suggesting that it's not always the best thing to do. This made me think ...
(Dec 24, 2010)
"Why don't you believe in testing?" said Lanette Creamer, the Testy Redhead. Ah, but I do. I care about what, when, and at which end of the horse.
(Dec 12, 2010)
An odd anonymous article on "LearnTFS" purports to debunk Agile by moving closer to waterfall. Interesting, but not quite right.
(Dec 10, 2010)
I've had the privilege of observing He Jinbao, a martial arts master. He doesn't hurry. Maybe we shouldn't either.
(Dec 9, 2010)
Are there places where lower quality has less negative impact? Possibly. Except maybe on your soul.
(Dec 8, 2010)
No one I know can operate at their peak performance all the time. How do we know how hard to work on quality? Same way you get to Carnegie Hall.
(Dec 7, 2010)
You can always find someone to argue for cutting quality corners to "go faster". Is it possible to waste time cleaning code? Sure. Is it possible for code to be too clean? No.
(Dec 1, 2010)
Teams often want to write "technical stories" to cover things like testing and improving the design or infrastructure. There is rarely a need to do this. Here's why.
(Nov 6, 2010)
Alan Shalloway and I were tweeting about whether Scrum could be improved because it doesn't include some damn thing or other. Scrum is working as designed. We and the Alliance need to get to work.
(Oct 31, 2010)
Chet and I will be meeting with both the new and the outgoing Managing Director of the Scrum Alliance. I asked for input on Twitter, and have received some. Here, some thoughts.
(Oct 20, 2010)
"Just tell us when you'll be done with all these requirements" is not how to guide an Agile project, be it Kanban, Scrum, or XP. Not remotely.
(Aug 27, 2010)
Some people have difficulty living up to the values and principles of the Agile Manifesto. Should we improve the Manifesto? Raise your game: we meant what we said.
(Jul 15, 2010)
"His brand is bad: my brand is good." Isn't it well past time we got over that kind of thinking? I'll take a good idea from anywhere. So should you.
(Jul 13, 2010)
Should we ease into Agile, or jump in? How fond of being eaten by bears are you?
(Jun 29, 2010)
Let's consider two "dimensions" of a project, the extent to which it adheres to "Agile" values, and the extent to which it is an effective or successful project.
(Apr 11, 2010)
There has recently been another discussion of Kanban on one of the Scrum lists. Kanban has some interesting ideas, and yet it seems to conflict with Scrum in some essential ways. The problem isn't Kanban: it's the notion of "essential ways".
(Dec 21, 2009)
Agile projects very often seem to stall out after gaining perhaps twenty-five percent of the possible benefit. Why is this? What can be done?
(Dec 16, 2009)
Incremental and iterative development processes provide frequent opportunities for teams to "Inspect and Adapt". What should we inspect? How should we adapt? Is this part of the process?
(Nov 20, 2003)
Object aficionados worldwide are concerned that the procedural bowling solution presented last time is just not robust enough. They want to see how we would make it score the frames incrementally. Frankly I haven't the slightest idea.
(Nov 18, 2003)
Here's the Bowling Game again. This time I'll take a simpler approach, along the lines I usually follow when I do a Test-Driven Development demonstration. The result is strikingly simpler than the preceding 'object-oriented' solution. What does this tell us about TDD and how to use it?