[HN Gopher] Adventures in Advent of Code
       ___________________________________________________________________
        
       Adventures in Advent of Code
        
       Author : ingve
       Score  : 66 points
       Date   : 2022-12-03 19:36 UTC (3 hours ago)
        
 (HTM) web link (davedelong.com)
 (TXT) w3m dump (davedelong.com)
        
       | jamamp wrote:
       | I'm confused. The post mentioned that this was fixed in Swift
       | 5.7, but I have Swift 5.7.1 on my macOS Monterey and the bug is
       | still present if I modify my AoC solution to exhibit the problem.
       | Is Swift 5.7.1 on Monterey different from the 5.7.1 on Ventura?
       | $ swift -v         Apple Swift version 5.7.1
       | (swiftlang-5.7.1.135.3 clang-1400.0.29.51)         Target:
       | arm64-apple-macosx12.0
       | 
       | I love Swift as a language, but the lack of release notes for
       | 5.7.1 (aside from a blog post for 5.7 as a whole), OS-specific
       | releases (especially for SwiftUI), Xcode removing old toolchains
       | when it upgrades (making me re-download tvOS 15.4 runtime for no
       | reason), and all these other little things are starting to weigh
       | on me.
        
         | davedelong wrote:
         | Turns out the fix is only on Ventura. I was also on Monterey. I
         | updated the blog post to include this.
        
       | forrestthewoods wrote:
       | Having to update your entire OS to get bug fixes in a programming
       | language is... not ideal.
        
       | js2 wrote:
       | > The bug is fixed in Swift 5.7, but my computer is running macOS
       | Monterey (12.6) and thus using an earlier version of Swift. I
       | have since confirmed that the code works as expected on macOS
       | Ventura.
       | 
       | You don't have to update the entire OS to get the latest Swift.
       | Swift 5.7.1 is available as part of Xcode 14.1 which installs on
       | macOS 12.5 and later.
       | 
       | You can also install development versions from
       | https://www.swift.org/download/
       | 
       | If you're building from the command-line you may need to set
       | TOOLCHAINS=swift:
       | 
       | https://www.swift.org/getting-started/#on-macos
        
       | mtlmtlmtlmtl wrote:
       | I'll be doing AoC in C this year. And I've decided to do that
       | every year as I enjoy doing it in C and trying to get the entire
       | calendar, all 50 parts to run in less than one second on a single
       | core, which it turns out is quite doable, but only with a much
       | deeper understanding of the problems. I end up learning a lot
       | more computer science this way.
       | 
       | I also like it since I don't do any work or even side projects in
       | C these days, and so it's nice to keep my C chops up to scratch.
        
         | disposedtrolley wrote:
         | Nice! I'm writing in C this year too, although I'm very much a
         | beginner in C.
         | 
         | What kinds of optimisations have you had to do? Are you hosting
         | your code anywhere?
        
         | sokoloff wrote:
         | Hat tip if you did 2021:14:2 under this constraint. I didn't
         | find the trick to allow that type of performance.
        
       | satvikpendem wrote:
       | I'm doing AoC in ChatGPT this year:
       | 
       | https://news.ycombinator.com/item?id=33821092
        
       | stareatgoats wrote:
       | When your code fails it's never the fault of the language. It's
       | always ones own fault, a typo, some error in the logic, or
       | something. Debugging always reveals that with a stone face.
       | Always.
       | 
       | Except
       | 
       | > "It turns out, there was a bug in Set.intersection(_:), but it
       | had only been discovered this past June, and the fix hasn't made
       | it into a public version of Swift yet. "
        
         | davedelong wrote:
         | (Hi, I'm the author of the post)
         | 
         | It turns out the bug fix has been released publicly, but only
         | on newer OS versions.
        
         | Avshalom wrote:
         | Don't know what to search for to bring it up but there's a
         | story HN used to post occasionally about finding a CPU bug...
         | talk about _Always. Except._
        
         | frollo wrote:
         | Yeah, luckily, those exceptions are really rare. Last time one
         | happened to me I wasted three days before finding the culprit.
        
       | shaftoe444 wrote:
       | I picked go for my language this year, which doesn't have good
       | support for sets. May end up writing my own buggy implementation
       | of this.
        
         | [deleted]
        
         | angrais wrote:
         | What if you used a map and stored the value as a key? Then get
         | all keys? Could work as a simple alternative and you could
         | check if values are in it.
         | 
         | Requires thinking if you want to implement set difference or
         | intersection. I just figured depending on needs using existing
         | built-in types may be fun.
        
           | forrestthewoods wrote:
           | You don't need a map for AoC 2022 day 3. There's only 52
           | elements. Which means a 64-bit bitmask is sufficient.
        
       ___________________________________________________________________
       (page generated 2022-12-03 23:00 UTC)