Red-Green-Code

Deliberate practice techniques for software developers

  • Home
  • About
  • Contact
  • Project 462
  • CP FAQ
  • Newsletter

Time Tortoise: Add, Save, and List

By Duncan Smith Leave a Comment Feb 22 0

Add, Save, List

This is one in a series of articles about Time Tortoise, a Universal Windows Platform app for planning and tracking your work schedule. For more on the development of this app and the ideas behind it, see my Time Tortoise category page.

Incremental Build Model

Last week I made my first commit to the GitHub repository for Time Tortoise, the app that I’m working on this year.

I publish a blog post every Wednesday, so I have adopted that schedule for this project as well. In general, each blog post is associated with a GitHub commit. In the first few weeks of the year, I used example UWP projects to experiment with a few ideas. Starting last week, my commits have been adding functionality to the Time Tortoise app itself.

This approach is an example of the incremental build model of software development. The idea is to start with a small working program and build it over time through a series of small (incremental) improvements. After each increment, the program remains usable, and it has slightly more functionality.

In agile terms, I’m building Time Tortoise using a series of one-week sprints, with a release at the end of each sprint. Since the project team consists of one very part-time developer (me), the scope of each sprint is small. But thanks to the incremental build model, it will add up to something useful over time.

The scope for this week: create, update, and list activity names.

« Continue »

Initial Commit: Time Tortoise

By Duncan Smith Leave a Comment Feb 15 0

Time Tortoise

Since the beginning of the year, I have been doing some research for a project related to time tracking. As part of the research, I build a tiny sample app to try out the technology stack that I’ll be using.

This week, I’m making my first few commits to the GitHub repository that I’ll be using for the real app. The app also now has a name, Time Tortoise, and a logo, the stern-looking creature at the top of this post.

« Continue »

Unit Testing UWP Apps, Part 2

By Duncan Smith Leave a Comment Feb 8 0

MVVM Example App

Last week, I wrote about the basics of unit testing UWP apps, including steps required to get xUnit.net and code coverage working together. This week, I’ll cover a few more unit testing topics related to testing components in isolation. That will wrap up the UWP example app that I have been building over the last few weeks.

« Continue »

Unit Testing UWP Apps

By Duncan Smith Leave a Comment Feb 1 0

UWP Unit Testing

Before I start actually building my time tracking app, I have one more topic to cover: unit testing. I’ll tackle it in two parts, one this week and one next week.

« Continue »

EF Core and SQLite for UWP Apps

By Duncan Smith Leave a Comment Jan 25 4

TT Technology 3

This year, I’m building a UWP time tracking app. Last week, I covered some details about Model-View-ViewModel, a pattern that helps simplify user interface code and make it more testable. This week, I’m going to explore the data layer technologies that I’ll be using: Entity Framework and SQLite.

« Continue »

MVVM Fundamentals For UWP Apps

By Duncan Smith Leave a Comment Jan 18 0

TT Technology 2

Last week, I covered the solution stack that I’m using for a new programming project. This week, I’ll go into more detail about one aspect of it: using the Model-View-ViewModel (MVVM) pattern in Universal Windows Platform (UWP) apps.

« Continue »

UWP, C#, XAML, MVVM, EF, and SQLite

By Duncan Smith Leave a Comment Jan 11 0

TT Technology

Last week, I described a programming project that I’m starting this year. It’s a time tracking app that not only records what you decide to spend time on, but also tries to influence those decisions.

I’ll get into the initial coding details next week. This week, I’ll expand on the technology stack that I’m using.

« Continue »

A Project for 2017

By Duncan Smith Leave a Comment Jan 4 4

Time Tracks You

Happy New Year!

This is the start of Year 3 of this blog. For an overview of the past two years, see my review posts:

  • Summer Review (January to July 2015)
  • Red-Green-Code: 2015 in Review (the rest of 2015)
  • Red-Green-Code: 2016 in Review (all of 2016)

For 2017, I have decided to start a new programming project. It will coexist with my other programming project, Project 462. But while Project 462 is strictly a learning project, this new project will produce code that is designed to be used and maintained. (Though as with most programming projects, there will be learning as a side-effect).

« Continue »

Red-Green-Code: 2016 in Review

By Duncan Smith Leave a Comment Dec 28 0

NM Desert

Year two of this blog has come to an end. Let’s review the topics and posts from 2016.

« Continue »

2016 Work Habits Checklist

By Duncan Smith Leave a Comment Dec 21 0

PragueClock

With 2016 wrapping up, I have my traditional end-of-year review planned for next week. In that post, I’ll go over all of the articles from this year. This week, I’m reviewing a more specific topic.

If you have been following along for the last couple of years, you know that I write a lot about competitive programming, but that I also explore topics related to productivity and learning techniques.

Mastering a subject requires learning some domain-specific topics. For competitive programming, these topics include language advice and editorials on specific programming puzzles. But that knowledge isn’t very useful if you just read about it. You also need a plan to use it.

When you’re learning a technical subject like an algorithm, you can’t just read about it once and remember it. You have to try it out, often many times. If you don’t keep using it, it’s easy to forget it, which often means you have to re-learn it later. Similarly, learning about a productivity or learning technique doesn’t help much unless you try it out repeatedly in real working or learning situations. And if you stop using it, it may take some time to get back into it later.

With that in mind, I have collected a set of reminders that I find useful when working on difficult projects. I’m planning to keep this list handy in 2017 as a checklist to make sure I don’t forget to use these techniques for my programming and learning projects.

Here’s the checklist:

  • Work on important problems, or on problems that will lead to important problems.
  • Use time goals to make sure you’re showing up.
  • Schedule blocks of time so you don’t have to decide when to work.
  • Track focused time to make sure you’re using your work time efficiently.

« Continue »

  • « Previous Page
  • 1
  • …
  • 37
  • 38
  • 39
  • 40
  • 41
  • …
  • 50
  • Next Page »

Stay in the Know

I'm trying out the latest learning techniques on software development concepts, and writing about what works best. Sound interesting? Subscribe to my free newsletter to keep up to date. Learn More
Unsubscribing is easy, and I'll keep your email address private.

Getting Started

Are you new here? Check out my review posts for a tour of the archives:

  • 2023 in Review: 50 LeetCode Tips
  • 2022 in Review: Content Bots
  • 2021 in Review: Thoughts on Solving Programming Puzzles
  • Lessons from the 2020 LeetCode Monthly Challenges
  • 2019 in Review
  • Competitive Programming Frequently Asked Questions: 2018 In Review
  • What I Learned Working On Time Tortoise in 2017
  • 2016 in Review
  • 2015 in Review
  • 2015 Summer Review

Archives

Recent Posts

  • Will AI Coding Assistants “Deskill” Us? January 30, 2026
  • Stateless by Design: How to Work With AI Coding Assistants December 31, 2025
  • Do Coding Bots Mean the End of Coding Interviews? December 31, 2024
  • Another Project for 2024 May 8, 2024
  • Dynamic Programming Wrap-Up May 1, 2024
  • LeetCode 91: Decode Ways April 24, 2024
  • LeetCode 70: Climbing Stairs April 17, 2024
  • LeetCode 221: Maximal Square April 10, 2024
  • Using Dynamic Programming for Maximum Product Subarray April 3, 2024
  • LeetCode 62: Unique Paths March 27, 2024
Red-Green-Code
  • Home
  • About
  • Contact
  • Project 462
  • CP FAQ
  • Newsletter
Copyright © 2026 Duncan Smith