mixed feelings about Microsoft

I’ve been having a lot of mixed feelings about Microsoft lately, and I feel like I need to blog about this, so I can get some stuff straight in my head.

Overall, my feelings about Microsoft have gone back and forth, over the years. At one point, I thought of Bill Gates as being pretty darn evil. After his retirement, and his reinvention as a philanthropist, I softened up on him a bit. I never liked Steve Ballmer. And I liked Satya Nadella quite a lot, in the beginning, and even read his book, but I’m starting to have mixed feelings about him. So that’s the CEOs.

As for operating systems, I tolerated MS-DOS and Windows 3.1, and knew I had to learn and use them, but never much liked them. When Windows 95 came out, I was actually kind of excited about it, enrolled in the preview program, and installed it on my home machine, from floppy disks. My enthusiasm for later Windows versions has varied. I do mostly like Windows 10, which is what I’m running on my home desktop PC right now.

And as a programmer, I’ve also gone back and forth. I liked classic ASP when that was released. And I liked ASP.NET, and .NET in general, when that came out. I’ve been an enthusiastic .NET developer since 2002.

Microsoft Build was this week, and I (as usual) registered for the online component of the conference, and tried to watch some of the content. Honestly, I couldn’t find much of interest to me. They’re really pushing AI, and, while I’m not entirely against it, I’m also just not as enthusiastic about it as they’d probably want me to be.

Watching this week’s Windows Weekly reminded me of some of the issues I have with Microsoft right now. First, MS is having issues with employees protesting during events, mostly around Israel/Palestine, and I don’t think they’re handing that well. (And here’s something from Brian Eno about the issue.) Second, I don’t think the layoffs they did recently were necessary, or handled well. Third, they had Elon Musk on stage during the Build keynote. (I don’t think I need to say why that’s bad…) Overall, they’re doing what I guess I should expect a giant tech company to do, but, well, I was hoping for better.

So, where does that leave me? Well, I still need to use Microsoft products for work, and a big part of my job is supporting our relationship with Microsoft, so I still need to be invested in the ecosystem. I registered for the AZ-204 exam today, for the end of June. (I blogged about that recently here.) I still have a lot of studying to do, to prepare for that. So, in general, I’m still going to keep learning and trying to keep up with this stuff. I can’t give it up and switch to Linux.

On the home front, I’ve been thinking about what I should do about my ten-year old Windows 10 desktop PC. It’s still my main machine, and it still works fine. With Windows 10 reaching end of support in October, I need to do something, but I can’t decide what to do. I might decide to subscribe to a third-party update service for Windows 10. That’s probably a little risky, but might be my best choice.

I’ve also been playing around with the idea of switching the machine over to Linux. That’s probably a horrible idea, but I kind of want to do it. There’s a campaign going on to encourage switching from Win 10 to Linux, and that’s what put the idea into my head. I would really still need to run Windows, though, so I’d have to figure out if I could make do with using my Lenovo ThinkPad for all my Windows stuff, or if I could dual-boot the desktop machine, or run Windows in a VM, or something. Regardless, I would just be complicating things and making life harder for myself. (Which doesn’t usually stop me from doing something stupid, but…)

My other thought was getting a Mac Mini and trying to gradually move my home stuff off Windows and onto Mac. That’s a lot more doable. (I already have a MacBook and use it for a lot of stuff.)

Well, this post has been a mess, and I don’t think I’ve decided on anything. But maybe I’ve moved forward a bit with my thinking. I going to leave it there, and try not to worry about it too much right now.

Programming for Dynamics AX 2012 in 2025

Yes, it’s 2025 and I’m still writing X++ code for Dynamics AX 2012. Sometimes, there are hurdles when you have to write code in an almost dead language for an almost dead product, and you’re trying to get information from the internet. I thought I would take a quick break and write a blog post about that.

First, the state of internet search, in general, is kind of rotten right now. That’s well-documented. And when you’re searching for information about an almost-dead product, it gets harder.

In terms of search engines: at work, I can generally use Bing, Google, and DuckDuckGo. None of those is blocked, though I can only log in to a Microsoft account, not a Google account. So whatever advantage there is to having your search history saved, I can only get that with Bing.

