Sunday, February 25, 2024

Balatro

I don't know how obvious it is from my posts, but in addition to being an obsessive board gamer, I am also a somewhat obsessive video gamer.  This isn't going back nearly far enough, but Playstation 2, Playstation 3, Playstation 4, Xbox, Steam [doh, forgot Wii, and others]....and, of course, simply downloading/buying and installing for, um....40 years?  Wow....that seems like a long time.

I downloaded this tonight. Rather than doing something fantasy or scifi based, Balatro took straight up poker hands and turned it into a level climber.  It's difficult to say "that's brilliant" because it really should have been done before.  But, damn....that's brilliant.

If you like poker, this is a FUN game.  



Reading January/February 2024

I'm publishing my reading list for January/February a bit early so I don't lose it down behind a lot of other posts.  I aimed for 40/50 pages a day, which is really 50/day almost to the page not including the two graphic novels.  Oops, images before the day-to-day list this time, but that's ok.  It'll mix it up a bit.

I did actually get some other reading done as well given I have a whole week before March, but the book I'm reading is over 1000 pages, so I'm not deluded into thinking I'll finish before end of month. I wrote a separate post on Witch King.  Avoid the Year's Best Dark Fantasy and Horror Volume 4.  Some excellent writers in the collection, but not their best work imo.  Sanderson's writing is enjoyable.  As I understand it, I have two books left in that series and the fifth one comes about November 2024?  I better read them more slowly.









Theatre in the Round - Silent Sky

I think my lesson here is I can't even keep up day-to-day.  That was never really the goal, so I don't think I'll try.  But I realize I totally forgot the story about the guy down in the river valley who looked and smelled like my neighbor and his corgi if he had white guy dreads and smelled of so much reefer it lingered for half a mile.  Dankest T. 


Friday, my wife and I went to Silent Sky by Lauren Gunderson at Theatre in the Round.  

Poot missed the last play, The Seagull.  I am generally not a fan of Chekhov, but it was an excellent adaptation.  Parts of it were funny.  I've never met funny Chekhov.  Sure, it ended in the typical way for a Chekhov play with a gun and death, but until that happened, it didn't mire in being morose.  It's interesting that per Wikipedia, it was originally intended as a comedy, that was then retooled to be a tragedy. And before the retooling, it was received so poorly that Chekhov quit playwriting for a while. Came through loud and clear.  So much better than Uncle Vanya, Three Sisters, or The Cherry Orchard in my opinion, although perhaps that has to do with my encounters with those productions being off-college theater.  Is that what it's called when they do Uncle Vanya in a one off large room full of folding chairs and a portable video screen for the trees at the University of Minnesota rather than in the main theater?  My primarily memory of Uncle Vanya was that room, almost falling asleep several times, only to be jolted away from passing out by gun shots.

I had NO idea what to expect from Silent Sky. I stayed away from any descriptions in order to give myself a surprise.  Lauren Gunderson's site says: "The true story of 19th-century astronomer Henrietta Leavitt explores a woman’s place in society during a time of immense scientific and heart-bound discoveries. With music and math bursting forth onstage, Henrietta and her female peers change the way we understand both the heavens and Earth."  I joked elsewhere that it was an educational play that would have been right at home on the BBC if you'd dropped a Tardis in the middle of the stage and had some interfering aliens lurking off stage.  But despite that bit of being flippant, it was wonderful.  It captured the raw effort that went into astronomy and physics in the pre-electronics days, the challenges women faced [including no vote] even when clearly more talented and inspired/passionate than the men they worked with, the lack of opportunity, and the challenges of family and love and the outsized impact they had in a world where travel and communication were so much slower, and the awe at opening up the universe as larger and more amazing than had been believed previously.  Great staging with a very sparse set of props, mostly the rotating desks of the women working for the college, that served using the lights and walls to try and give the sense of where the characters were looking and striving, not what they were doing in their day-to-day lives. Although the lesson that even with all of that "out there" there's still a need to be grounded and enjoy what's in front of you was loud and clear.

The cast was exceptional.  Eva Gemlo as Henrietta, Wini Froelich as Williamina, and Rachel Postle as Annie had real chemistry and brought a toughness to their roles that evolved from having each other's backs as women to having each other's backs as women and friends.  Ben Qualley as Peter the co-worker and love interest and Clare Rolinger as Margaret the sister rounded out the cast.  Peter was believable as a man of the times who was locked to scientific consensus but learned to open his mind at first because of attraction, but then, when life got in the way, as a friend and fellow astrophysicist.

Thank you to the theatre for an enjoyable night.  With the Old Log closing after 84 years, it might now be the oldest non-academic theater in the Twin Cities, 71 years.

