HNHacker News
TopNewBestAskShowJobs

elehack

1,750 karma · joined February 7, 2011

Associate Prof., Information Science, Drexel University.

Lead developer, LensKit recommender toolkit.

Ph.D, University of Minnesota.

submissionscomments
elehack··on Git-bug: Distributed, offline-first bug tracker embedded in Git
The agent requirement is a symptom of a deeper potential issue: not using the system's ssh. Providing built-in as a fast-path option is fine, but ~/.ssh/config can do a lot of useful things, and providing an easy option to say "just use real ssh" lets people have their config just work.

Specifying identify files for specific hosts, using bastion hosts (ProxyJump), etc. For example, my laptop SSH config detects when I'm not on my university network or VPN and adds a ProxyJump through the department bastion host, but connects directly when I'm on the network. Configurations like that break when software makes too many assumptions about how ssh is configured.

elehack··on Ask HN: Alternatives to GitHub
If you want (4) and don't care about a web interface for managing repos, but do want Git-LFS, Soft Serve (https://github.com/charmbracelet/soft-serve/) works pretty well. I used it for self-hosted stuff until I started needing other features Forgejo offers.
elehack··on Kraid is a now a real compiler
Kraid is the shader compiler for Panfrost, the Mesa driver for Arm Mali GPUs: https://docs.mesa3d.org/drivers/panfrost.html
elehack··on Why does C have the best file API
Yes. In little-endian, the difference between short and long at a specific address is how many bytes you read from that address. In big-endian, to cast a long to a short, you have to jump forward 6 bytes to get to the 2 least-significant bytes.
elehack··on The C-Shaped Hole in Package Management
Mamba is fast, and Pixi is also fast + sands a lot of the rough edges off the Conda experience (with project/environment binding and native lock files).

Not perfect, but pretty good when uv isn't enough for a project or deployment scenario.

elehack··on Python is not a great language for data science
And readability. data.table is very capable, but the incantations to use it are far less obvious (both for reading and writing) than dplyr.

But you can have the best of both worlds with https://dtplyr.tidyverse.org/, using data.table's performance improvements with dplyr syntax.

elehack··on Window Activation
Yep. With the solution discussed, as I understand it, the e-mail program just needs to be modified to request a focus token and send it along with the URL request to the browser or the OS browser dispatch service to keep the expected behavior.

This could be abstracted by libraries (e.g. a method in Qt to open a URL in the system browser automatically gets the token) so each application doesn't need to be updated separately, or possibly even OS services.

elehack··on Window Activation
The article is about a mechanism for the OS to validate focus requests. The application with the link requests a focus token, and passes it to the browser along with the open-link request, and the browser can then request focus.

It isn't perfect, because there's no way to know that the browser isn't using the token to request focus for something else, but maintaining and validating chain of custody for focus across applications is exactly the problem it looks like they are working on solving.

elehack··on NIH limits scientists to six applications per year
Describing this as a limit on "CS programs" is a common, but erroneous, understanding of the proposal limit.

This specific solicitation — CISE Core Programs — has a 2-proposal-per-year limit. However, that only applies to this solicitation, and only counts proposals submitted to this solicitation. CISE Core Programs is an important CS funding mechanism, but there are quite a few other funding vehicles within CISE (Robust Intelligence, RETTL, SATC, and many more, including CAREER). Each has its own limits, that generally don't count or count against the Core Programs limit.

elehack··on Proposal for Standardized JSX
I like this — JSX is a little annoying to work with outside the major implementations.

If this existed, I might not have found the need to make my little Hyperstatic library (https://jsr.io/@mdekstrand/hyperstatic).

elehack··on Postgres UUIDv7 and per-back end monotonicity
UUID v5 is quite useful if you want to deterministically convert external identifiers into UUIDS — define a namespace UUID for each potential identifier source (to keep them separate), then use that to derive a V5 UUID from the external identifier. It's very useful for idempotent data imports.
elehack··on Ask HN: Given AI advancements, is a master’s degree in CS worthless?
Disclaimer: I am a CS professor.

I don't think AI advancements will cause a problem for the value of the degree (or rather, if they do, then it wasn't a very good MS degree). The value of formal university CS education done well, at both BS and MS levels, is learning skills in a context that integrates those skills into a knowledge framework that transcends any particular technology and hopefully outlasts several trend changes. The specific ML algorithms you would learn in an ML-focused MS will likely be out-off-date soon; the training on problem formulation, data preparation, fundamental limits of learning, and the theory of how ML works will not only outlast many technology shifts, but give you a good framework for navigating those shifts and integrating new advances into your knowledge.