(At home, I’ve been experimenting with Kagi. That’s blocked at work, so I can’t use it there. I may be writing up a blog post on Kagi soon, but that’s for another day.)

I haven’t seen any advantage to using one search engine over another when searching for Dynamics AX content. I think Google is probably the best, to be honest.

A few general observations:

    • Microsoft documentation for AX and X++ is usually still out there, somewhere, on Microsoft’s site, but it doesn’t always surface near the top of any given search. A good starting point for that might be here.
    • AX lives on as “Dynamics 365 Finance and Operations”, or… something like that. Some of the documentation for FinOps also applies to AX 2012. A good starting point for that is here.
    • Axaptapedia used to be a good resource for AX info, but it seems to be gone. It does occasionally still show up in search results. You may be able to find it on archive.org. (Though that’s another thing that’s blocked at work. Sigh.)
    • There are a lot of AX-related blogs out there. Most of them are dead at this point, but still up on the web. And many of them were never really much good. Some were just cash grabs, scraping info from other blogs and sticking Google ads on them and hoping to make some money (presumably). Some were well-intentioned, but provided questionable advice. You can still find some useful blog posts out there, but you need to sift through some dross to get to the useful stuff.

Aside from using search engines, you can also try to get useful information about AX and X++ from LLMs, like ChatGPT and Copilot. I’ve had some success with that, but I’ve found that LLMs are prone to a lot of hallucination when it comes to X++ code. (Again, there are limits to the LLMs I’m allowed to use at work. I’m basically limited to Copilot and our internal LLM chatbot.)

I’ve recently been working on a problem, trying to optimize some fairly complex X++ code. I got some fairly useful advice and assistance out of our chatbot, but also some entirely wrong information. For instance, I needed to review some stuff about X++ collection classes. Our LLM hallucinated a few functions which would be great, if they existed, but they don’t. One was “Global::conSort()” which was supposed to sort a container, and “Set::toContainer()” which was supposed to convert a set to a container. Alas, neither of those exists!

It also gave me some incorrect information about sets. It told me that using a SetEnumerator does not necessarily guarantee that the set will be returned in a sorted, or even predictable, order. But I’m pretty sure that it does always return the set in sorted order. I haven’t found a definitive answer for that anywhere, but here’s a blog post that indicates that sets are returned sorted. And Axaptapedia seems to agree. (And all my testing supports that.)

And here’s one more blog post that has what I think is a pretty good answer:

No matter what order elements are added to a set or keys are added to a map, when using an enumerator to traverse the set or map, the elements are in a sorted order (for string and numeric types). However, the MSDN documentation for the set class states that elements are stored in a set “in a way that facilitates efficient lookup of the elements.” It might not be safe, therefore, to rely on this sorting behavior as it might possibly change in the future.

Good enough for me, for now. So maybe the LLM wasn’t entirely wrong on this, but for my purposes, I’m fine assuming that the output of a SetEnumerator is sorted.

AZ-900 Azure Fundamentals exam

I’ve been messing around with various prep materials for various Microsoft exams for a while now. I go back and forth, but I never seem to get far enough to actually take a test. The ground shifts under me, and I have to switch my focus to something else.

I’d been working towards taking the AZ-204 exam, starting in mid-2024, but I kept getting sidetracked. Well, I got serious about it again recently. But then I realized that there’s some overlap between AZ-204 and AZ-900, and I could probably prep for the AZ-900 in just a few days. I already know a lot of the material on AZ-900, so there wasn’t much extra stuff to learn.

So I spent some time last week studying, then got enough done over the weekend that I felt I could take the exam today. And with the online exams, you can generally get a same-day appointment. So I did that, and passed the exam today!

The process for the online, at-home, exam is pretty much the same as it was in 2023, when I passed the PL-900 exam. The one wrinkle I had this time was that I couldn’t get through the pre-exam system check. Long story short: I had to go into “Windows Features” on my laptop and disable anything related to Hyper-V. They don’t want you taking the exam on a VM, which I can kinda understand, but they also make it impossible to take the exam on a laptop that’s configured as a VM host, which is kinda silly. I also had an issue where the proctor made me wander around my table with my laptop, showing her my entire kitchen table via the webcam, to make sure the table surface was actually clear. And she had me take off my watch. So the prep was a bit of a pain, and took longer than the actual test. I don’t remember the proctor bothering me at all last time.

