Posts

Wingfoiling app for Garmin Watch

Image
Well, the other day, I got really frustrated with an app I've been using on my Garmin watch to track my wing foiling sessions. It kept crashing while I was on the water and I had to restart it several times when I noticed it crashed. I wasn't sure if the crashes meant the session recording data was completely or only partially lost. This is definitely not something I want to be worried about when I'm out on the water having fun wing foiling. I would also prefer to have my sessions recorded reliably as a single session so I can see how my skills are progressing and have reliable session statistics available in the Garmin Connect dashboard. This wasn't the first app I installed from the Garmin App Store either. Oh no, I think I installed and tried at least four, and some of them didn't even start or run to a point where I'd be able to test them. App crashing was a disappointingly common occurrence. When I came home that day, I decided to look into Garmin app devel

The Hype about Generative AI

Image
Unless you’ve been living under a rock, you will know that the year 2023 in tech was all about Generative AI or GenAI for short. I’m sure the hype will, of course, continue well into 2024. I’ve worked in the tech industry for long enough to see many hyped-up new trends and promising emerging technologies come and go through this hype cycle. Even Gartner places Generative AI on the so-called peak of inflated expectations in its 2023 report on the Hype Cycle for Emerging Technologies [1]. GenAI is a subset or an emerging field of models and techniques within the field of artificial intelligence, that goes beyond what we already know as descriptive, predictive and prescriptive analytics and is capable of creating or generating various types of data such as text, images, code and audio in response to descriptive text prompt. In this article, my thoughts refer particularly to text generating capabilities of GenAI which are currently the most mature and readily available for consumption in t

Poor Man's T-SQL Formatter

You know those nice little helpful add-ins and plug-ins that you discover one day and they really help with your productivity? Today I had to do some SQL scripting again and since I don't do it that often I get a little rusty. I also hate ugly looking code of any kind - anything that's not neat, tidy and sensibly formatted. Formatting is one of those things that's best automated - why would you waste your time meticulously making sure all your code is of consistent style, broken into new lines at the right point etc. Tools help and one such tool is the Poor Man's T-SQL Formatter: http://architectshack.com/PoorMansTSqlFormatter.ashx I discovered this one many years ago and I keep coming back to it because it is simply what I need, it works, it's quick to install and doesn't cost anything. Today I was working with Sql Server Management Studio 2017 and I wondered, hey does that plugin work with this version. Yes, yes it does. Awesome. Absolute kudos to th

That pesky hard-coding

The other day I was reviewing a request for a quote and a statement of work for a project I've been working on for a while and my eye caught an interesting statement I haven't noticed before: ...the proposed approach of refactoring the codebase and procuring COTS products for replacement of hard-coded functionality is the lowest risk and most cost-effective approach to delivering an improved solution... Hard-coded functionality? Huh? What's that? Well, technically, all functionality implemented by means of software code is hard-coded in a sense or in other words, doesn't change unless you change the code logic. That's actually perfectly normal and good thing. You wouldn't want your software to go all fuzzy and produce different results each time given the same inputs. So clearly, whoever wrote the request for a quote didn't understand what hard-coded means. The term hard-coded is used in a slightly different context and is considered a negative pract

Essential skills - user experience

I rediscovered all the delightful benefits of mockups all over again on the latest project I'm working on. To put the story in context: We're a large team of professionals with a range of different skills. One of our team members was a UX/visual designer person who's responsibility was to conduct workshops with the client to develop a UX story and visual designs for the product we're developing. Her participation on the project was time-boxed and limited by a budget. Of course - nobody has an endless budged for anything. If we did, we could keep tinkering with stuff. To cut the story short, we ran into a couple of issues: The client didn't quite like the first cut of proposed visual designs There was a lot of pushback on the details - don't like the colours, don't like this and that, don't like the icons etc. The branding was kind of done but still a bit in the air when it comes to approval with 100% satisfaction UX/visual designer person ran out

Read Assistant

Image
I took 4 courses as part of my masters degree at university last semester. If I said I had tons of textual material to read I would not be exaggerating. Literally hundreds and hundreds of pages to read each week. Some of the readings were difficult academic articles too. Stuff you can't just read casually, to absorb and understand the material. On top of all the textbook reading I had to read at least two academic articles on the topic of philosophy of science per week. I had to understand these two articles and critique them. If I didn't do that regularly I would fall behind on the readings for that course and it would simply be impossible to complete the readings for the following week. I had to write tons of material too. Writing and editing of documents takes a lot of time too - a lot of rereading of what I wrote. At times, my mind was at the brink of exploding. My eyes would sting from all the screen time. The will to learn was certainly there but sometimes I felt I was

Finding and highlighting a section of text in WPF RichTextBox

I'm working on a hobby project and I was stumped by this seemingly simple task. RichTextBox class does not implement a straightforward way to do this out of the box. I found several useful snippets of code on StackOverflow but none worked perfectly with formatted text I was displaying in my RichTextBox. Text spread over multiple paragraphs, spans and containing embedded elements proved to be particularly problematic.  I figured out that I need to somehow use TextPointer class to find the section of the text I wanted to highlight. The main problem I had was finding the text within the document and then correctly obtaining the absolute character positions for the start of the section and the end of the section. If the document contained multiple paragraphs and the text I was trying to highlight spanned over multiple lines of text, the built-in methods would return character positions which were slightly off. My final solution was to implement TextPointer class extensions which ac