There are likely many programs that would not provide this kind of foundation. But in understanding in general the value of an MS, this is how I would advise a student to think about it. (and on MS vs BS, BS usually provides some opportunity for specialization but is very much a generalist degree; an MS provides more opportunity for specialization and credentialing on that specialization.)

elehack··on ACM costs vs. arxiv.org costs
That workflow has changed in the last few years.

- Brand new templates (introduced about 5 years ago, the LaTeX template has had multiple updates per year since then)

- Workflow that makes use of the source (or possibly codes the source embeds in the PDF, but you have to provide LaTeX source to ACM these days)

- Papers now render in both PDF and HTML (and the HTML looks quite good), this started showing up within the last 1-2 years

- Papers are archived in an XML-based format (something called JITS, I do not know details) to facilitate rendering to PDF, HTML, ePub, and other formats not yet devised

elehack··on ACM costs vs. arxiv.org costs
I agree. I have no idea what IEEE is doing that costs that much. And while I don't take as hard a line against them as I do against Elsevier, I have never published with them and don't currently have any plans to change that.
elehack··on ACM costs vs. arxiv.org costs
There's a lot to critique in publishing and associated costs, but this tweet is unfortunately factually wrong.

From the linked article, ACM's publication costs are $10.9M, not $33.7M.

One of the ACM's major publication initiatives over the last 3-5 years has been an overhaul of their publication templates and publication workflow, to ensure greater consistency in publication formatting, improve accessibility, and archive publications in more future-proof formats. There are also the ongoing costs of creating and indexing metadata (ACM tracks more metadata than arXiv, including resolved citations), preservation (ACM buys failsafe perpetual access services from Portico, arXiv has mirrors at other university libraries).

Should it cost $10.9M? I am not sure. Does it cost a lot more than what arXiv does? Yes.

For a costing exercise: the service ACM buys from Portico is archival and republication. If ACM goes insolvent, Portico flips on their archive and the content remains available. How would you price this service, knowing that when it is actually needed, it's because your customer can no longer pay bills, and you now need to take up their hosting (and all related costs) for approximately forever with no further revenue? I think a network of university libraries would be a more cost-effective way to provide this service, but it's the kind of thing that people working on publication and archival professionally think about, and that factors into the cost of professional archival-level publication.

(I cannot speak to IEEE.)

elehack··on Backblaze 7.0 – Version History and Beyond
Backblaze can back up arbitrarily large local drives, but does not allow you to set network drives as backup sources (for precisely this reason). It's fine with the local drive being shared - our desktop's big storage drive is exposed over the network - but it can detect and refuse mounts from other machines. I don't know what it does with an iSCSI drive, haven't tried.

I think it's harder to detect network mounts in a way that wouldn't have a bunch of false positives on Linux.

elehack··on Wunderlist founder wants to buy his app back from Microsoft
It isn't just a change of server, it's an entirely different back-end infrastructure. To Do is a modern UI on top of Exchange tasks.
elehack··on There is no evil like reCAPTCHA
Google did not create reCAPTCHA. They bought it; it was started by Luis von Ahn, who went on to create Duolingo.

When reCAPTCHA was created, the alternative was CAPTCHA, which tried to impede bots but did not generate any social benefit. This was the genius of the original reCAPTCHA concept: the time taken to 'confirm humanity' could be channeled into the socially-useful endeavor of digitizing books. Capture some of the heat emissions of impeding bots for a useful purpose, rather than letting it all go to waste.

Now, yes, Google is using it to train their self-driving car AI, and there's a bunch else happening in it to connect to Google's surveillance apparatus. There's much to legitimately criticize there. I personally don't view training Google's proprietary AI as the same kind of intrinsically altruistic purpose as digitizing the world's pre-digital books.

But putting the entire concept on blast with erroneous history that can be corrected with about 60 seconds on Wikipedia doesn't help the argument at all.

elehack··on The multi-armed bandit problem (2012)
Yes. Bandits will often converge more quickly to the optimal strategy, but it is much more difficult to understand why that strategy is optimal and generalize from the bandit outcomes to predict future performance and performance of other strategies.

It isn't impossible - bandits are seeing adoption in medical trials to avoid precisely the problem discussed - but the standard experiment design and analysis techniques you learn in a decent college statistics class or introductory statistics text no longer apply. That's one of the beauties of A/B testing: while it does require substantial thought to do well, the basic statistics of the setup are very well-understood at this point.