I paid for the exam myself, using a 50% discount that I can get through ESI (Enterprise Skills Initiative), so it was only $50. I might get reimbursed for it, or I might not. I decided to take this exam without running it by my boss first. I was afraid he might throw some obstacles in my way, and I just wanted to “strike while the iron was hot,” so to speak.

I’ve also rediscovered today that my “test anxiety” problem is still a thing. I’ve always had it. It peaked in high school, where I went through a phase where I would get physically sick when dealing with high-pressure tests (like finals or mid-terms). At some point, I realized what was happening, and got it under control. (There was really no guidance for mental health stuff for teenagers back then, so I’m not sure how I did it. I just figured it out on my own.) Anyway, even taking a dumb little Microsoft cert exam still makes me break out in a sweat, apparently.

I’m probably going to try for the AZ-204 later this year, if I can find the time to finish the prep.

vacation clean-up

So we’ve got water back, though the water pressure is a little weird, and we have a boil water advisory. Meanwhile, I’m trying to check a few things off my to-do list today.

A few days ago, I finally wiped my TiVo, unhooked it from the TV, and boxed it up for recycling. I got it in 2015, so it had a good run. Almost ten years.

That made me look at the situation under my TV a bit closer, and convinced me to see whether or not it was worth keeping my PS3. I got that in 2008, so it’s even older than the TiVo. I’d unplugged the HDMI cable on it at some point, for some reason. I plugged it back in today and turned it on, and surprisingly, it worked.

It wasn’t hooked up to my current WiFi network, which means it’s been at least two years since I’ve turned it on, since I bought that router in 2022. It took a bit of work to get it going. I had to reset my PSN account password, then generate a new device setup password, and get it entered on the dumb on-screen keyboard on the PS3. But it’s working now.

The PlayStation store for PS3 was discontinued in 2021. And I’m not sure if the Blu-Ray player works. So I’m not sure if it’s at all useful. I should probably talk myself into resetting it to factory defaults and recycling it. One thing at a time though.

My other big cleanup thing today was to put together a pile of old tech books and dump them in a book donation bin. (I know tech books usually don’t have much resale value, but this bin specifically says that it’s OK, as long as they have UPC codes. They might just toss them, but I’m fine either way.)

It took some effort to convince myself to dump them. I know they were all out of date, and I can access most of them through O’Reilly Learning if I need them, but it was still hard, for some reason. Most of them were from the stack of books I used to keep at my desk at work, before they moved us to our new smaller cubicles, which don’t have any space for books.

I guess I still have trouble letting go of old stuff, in general. Part of me still thinks I’m going to finish reading that book about SharePoint 2010 development, or playing Final Fantasy VIII, or watching all the Svengoolie episodes on my TiVo. But I need to let go of some of this stuff and move forward.

CrowdStrike, Pluralsight, agile, anime

Today’s another day where I feel like I have a bunch of stuff to blog about, and it’s all pretty random. So I’ll break it up with some sub-headings.

CrowdStrike

I woke up this morning to news about this issue, via my Mastodon feed, which I always check first thing in the morning. It didn’t hit my company, thankfully. But it does seem to have caused a lot of chaos. I almost kind of hoped it would hit us, since it would have been nice to have a day off. (Not really though.)

Pluralsight

I’ve had a Pluralsight account since 2016. At some point, my company got a corporate account, and I got myself added to it, so I don’t have to pay for it anymore, which is nice. Recently, my company has decided to go all-in on Pluralsight, and they’ve given everyone in the IT department an account. (Previously, it was just a select few.) They’ve also put some structure around it, asking us all to do three skill assessments, then pick one of them to try to get better at. I’m going to try to improve my score on “C# Coding Practices.” I’m currently “above average”, so I guess I’m shooting for “expert” now.

I’m a little puzzled about why they seem to have put so much effort and expense into this one particular thing, but I guess I’m glad they have.

Agile/Scrum

