dzsekijo's comments

dzsekijo | 5 years ago | on: Why I still Lisp

This is a confusing example, because in a REPL steps of compilation and evaluation are interleaved.

Indeed, can you write a program for CLISP that works like this:

- takes one command line argument (a file name)

- reads in the given file, interprets it as Common Lisp code, expecting it to deliver a definition for the add2 macro

- then runs

   (let ((a 1)) (dotimes (i 4) (add2 a)))

dzsekijo | 5 years ago | on: Why is there a “V” in SIGSEGV Segmentation Fault?

I checked Hungarian, it's simply "core készült" ("core has been made"). I guess they did not want to go too far with translating "core" as possible faithful translations would collate with expressions for ejaculation...

dzsekijo | 5 years ago | on: Why is there a “V” in SIGSEGV Segmentation Fault?

Well some aspects are still not clear. If this thing was originally called "segmentation violation", who, when switched to calling it "segmentation fault"? Why we don't get

    Segmentation violation (core dumped)
when this thing fires?

Actually "violation" sounds much clearer to me. It's telling me that the code I'm running does something that was not part of the contract. With "fault"... well, it's someone's fault... probably someone else's fault... who knows what happened... ¯\_(ツ)_/¯

I wouldn't be surprised if it was found out to sound smoother to managerial ears.

dzsekijo | 5 years ago | on: Deno Is a Browser for Code

THere is a subtle but significant difference between the approaches of Deno and Go.

Deno directly use standard URIs to import packages. Go imports syntactically appear as schemeless paths, which boils down to the semantics of importing URIs from an implicit private go:// scheme.

And that catches two fishes at once:

1) the go:// namespace is isomorphic to the https:// namespace, so the default resolution strategy is just to pipe through this isomorphism. This is convenient, makes sense right away and avoids the a priori need of a central registry.

2) Whenever it's needed, the resolution can be instructed to do some custom thing instead of casting to https://.

The exemplar instance of 2) is the usage of sibling packages. They wanted to make it possible to have several packages within a single module, whereby the module serves as a compilation unit. So when an import path is a subpath of the module path, then the package is looked up locally, relative from the root of the current module. There is no way you could get away with such a bending of a https:// URI. But go:// being a private scheme gives the freedom to proceed so.