Friday, February 23, 2024

Adventures in Cycling

I took a ride down through the river valley yesterday and when I crossed the river at I35W, pedaled back along the little dead-end spur.  It's a super quiet ride with generally very few people and a lot of nature, particularly eagles.  However, as I was headed in, about a block or so from the west entry [I made a map.  Google doesn't seem to know where the paved entrance is as it's north of that loop], I passed an old guy with his dog slowly walking on the side of the trail.  I looked back about 100-200 feet later, and watched him suddenly topple over.  It looked like he had slipped in some mud rather than a heart attack or stroke.  His dog moved in to snuffle him worriedly.

He wasn't getting up, although he was moving, so I flipped around quick and pedaled back to see if  he was ok.  The first thing I noticed was drops of blood all over.  I thought he'd broken his noise.  But then he wasn't standing up, and I started looking for a bone poking out of him somewhere.  He was talking, but couldn't stand, and noted it was his age, not that he'd broken anything.  While he was talking to me, I could see that he'd broken his glasses and the frame had poked through the side of his head.  Hence, blood.  But only a small puncture, nothing into the eye or embedded.

Two teenagers were running past and I asked them to come help.  First, so that I could avoid the blood.  I have to give up my Memorial donation for a while if I admit to contact with blood.  And second, because having had to lift my friend Dan out of a snowbank after he fell, when he was frail from alcoholism, I worried about actually hurting the guy trying to lift him up and not knowing if I was pulling too hard in any one place.  They came over and we all three grabbed a spot, lifted evenly, got him to his feet, and held him there while he settled onto his legs and then moved around a bit.

We spent the next several minutes chatting with him [and his dog].  Getting him to tell us where his car was - he could see the edge through the trees where it was parked - and that he was fine to drive, that he'd scrub, scrub, scrub when he got home, that he'd have someone check on him and take a look at where he'd been bleeding.  He was making perfect sense, totally coherent, so we were pretty sure he was ok and could even see where he was going despite the issue with the glasses.

I wish I had grabbed some contact info so I could check in on him, although he seemed spry enough once he was back on his feet.  He was sporting an Elk River American Legion jacket, so he probably even knew the parents of some of the folks I know from Elk River.  Glad I was there to give him a hand. Hope someone is there for me when I'm that old and falling over.  It's not that far away.  And a big thanks to those two teenagers who interrupted their run to help.

Alteryx Cloud Quest 2 [includes spoiler]

This week's Alteryx Cloud Quest was to use the tools to determine the percent of customers who should get a happy meal discount.  Using SQL, this is pretty straight forward.  So why would you use Alteryx tools and handle the data step by step?  Because not everyone understands - or even wants to - SQL.  Let alone standing up the tables somewhere in the first place so that they can be queried. Personally, I think everyone should know some SQL in IT because it's a base layer applicable to so many other architectures, but I do get that it's a bit like a foreign language as far as some people are concerned.  And, if you're using a tool like Alteryx, in the end you can parameter and add some inputs so it's reusable, again, without knowing SQL.  You could build a UI over your SQL, and tools exist to automate that [and have forever], but....choices are choices.

I will say that this was fun for a specific reason....the general pattern was the exact pattern that underpins a Jira query workflow I wrote this week for status updates.  So...similarly...I could have used JQL [Jira Query Language] and a macro to get the % done details for a specific subset of epics out of Jira, but laying it out using a Jira connector [to the API] I was able to get at a lot of fields I wouldn't normally dig around in [the Jira fieldset is over 1400 fields] and lay it out the way I wanted to show story count, un/completed story count/% done [raw count, no story points], and even watchers [which is an interesting way of showing how "hot" or interesting an epic is].  Regarding that last point, a better way to handle it would be to count watchers on the stories, not the top level entity.  But that's future work.  The general pattern was applicable to a whole pile of JQL-like work/reports I wanted and they were all a short copy and modify from my base.