My group within the IT department is currently going through an “Agile transformation.” I mentioned this a couple of weeks ago. Things are going… OK, I guess. We’re in our first official sprint right now. I think we’re on the right track. We have a scrum master who seems to know what he’s doing.

We’ve divided the group into two “feature teams”, which is kind of weird, since it seems to be a fairly random split. I guess I understand why they did it; scrum teams aren’t supposed to be too big. They also want us to come up with names for the teams. That’s one of those things that initially made me groan, since the only acceptable corporate team names are all going to be terrible. I’ve accepted the inevitable now, though. I was pushing for a Harry Potter house name for the team, maybe Hufflepuff or Ravenclaw. Consensus seems to be on “Scrumbags” which I also kind of like.

Anime

I finally finished watching all of my Master Keaton DVDs this week. I bought most of them in 2006, and I think I’ve finally watched all of the stuff I bought from Right Stuf back then.

I still have a couple of DVD sets from long ago that I need to watch. I think I might start Devil Lady soon. I bought that from Overstock.com in 2005, so that’s been collecting dust on my shelf for even longer than the other stuff. And I have a set of Excel Saga which I got in 2007. Honestly, I’m not entirely sure why I bought either of those. But hey, they should both be fun to watch.

Heat Wave

We’re in the middle of a heat wave here in New Jersey. And I haven’t been doing well with it. I started feeling bad Wednesday night, then had to call in sick on Thursday. I already had Friday off for Juneteenth; if I didn’t, I would have had to take another sick day. It’s Saturday now, and I’m feeling a little better, but honestly, just doing my laundry has pretty much exhausted me.

I had my groceries delivered from Whole Foods today. It’s been a while since I’ve done that. (I think the last time was in March.) I definitely wouldn’t have had the energy to go over to ShopRite today. (Well, I probably could have managed it, if I had to, but I’m better off resting, I think.) I didn’t leave the apartment at all Thursday or Friday. I might try to venture out briefly today, maybe to get a croissant from the bakery or something like that.

I’ve been thinking about why I’m sick and whether or not I could have made any different choices on Wednesday that could have prevented this. We had an IT Town Hall meeting on Wednesday at work. It was a 90-minute in-person all-hands meeting. I wore a mask, but there were likely a lot of germs going around. Then, later, we had an “ice cream social.” That was outside; they got a couple of ice cream trucks to set up on the patio. I got in line for that, but it was so hot I gave up and went back in. Someone had left a birthday cake in the break room, so I had a slice of leftover cake instead. So now I’m wondering if I picked up the cold from the town hall meeting, the ice cream thing, of if the leftover birthday cake did it. And I’m wondering how much the heat had to do with it.

Honestly, I’m wondering if I can do large (or relatively large) in-person stuff at all anymore now. And/or if I should avoid any kind of shared/leftover food that might have germs on it. I guess it’s good that I gave up on NYCC this year. Garden State Comic Fest is happening today in Morristown. I’d been thinking about going to that. It’s much smaller than NYCC, so I was thinking that I could probably survive it. But I’m definitely too sick for it.

Meanwhile, at work next week, I’ve got continuing fallout from the big project that went into production a couple of weeks ago. I think I’m managing that well. We also have an “agile transformation” project going on. We had an in-person training class on that on Thursday that I missed. And we’ll have two more in-person classes next week. I’m hoping I can make it into the office, and get through those in one piece. But I’m worried about it. Of course, I probably know more about agile and scrum and all that stuff than the people who are running the classes. But I need to show up and engage and figure out whatever hoops the new management wants us to jump through.

To refresh my memory on Agile, I started reading Clean Agile by Robert Martin last week. It’s not bad, so far. I read Clean Code a couple of years ago, so I’m familiar with Uncle Bob’s writing style and his various quirks. His style probably isn’t for everyone, but I’m OK with it. I’m curious to see how far we really go with agile at work this time. There was a big push for scrum a few years back, and we never really did it right. It’s easy to be cynical about this stuff. I hope we “do it right” this time, or at least close enough to right to be useful rather than just an additional layer of meetings and paperwork, but we’ll see.

