I come equipped with flyswatter.

Today I managed to plow through a non-trivial number of bugfixes, starting with one relating to a crash report that came in last night and then branching off from there into another 2-3 semi-related ones. Two were very similar in source but had to be handled differently because of the fragment being nested versus not (or rather, I suspect the second implementation could have worked for both but involved slightly more code, where the first implementation was easier and worked just fine in the first circumstance).

In at least one case, there was someone on Stack Overflow who described the exact problem I was seeing but had no solutions posted. I did figure that one out, at least; I may decide at some point if I want to create an account and post my solution. It seems unlikely that this is a major thing for folks, though, and the comments on the original question do point the way to the solution, however obliquely.

Still, it feels good to have hammered out those, especially as things creep up towards the first 100 users. (We are past 100 downloads but that includes people who have uninstalled the app, so.) At least that was something accomplished today, where far too much of my time has slipped away without my awareness or focus.

Although I can account for at least 30 minutes trying to figure out if pine needles were lodged in the dryer lint vent and were going to set the house on fire if the husband did laundry tonight.  It turns out the little plastic hedgehogs that were tossed in with the feather pillows were giving up their spikes, and it was those I heard, not pine needles. Still, tomorrow I will go see if I can find a piece of flexible 1″ tubing that I can tape to the vacuum and clean out the dryer lint vent.

And I keep checking on his laundry every 10 minutes to make sure I don’t smell smoke.

I am not sure I made gauge on the crochet pattern.

My afghan is trundling along, and I am on the third of the four skeins.  Looking at it, I’m not sure I’m going to achieve the desired measurements.  I mean, ideally it should be almost half the full length at this point, if not more …and I’m not sure it’s over two feet.

Oh well. The advantage to using the mottled yarn is that if it doesn’t matter if I fail to match dye lots perfectly, so I can just throw more yarn at the problem to get the length I want. It is coming out thick and plush, the kind of afghan that it will be wonderful to snuggle under on a cold, rainy day. (Except for the fact that CA never gets them anymore, sigh.)  And there’s enough texture in the piece to keep it interesting, despite it being easy enough for beginner-me to figure out the pattern reading.


I have gotten some stitching in on the Great Wave piece.  Filling in the white isn’t very exciting, but it’s at least mindnumbingly easy? I’m trying to find some things to do while I’m working on it, but I’ve been unsettled recently and so the normal technique of audiobooks hasn’t been effective. I watched a few livestreams of tornado chasers this weekend while I got a little bit of stitching in, and that helped some. Maybe I will try to sneak in a little more today between bits of housework and planning.

Thursday saw a major bugfix done for StashCache; the app is now substantially less likely to crash if you (say) edit the quantity of the thread in the thread info page (so that it’s not in the stash anymore, for example) and then hit the back button to return to the stash list. Also, your changes will now be displayed on the list. I think that should fix the crash reported on Wednesday night, but since I wasn’t able to replicate it exactly, I can’t be 100% sure. I’m keeping an eye on the crash reports to see if it shows up again.

I’m seeing enough tablet users that getting a tablet layout designed is moving up on the list of goals, along with the sorting changes I talked about earlier. This is probably a bit off in the distance though, depending on how other life events are happening. The app, as much as I love it, pays no bills. Writing might. Something has to.

Anyone seen my mojo?

My stitching mojo is not with this piece. Granted, I have been busy on any number of other things, which is why it is almost midnight and I have just finished up the to do list for the day, but. I have at least put a few stitches in on it this weekend, which moves it just a little bit closer to done.

I was thinking some today about the sorting in StashCache, and how to implement it so that the user can choose between different sorting schemes. Thinking through how I did things, it should be doable without too much adaptation, although I’m not sure where the selection for sort order will end up being. Of course, I should also provide a way for users to mark patterns as favorites, which are placed at the top of the list independent of sorting.

That, of course, ends up being a little trickier.  Still doable, just trickier and will take a little longer to implement. I have some ideas on where to start with it at least, but I’m thinking it will be time for me to learn what I am doing with branching in Git a little better when I start implementing that.

I also am seeing enough users with tablets that I should get the tablet layout implemented, although …well, that’s just going to be fun. Where by fun I mean some of the design tradeoffs I had to make are going to come back and bite me, I think. It’s still doable, just another of those things that will take some time.

In the meantime there is a pile of things to do around the house that got ignored in the lead-up to getting the app released, and the husband is still recovering (although doing much better at this point). The feature thoughts are percolating while I tackle some of that to do list, although I’m keeping an eye out for bug reports so I can get those fixed quickly.

It’s just about time to go keep an eye out for my pillow, though. Grocery list is made, so tomorrow are grocery runs. Fingers remain crossed that the supplies today allow me to rain death upon the ants, at long last.

