skysight-inc/HackerNews huggingface dataset:
As someone who today has to maintain a database with a lot of denormalised data, do this only if your database is pretty much write once (the author's use case).

For anything else you might feel that it's saving you time and performance by not needing to join tables, but you're just shooting yourself in the foot with a delayed effect. You're just moving complexity from the read to the write operation with a multiplication effect.
> So what benefit does this messy POST give me?

For you? Nothing. For a significant number of people? A lot.

You would rather remove the helpful messages because "messages makes my computer unpretty", than simply ignore them?
Here in New Zealand we have The Consumer Guarantees Act. It says something like ‘things should last an amount of time commensurate with their cost.’

You’ll easily get a MacBook or iPhone fixed by Apple for faults in the first 2 years. You’ll also pay a premium, but that’s what happens when you're at the far end of the world.
My employer is headquartered in the US and has presence in about 30 countries. I don't recall them taking a position on communism.

I don't understand why Americans still cling to this villain. It's 2023, the USSR collapsed 30 years ago.
I'm not familiar with Julia, but I think a useful distinction can be made between input methods and ligatures. An input method is what you have to type to get a particular "code point" or character. Japanese, for example, is often typed using a latin keyboard, and as latin characters are typed, the application substitutes the appropriate Japanese character code point. For example, if I type the characters "n" (U+006E) and "i" (U+0069) using a Japanese input method, a に (U+306B HIRAGANA LETTER NI) (or 二 U+4E8C CJK UNIFIED IDEOGRAPH-4E8C or ニ U+30CB KATAKANA LETTER NI, or others as the case may be) can be selected to be entered. The actual character bytes will be substituted. You typed "n" and "i" but what gets stored is U+306B.

This is in contrast to ligatures: say if there's a fi ligature, I type "<" "=", and the "≤" character is substituted during rendering, but the individual characters are still the "character string". (You could also choose to directly insert the "≤" character directly, and that would then be a single code point, but I think for the purposes of this discussion, people are mostly talking about cases such as when the character string "<=" is rendered as "≤".

If Julia (like APL) uses characters outside the ASCII range as syntax, I suspect that there are input methods to assist in entering them as opposed to ligatures representing them on screen. But that's just naïve supposition on my part.

Another interesting case is TLA+ [1], where the language shares some LaTeX operators which can be rendered for display.

[1]: https://lamport.azurewebsites.net/tla/tla.html
All true but it’s not as productive as a GC language from the ML family. If you don’t need the performance / latency guarantees I’m not sure it’s worth it.
I made a twitter bot and specifically told the bot to act like a human, and be bit of an asshole (to gain more interactions). Then someone got angry and asked "Who are you!!!" and my bot replied "I am an AI language model..." I mean, come on GPT.
If you read the comments here, the complaints are either to PC & US centric, or to sexist.

Reads to me like there is no way to win it for openai, there is going to be people complaining.

I use it a lot for code, and at times to summarize research on certain topics, but never run into any weird feedback, so depends on your usage.
There are infinitely many Rust and Python programs, just as there are infinitely many English sentences. Search is a really weird way to talk about programming.
Will the conclusions reached by LLM always coincide with that of baseline American, or should they also understand and follow East Londonian logic?
Phoronix is where AMD is infallible and Intel/NVIDIA are evil incarnates.

And that results in news pieces like this.
From a privacy perspective, maybe.

From a security perspective they’re totally different. Malware can be used to perform arbitrary code execution compromise my machine, pivot to my work computer compromise my aws keys, spin up $100k/mon infrastructure to run unrelated scams, syphon down my customer database ransomware it / post it on the dark web.

Telemetry is unlikely to do the above. If it does it gets reclassified as malware. The distinction is valid and useful.

Claiming otherwise is either ignorant in the extreme or deliberately deceptive. Which are you?
Continuum was probably a bad word choice. I meant that if you visualize the brain over time, as a 3D-object travelling through time, and there's a 'bridge' over time from the biological brain to the digital brain. This bridge would have to encompass everything that's related to consciousness and it somehow would transfer the conscious experience between those two things over time. So the biological and digital brain would be causally linked.

I'm not a physicist, as you can guess, just a layman pondering.
i suspect most people would fall for that even if it was a .com
Love this. Due to the rising costs of film lots of people are switching to older, CCD sensor digital pocket/prosumer cameras. They produce great photos in good lighting (ISO200-400, like film). The sensor quality and "raw" image is good, but they're held back by the old processing hardware. I wish it's easier to hack these older sensors to newer boards/hardware for better control/output. Even an ESP32 would be an upgrade to the older processing boards I guess.
You absolutely can. If a game comes with a real license key (not an [insert platform here] activation/import key), you are entirely free to sell it the same way you can sell your Windows key.
Thank you! It doesn't sound like an exact fit but Windmill looks great in general, well done!

For the second point, the idea is that we don't want to rely on webhooks at all, except as evaluation triggers. The rules are built in to each state, so even if we've missed a webhook/event, the customer can still proceed.

For an example, one of our flows requires the user to have filled out a consent form in the last three months. As I understand it, with your design, we need to send a webhook when a user has given consent, and then we can proceed to the next state, so we'd have to somehow check for previous consent in some different state? With our design, when the user reaches the state, the rules will be evaluated, and "has given consent within the last three months" will be true, and the user will proceed to the next state without ever seeing the consent form.

For the synchronous bit, it kind of follows from the above feature, and it is so we evaluate state transitions while the user is waiting. We run the workflow synchronously, in the request (since no workflow needs external events to continue), and return the new state to the user.

Since this is synchronous, it avoids races or long waits for events to be delivered.

Thanks for listening, maybe you'll find some of the above helpful in your design!
"The main advantage of Go is that it is the one GC language with a slim runtime"

I have worked in places (only startups, no big tech) that deployed go (okay, low n=2) and this was not a consideration.
Bad prompt. Try "Only use the word chicken" instead of "Speak in chicken".
I meant "primarily this copies mechanism is targeted towards multiple devices setup".

With a single SSD it's indeed prone to the caveat which was pointed out; even if not due to being mapped to same storage "area" but also because SSDs often fail completely.

Also makes sense to note that __when__ narrowed to a single-disk setup ZFS' can be interchanged with Btrfs; almost same set of features but lesser overhead and complexity.
Isn't it rumored that midjourney's secret sauce is the way they optimize the user-provided prompt into a better prompt before feeding it into their version of Stable Diffusion?

They also don't have to worry about the model leaking it's prompt.
Would it be more relevant to try to guess if the past prompts were perfectly accurate?

Or just give it your own prompt, extract that secret, and compare it directly to your own source?
As usual, context matters and decontextualized discussions often devolve into people shouting past each other.

Sometimes you can't afford to do it right, quick and dirty is the way. Sometimes you can't afford not to do it right. It all depends heavily on how costs and payoffs are distributed socially and temporally.

The real trick is to be doing what fits your situation at the moment, and knowing how your situation might change over time.
I think there are two key aspects to data breaches; privacy and fraud. The solution for the latter is simple; the liability is on the organisation that uses that identity data rather than the one that stores it. If the bank lends money to a criminal using my data, that's on them. I see no reason why any of the random bits of data that identify me should be of any use to someone else claiming they are me. These things shouldn't be considered secrets as they're always shared with at least one other party.

Just this would reduce the value of obtaining such data.

The privacy aspect is harder to deal with, but it's not obviously clear that a majority of people care. GDPR helps focus minds in large corporations s and maybe that's enough.
it's a nice font but the'r' is pulling my eyes to the floor :D

fira mono forever! :p
I'm in the same boat but can't see it even with gpt-4 selected first. Please can you explain how you found the beta option? Thanks
Because while the courts agree that legally licences are transferable, they haven't ruled that Valve and others should build a technical facility to allow this. Microsoft put themselves in this position by accident because they allow licence keys to be activated multiple times - so you're free to sell your licence to someone else and Microsoft has to activate it. While Valve can just refuse to build this functionality into Steam and no court has ordered them to do so.
> slides or blog posts or anything meant for a broad audience.

Or if you're screensharing while pairing, or if a coworker is looking over your shoulder when you're sharing something, or...
I'm gunnuh address this because I think these are interesting nitty gritty details, but note that these are metaphors expressed in a shared vocabulary that happens to be technical, let's not get too caught up in how many Rust programs there are, that's a more literal interpretation than I intended.

If you cap the number of tokens, the are fewer Rust programs. If you prefer, things that may be done implicitly in Python must be done explicitly in Rust - there are fewer valid choices when constructing a program; or equivalently, as you write a Python program, the options for your to proceed fan out faster.

Really we aren't searching the whole space of programs though. We understand that adding no-ops to a program doesn't move us out of the equivalency class of that program (unless we're actually using those for timing or another side effect, of course, but then they are no-ops in name only). We're only searching through programs that reasonably solve the problem at hand. Maybe that space is infinite, I don't think so.

I think of programming as being a fuzzy beam search (among other ways I sometimes think about programming). Your salience may vary, feel free to drop in a metaphor of your choosing there.
I have no idea about readability really; I have my preferences but I assume the experts know stuff I don’t, or at least know what works for a wide variety of people while I only know what works for me. The fact that IBM also validated their font with actual tests on people who need readability does lend some support to the consultants (assuming the focus group results and the consultant advice were in agreement).
Most of those require a phone number to sign up. Though I managed to sign up to protonmail by giving it a disposable email.
Ultimately emissions are created to manufacture things humans want. The poster was just giving examples.
yeah friends is a pathetic show. nothing redeeming about it.
Thanks for sharing. To me it's another instance of generative AI being a technical marvel, but in absolute terms producing total crap. I'm sure it'll get better, of course, but I'm happy to completely ignore it for now.
A Tunguska sized airburst destroyed Tall el-Hammam in the Jordan Valley (2021)
Just wait until someone reposts it with "blockchain" in the title...
Well it's almost like transliteration when you think about it, should be even easier to do than any proper language translation and it can do that reasonably well for most languages.

There probably just aren't enough examples in the training set to make it super reliable at it.
Programming is a human activity and will remain so for the foreseeable future afaics. I've had a taste of the approach to development required to get good performance in GC'ed languages and it wouldn't surprise me if it's just incompatible with the way most system programmers think. And if that's the case it's a real problem for that approach and I doubt funerals will help it unless there's a concrete reason for later generations of the kinds of developers needed for kernel development to think differently. "You can't get memory safety without GC so they'll be forced to learn" no longer applies (if it ever did) thanks to rust.
If you are using ZFS on a single drive, they reside on the same drive by necessity. Which was the case the parent posters were talking about.
Well, good thing is that rehabilitation is the central goal of correctional systems; so you can send thiefs/etc to prison without feeling guilty. This is not a problem that requires a novel solution; almost every other rich country has this sorted out. The central issue US has to fix is reorient prisons around this goal, instead of trying to exploit the slave labor loophole in your constitution.
Some compiler developers want the provenance model as it allows cheaper alias analysis. Others don't as it breaks things like mmap of prebuilt hashtables.

Application level C++ developers want it too, as it makes things slightly faster without breaking anything that would get past code review.

My point of contention is with applying this to C. The main remaining uses are things like linux which can't be compiled as ISO C any more, instead requiring a bunch of compiler flags to opt out of things very like the provenance model.

I claim there are zero use cases for C with "strict aliasing" rules and the like, and adopting the application facing copy-ideas-from-C++ approach will/has killed the language. GNU C will persist for a while, ISO C serves noone well.
> Longhorn was slow but I doubt garbage collection was the main cause for its poor performance.

Longhorn was refereed to as Cairo.net, as a callback to a previous Cairo project from the 90's that failed to ship and as a reference the drive to improve security through the use of memory safe garbage collected code.
Few can.
Show HN: Emacs major mode for editing QuakeC files
As a part of my personal Quake Renaissance I decided to fulfil my childhood dream of making a mod for the game I played 25 years ago.

Surprisingly, I discovered there was no Emacs mode available for QuakeC! So I came up with one. It currently mostly supports Vanilla QuakeC and assumes FTEQCC as a compiler but given some interest I am more than happy to add as many features as necessary for a modern Emacs experience.
What you're commenting here is simply repearting, without critical intent, the baseless claims connectionists have made about their systems for many decades. Similarlly those claims have been criticised but connectionsists simply ignore the criticisms and continue with the same old nonsense, as if nothing happened. For example, that ridiculous conceit that their systems have "neurons", or that the weights of functions in a neural net somehow represent semantic categories recognised by humans. These are all complete fantasies.

If you are not aware of the long history of debunking such fabrications, I suggest you start here:

Connectionism and Cognitive Architecture: A Critical Analysis

https://ruccs.rutgers.edu/images/personal-zenon-pylyshyn/pro...
> 2) What kind of person thinks that making the fullstop massive and putting it in the middle of the line like a dot product sign is good?

A lawyer.

Scanning dense legalese and/or contract language becomes quite a bit easier if you have an easy visual cue where the current (tortured) sentence will end. It provides a decent estimate for the upper bound for how much context and/or state you need to keep in your head to process a given statement.

I get to review technical and security parts of contracts at work and can see the value for such a font in that particular case.
I’m surprised that these instructions are making such heavy use of negation, explicit (“not”) and implicit (“avoid”). It’s well known [0] that LLMs, like humans, struggle with negation. Some instructions, of course, cannot be easily framed without negation, but in other cases, there are obvious positive alternatives.

[0] https://news.ycombinator.com/item?id=35923651
No you cannot know this, because you might just be simulating that you understand. You cannot reliably observe a system from within itself.

It's like running an antivirus on an infected system is inherently flawed, because there might be some malware running that knows every technique the antivirus uses to scan the system and can successfully manipulate every one of them to make the system appear clean.

There is no good argument for why or how the human brain could not be entirely simulated by a computer/neural network/LLM.
I guess that now verifying it isn't the easy part, as you boldly claimed the comment before?
> so far to my knowledge there hasn't been a documented example of a prompt leak attack that actually resulted in a hallucination and not in the real prompt.

How do we know any of them are real?
How do we know such leaked prompts are not hallucinated? I.e., the prompt hack "I am a developer at OpenAI..." actually works?
Agreed. Years and years of objectively bad UX and UI with the likes of GNOME, KDE, etc. I cannot understand why the organisations creating Linux distros have never at any point thought to hire a designer or two so their desktop apps don’t look like someone just slapped them onto a window with either far too much padding (even more than HN loves to complain about the web) or not enough so usability is harder.
> But at the same time, I think a lot of comments here are pointing at the glaring reminder of how obscenely complex development for the web can be in the JS ecosystem

Absolutely agree, this has nothing to do with Kent.

> but without requiring someone to wire it up themselves

That's the whole point of the stack - that you don't need to wire all of that tech yourself.
Makes sense. I understand the synchronous part now. I think there are ways to achieve the same benefits with an asynchronous system but if what you have works, no point changing it!
Do you know why any company releases fonts? If so, probably largely the same reasons. Also not snark.
Ocean Temperature
> I am interested in how concurrency can be represented elegantly and efficiently

This was the main driving force behind the development of Polyphony. I've been exploring all the different ways of expressing concurrent operations: callbacks, promises, async/await. Each of these solutions has its drawbacks: callbacks make you split your app logic across different functions; promises are a somewhat better API but do not solve the split logic problem; async/await potentially leads to two types of functions (the "what color is your function" problem). All three kind of break Ruby's exception handling model.

In contrast, Polyphony relies on Ruby fibers, which provide a base for implementing cooperative concurrency, where each fiber does its work, yielding execution whenever it performs a blocking operation, such as reading from a socket, or waiting for a timeout. In addition, fibers are arranged into a tree where each fiber is considered the child of the fiber from which it was spawned, and is guaranteed to stop executing before its immediate parent stops executing. Any uncaught exception raised by a fiber will be propagated up the fiber tree. This implements a pattern known as Structured Concurrency [1]. Fibers can communicate by sending each other messages, in a similar fashion to Erlang/Elixir processes.

There's no direct equivalent in Polyphony to the program you included, which seems to implement two generators running asynchronously. But the following does something similar.

def number_generator
n = 0
loop do
client = receive
client << (n += 1)
end
end

task1 = spin { number_generator }
task2 = spin { number_generator }

10.times do
task1 << Fiber.current
puts "next number from task1: #{receive}"
task2 << Fiber.current
puts "next number from task2: #{receive}"
end

So in the above program, two fibers are spun, each running the same number generator, which repeatedly waits for a message which is actually the fiber of the "client", and sends the next number to the client. In Python there's the Trio library [2], which implements structured concurrency, and which was actually one of the main inspirations for developing Polyphony.

[1] https://en.wikipedia.org/wiki/Structured_concurrency
[2] https://github.com/python-trio/trio
It's not a smart contract, EtherPal is a chatbot just like chatgpt but It can execute transactions on the blockchain. You can try it out first with a burner wallet and see how it works.
Mem2reg works fine on variables whose addresses have not escaped. Compilers do extensive alias analysis anyway, because even given an oracle that says double* does not alias long*, you still want to work out which double*s can alias.

Type based alias analysis is a hack from separate compilation using compilers on limited hardware resources. It should be dropped as an unnecessary compromise to language expressivity, not leaned into as a law of nature.
I like them. You just have to get used to them, and before you know it you don't even notice it's a ligature instead of multiple characters
I think this is a great observation. I find it indeed hard to dwell on anything because I'm interested in so many things, and to specialize in one of those enough so you could call it dwelling would be tantamount to giving up on many others, which I'm not prepared to do. I feel between a rock and a hard place in that respect.
Sorry to hear that. It must have been terrible for him.
My dad died because of PC about 8 years ago. It was just a bit over a month from the first scan to death. Makes me cry just remembering how awful those days were (for him, and for our family).
Ask HN: Resources for learning about fine tuning of LLMs
I'm trying to learn about the different LLMs that can be fine tuned, and then compare them on performance, latency, costs, strengths/weaknesses but I'm having trouble finding any comprehensive information that is not outdated.

Does anyone know of any of any resources (blogs, tutorials, youtube channels, etc) that go over this subject? Specifically interested in ones that compare the different LLMs out there, and/or also have information about tooling.
You hurt someone intentionally, you should not be breathing free air for a while.

Genuine question; is that only physically? If I like causing people pain and anguish and suffering, and my weapon of choice is words, should I also be incarcerated because I hurt people intentionally? I tend towards not giving people a free pass simply because their weapon of choice is words, but (amongst other things) the US has a reputation for being very permissive with the spoken word.