I also started reading a fairly random book by John Maxwell recently. There was a push at work a while back to learn and embrace the Maxwell leadership style. This was back when I was still a manager. I haven’t heard much about it lately, but then again, I’m not a manager anymore. I noticed this book in my Kindle library, and decided to give it a try. I acquired it in 2009. apparently. It must have been a freebie. I have no memory of buying it, and it doesn’t seem like the kind of thing I would have spent money on. It’s a self-help book on achieving your dreams, which is definitely not something I’m worried about right now. I’m just hoping to make it through the day, one day at a time, at this point in my life. But the book is interesting enough, in the sense that it’s giving me some insight into a mindset that isn’t my own.

I guess I’m taking a break from the Wheel of Time right now. I finished Crossroads of Twilight about a week ago. I think I’m going to try to read New Spring next. It’s a prequel novel, and was published after Crossroads of Twilight, so it’s next up, if I’m reading in “publication order.” It’s also a lot shorter than most of the main WoT books, so that’s nice.

Well, I guess that’s enough rambling for now. It should get up to 97 later, so I should probably give up on getting anything else done today. Time for a nap, maybe.

old man thoughts

I’ve been thinking old man thoughts this week. There are a variety of reasons for this.

First, I was contacted by somebody new at Merrill earlier this month to go over my finances. I had a couple of relatively long phone conversations with him, the end result of which was really to just… do nothing. Basically, my money is where it should be, doing what it should be doing. Looking back at my history, I could probably have done better with some stuff, but it’s too late to change that. At some point in the next few years, I should probably start moving some stuff into less risky investments, but I don’t need to do anything yet.

This was all kind of surprising. Since this new guy at Merrill called me out of the blue, I assumed there was going to be a sales pitch at some point to move me into a more actively managed account, with a management fee, but nope. Overall, it was probably the most casual and least pushy interaction I’ve ever had with a financial professional.

That all got me looking at some other financial stuff, including one oddball account I have, at MetLife, which was set up as a payout for my Dad’s life insurance, back in 2010. This kind of account is basically a sneaky way for life insurance companies to get out of actually paying out on their life insurance policies. Instead of a cash payout, they set up an interest-bearing account which you can write checks against. You can, of course, write yourself a check for the full amount in the account, but they hope you won’t do that. I decided to keep the account, since it was making more interest than my regular checking account. I used it once, in 2012, to buy the car I’m still driving. Other than that, I’ve just let it sit there and accrue interest.

My justification for keeping it was largely as an emergency account, following the general principle that you should have one account that’s at a different institution from your regular bank, just in case something happens with your main account(s). On several occasions, I’ve thought about closing it down and moving the money to a higher interest HYSA. Honestly, I should have done this long ago. Right now, some HYSAs are paying close to 5%, so I finally decided to do it. (The MetLife account was paying a little over 2%.) I was also starting to get fed up with the web interface for the MetLife account, which was always a mess, and a pain to use.

So my goals for a HYSA were to find one that (1) wasn’t associated with BoA or Merrill, (2) had a good reputation and user interface, and (3) had a good interest rate. I settled on Marcus, from Goldman Sachs, via an AARP link that got me a slight bump in the interest rate for the first couple of years. (And the link in that last sentence is an affiliate link, by the way.) I wasn’t 100% sure I should go with Marcus, since there was some talk last year about Goldman getting out of consumer banking. But they still seem to be pushing Marcus, at least via the AARP partnership.

Setting up the Marcus account was pretty easy. I didn’t have to do much to prove who I was. (That might have something to do with the fact that I have an Apple Card, which is managed by Goldman, so they already know who I am.) I couldn’t link the MetLife account to the Marcus account to transfer money out of it, though. Instead, I linked my BoA checking account, then wrote a paper check out of the MetLife account and deposited it to my BoA account. It hasn’t actually cleared yet, of course, but I have enough money in my BoA account that I could transfer some of it into Marcus and get started.

So now I need to wait until after the Memorial Day weekend, see if the check clears, then transfer the rest of the MetLife money from BoA to Marcus. And I then want to see about taking some of the Marcus money and putting it into a CD, since they have CDs paying around 5% right now.

I’ve already set up the Marcus account in Quicken, which is another thing I couldn’t do with the MetLife account, so that’s cool. And I have the iOS app for it installed, though there’s not much point to that.