What a way to wake up!

I woke up this morning to e-mail in my inbox from someone who loves the program but was having a few issues with some crashes and problems with the importer (which can be so very tricky).  I can’t tell you how much that made my day, even as I need to keep working to bring the number of crashes to 0 and make things clearer on the website for users.

In the meantime, I got to meet a fantastic user who has given me some extremely valuable feedback, and two sets of bugfixes have been pushed to Google today (waiting on the second bunch to go live, but it’s in Google’s hands now, not mine).  The importer really is a somewhat finicky piece of code, but the bugs that led to the crashes were hammered out in the first set of fixes. The second set fixed a series of bugs when importing patterns with no thread/embellishment info, which weren’t crashing the app but weren’t importing properly either. (If you’re curious, there’s always info about what’s going on on the project’s Github page.)

I also added a feature that, when creating a new item from an item info page, a lot of the information from that item is copied over into the new one. This should reduce the amount of retyping necessary when creating new items that are similar (like if you want to enter all the DMC colors by hand for some reason). Creating a new item from the list still behaves just like it did.

And I have to say, if I could give users a star rating, she’s earned 5 stars from me! Her patience and assistance is helping me produce a better app for everyone. Thanks so much!

Venetian Opulence

I fell in love with this piece the first time I saw a picture of it.


No, really. I don’t know how you can not fall in love with the gorgeous, rich colors. The beads, the elegance. (I know, I know, different strokes for different folks and all that. This piece just made my heart sing.)


It was a no-brainer to start this piece as I finished up Shakespeare’s Fairies, and I never regretted a moment of stitching it. I stitched it on 32 count Light Exemplar linen from Picture This Plus. I admit to a small moment of panic when I started the skin tones, but I think it worked out well, especially with the backstitching. Without the backstitching, it might have been a different story.


I started this piece shortly before I started working on StashCache, so posting these photos today seems a fitting way to commemorate the fact that I have submitted StashCache to the Google Play Store. Stitching Mirabilias is what finally got me branching out from kits and started my serious stash building, and ultimately what drove the development of the app. I’m really excited (and terrified) to put it out into the world, but I think it’s just as beautiful as this finish in its own way. Maybe not to some people’s taste, but I’m proud of it all the same.

Just a few more steps until we’re live.

In a long slog today, I did a final code review and commenting pass on the code for StashCache. One error caught (which left me scratching my head wondering how it happened and how I missed it for so long, but it’s fixed now) and a few spots where things were cleaned up.  More comments added, for clarification or for reminding me of steps that I need to be aware of why they are there. However, at this point the build is, from a coding perspective, the build for the release.

Tomorrow I’ll poke at the manifest stuff to make sure that all lines up with what it should and see about building the release .apk, and creating a developer account on the Google Play Store.  It’s possible the app will be up tomorrow night! Which is both amazing and scary and …well, actually terrifying. I’ve poured an awful lot of my heart into this app and I think it works great – but like anything that you’ve worked incredibly hard on, the idea of hearing criticism of it is a difficult one. It’s my baby, and the Internet is frequently a not-nice place.

On the other hand, it is something I genuinely think people will find useful and it’s a product I can be proud of.  I’ve squashed every bug I’ve found and while things may not have been implemented 100% according to Google’s best practices, I’ve done my best to adhere to them wherever possible (or to have a good reason for violating them where I’ve had to).  I admit I didn’t update the design for 5.0 (although I don’t have it on my phone yet so I can’t feel too guilty about this) but the guts of the app were pretty well written by the time that was released, and in particular the loss of the spinner (in favor of the NavDrawer) …there’s a reason I’m using the spinner, and so it’s staying put. At least, until it no longer works.

The website is pretty much ready too – there’s one or two more small tweaks I’d like to make, but the stuff for StashCache is complete, including the tutorial, FAQs, and page on imports. It’d be nice to pretend that will be the end of it all but once the app is done I just get to switch gears to the after-app to do list, which …I should probably work on writing up.

Maybe I’ll even squeeze in some cross stitching again!

Proofed and up.

Ooof. Well, I meant to get this a little more together (and post) before we had the whirlwind cross-country trip to see family and a wedding, but time got away from me. We got home late Monday night to ants in the kitchen (they found the cat food – ugh ugh ugh ugh) so I have mopped the floor at least three times now.

Last night one of my favorite bands played up in the city, so of course we got tickets and went to that – and got home at 1am. Even with my normal hours, that hurt, especially since I’m still trying to stay vaguely on East Coast time until after the other half’s knee surgery on Friday. Hah. So the alarm slipped later this morning but will have to move back tomorrow make sure that happens.

Despite all of that, the tutorial and FAQs and template pages are up! My sister (bless her) has proofed them for me and I figured out what was going on with the image caching after wasting an hour on it, so I’m pretty happy with where we’re at. I just need to decide on one or two more potential changes to the main page and settle the e-mail issue, and then it’s a final code/comment pass (and a little more testing – I’ve hammered out a few bugs so far!) before I commit and get this up on the Google Play Store. It’s so close! I’m thinking end of next week.

I did take the Great Wave piece with me while travelling and made a small dent in the giant sea of white but there is still so much more to go. It’ll go with me to the surgical center on Friday, for sure. In the meantime, I need to produce a grocery list, mop the floor (again), find an exterminator to call (seriously, these ants), all those pesky reality bits.

Now the testing (and the website work).

The app is done!  Barring, of course, a major bug cropping up in the testing I’ll do this week.  The difference between where it is now and where it started is amazing and I’m really pleased with how this has turned out. I can’t wait to send it out into the world and see what others think of it – I’m hoping at least one or two folks might find it useful!

In the meantime, the website will also get some attention this week. Now that the screens are set, I can redo all the screenshots and tweak the tutorial to take into account the changes that have been made since I wrote it up. I also need to put together a pass on the FAQs and write up the page about importing and exporting.  In perspective, though, it’s so close!

The sea of white is …not even close.  We travel at the end of this week too, so it’s not likely to see significant progress for a bit; I’ll stick to smaller kits while flying, thanks, and especially with all the white stitching that needs to be done. It’s a shame, because it’s a giant area of essentially filling in the blank spaces …I don’t know. Maybe. It’ll be nice to spend some time stitching again either way, even if it is because I am sitting on a plane at 7am (ugh) traveling 3 time zones the wrong direction (double ugh).

I admit, there are times I could really get behind the concept of abolishing time zones.

Enough feature creep, we are almost there…

This has been a serious coding binge, but oh man. I’ve implemented a notes section for a project (associated with the fabric because that is where the finish info is tracked), dates to track when you started and finished a project, fixed several major bugs (including a nasty one that caused crashes during a common use-case scenario) and even more minor ones (some small edge cases are no longer slipping through on sorting).

I’m drawing the line. At this point, the only things left before I am going with this for release are: the help screen, making a few adjustments to where menus show up, and an update to the logo on the loading screen.  Also, a serious commenting and clean-up pass, but that’s a given.  At this point, if I never did a substantial feature update once it is on the Google Play store, I could live with that. It’s something I can be proud of.

I’d really wanted to finish it today, honestly, and have this weekend to enjoy doing other things including stitching (which has suffered immensely because I can’t do that and code), but …I also want to do something else that is not coding for a bit. Tomorrow will be a day around kilts (hooray for Highland games) and then maybe I will work on the help screen on Sunday. That’s the biggest of the remaining tasks.

In the meantime, I will watch a little more hockey today (excellent background noise while coding, plus playoffs), and look at patterns (I am undecided on the new Mirabilia), and go to bed at a reasonable time.

…well, reasonable for me.

Driven by features, that’s my to do list.

The final behind-the-scenes implementations to get the patterns something that can be in or out of stash has been finished – changes to both the importer and the exporter. They can be non-trivial pieces of code to maintain, sometimes – the importer especially can be a beast in terms of readability (and this is after I refactored the sucker) – but I feel like the benefit is worth it. I strongly believe that after the user has gone through all this trouble to enter in their data, it should be available to them in a form that they can take with them. Whether that’s because they don’t like my app (I hope not) or it’s 20 years down the road and it’s time for something different or whatever, it should be in a human readable, sensible format that’s portable.

I’d actually forgotten I’d done some of the work on the importer on Monday and was really not looking forward to diving back into that piece of code, so it was a pleasant surprise to open up the file and realize that I only needed to make a few more changes in order for it to work with the changes I had decided on for the exporter.  Thanks, Monday Me!

Tomorrow there’s a whole host of items on the to do list – how do I display the information about finishes for patterns, for example, and do I show how many of x are called for by the number of patterns marked as kitted? Plus the whole “marking a pattern as complete” bit still has a number of things that need implementing; I am currently thinking that I’ll put in a preference to allow the user to determine whether the app deducts things from the stash or they do it manually (easy enough to add, and will let folks who want to edit the stash as they go not lose the ability to mark things complete).  Dialog box to congratulate the user on the finish and explain, if necessary, what edits will be made to the stash and, oh, at some point, an in app help button will probably be useful.  Sigh.

Really, I am just avoiding the giant sea of white that is the current stitching in the current project, plus a host of other mundane activities. But tomorrow I will write more code, and the app will hopefully come very close to the point where it is ready to be released.

Then the real measure of its usefulness will come.

May 2024