(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 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 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.
(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 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 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)
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 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)
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 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 3, 2021)
Doors, or I'll know the reason why! Just in: Ron bites bear!
(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 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.
(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.
(Jan 28, 2021)
Let's try a more conventional approach to our deferred collection. First, some words on why it's a good idea.
(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?
(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 18, 2020)
A couple of interesting articles crossed my virtual desk yesterday. Links and some reflection within.
(Sep 14, 2020)
In which our intrepid author makes a grievous error: disagreeing with Kent Beck. Or does he?
(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!)
(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.
(May 13, 2020)
I needed to test some floats the other day. Let's improve CodeaUnit to help with that.
(May 5, 2020)
The Gilded Rose 'kata' exists in many languages, but I've not seen Codea Lua. Maybe I should fix that bug. This is pretty boring. Skim, don't read. Needed for the record.
(May 2, 2020)
Some final thoughts on the Gilded Rose exercise. Well, final for now ...
(Apr 30, 2020)
To round out a dozen, we simplify things a lot. Too much? What do you think?
(Apr 29, 2020)
Experiment with lambda.
(Apr 28, 2020)
Today I think I'll double-check that double-decrement issue. Then I want to see if we can combine those two parallel if nests.
(Apr 27, 2020)
Some really nice progress today ... and one open question.
(Apr 25, 2020)
Dave Nicolette mentioned on Twitter that he was wondering whether a Mob Programming Gilded Rose kata, using Arlo Belshee's 'Read by Refactoring' would make a good video. That gave me an idea.
(Apr 24, 2020)
We're on a path more like re-implementing the program than refactoring it. That's a concern. Can we do better?
(Apr 22, 2020)
Today I plan to move the Conjured item code to the new scheme, and see what that tells me. Something will probably go wrong.
(Apr 21, 2020)
It's noon on Tuesday. I've whiled away the morning. Let's try to make a bit more progress on this code.
(Apr 20, 2020)
Monday, Monday ...
(Apr 18, 2020)
Are we doing it right? Are we in trouble already?
(Apr 17, 2020)
It's April 17th. It's snowing. We're on lockdown. Let's look at Gilded Rose and see what we might do that would be interesting.
(Apr 16, 2020)
Chet, Amitai Schleier, and I played with the Gilded Rose exercise the other day. I think I'll write about it a bit, starting from scratch. [edited]
(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?
(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.
(Nov 24, 2019)
Some thoughts from Twitter on 'technical debt', what it is, what it isn't, and why we avoid it.
(Nov 24, 2019)
Why do we do that? One word: Productivity
(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.
(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.
(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.
(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 8, 2017)
Responding to a mistaken TDD flowchart.
(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 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 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.
(Jun 24, 2016)
A foray into Google App Engine turns into a Tibetan adventure with Bos grunniens. No real lesson is learned.
(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.)
(Nov 27, 2015)
Going too far is quite difficult to do.
(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 3, 2015)
A Twitter thread gets me thinking about Mock objects and whether they're more than just a matter of personal taste.
(Apr 11, 2015)
Kate Oneal chats about testing with the Ann Arbor KALe Society.
(Mar 12, 2015)
Jonathan Rasmusson wrote an interesting article. I agree. It's not about unit tests. It's about skill and understanding.
(Feb 13, 2015)
Content from XProgramming has been moved to this site. Some brief retrospective thoughts.
(Jan 24, 2015)
As Tozier and I work on Scraper, I find the pairing to be quite difficult, though not unrewarding.
(Dec 22, 2014)
It's good to have people watching over me. Already got some feedback on this morning's article.
(Dec 22, 2014)
True to my word, for once, I'm learning RSpec. Follow along and laugh at my ignorance.
(Dec 6, 2014)
Channeling ELO. Also a Codea Diamond that you might find interesting.
(Dec 5, 2014)
A number of people have tried the Diamond Problem now. Let's look at their work and see what we learn.
(Nov 30, 2014)
The trouble with thinking is, you keep getting new ideas. I wanted to try this one. Turned out quite oddly.
(Nov 29, 2014)
Alistair Cockburn published an article about thinking in solving a problem with TDD. I'm all for thinking. Let's see how I do it. UPDATED.