Of course, now that everything is set up, I’ve realized that Marcus maybe isn’t great as an emergency account, since the only way I can get money out of it is to transfer it to a linked account, and I only have it linked to my BoA account. So if the BoA account got locked or hacked or whatever, I’d have no way to extract money from Marcus. But, hey, we’ll cross that bridge if/when we come to it.

Looking back at some of my old notes, I see that I looked at HYSAs back in 2021, and found that they were only paying around 0.5% interest, which is the same as I was getting from MetLife at the time. So I guess that partially explains why I sat on the MetLife account for so long. When rates were lower, it was making about the same as a HYSA or CD.

So that was all a bunch of long-winded old man financial stuff. I remember, when I was younger, often zoning out whenever my dad started talking about his finances. (At some point, as I got older, I started paying attention, of course, and learned a lot from him.)

My other big “old man thoughts” instigator recently was listening to this episode of .NET Rocks, with Shawn Wildermuth, talking about being a senior software developer. Shawn is 55, so he’s around my age (as are Carl and Richard, I think). All three of those guys are self-employed, though, so their issues are a little different from mine. But there’s still the challenge of being an older guy doing software development, trying to keep current and stay interested, being an “individual contributor” later in your career vs. going into management, and other interesting stuff.

Along those lines, I tried to keep up with the stuff coming out of Microsoft Build this week, but it was a lot. It’s kind of funny how they’re talking about all this cutting-edge stuff, and I’m still working on stuff in our Dynamics AX 2012 system, on my Windows Server 2012 R2 VM. And also working on ASP.NET web services using .NET Framework 4.7, from 2018. Oh well, at least I’m using Visual Studio 2022 for that (though it’s on a Windows 10 VM). Someday, I’ll work on something in .NET 8, on a Windows 11 PC, but that probably won’t be until I’m 64.

And my last old man thought for the day, since this thing has gotten way too long: At work, we got to see our remodeled space yesterday. (I don’t remember if I’ve mentioned it on the blog before, but our company is in the process of remodeling everything in our building. My group is currently in a temporary space while our regular space is remodeled.) Our old space wasn’t great, but the cubicles were reasonably large, with fairly high walls on three sides. The new cubicles are… not great. There’s a single sit/stand desk, with a surface that seems to be around 3′ wide by 2′ deep, with two arms to mount monitors on. And there’s a two-drawer rolling file cabinet under it. The cubicle walls are a little higher than the ones in our temp area, but nowhere near as high as our old cubes. Around 4 feet high, I think? Also: I’m not sure there are any regular Ethernet ports in the cubicles. There are a couple of AC outlets, and what I assume is a USB power outlet, but I didn’t see anything that looked like a network port. I’m not sure if that means that they’re hoping we can get by with just wifi, or if I missed something.

Anyway, I’m thinking about all the adjustments I’m going to have to make. The old cubicles had L-shaped desks, with three drawers on either side, for six total, plus a bookcase above the desk. Now, I’ll just have two drawers. And about half the desk space I had previously. (Or maybe a third? It’s a lot less either way.) Over the years, I’ve cut down on the amount of physical crap I keep at my desk, but I’m still wired to want/need more stuff than the younger folks typically do. I had around a dozen tech books at my old cubicle; they’re all in a box in the back seat of my car now. I’d assumed I’m be able to keep them at my new cubicle, but it doesn’t look like there will be room. I guess they’re getting recycled. I’ve noticed that some of the younger guys in our group have literally nothing on their desks, aside from their laptops and monitors. I need to figure out how to work that way.

.NET Conf, and yet more on AI

.Net Conf was this week. I caught a few sessions here and there, but not much. Maybe I can check the playlist and catch up on anything good that I missed over the weekend. The main point of the conference was to push .NET 8. From what I’ve seen so far, it’s… fine. But there’s nothing there that makes me want to jump on it and start moving older projects over to it.