elehack··on Making email more secure with MTA-STS standard
Simple, non-evil answer: because it would severely impede spam prevention. This extensive writeup has details: https://moderncrypto.org/mail-archive/messaging/2014/000780....

Long story short, to control spam, you basically have 2 options:

1. Control who can send messages 2. Inspect message content 3. Impose costs

Signal and WhatsApp chose (1). E-mail (and probably any federated protocol) requires (2) or (3), and there is no universally-adopted (3) for e-mail.

elehack··on That $35 that scientific journals charge goes 100% to publisher, 0% to authors
Yes, publisher profits - especially for places like Elsevier - are ridiculous, even for the costs involved.

But it's easy to overlook important costs in the publication system. One, as others have observed, is editors (and some administrative staff). Their value is certainly up for debate; I have had colleagues ascribe significantly more value to them than some of the other comments here.

Another, though, is archival and continuity of access. The publisher I am most familiar with is the ACM; they have contracts with archivers in place so that should they go insolvent or otherwise be unable to continue providing access to the published papers, these firms will take their archives live so the work remains accessible. By the very nature of the business, the fees they collect now need to be sufficient to keep the work accessible in perpetuity with no further payment.

As with other societies, ACM's journal revenue also goes to fund conference development, outreach and advocacy activities, student grants, etc.

There is a lot of rent-seeking in scholarly publishing, even (in my opinion) from scholarly societies. I personally believe that many of our needs could be better met by investing the funds we currently spend on commercial publishing in university libraries and rehoming the scholarly publishing enterprise there. However, sustainable open access is not as simple as just running a web server.

elehack··on Potential impact of the Intel ME vulnerability
If the machine (1) has soldered-on RAM (preventing cold boot attacks) and (2) the portions of the OS that run prior to user authentication are sufficiently secure, then it really doesn't seem to be a problem.

Last I knew, Windows does not like to let you enable this mode in a machine with removable RAM that don't have compensating security features.

elehack··on CircleCI trusts 8 analytics companies with your source code and API tokens
Only 3rd-party code I see in a GitHub is Google Analytics. There's a few loads from githubapp.com and githubusercontent.com.

I also think the CI service, which GitHub doesn't provide, is a higher-risk environment for this kind of thing. GitHub settings pages don't production deploy keys.

elehack··on JDK 9 General-Availability Release
There are a few weird incompatibilities around things that have been moved to modules that are disabled by default. This just bit me with the javax.annotation package (moved to a JAX-WS module and turned off by default; this can jack with containers that work with the PreDestroy/PostDestruct annotations but don't pull in the JSR250 dependency from Maven).
elehack··on Iron Yard code school to close all campuses
Tuition + fees (possibly + books, but that is highly variable from term to term and generally substantially less than tuition) is the correct way to evaluate the cost of higher education. Room & board is generally optional at state schools (there are a few exceptions).

My institution's in-state tuition + fees are about $9K/year. The TX state university I taught at for two years was similar.

elehack··on The P=?NP Poll (2002) [pdf]
Technically, yes, but practically, no.

THEOREMS (the language of correct proofs) is in P; given a correct proof (possibly restricted to being in first-order logic), it can be verified in polynomial time. In the first-order logic case, all you have to do is read the proof from beginning to end and verify that each statement follows from either an axiom or an already-established statement. This is done entirely syntactically, requiring no knowledge of the underlying mathematics.

However, to do this requires formalizing the entire proof in machine-checkable format, which is a substantial undertaking even for relatively simple proofs and will likely take far longer than polynomial time.

elehack··on Facebook recommends psychiatrist’s patients friend each other
Moral: don't use users' contact lists to bootstrap or enhance social services. Barring strong differential privacy implementations, it will cause problems.

Implementing a 'what friends do I have on this service?' feature is one thing. Retaining that data and feeding it in to the recommender is very likely to cause this kind of problem.

elehack··on An Online Stoic Mindfulness and Resilience Training Course Starting 17th May
Sakai is an open source offering that seems to be pretty good. At Texas State we use a (heavily customized, I believe) instance of it as the standard e-learning platform, and it's quite a bit better than Moodle in most respects.
elehack··on Postgres full-text search is good enough
I've been teaching databases this semester, and PostgreSQL's full-text search capabilities have been wonderful for allowing my students to build search into their projects without needing to learn additional tech (we're using PostgreSQL as our database anyway).
elehack··on OpenBSD Passes 300,000 Commits
Jails are a FreeBSD thing. OpenBSD doesn't have them so far as I know.
Page 1 of 8Next →