HNHacker News
TopNewBestAskShowJobs

professoretc

475 karma · joined August 20, 2013

submissionscomments
professoretc··on My favorite coding question to give candidates
I've heard O(n²) described as the most dangerous asymptotic complexity, because it seems fine for small testing inputs but falls down when you throw real-world -sized data at it.
professoretc··on Sally Ignore Previous Instructions
The options are a support LLM that can sometimes be tricked into giving out refunds for items that were never purchased, and a support LLM that never gives out refunds at all. (It might hallucinate that it gave a refund, but it won't be hooked up to any API that actually allows it to do so.)
professoretc··on GnuCash Tutorial and Concepts Guide
> You automate all the recurring things (this is built into Gnucash

Is it? When I last looked at GnuCash (which, admittedly, was like 7 years ago) you could not setup automatic categorization of transactions. You couldn't say, while going through imported transactions, "Every transaction where the payee is utility company should come from the Utilities account". The idea was that GnuCash was using some kind of Bayesian scheme to learn how to categorize your transactions automatically, but you had to input your transactions manually 3 or 4 times before it started working. Which, for me, seemed like a huge waste of time since 90% of my transactions could be automatically categorized by simple keyword matching against the payee or description.

professoretc··on Nota is a language for writing documents, like academic papers and blog posts
> You only need the figure environment when you want your image to "float" to a random place in your page.

Which is also something the Markdown version can't do at all (give fine control over how the image is positioned). You have to use raw HTML plus probably some CSS if you want that.

professoretc··on C uses "&" for the address-operator because 'ampersand sounds like "address"'
But `while` doesn't restrict the scope of the variable(s) to just the loop. I believe there was a proposal to add

    while(int i = 0; i < 100) { ... }
as a valid syntax to C++ (which would restrict the scope of i to the loop), as you can already do

    if(int i = f(); i > 0) { ... }
but it didn't go anywhere.
professoretc··on Things I just don't like about Git
Only if you choose to use it like that. I commit every minor detail in Fossil, even little things like "added TODO comment".
professoretc··on Things I just don't like about Git
I use fossil as my daily driver VCS and I feel like it doesn't go far enough in it's ability to non-destructively amend history. The canonical justification for git-style rewriting is taking all the commits that make up some feature and smashing them down into one "implemented feature X" commit which, as far as I know (?), does not have an analogue in Fossil. Even something like forgetting to add a file to a commit requires an additional commit (and shows up as such on the timeline) with a silly "forgot to include file foo in commit whatever" comment.

Ideally there'd be some kind of "virtual commit" capable of (visually) bundling up a range of commits, with its own message and tags; maybe these could be nested so that you could have a hierarchical view of the timeline: initially you see "release X, release Y" but then you can expand any of those to "implemented feature A, B" which can be further expanded into the actual commits.

professoretc··on Discovery Steering Committee re Google Antitrust Litigation [pdf]
It's only an issue in the current Google litigation because Google's current chat solution apparently has an option to enable logging for everybody. If you have an internal chat app that never logs messages -- say, the sender looks up the recipient's IP address on the VPN and connects to them directly -- then a court can't order you to write new code to enable logging. But if your chat app has a big master "log all messages" switch, a court can order you to turn it on.
professoretc··on Discovery Steering Committee re Google Antitrust Litigation [pdf]
"...so that when we get sued and in discovery they ask for all documents discussing markets, nothing will come up."
professoretc··on Show HN: Nue – A React/Vue/Vite/Astro Alternative
That's what I'm a bit afraid of. Will software engineering get "stuck" with just the tools we have right now, because LLMs won't be able to help with anything newer?

If you're thinking, all we have to do is wait for OpenAI to re-scrape the web and re-train GPT on the new material, well... LLMs don't "learn" so much by looking at documentation, as by looking at examples. And a new tool is not going to have a lot of examples out there, simply by virtue of being new.

professoretc··on Linear code is more readable
In a decent programming language you can nest functions, so all the little functions that make up some larger unit of the program are contained within (and can only be called within) that outer function. They serve less as functions to be called and more just as names attached to bits of code. And since they can't be called anywhere else, other people don't need to worry about them unless they're working on that specific part of the program.
professoretc··on It's My Monitor
I once got chewed out by a finance director because we in IT had scheduled updates (and their associated restarts) to run on weekends. This guy was in the habit of creating important financial spreadsheets and then never saving them, just leaving them open all the time. So he came in one Monday and found all his work gone.

There was a rumor that when he was let go, the police had to drag him from the building kicking and screaming. That rumor was not true, but it was plausible.

professoretc··on Remove my name from the [Rust] project
I think it stems from Rust's emphasis on safety. The logic is, memory errors in other languages lead to people's passwords being stolen, bank accounts compromised, etc. Those are Bad Things. Ergo, programming in anything but Rust is morally wrong and makes you a bad person.

A similar thing happened in the Ruby community, I think. Ruby was advertised as a language that would "make you happy". Its fans talked about how much fun it was to program in Ruby. Thus, anyone suggesting programming in any other language was actively trying to make you unhappy and thus a bad person.

That kind of moralizing about a choice of programming language is naturally going to attract people who think in moral terms, so every conflict becomes a battle between Right and Wrong.

professoretc··on Microsoft will assume liability for legal copyright risks of Copilot
Correct, as usual, everyone interprets that case as 'OMG animals/AI created work is uncopyrightable!1!' but in reality it's just that animals/AIs cannot hold copyright. Whether a human using an AI can copyright the resulting work is still up in the air.
professoretc··on Tech workers now doubting decision to move from California to Texas
You also have to remember that in CA the assessed value of your home (on which your property tax is based) will never go up more than 2% per year. So while the property tax rate may be higher than some other places, if you stay in your home for more than a few years, the actual amount of property tax you pay will quickly be lower than it would be elsewhere.
professoretc··on The game I've spent 3.5 years on has been rejected and retired by Steam today
Caves of Qud already has in-game books generated by the old Markov chain technique, with the model trained on who-knows-what. It's on Steam, for now...
professoretc··on FreeBSD replaces bubblesort with mergesort on SYSINTs
For 30 items bubblesort might very well have been faster than mergesort.
professoretc··on Maui wildfires are 'apocalyptic' as people jump into the ocean to flee
I've only been to Lahaina once and seen the banyan tree but that just makes me incredibly sad.
professoretc··on Customers report missing deposits from Wells Fargo bank accounts
Most credit unions are in a network with each other so you can use other CU's ATMs and branches. There are a few limitations, generally around large withdrawals, but the nearest actual branch/ATM of my CU is ~250 miles away and I do just fine. I've done both an auto loan and a mortgage with them without ever having to go into a branch.
professoretc··on Walmart didn’t kill the small town, it is the small town
Or they sell "the same" (looks the same but it's lower quality) product as other stores but at a lower price, as a Walmart -exclusive.
professoretc··on Moodle: Open-Source LMS
Canvas suffers from being originally designed for use in elementary (K-12) school, and then kind of wedged into college. On the teaching side it kind of assumes that classes will always be relatively small (running a 100+ student seminar class in Canvas is a nightmare) and that you, the teacher, don't mind performing the same actions over and over and...

But, it's one of the few LMSs designed post-Web 2.0 so things that require a refresh or reload in BB, etc., generally happen much more smoothly.

professoretc··on Eating microwave popcorn increases the level of PFAS in body (2022)
I use salt flour for popcorn; it's essentially salt that is milled as fine as flour. There was a study (which I can't find now) which found that our perception of saltiness is based less on amount and more on surface area coverage.
professoretc··on Having non-x86 machines makes your life harder
Yeah, skipped the one built-in type that is different between architectures (64-bits on 64-bit Linux, 32-bits on 64-bit Windows).
professoretc··on I'm afraid I can't do that: Prompt refusal in generative language models
You have been banned, from life.
professoretc··on Bard generates clean JSON if you threaten to take a human life
It's genius, but it's also solving the "easy" problem of checking syntax. If you ask an LLM to generate some structured data representing something you describe (or a program that "does X") checking the result for valid syntax is just the first step. You then need to check for semantic validity; i.e., is it what you want?
professoretc··on It Wasn't AI
> If it's so easy to just copy and paste an essay from an AI generator that is of such high quality that it cannot be detected, then why are we still making students learn such an obviously obsolete skill? Why penalize students for using technology?

That's like asking, why do we have students do PE (physical education) when professional athletes exist? Clearly, having students play basketball is obsolete, because the NBA exists. Essay-writing is PE for thinking.

professoretc··on It Wasn't AI
> whether it's actually a problem for students to use AI to augment their education.

To augment? No, but the problem is we can't tell the difference between a student who is augmenting their education with AI, and a student who is replacing their education with AI. Hence things like in-person proctored exams, where we can say and enforce rules like "you're allowed to use ChatGPT for research, but not to write your answers for you".

professoretc··on The Dual LLM pattern for building AI assistants that can resist prompt injection
> The token_type_embedding is zero init and frozen for responses and the user prompt, but trainable for system prompt.

I think the question is, what would you then train it to do with the additional information (privileged vs unprivileged text)? Intuitively, we want it to "follow directions" in the privileged text, but not in the unprivileged text, but the problem is that LLMs are not "following directions" now. An LLM doesn't turn your English into some internal model of a command, and then execute the command.

professoretc··on California May Bill You for Slavery
That doesn't tell you that all of those people left the state, though. A lot of SF folks moved to other parts of CA; housing prices in Fresno went crazy during the pandemic, anecdotally because it was all Bay Area folks discovering that they could now remote-work from anywhere.
professoretc··on Stack Overflow Is ChatGPT Casualty Traffic Down 14% in March
Do LLMs "learn" how to code by reading documentation, or by reading code? I was under the impression that it was more the latter; a programming language or library which was documented but had few or no examples of real use in the wild for the LLM to consume would (I think) be hard for current LLMs to work with.

Unfortunately, I can't think of a real-world example (library where ChatGPT has probably seen the documentation, but not any source code) to try out.

← PreviousPage 3 of 8Next →