Meanwhile, I’m continuing to try to learn more about ChatGPT and other generative AI / LLM topics. I finished a LinkedIn course called ChatGPT for Web Developers this week, and that was kind of useful. I’d reached the point where I was ready to sign up for ChatGPT Plus, so I could play around with GPT 4 and other advanced stuff, but now there’s a waitlist. I guess there was so much interest from the DevDay stuff, that they couldn’t keep up. (I wonder how much money/hardware/etc. it takes to keep ChatGPT running. I know it’s a lot, but…)

So, since I couldn’t give OpenAI any of my money, I threw some at Poe instead. I gave them $200 for a year’s subscription. I’m not sure if Poe is worth that much, but at least I can now use GPT 4, albeit only through Poe’s interface. Maybe I’ll experiment with Poe’s bot creation tools, though I don’t know if I have any compelling bot ideas. Oh, and of course, as soon as I paid for Poe, I noticed that work started blocking it. So I guess work is committed to blocking all AI chatbots except our internal one, and the Bing/Copilot one. (Which is fine… Bing/Copilot chat works well enough, I guess.)

I actually used the Bing/Copilot chatbot a lot over the last few days, as I was trying to figure out how to solve a specific problem with a project I’m working on. It was useful, but I could probably have gotten just as far with old-fashioned internet searches. It might have taken a little longer though.

Learning

I renewed my ACM membership over the weekend, and I noticed that they now have an add-on called the Skills Bundle. I’ve blogged before about ACM learning options. I was a little annoyed when they dropped O’Reilly some time ago. Now, you can pay $75 extra and get limited access to O’Reilly, Skillsoft Percipio, and Pluralsight. It’s not all of O’Reilly, but it seems to be a good subset. So I paid the $75 and got that.

I still get Pluralsight through work, but I, stupidly, decided to try logging in through ACM, just to see what I’d get from ACM. Well, that was a bad idea, since it linked my account to ACM and un-linked it from work, so now I only have access to the ACM subset of the Pluralsight library. I may try to straighten that out tomorrow.

I’m still doing a little bit of learning around ChatGPT and other AI stuff. OpenAI had their “DevDay” conference today. You can watch the keynote here and read about it on their blog here. And here’s a news wrap-up from The Verge. There’s some interesting stuff going on, though I don’t know if I’ll have the time or inclination to dig into it too deeply.

I’d meant to do some ChatGPT learning over the weekend, but I started feeling a little sick again, so I spent a bunch of time in front of the TV binge-watching The Dragon Prince season 4 on Netflix.

Meanwhile, I’m thinking about trying to get back into learning Angular, which I started reading about a year ago, but put aside at some point for various reasons. I see that there was some kind of Angular event today too. I guess I should watch that video, and/or read this blog post.

And I may try learning MongoDB soon too, though maybe I’m biting off more than I can chew again.

Sometimes, I wish I’d picked a career that didn’t require me to learn a bunch of new stuff every year. But I probably wouldn’t be happy with that. I just get tired sometimes.

Project Euler and various distractions

Since I started messing with Project Euler again yesterday, I’ve finished up my work on problem 73, and almost started problem 74. I got as far as creating an Evernote note to keep track of my work on it, but that’s about it. Instead, I did a bunch of messing around with my existing code and poking around on the internet to see what’s going on with Euler these days.

I discovered that one of my favorite resources for Euler info, MathBlog.dk, has disappeared from the internet. I’m not sure what happened to it, but it’s unfortunate. I can still find it via archive.org, which I appreciate. The posts there helped me understand what was going on with the problems, and included C# code solving the problem. I always try to figure out the problems on my own, but it’s nice to see how other people solve them and see if I can figure out what’s going on with the more advanced solutions.

And I found another interesting blog with Euler discussions and solutions. His posts are really good, with a lot of detail, C++ source code, and links to other resources.

Meanwhile, I got interested in experimenting with GitHub Codespaces, to see if I could edit and run my code right from GitHub. The first issue I hit is that my current project was using .NET 4.8, which is pretty old. I was surprised by that, but then remembered that I’d last done any real work on it in 2015, so I guess that makes sense. After a fair bit of mucking around, I got it moved to .NET 6, pushed it back to GitHub, and tried again. Long story short, it still doesn’t work in Codespaces. I could probably get it working, eventually, but I’ve got better stuff to do right now. So that pretty much killed the available time I had today to mess around with Project Euler.