(The go:// scheme is just my own literary device, but this semantics is explained clearly in simple terms at https://golang.org/doc/code.html.)

dzsekijo | 5 years ago | on: Deno Is a Browser for Code

For example https://deno.land/x/ is effectively nothing but a URL redirect server, where it rewrites URLs to include a git commit-ish reference in the redirected URL. So https://deno.land/x/[email protected]/mod.ts becomes https://raw.githubusercontent.com/oakserver/oak/v4.0.0/mod.t..., which GitHub serves up a nice versioned module.

Thus http://deno.land/x/ is the de facto central registry. I'm yet to see how it makes a difference whether the logic of resolving a package name to a concrete version of the package is baked into command line tooling or a web service.

dzsekijo | 5 years ago | on: Weakening Cycles So That Turing Can Halt

> The answer is "yes, there is a decision algorithm"?

Indeed.

> What would that decision algorithm be for this particular function (odd_perfect_number)?

Either of

  () => True
or

  () => False
where '()' represents the empty input.

> And what is its answer?

I'd be a Fields medal candidate if I knew ;)

dzsekijo | 5 years ago | on: Weakening Cycles So That Turing Can Halt

Sorry to say, this example has nothing to do with the halting problem. Rather, I would say, it's a reformulation of a(n unsolved) mathematical problem to the question whether a certain function halts on a certain input (being "no input", as the function is nullary). Or, if you insist, we can regard it as a trivial instance of the halting problem.

An instance of the halting problem asks, given (a partial recursive) function F, whether there is an decision algorithm A (aka. Boolean valued algorithm) on the universe of inputs U of F that calculates the domain of F (those inputs where F takes a value, ie. halts; ie, A(x) <=> F halts on x, where x in U).

For any finite subset S = {s_1, ..., s_n} of U, there is a trivial decision algorithm on U that calculates S:

  def A_S(x):
     for s in (s_1, ..., s_n):
         if x == s:
             return True
     return False
Therefore if the domain D of F is finite, the answer to the halting problem of F is trivially yes: A_D is a decision algorithm for F. (This has noting to do with the question whether we know D or not!)

If U is finite, then D is finite, so the answer to the halting problem of F is trivially yes.

If F is a thunk (nullary function), then U is finite, ie. the singleton set of "no input", so the answer to the halting problem of F is trivially yes.

odd_perfect_number is a thunk.

dzsekijo | 5 years ago | on: Emacs Org Files in a Browser

Nice stuff.

Some nit regarding the user experience:

- Sorry, but I just can't wrap my mind around your choice too emulate a handheld device's screen layout on desktop. It actually makes me feel like running some mobile app in a cranky emulator! I also checked org-web on desktop, I think their layout is much more handy (sorry for the bad pun).

- It's really annoying to not properly prepare users to get started for using the tool for production. OK, there is the landing page. Quickly that gets me to the sample doc, which is nice, extensive and useful. So far so good, appetite is whetted. Now let's get to do some real stuff, let's start a document! ... ehm, no way to do that. Maybe login is necessary for that? At which point I start to scratch my head -- given that the tool is touted as client-only software, why do I need to log in anywhere to create something? Anyway, getting beyond that... OK logged in. It drops me to a file browser... but still no "Create" or "New doc" button. Slowly it dawns on me that the org files need to pre-exist on backing storage to be able start work on them. The level of frustration is pretty high at that moment, the only reason to not run away right away because it addresses something I am interested in. So while I think it would be part of a full feature set to allow to create docs, its lack wouldn't be a big issue if users were properly guided through the setup the workflow, which involves uploading their initial org files to the storage.

By the way, why do users have to configure a storage backend and can't just import/export org files? I see stuff like https://github.com/qbit/gavin is being worked on, but it feels a bit upsidedowny to me... if there is demand to use this tool without cloud hosting, wouldn't it be simpler just to add import/export facilities than the ancillaries of pretending to have a host? (Does it maybe have something to do with Apple's recent decision to kill local storage?...)

Other things that would be nice to have:

- When focusing in a subtree, would be nice to have a place somewhere that indicates the absolute path (sidenote, I also wonder if such a setting is available in Emacs...)

- I read https://200ok.ch/posts/2020-02-09_creating_org_mode_sparse_t... and I appreciate the work on the internal search engine, but the UI provided does not match sparse tree. It's just an ephemeral pop-up, not a filtered live view of the content.

dzsekijo | 6 years ago | on: Ask HN: Is RSS dead?

I do use Facebook to get at news but that's a feed someone else (well, an AI) curated for me.

Which is often useful but mostly I'd like to be the one who decides about the sources to check out. Then I turn to a feed reader. I would be driven insane if this technology were not at hand, aggregating a plethora of resources into a single comprehensive UI. I use the excellent Bazqux Reader for this (which in my opinion continues the legacy of Google Reader in the best way).

dzsekijo | 9 years ago | on: Uber to suspend operations in Hungary due to govt legislation

The background story is: in Hungary, about one year before Uber's entry, large taxi companies lobbied for a very heavy regulation on transport services that fixed the rates and raised drivers' entry level significantly. The said purpose was to kill off the "taxi hyenas", but the reason and effect was to end competition by enforcing a uniformized premium level service. "Taxi hyenas" were replaced by the "taxi maffia" -- but not just the hyenas, but small and (to some rate) innovative companies were gone out of business.

The taxi drivers who remained in business were in for the trade-off of investing into compliance with new regulation but making more money than before. So old school taxi was not simply lingering in its naturally backward state as in other countries, but there was an artificially fortified status quo.

In that situation, when value personal transfer reappeared with Uber, it was therefore even more sore for the taxi companies and drivers, who took their position and the protection of their investment granted by the state. So what happened is nothing else just the taxi maffia enforced this grant and the state complied. Both sticking to decisions that once made (no regard of consequences), and heavy state control is quite to the taste of the government -- thus they complied happily.

And once the government puts its weight into something, there is no question it's gonna happen. The only surprise element is that Uber resisted so far.

dzsekijo | 10 years ago | on: Apricity beautiful Linux distro based on Arch

Why is Chrome, a proprietary software packaged when there is a practically equivalent FLOSS software (Chromium)?

Or, the more general question -- how Pacman packages and Apricity apps relate to each other? The answer seems to be not straightforward, as if Apricity apps were just sugaring for a subset of the Pacman pkg set, then Chromium would be packaged (given Arch ships Chromium, not Chrome).

page 2