So a. It works. b. I can extend it to whatever parameters I want, and c. I think I can use it for status updates instead of doing anything manual, saving myself a bunch of time and, more importantly, a lot of unnecessary and confusing conversations.  If things were optimal, I'd write it out to Confluence each week and pretty much avoid all conversation, but even after base64-ing my email + key, Atlassian refused to acknowledge I was allowed to do so much as a get via CURL.  I'm pretty sure work has the corporate wiki locked down tight [I did do something similar at my legal job, writing the Cascade pipe and filter data jobs into SVG as they ran and dumping them with their params into visual "run" pages in the wiki that captured the specifics of each run.  Amazingly useful.  Amazingly underused.  I think people wanted deniability for bad runs.

Here's my output.  I could have been a little more efficient, but overall it does what it's supposed to.  A number of other submissions avoided certain tools, like crosstab, altogether.





Monday, February 19, 2024

Con of the North 2024

Warning, a long post.  I spent a long weekend - Friday/Saturday/Sunday - at Con of the North in Plymouth, MN.  My kid and I went for the first time last year and hosted a few games and had a great time, so we were back this year to do it again.

I'll cover the games I played, but two are missing photos so I'll cover those first. 

Evolution: started late and the lack of instruction was really frustrating to a few people at the table so that made it go slower after a late start and only an hour to play.  I felt bad for a few folks who wanted the game coordinator to weigh in while he was trying to direct three tables, but they couldn't quite make the leap to using common sense in a few cases.  That's not a dis. I know it's difficult to just accept a consensus rule sometimes and move forward. Different brains work different ways. A good example was worrying about the "fat" trait to store food.  Someone wanted to know if it applied to all creatures they had per the logo.  A few of us said "no, it makes more sense that that applies to the single species, it's just always active."  But she really wanted an expert opinion rather than moving on. The game made sense to me.  You're evolving critters, the more of them in a population, the better you are at feeding them, the more points you make.  The bigger they are, the less likely they are to get eaten by someone else's predator [we didn't really have an predators in our round].  Food is limited and you can influence the pool to try and starve creatures and make them vulnerable to predation [and getting fewer victory points]. It's a FAST game with half a dozen people.  You burn through the deck of trait cards quick.  I could see it as a bar game.

Dixit: I've played Dixit before.  It's one of those games where if you're playing with friends and family you have an edge, because you know how they think and can map their clue to the card on the table they were hinting at without allowing everyone to guess.  e.g. if there's a duck with a hat and a monocle, you might say Monopoly or Put it on My Bill and hope that the cards other people are committing to the set have receipts and wheelbarrows so there are at least a few wrong guesses.  My favorite parts at this particular round were the other guy at the table acting out walking up infinite steps and, me having to explain my clue, "sonnet", to a teenager.  I said "it's like a poem", but it was important to know  in the context of the comedy/tragedy mask card if you wanted to make the leap to Shakespeare.  That wasn't my favorite part.  My favorite part was a few turns later when she was stuck and I asked, "Are you stuck because I already used Sonnet?"  She stared me down and after a pause said, "You're old."  No debate there.  I laughed and noted yes, and too many of those years had been spent studying Shakespeare.

On to the games with photos.  We did have a very nice breakfast at The Original Pancake House on Friday before we started.  The other two days I actually had a hard time finding time to eat something between start and end.  Gaming is very unhealthy, because you're either eating Girl Scout Cookies on the run between rooms, or going out afterwards for a late late dinner.  There was a place to eat some fast food like fare there as well as the hotel bar, but you still needed a bit of time to eat and that can be extremely hard to come by if your games are pushing their full allotment.


CotN Schedule by:

I hosted three games this year.  One per morning.  All by Ryan Laukat of Red Raven games.  No particular reason.  He and I aren't friends or anything.  I just like his games and I had played a few solo [as multiple players] end of last year, so I was prepped to direct them.

First up, Roam.  It's one of my favorites and less like his other games in that it's fast, and actually a game you can play in a bar.  The basic idea is that you're waking up citizens who succumbed to a sleeping sickness.  When they awake, they bring a Tetris-like pattern with them on their card that you then use to apply markers to get more cards/people/patterns.  How you play your pattern depends on which side of the table you sit on.  There are some artifacts that let you move/capture/play optional spots for free. But that's most of it.  First person to 10 characters/cards  wins.

That's Jen sitting there looking at the camera.  I had no idea she'd be playing. We worked together at Thomson Reuters [TR]/Westlaw.  Fun fact, it was at a TR board game evening that she personally introduced me to my first Red Raven Game, Above and Below.  That led to me kickstarting Roam and eventually my collection of Laukat's games [I think I have half a dozen?].  We got in two rounds, same as last year, which is perfect because everyone learns some strategies in the first game they apply to their second game.  Not necessarily successfully, but I think everyone feels like they have tactics/experience.
CotN Roam by:

After Roam, I headed off to have someone teach me a new game, the G.I. Joe Deckbuilding Game.  I've played that one with Klund before in St. Peter and it should be a favorite of mine.  I love the theme.  But in practice, I'm never quite as excited about it after a round [albeit, only two sessions so far].  It definitely helped that we had a fun table of good gamers that worked well together and propped each other up.  We ran into trouble once or twice, but in general kept things moving along nicely even when we didn't get good synchronicity [example, my character let people get rid of cards in their decks, but it only really ever was played on my own deck/discard.  I spent more time ensuring other players got rerolls per my cards].  We won, and it took a long time, but I don't think it was necessarily tight.
CotN GI Joe by:

It helps the imagination when I get to play the eye candy. Scarlett in movies was Rachel Nichols and Samara Weaving.  I can pretend I'm the hottest player at the table.
CotN GI Joe Me by:

Five Tribes, also a game I've played before.  It uses a mancala mechanism where you pick up the meeples and then drop them one at a time on squares until you pick up all the meeples of the same color in the last square and the specific color triggers an action, as well as the square itself. I love this game, but I always forget exactly how much decision lock it creates for new players.  You can spend five minutes just waiting for someone to decide if they want to spend a coin or three coins on the turn order, let alone what to do when faced with all those meeples on a fresh board, or how the genies interact.  We had two games running side by side.  I was thankful for the player at our table who had the genie who let him place camels, because in the end that seriously sped up the game and allowed us to finish rather than stop or run late.  He won. I placed second even with a few bad moves, but I understood the assassin mechanism from the get go, and stole the vizer bonus at the end.
CotN 5 Tribes by:

I don't think this is from Day 1.  That's my kid leading a round of Blood on the Clocktower.  That's the game they played with youtubers at a castle outside London, among other places.  Most folks who play this game can't get enough of it.  It's social deduction but with basically an almost infinite variety of characters [not really, but everyone is generally a unique character versus "townsfolks" as in some social deduction games].  So there are rounds of eliminating characters, side discussions, and generally a ton of social interaction and joking.  Aeryn said this one involved a lot of jokes about forklifts.  I suspect you had to be there to appreciate it. Social deduction and push-your-luck are probably two of my least favorite mechanisms, so I'm generally not at these.  
CotN Aeryn BotC by:

Day 2.  I hosted Islebound in the morning.  We didn't quite finish, but we got to a spot that was a good stopping point.  I hadn't played with four people before, so I wasn't sure we'd fit in the two hours.  The strategy slowed everyone down initially and by the time they were speeding up, we were already getting along in our time limit.  The strategy part is that you're a trader/pirate and you're sailing from town to town, conquering, influencing, and trading, as well as building to support your own little trader empire.  Coins can be tight and the influence to sway towns to give you "spoils" are finite on a shared board, so there's some strategy for when to grab spots that open up.  Otherwise, trade, trade, trade and try to rack up the money and goods you need to drive victory points and build.  I think even without finishing, everyone seemed to have a great time.  The win condition is 7 houses, and several players had 5 houses, so we weren't that far off.

I did miss them trading in their books to buy some of the buildings.  The books only allow you to buy from those areas, you don't actually spend them.  When I realized they'd snuck it past me, we just rolled with it.  Per above and talking about Evolution, sometimes if the rule was broken, you go with a new house rule for a round.  I don't think it broke anyone's eventual scoring placement as three of the players applied it equally.
CotN Islebound by:

I played one of my favorite games of the Con, and a new one for me, with the TCAT Board Gaming Group.  Amusingly, I thought I was going to be playing Street Masters, which I own, but have only played a few times with other people.  Instead, I ended up playing Street Fighter, the Miniatures Game.  Once I figured out how to string combos together appropriately and the mechanics, this was a wonderful game.  And not just because I won in the end by mashing both players together into a statue and each other, sumo style.
CotN Streetfighter 4 by:

It's a card-driven game and you're attacking, powering up, and defending.  The defense is either standard OR you can try to guess the nature of the attack [with corresponding bonus or penalty] OR you can play a response cards.  Most cards have several uses, so part of the game is using/managing them in the best way possible.
CotN Streetfighter by:

There were three of us and the other two at the table were guys I'd bumped into at Gameholecon in Madison before.  We had a great time.
CotN Streetfighter 3 by:

The guy to my right won a game, so he was happy even with his loss.  It was a very tight game.  I think I only had a few points of health left at the end despite the win.
CotN Streetfighter 2 by:

Concordia Venus.  I joked that this is  basically Catan for snobs, but I don't think that's entirely a misrepresentation.  Expand your towns/trading spots, collect wheat and iron and bricks and cloth, but use a series of cards to determine what you can do in any turn and collect more cards to expand your options.  We played "couples" style with six players so that's my partner over there in the maroon.
CotN Concordia Venus by:

Despite being 3.5 hours long [really], I had a wonderful time. A GREAT table of players who were a lot of fun.  The table talk is limited/nil per the game, so there's a lot of fun debating what's table talk and what's just friendly advice to the table for n00bs, like me. The guy to my right was frustrated trying to keep track of the scoring, but I took the approach that if I had a sufficient amount of stuff, it'd all work out.  So while my partner was busy scoring us new cards [which were point multipliers], I focused on supporting him and getting us out of the game first despite not mentally being able to track the exact nature of who had what points.  Worked well.  I took us into end game while the other players were resource and money tapped so their last turns were effectively negated while we picked up 7 points plus our move.  We won by about 12 [I think], so it was a sound strategy.
CotN Concordia Venus 2 by:

Day 3.  I hosted The Ancient World [second edition].  A decade old now.  So some of the mechanics feel a little dated, but the game is intuitive and there's a lot to do.  Again, we didn't quite finish with four people, but we finished five of the six rounds and we announced it early enough that everyone could maintain their strategy [and all the 'options' are in place by round 4, such as the larger titans].  I am VERY glad I got an empty table to set up on before everyone got there.  That probably cut at least 20-30 minutes off the time.  Was fun to watch other people play given I've only played it against myself before.
CotN The Ancient World by:

Basic idea is you're trying to collect colored banners on monster/titan and building cards. Those titans threaten you every turn and you can protect yourself, others, or go after the titans "in the wild".  Everything kind of leads toward bonuses for food, ambrosia [lots of uses including pacifying the titans so you can deal with them later], and knowledge and those serve the worker placement to buy armies, buildings, more resources.  Again, first few rounds were slow, and then even with more happening sped up as everyone figured out the options.
CotN The Ancient World 2 by:

Despite cutting it a round short, we finished with a few minutes before we had to give our table to the next game, so I told everyone to just push the components into the box and I'd clean up later.  It was amusing opening the box this morning to deal with the pile.
CotN The Ancient World Mess by:

Ah, this looks like G.I. Joe, but it's Pathfinder the Card Game.  It was fun to bump into an old Thomson Reuters coworker leading this one.  Another gamer from TR game nights.  He was there with his wife who was also at those game nights [and also works for TR].  I bumped into Brett [manager from TR] and Pete [wife worked at TR] and Jesse [from Virgin Pulse] and Alex [from Virgin Pulse] there as well, so it was a bit of a software networking event in some ways.

I own this one in cardboard as well as digital, although it's been a while.
CotN GI Joe Me by:

We played the starter scenario.  Basically, you've got a timer made out of cards, a deck that represents your health made out of cards, and you're searching locations, which are piles made out of cards.  Depending on the action or your character, you might end up losing cards [discard or out of the game] or recycling them into your hand of deck, trying to manage your deck while you close out locations so the baddie has fewer places to escape to.  We actually cut it fairly tight.  There were only three turns [that's people turns, not group turns] left when we caught him, and I had gone to the other pile to sort of "pin" it [officially, guard it] so he couldn't escape over there if he got away during the fight.
CotN Pathfinder Cards by:

VivaJava: the Coffee Game.  I had NO idea this is as old as it is [a decade plus]. I have the dice version of this game, but it's still literally in shrink wrap ten years after I got it.  Don't ask me why.  It's like an unread book.  It happens. It'll be a future surprise for retired Scott or for Sank and Scott at the brewery.  We played this NON-dice version with 8 people.  It's a push-your-luck, which per above, I'm not fond of, and there is a significant aspect of luck imo, but I had fun.  You're collecting beans of various colors, researching to increase your bean count or influence what's in your bag, and then working with a changing team to craft a blend using basically a poker mechanism [full house, five of a kind, etc] based on the beans you each pull at random.  I only had yellow beans for a long time, so I wasn't very random.  She did tell me everyone had to contribute to the blend, which was a bummer because I thought I could just craft a five bean blend alone for my temporary group.

One thing I particularly didn't like was there's a "rainbow" blend.  Generally the blends score points and degrade/age until they fall off the scoring continuum.  That doesn't happen to a rainbow blend.  So an inadvertent rainbow blend in the beginning [which happened] means those three players are going to score points every round for the rest of the game by default.  That seems someone broken.  I get that it's cool to get all five beans, but it should have a mechanism to age like everything else in some way [even if it's only a limited shelf life, it would still score additional points].
CotN Viva Java by:

Finally, Between Two Castles of Mad King Ludwig.  I played a couple games with Mr. Giraffe, and Aeryn and Alex had a game of Alhambra dice with him.  He was a pleasure to play games with, although in this case we didn't have much interaction because you're pretty much only playing with the people to your left and right.  The goal is to use the tiles, Carcassonne style, to build a castle.  Certain tiles work better together and complement each other.  If you collect a set of three of a room type, you get a bonus room/special you can apply.  Some rooms are above ground [most], some are below, some are outside.  Your score is the LOWEST scoring castle to either side of you.  Ah, each round you're looking at a set of tiles and taking two that you can then use for the castles on each side.  Those tiles pass, so the options get smaller and smaller.
CotN Between Two Castles of Mad King Ludwig by:

There is an ENORMOUS amount of table talk between rounds as you discuss with your partners on each side what your strategy is, what you're passing, what you're receiving, and your best options.  We played almost the full two hour slot, and I'd say 90% of that was conversation.  I joked to the host Luke that more than anything I've ever played, this reminded me of working with a team to create a software specification.  He leads a team of devs himself, so he was very amused [and agreed].  If you're looking for a team game and you're colocated, this would be near the top of my list.
CotN Between Two Castles of Mad King Ludwig 4 by:

Two of the folks at our table talked about working/volunteering at the Horror Convention that happens in the Twin Cities in the fall.  I asked if it was related to Fringe, and they said nope, but understandable that one might think so and the individuals involved have overlap.  I mentioned that I had received a flyer to go to Feast at Black Forest and it had a Fringe badge option.  One of the players was excited and said I should go, despite my dislike of sauerkraut, and the actress and director were wonderful.  I replied that the director was the wife/s.o. of a singer my wife and I had been to see in the Twin Cities a few times recently and really liked, and they both exclaimed, "Leslie!" and replied that she has volunteered at the Horror Convention. I mentioned it to Leslie on a Facebook post and she said she'd even served on the board.  So software networking, board game networking, theater and local arts networking....the Twin Cities are very small if you find yourself in certain circles [as another example, Pete's wife, who I mentioned earlier, who worked with me at TR, worked with another product owner at TR that I know.  One of them found the other a job and they worked together before "Surge" went to be a teacher recently.  However, Surge also plays music locally and we reconnected when I pedaled up to see Sarah Morris play in Edina and he was unknowingly part of the bill.  It was related to him and to Sarah that I learned about Leslie and her music/gigs.  Pete is going to have my kid lead Blood on the Clock Tower sessions at CONvergence this summer. Whew.]
CotN Between Two Castles of Mad King Ludwig 2 by:

Anyway, the castle two up is my "right" castle and this is my "left" castle.  64 and 65 points, so my score was 64.  I think 67 was the win.
CotN Between Two Castles of Mad King Ludwig 3 by:

Overall, an absolutely great weekend and I don't think I'd have factored in lunch time in retrospect at the expense of anything.  Thank you to everyone who played with me and hosted games and to my kid for going with me [and hosting games that my friends / ex-coworkers played in].

Tuesday, February 13, 2024

Fair Maps 2.0

It looks like my magical mojo of going to Falls Liquors specifically in search of Minocqua Brewing drinking options may have propitiated the deities of fair maps.  That, and maybe some of the money I've directly injected into their state races.  This is good news for democracy for our cheesy neighbors.  I have this desire to bike to Minocqua at some point this summer.  It's a bit of a haul but I think I can visit Sank on the way if I do a three or four day trip and have my wife fetch me once her knees work well enough to drive that far.

Alteryx Cloud Quest 1 [includes Spoiler]

I've done a few of the challenges using our product - the weekly challenges and the Advent of Code leveraging our framework as the "language" of choice.  It's tricky if your brain gravitates toward Python solutions.  The point of Alteryx isn't to replace your knowledge of Python or some other language.  The point is that you're a business analyst or otherwise who might not know a language in the first place.

There's a new set of challenges - Cloud Quest - at the Alteryx Community site.  Thought I'd give them a try.  https://community.alteryx.com/t5/Cloud-Quests/Quest-1-Preparing-Delimited-Data/m-p/1240435#M26.  I tried not to use the basic Swiss Army knife that is the Formula Tool [my go to] and I didn't format the datatypes given the exercise didn't actually ask for that to be done, only implied it [and as a former dev, don't make assumptions without checking with the owner/product unless it's for your own use].

------

In the world of data processing, text files often come with delimiters like quotes to manage strings that contain special characters or additional delimiters. This can pose a unique challenge for extract, transform, and load (ETL) programs due to the presence of multiple delimiter types.

 

In this quest, you have a CSV dataset with two different delimiters: double quotes and single quotes, and they surround different data types. Use Designer Cloud to strip these delimiters, as they are superfluous and need to be removed to clean and format the data correctly.

 

Begin your workflow with the provided dataset:

Row 1: "Mary had a little lamb whose fleece was white as snow",123,'16-JUN-01'

Row 2: "I do not like green eggs and ham",456,'25-DEC-10'



Solution:


Code Freeze 2024 - AI for SE for AI

Code Freeze 2024 - AI for SE for AI

I took notes at the U of Minnesota Code Freeze event put on yearly by the U of MN Comp Sci department.  It's a one-day event and the topics have changed every year.  I honestly don't know how long I've been going to the event.  Based on their list, a long time, because I know I was Redesigning Agility, and I don't see the one related to offshoring in there, so that must have been during 1-4.  A quick scan of the blog shows a post for 2008, so at least that far back.  Quality, or at least applicability to me, varies and the topic isn't always aligned with how interesting the event is.  For instance, the 2015 event on Security was one of my favorites, although day to day I don't worry about security too much anymore outside of Mend scans [previously Blackduck scans], despite once having done enough FEDRAMP and SOC 2 TYPE 2 work to be able to present to a class at the U of MN Duluth on the topic.  But the Code Freeze was more about hacking cars and airport scanners.

Some of these notes will be pretty loose without explanation, but per the intro, it stayed fairly high level in my opinion.

  • 2006: Inaugural Edition
  • 2007: Second Edition
  • 2008: Third Edition
  • 2009: Maximizing Developer Value 
  • 2010: Redesigning Agility 
  • 2011: Software Testing for the 21st Century 
  • 2012: Continuous Delivery 
  • 2013:​​​​​ Software Anthropology 
  • 2014: Big Data 
  • 2015: Security 
  • 2016: Disruptive Innovation 
  • 2017: Software Visualization 
  • 2018: Microservice Architectures 
  • 2019: Machine Learning 
  • 2020: Observability 
  • 2021: Humane Engineering
  • 2022: Developer Experience
  • 2023: Tech Resilience

Because it's applicable, here's an article from later: https://medium.com/artificial-corner/i-tried-multiple-ai-coding-assistants-these-are-the-best-bb4d6a735fc1 


It was an exciting day.  Had breakfast at Al’s Breakfast at 6 a.m. before the conference. Well worth getting up that early. As a bonus, parking over there, when it's not below 0F, means I can park for free and get in a good walk before the conference starts.



As I was walking to the conference building, there were an inordinate number of police SUVs parked across from Moos tower and driving along the central road.  Turns out there was a shooting threat resulting in staff being told to stay home and all doors locked/monitored.  The conference went on, but folks were definitely a little nervous.



The one thought that binds them all - try all the new tools.  Just start using as many as you can and understand what they do and how they’re changing.  There is a non-stop flow entering the marketplace.


  • unchecked

    Do a copilot compare on the team?  Have everyone pick one [a different one] to try out and do a five-ten minute presentation on how it went [with some sort of standardized points].  Ask ChatGPT to give me a summarized list?


Chat GPT only cares about January 2022 and earlier…

  • TabNine:

    • Strengths:

      • Uses machine learning to predict code completions efficiently.

      • Supports multiple programming languages.

    • Weaknesses:

      • Requires a subscription for advanced features.

  • Kite:

    • Strengths:

      • AI-powered code completions.

      • Provides relevant documentation and examples.

    • Weaknesses:

      • Some users may find the AI suggestions intrusive.

  • Visual Studio IntelliCode:

    • Strengths:

      • Uses machine learning for personalized code suggestions.

      • Integrates well with Visual Studio.

    • Weaknesses:

      • Limited language support compared to some other tools.

  • Codota:

    • Strengths:

      • AI-driven code completions.

      • Supports various IDEs and editors.

    • Weaknesses:

      • Free version has limitations, and full features may require a subscription.

  • DeepCode:

    • Strengths:

      • Analyzes code patterns to find bugs and suggest improvements.

      • Integrates with various IDEs.

    • Weaknesses:

      • May not cover as many languages as some competitors.

  • CodeIntel:

    • Strengths:

      • Provides code intelligence for multiple languages.

      • Open-source and customizable.

    • Weaknesses:

      • Requires some configuration for optimal use.

  • Sourcegraph:

    • Strengths:

      • Offers code intelligence across repositories.

      • Integrates with popular code editors.

    • Weaknesses:

      • Can be resource-intensive for larger codebases.

  • GitHub Copilot:

    • Strengths:

      • Generates whole lines or blocks of code based on comments.

      • Built-in collaboration with VS Code.

    • Weaknesses:

      • May produce incorrect or insecure suggestions.

  • CodeRush:

    • Strengths:

      • Includes code generation and refactoring tools.

      • Visual Studio integration.

    • Weaknesses:

      • Learning curve for mastering all features.

  • Eclipse Code Recommenders:

    • Strengths:

      • Context-aware code recommendations.

      • Supports Java development.

    • Weaknesses:

      • Limited language support compared to some other tools.

Unrelated things Scott was thinking while at the conference:

  • unchecked

    Can I AI generate the Tinkerpop in the D and D Node Database demo that’s out there? Can you use it to to generate the synthetic data and the queries?

  • unchecked

    Is there a new Tech Radar out yet? Thoughtworks’ last was September 2023

  • unchecked

    Can i generate an interview outline based on my write up of skills interns should learn and using job reqs for the company or our everything to know about the team writeup?  Can we generate how to learn our team-specific tech using AI?

Keynote Presentation - Andreas Sjostrom [Capgemini] - Igniting the Future: Enterprise AI’s Quantum Leap and the Dawn of Artificial Minds

  • Approached from a C-suite landscape, and then from other facets/perspectives.

  • “If you have family in France, warn them that the next call from their son or daughter will be a fake.” [funny quote for Clement]

  • There are tools in all the spaces - if you like one in your core area, look for agents in other areas as well:

    • Data Herald - natural language to SQL

    • ML Twist - data labeling

    • He likes Kodezi better than MS Copilot

    • Language chain

  • Agentive AI - a general term for all the helpers.

  • Sent myself the images he used.



Didn’t really address cost.

Raj Subrameyer - ChaiLatte Consulting - Building Better Software Faster: The Generative AI Advantage


Markov [70s] > n-grams [90s] > neural networks [2000s] > transformers [2010s] > now


Chat GPT, Embedded models, code models, DALLE.


  1. Code Generation [Github Copilot, Amazon Codewhisperer, VS Code integration for most]

  2. Documentation [Komment, MintLify for Typescript, Sourcegraph, Tabnine]

  3. Testing: single location strategy evolved to multi location strategy.  Autonomous testing > test in production and use production to generate the tests via AI.  What are the customers actually doing?  Appli Tools, Blazemeter.

  4. Ethics/Challenges





Matt Schillerstrom - Harness - Where should I infuse AI in the SDLC?

  • From Monticello.  Went to St. John’s University.  Worked at the Monti nuclear plant.  We shared teachers and friends [or at least siblings of friends].

  • CI/CD shift left security.  Lot of waste in this space.

  • Artificial versus “Augmented”.

  • Talked IDPs - Internal Dev Portals.  More and more common.  Alteryx probably needs one [I don’t think anything we have officially counts.  I think one - the Spotify version - was demoed at a learning event]

  • Tools for the CI/CD space: Starroper, Mistral AI, Sophia.  There are K8s helpers.

  • Is AI for these tools centralized at the org level or distributed to the teams? [think how cost has been centralized, security has been centralized, etc]

  • AI is creating an explosion of code that CI/CD has to deal with.


Arun Batchu - Gartner - Survive and Thrive in the Age of Generative AI: How Software Engineers Can Ride the Wave of Foundation Models


  • Don’t forget, AI can always analyze for you.  It doesn’t have to do the thing, it can help you with the steps to understand how to get to the thing [treat it like a conversational friend]

  • Generate synthetic test data

  • “Coding assistants are force multipliers”

  • Use AI to teach you - I am a Python dev, tell me how to learn typescript…

  • Embrace coding assistants

  • There’s a Google Notebook LLM that people should try

  • “Multimodal prompt”

  • Amazon Bedrock

  • Google Extensions

  • ChatGPT app store [like 800000 entries already]

  • Chat GPT will now tap into code writing if you ask it a question that necessitates that - an example, I want the 100th fibonacci number.  Behind the scenes, it’s coding.

  • There are writing tools.  Use them.

  • Adapt foundation models and use foundation model agents.

  • Don’t forget, YOU are a manual job and AI is accelerating automation to eliminate manual jobs [so how do you fit into the ecosystem and how it’s changing].


David Espindola - Brainyus - You, Software Warrior, In the Future of Artificial Intelligence

Maybe my least favorite presentation.  He wrote two books to talk about exponential technology curve and inflection points..  He highlighted like nine trends, but did not highlight the interaction of those trends as an overall trend [I’m a little biased because my master’s thesis on dystopias covered much of what he’s covering here]


Disruptors.


Jeffrey Fougere and Andrew Nieuwsma - Hewlett Packard - Using ChatGPT for Software Engineering



  • Practical examples - they had a ethics of AI app they’d written using AI that prompted with questions [natural language] to ensure someone was taking a use case to all logical [and unanticipated] scenarios.

  • Talked through the ethics: other companies may have a problem with your AI [I have an example, as the last company I worked for had to code around AI exclusions including Bank of America.  We had full opt out and individual recommendation AI/ML opt out - at every level].

  • Lots of walking through prompts.

  • Ethics, bias, hallucinating, legal risks.

  • “Explain to me how this works…” prompt.