Hacker Newsnew | past | comments | ask | show | jobs | submit | brandonasuncion's commentslogin

As a small note, Swift is a compiled language. It uses LLVM as a backend, same as Rust and Clang (C/C++/ObjC). It's currently listed under "Web & typed scripting".


It's definitely a blurry line, this `run` tool invokes your Swift file with `swift file.swift` which runs it in immediate mode. Technically it is compiling your code to memory and and immediately executing it, but is it that different from JIT in Python or Node scripting?


If you look at it that way, I agree. But then the same thing is done for executing Go, which is listed with the other compiled languages.


I wonder if the mistake might stem from Go using a subcommand (i.e. `go run`, which might appear resemble `cargo run` or `dotnet run` at a glance) compared to providing the ability to run a "script" as a top-level command, which tends to be more common with interpreted languages (`node`, `python`, `irb`, `bash`, `lua`, etc.)


"compiled" isn't a property of a language. I think the distinction that both you and the author of the tool are making is always going to be messy. It seems to me that you're talking about the language itself via an imprecise description of a particular implementation.


You're right—Kotlin can be used as Kotlin/JS for web development, and as a compiled language when we're talking about Android development. Context matters


You're right—and the same applies to Kotlin. Swift is more like Rust, C, and C++ in that it compiles directly to machine code. So yes, Swift is currently listed under the wrong category.

As for Kotlin, it could reasonably be placed under either "Web & scripting" or "Compiled," depending on how it's used. Since Kotlin can also compile to JavaScript, its classification depends on the context. If we're talking about Android development, then Kotlin is clearly a compiled systems language.

To clarify: Swift is a compiled, statically typed systems language, much like Rust, C++, or Go. Its core toolchain (swiftc) compiles code into native binaries.


This is a quirky response. Kotlin might be able to compile to JS the same way C++ can compile to WASM but I don't think that's it's primary purpose. Either put them in their idiomatic category or don't bother categorizing at all.


I'm pretty sure OPs reply is direct from an LLM


most of replies from OP sure sound like it.


I am not good at English. but I am sure my claim is correct and it my idea not LLM's


added note on the readme


Claims of being "10x faster performance than existing solutions" using a HNSW written entirely in Python is enough to raise alarm bells, vibecoded or not.


Reminds me of a really cool coding trick to get a "random" permutation of an array in O(1) time/memory.

https://lemire.me/blog/2017/09/18/visiting-all-values-in-an-...


Feistel networks are another way to map your index from linear sequence to a pseudorandom permutation.


I was reading into it and came across your blog post. It's a good followup read.

It has better avalanching compared to indexing by `(i * prime) % n`, but at the tradeoff of `n` being restricted to powers of 2.


That's neither random nor O(1). I think everybody reading the link immediately understands what you mean, but I whished this community would use its technical terminology more carefully.


I use "random" in quotation marks because it communicates the topic effectively and is very straight to the point. Colloquially, when people say "random" in the context of algorithms, it's generally understood to mean "pseudorandom" or "quasirandom". The trick is essentially an LCG using coprime numbers.

The blog post uses "random" in quotations as well in its title.

I call it O(1) because the ordering is fully determined just by choosing an arbitrary prime number. It's constant time to "reorder" the elements and also constant time to get the i'th element in the permutation. This is in contrast to something like the the Fisher-Yates shuffle which permutes the elements in O(n) time.


And for times you need a fast heap-allocated type, Swift's Noncopyable types have been pretty great in my experience. Especially so for graph data structures, where previously retains/releases would be the biggest slowdown.

Example here: https://forums.swift.org/t/noncopyable-generics-in-swift-a-c...

An added plus is that the Swift compiler seems to stack-promote a lot more often, compared to class/ManagedBuffer implementations.


I've tried different L-Theanine supplements, and there's definitely a difference in quality across companies... which could help explain the variance in experiences.

Unfortunately, there isn't much regulation for supplements in general. Some companies do 3rd party purity testing, though it's not always the case.


> I've tried different L-Theanine supplements, and there's definitely a difference in quality across companies...

This could also be explained by placebo effects.


Honestly, I'm welcoming this move to Notion. It's much less cluttered than Medium.


And 10x slower. Builds anticipation.


Hi there!

I made the initial suggestion to look into Robin Hood hashing when it was first posted on Reddit.

Glad to see it make its way into the repo!


indeed! thank you for that :)


Is it possible to finetune an LLM on the factual content without altering its linguistic characteristics?

With Stable Diffusion, you're able to use LoRAs to introduce specific characters, objects, concepts, etc. while maintaining the same visual qualities of the base model.

Why can't something similar be done with an LLM?


Btw, the quantized models are on Huggingface, so step 1 and steps 3-6 can be avoided. (The link is 3/4ths into the llama.cpp README)


Also,

  Android 1.0
  Android 1.1
  Android Cupcake
  Android Donut
  Android Eclair
  Android Froyo
  Android Gingerbread
  Android Honeycomb
  Android Ice Cream Sandwich
  Android Jelly Bean
  Android KitKat
  Android Lollipop
  Android Marshmallow
  Android Nougat
  Android Oreo
  Android Pie
  Android 10
  Android 11
  Android 12
  Android 12L
  Android 13
  Android 14
  Android 15


Notice how Android clearly was alphabetical, until they realised people weren't getting that (or got sick of coming up with names of sugary foods), and went back to the number system.

Mac has not gone with alphabetical, but seemingly random names related to cats or places in California.


Various projects do the Alphabetical thing. If you're going to have names, it's a great way to do it. OpenStack, Ceph & Ubuntu all do that.

However it's still a challenge. I work with all of those daily and I often think about the project over-all and it's features or bugs in terms of the alphabetical name, but there is also a numerical name and I have to lookup and translate from it - when looking at diagnostic output from customer installs, or git tags, etc. I keep some subset of the translations in my head but not all them :)


Just think of how fast you'll be with a1z26 ciphers!


I could have sworn the dessert names were code names and they did numbered releases too the entire time but they did drop the 1.x numbering for just whole versions.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: