(Nov 12, 2021)
Just because I think I should do SOMETHING, I think I'll improve how CodeaUnit displays results on the screen.
(Nov 10, 2021)
I'm going to try to build a 'fluid interface' feature for Codea's graphical style capability. Why? I don't know.
(Nov 9, 2021)
Let's improve CodeaUnit a bit. But first, what's the deal with iOS shortcuts? An odd report on an odd morning.
(Nov 8, 2021)
Driven by some Slack chatter, I've been thinking about feedback. How does that fit into life, and into this little program?
(Nov 4, 2021)
Some refactoring, and some thoughts on a Twitter thread. And an odd surprise: the code says No.
(Nov 3, 2021)
Rules, rules. TDD rules, Beck Rules, OK. And a cat.
(Nov 2, 2021)
I'm just not up for going back into the Dung mines. Gonna put plain function detection into the stats instead. Also, random subtweeting. Also bear bites man.
(Nov 1, 2021)
At last, I get to apply Dave's scrolling thing. It's simple, and obvious, and I never thought of it. And a couple of stories of a great programmer.
(Oct 31, 2021)
This morning, I plan to add detailed method reporting to the full report. I am expecting no real trouble but have recognized a mismatch.
(Oct 30, 2021)
Let's get some output up in this baby. I plan to steal two good ideas while I do this.
(Oct 28, 2021)
I wonder what we could do about comments. They're tricky.
(Oct 27, 2021)
"If this is his idea of fun, he must be a laugh riot at parties." -- A Reader
(Oct 25, 2021)
Backward? Or forward? Which was it?
(Oct 24, 2021)
We continue working on our little 'Making App', because it's kind of fun. Today, I foresee a 'major refactoring'.
(Oct 23, 2021)
Let's do methods, and try to drive out some objects.
(Oct 21, 2021)
In the interest of variety, let's do some work for the makers here. Let's see how we can collect some interesting statistics from Codea programs.
(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 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 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 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 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)
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.
(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 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 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)
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 habitable 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.
(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 all code to the exact same standards. We name our classes and methods the same way, we format code the same way.
(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)
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 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)
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)
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)
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