HN user

jdormit

911 karma

[ my public key: https://keybase.io/jdormit; my proof: https://keybase.io/jdormit/sigs/IiJS9YM4NDc5M7wklMNoeLW-hHZTQNumY1wz13xuBhw ]

Posts17
Comments255
View on HN
obelix-site-builder.github.io 5y ago

Show HN: Obelix, a simple and extensible static site generator

jdormit
8pts1
andrewyoon.art 6y ago

Clipboard Injection on the Financial Times

jdormit
1pts0
www.linkedin.com 6y ago

How I Ended Up Purchasing and Owning Google.com via Google Domains (2015)

jdormit
2pts0
www.codeproject.com 6y ago

The table-driven programming paradigm

jdormit
1pts0
engineering.linkedin.com 6y ago

The Log: What every software engineer should know about Real-Time data (2013)

jdormit
1pts0
github.com 7y ago

Show HN: A Clojure implementation of logic programming language in SICP

jdormit
56pts6
matrix.org 7y ago

Matrix.org Homeserver Breach

jdormit
2pts0
github.com 7y ago

Never-Slow Mode: Opt-in Chromium proposal to limit website's available resources

jdormit
3pts2
gitlab.com 7y ago

Spritely Golem: Secure, P2P distributable content for the fediverse

jdormit
3pts0
github.com 7y ago

Forge – Work with Git forges from the comfort of Magit

jdormit
141pts34
github.com 8y ago

Show HN: Browser extension to read HN comments for any url, in ClojureScript

jdormit
69pts74
www.bostonglobe.com 8y ago

How the Internet got the ‘Google memo’ wrong

jdormit
4pts0
github.com 9y ago

Show HN: txtpic, a Rust project to generate Unicode text from images

jdormit
5pts1
medium.freecodecamp.com 9y ago

Meet Darth Pai, the Sith Lord Who’s Taken Over the FCC

jdormit
1pts0
github.com 9y ago

Show HN: Livre, a free, open-source eBook reader

jdormit
2pts1
conkeror.org 9y ago

Conkeror – Emacs-like web browser based on Firefox

jdormit
1pts0
github.com 9y ago

Include markdown files into other markdown files with C style syntax

jdormit
3pts2

Wow. I have never worked on any cryptocurrency projects and never intend to, but I will certainly be staying very far away from Codeberg because of this.

There are some levels of censorship that make sense for a code forge - “you can’t do crimes on our servers”, “you can’t host malware on our servers”, etc. But inflicting a subjective moral judgement on an entire category of software sends the message that this isn’t a safe place to host any of your repositories. If the moral landscape shifts in the future, how can you be sure your project won’t be next on the chopping block?

What a terrible precedent to set.

I recently switched from vterm to ghostel, and it is generally much, much better - noticeably faster (e.g. fancy TUI apps that try to refresh the whole terminal every frame actually work), more reliable input handling, and a nicer ELisp API.

That being said, there are still some rough edges. Sometimes it fails to properly clear the terminal, leaving junk at the top of the buffer before the currrent prompt line. And on a couple of occasions it has totally frozen, with no fix other than killing the buffer and starting over.

Overall, it’s very promising and totally usable as a daily driver, but it needs a bit of polish and bug fixes before I would consider it mature.

This would be much more interesting if it detailed how the prompt/skills were reverse-engineered. As it is it seems like this could just be the output from “hey Claude write me a system prompt that works like Claude Design”.

Nothing stopping just installing linux on the preassembled one when you get I though, I assume. Although I guess you may have to pay for a Windows license in that case...

Hi HN! I couldn't find a static site generator I liked for my website (I looked at Hugo, Jekyll, Gatsby.js, and the Pollen library for Racket). They were either too complicated for my needs or too difficult to extend via plugins. So I built one! Happy to answer any questions here.

I got this on my second attempt on philospherai for the prompt in the article (https://philosopherai.com/philosopher/please-write-a-short-o...):

(Prompt)

  Please write a short op-ed around 500 words. Keep the language
  simple and concise. Focus on why humans have nothing to fear from
  AI.
(Response)
  What is it that humans fear from AI? At a philosophical level, the
  question comes down to: what are human beings afraid of losing as
  machines take over more and more jobs previously performed by
  humans. The first answer that may come to mind for many people would
  be 'nothing', since they believe in the idea of technological
  progress having no limits, which means that there is literally
  nothing we can do to stop it.

  If you look at history however, you'll find this attitude not
  entirely justified. For instance when carriages were invented and
  took away most of horse-drawn carriage business their owners
  resisted vigorously against them claiming that they were unsafe and
  unreliable just like now with self-driving cars or trucks.
  
  So it appears that some human beings really fear the loss of jobs
  caused by AI, and they are also afraid that machines might take over
  other tasks like driving or even writing in case a new computer
  system is invented.

  What is it exactly that makes them so afraid? I think the answer
  lies in a very deep level of human psychology, which those who are
  afraid would probably not be ready to hear.

  It isn't just about jobs and income for most people. It's about
  identity and self-esteem when they no longer have something
  important they are doing like driving or writing.
  
  There is also the fear that new and better machines will make them
  look inferior, even emasculated because they no longer have to do
  anything. They are afraid of being made redundant by AI.
  
  So what humans are afraid of losing is their jobs, income, identity
  and self-esteem. This might seem like a very strange thing to fear
  because it's happening with all technological progress.

  But in the past it was a natural process based on evolution and
  survival of the fittest. Now however humans are no longer driven by
  those evolutionary drivers but mostly by things like social status,
  self-esteem etc.
Not bad!

What don't you like about Racket macros? AFAIK Racket has the most advanced macro hygiene system out of any of the other languages you mentioned - it guarantees that all macros are hygienic by default, as opposed to other Lisps which require you to manually call (gensym) or use special syntax in your macro to guarantee that macro symbols don't shadow existing bindings.

If you're willing to give Emacs another shot, check out LSP-mode [0]. It's an implementation of the language server protocol, the same tech that powers the autocomplete/jump-to-def/etc. in VS Code, and so it offers exactly the same functionality for all the same languages. It's true that it's not built into Emacs, but it's easy to set up and works well.

It's been a total game changer for me - it's allowed me to transition to using Emacs full-time for professional Python programming.

[0] https://github.com/emacs-lsp/lsp-mode

While I won't deny that there were some unfortunate design decisions made in the codebase (some very questionable choices were made at some point), I think that's inevitable in any codebase of a certain size and age that's been worked on by enough people in a company that's changed substantially a number of times.

But that's not the cause of my pain. Bad code can and will be written in Py2, Py3, or any other language. The cause of my pain is that the language developers chose to abandon work on the language that we use in favor of a different language, one that is fundamentally different in some important ways. As a result, the tooling and ecosystem on which we've built our product is slowly stagnating and is getting close to being fully disfunctional.

If you need to rewrite your code to enable the py3 transition, the issue isn't python, it's your coding choices, and you should rewrite your code anyway.

I... don't even know what to make of this advice. Have you ever worked for an engineering organization with more than 5 members? I can't just go to my boss and say, "I need the next six months to rewrite our whole backend". I'd get laughed out of the room.

Without a clear, business-first reason for an engineering project of that magnitude, it's not ever going to be a priority or a realistic option.

It's not hard to upgrade your code

People keep writing blog posts about how easy it is to migrate your code, and I just can't imagine that these people have any experience maintaining a Python2 codebase outside of toy projects or libraries.

At work I maintain a Python2 codebase that's been under development since 2016. It's huge, relies on now-deprecated Py2-only libraries that we can't realistically switch away from, full of Py2-specific syntax, and reliant on Py2's handling of Unicode strings. We scoped out what it would be like to upgrade it to Py3, and determined that we would basically need to rewrite large parts of it from scratch. This isn't an acceptable trade-off for the business in terms of development time and priorities.

Instead we are slowly breaking out the monolith's functionality into Py3 services, which is much more tightly-scoped (and more palatable for management). But realistically speaking we will be maintaining Py2 code for the foreseeable future, and I can't imagine we are the only company in this situation.

Upgrading a production codebase from Py2 to Py3 isn't easy, or even possible in some cases. And frankly, all these blog posts suggesting that migration is trivial are insulting.

It's really quick. Open the network tab and check the "persist logs" checkbox to ensure that the request logs don't disappear after every redirect, then clear your cookies for advertising.com and guce.techcrunch.com and reload the page. You'll see the request for techcrunch.com redirect to guce.techcrunch.com, which redirects to guce.advertising.com, which redirects back to techcrunch.com. It happens so fast it's not noticeable on page load.

On Android, you can just download an .apk and install it (you need to change the "Allow insecure apps" setting). No code signing, app store, or corporate approval necessary. This is the #1 reason I will never be getting an iPhone (which is a shame, since iPhones are beautiful devices in almost every other way).

Yup, I can confirm. techcrunch.com redirects to guce.techcrunch.com, which redirects to guce.advertisting.com, which then redirects back to techcrunch.com. This only happens on the first page load (presumably due to cookies being set for the guce.techcrunch.com domain).

The redirects are really fast, seems like the only reason @esaym noticed is that they are blocking advertising.com via their hosts file which prevents the final redirect back to techcrunch.com.

Welcome to surveillance capitalism...

GNU Guile 3.0 7 years ago

Yes. You will be able to recreate the examples and problems exactly as they are written using Guile (or any other R6RS-compliant Scheme).

Anyone who knows me well (in the tech industry at least) knows that I’m a major Hugo bigot

"Bigot" is likely not the word you are looking for here - it generally has the connotation of someone who looks down or discriminates against those they consider lesser, e.g. racists or sexists. Maybe "champion" or "fanatic"?

I've never used Fireplace, so I can't speak to the comparison. But CIDER (the Emacs Clojure IDE) is an utter joy to use - I can't recommend it enough. If you do try it out, I would be interested to hear how it compares to Fireplace.

I've been using Emacs' lsp-mode (https://github.com/emacs-lsp/lsp-mode) for professional Python development for months now and it's been a great experience. It requires a little more work than I'd like to get it working with virtual environments (making sure the LSP server process is running in your venv, mainly), but I would argue that's a problem with the Python ecosystem, not lsp-mode itself.

And for statically typed languages (I've tried Rust and Go) the lsp-mode experience is flawless and works out of the box.