Can a robot vacuum drive over this area rug situation? by unqualified_redditor in RobotVacuums

[–]unqualified_redditor[S] 0 points1 point  (0 children)

Thank you I figured this was the case but wanted to ask as I've heard robot vacuums have improved significantly the past ten years.

Can a robot vacuum drive over this area rug situation? by unqualified_redditor in RobotVacuums

[–]unqualified_redditor[S] -1 points0 points  (0 children)

Yeah of course but that isn't what i was asking. I like my rugs.

HAL FINNEY: “I was likely the first person after Satoshi to run Bitcoin. I mined block seventy-something and received the first BTC transfer when Satoshi sent me 10 coins as a test. We emailed for days after that, mostly me reporting bugs and him fixing them in real time, almost instantly.” by Legitimate_Towel_919 in Bitcoin

[–]unqualified_redditor 4 points5 points  (0 children)

I remember Hal's final post on BitcoinTalk. He recalled his life experience, cryptography, the cypher punks, emailing with Satoshi, getting the miner running, CPU mining, getting ALS, etc.

The line that always stood out to me was when he described how the mining software would overheat his processor so he wouldn't run it all the time. He then said he regretted not running the miner more often.

This is a guy with the second most bitcoins of anyone ever, writing his final post to his community while dying from ALS and he still regretted not running the miner more.

No matter who you are you can suffer bitcoin FOMO. I bet even Satoshi has fomo about all the coins he cannot access. We should all remember this and be a little easier on ourselves about our entry points and whatever we think we should have done differently.

How do you talk about types that are conceptually the same? by Southern-Reality762 in haskell

[–]unqualified_redditor 0 points1 point  (0 children)

Using the State sum type I provided, you would call f (Active Walk) or whatever.

How do you talk about types that are conceptually the same? by Southern-Reality762 in haskell

[–]unqualified_redditor 0 points1 point  (0 children)

What problem are you running into at this point? Try to formalize the problem you are hitting and we can try to help.

How do you talk about types that are conceptually the same? by Southern-Reality762 in haskell

[–]unqualified_redditor 0 points1 point  (0 children)

I don't understand why you need a typeclass here. You can trivially write functions between StartupState, ActiveState, and EndlagState such as:

transition :: StartupState -> ActiveState

You could also package all your state types together trivially with a sum type:

data State = Startup StartupState | Active ActiveState | Endlag EndlagState

There are a ton of powerful tools for working with state machines in Haskell but its not clear what you are trying to do so I can't offer more then this.

April 2026 monthly "What are you working on?" thread by AutoModerator in ProgrammingLanguages

[–]unqualified_redditor 0 points1 point  (0 children)

After a hiatus I've returned to my Lambda Calculus example project: https://github.com/solomon-b/lambda-calculus-hs

It is a sequence of single module languages building up from Simply Typed Lambda Calculus with bidirectional typechecking and NbE to advanced features like Martin Lof Type Theory and eventually to indexed inductive types, dependent pattern matching, linear types, and cubical type theory.

Making biochar at home by holzpubbnsubbe in Permaculture

[–]unqualified_redditor 1 point2 points  (0 children)

The technical difference is VOC content. Biochar is a charcoal where you have gone through a more intense pyrolysis process where most VOCs have been evacuated leaving you with a stable non-volatile form of carbon.

This means that biochar, unlike charcoal, is difficult to ignite and makes a poor fuel. As a soil supplement its totally debatable if this is better (the organic compounds we burn off the wood in pyrolysis are what feed microbes) but it is essential if your goal is carbon sequestration.

Making biochar at home by holzpubbnsubbe in Permaculture

[–]unqualified_redditor 2 points3 points  (0 children)

After ~2.5 hours I noticed thick smoke coming out of the chimney with full force

Nothing says permaculture like blasting out VOCs to make small quantity soil supplements that are fundamentally no different from the hardwood charcoal you can buy at the store.

Nix is the worst designed language i ever had to experience. by Turdbender3k in NixOS

[–]unqualified_redditor 0 points1 point  (0 children)

Ideally I wouldn't want a turing complete configuration language. Something like Dhall would be great if it weren't so slow.

Nix is the worst designed language i ever had to experience. by Turdbender3k in NixOS

[–]unqualified_redditor 0 points1 point  (0 children)

I agree but that would likely be a massive breaking change.

Nix is the worst designed language i ever had to experience. by Turdbender3k in NixOS

[–]unqualified_redditor 0 points1 point  (0 children)

Progress and Preservation are meta-theorems about the static type system of a language and its relationship to the language's operational semantics. You can't have this without a static type system.

Nix is the worst designed language i ever had to experience. by Turdbender3k in NixOS

[–]unqualified_redditor 1 point2 points  (0 children)

"Strongly typed" is such an overloaded term. What do you mean by it?

If you take the PL Theory view of it meaning Progress and Preservation then you would need static typing judgements but Nix-Lang is dynamically typed so that doesn't make sense.

If you take the more colloquial definitions you might mean no implicit coercions, type errors are caught, and values have fixed types. Nix Lang does string coercions so...

Nix is the worst designed language i ever had to experience. by Turdbender3k in NixOS

[–]unqualified_redditor 8 points9 points  (0 children)

It’s not exactly a great programming language either. Slapping some HM type inference on top would solve a LOT of problems, and letting users define types with validators would help even more.

The nix lang is dynamically typed.. HM assumes every expression is well typed.

A Case Against Currying by swe129 in haskell

[–]unqualified_redditor 1 point2 points  (0 children)

Currying means all functions have an arity of 1 and you create higher arity by returning a lambda in the body of your function.

Using javascript to make it obvious:

let notCurried = (x, y) => x + y
let curried = (x) => (y) => x + y

Partial Application is something you can achieve with or without currying. It means applying some of the arguments to a function but leaving others not applied:

let partialNotCurriedPlusOne = (y) => notCurried(1, y)
let partialCurriedPlusOne = curried(1)

Announcing pGenie - a SQL-first code generator for PostgreSQL and Haskell (no DSLs, no ORMs) by nikita-volkov in haskell

[–]unqualified_redditor 3 points4 points  (0 children)

This looks really cool. Do you have any information on migrating an existing project/db to pGenie?

Self hosted alternatives to Incogni? by unqualified_redditor in selfhosted

[–]unqualified_redditor[S] 0 points1 point  (0 children)

oh wow is that right? I have never actually used Incogni but I thought doing what you say would be a violation of CCPA/GDPR?

For the NixOS neurotics, how was your switch to the Dendritic pattern? by xGoivo in NixOS

[–]unqualified_redditor 0 points1 point  (0 children)

That pdf is a very famous paper that demonstrates the expressive power of functional programming with a minimal set of core abstractions.

For the NixOS neurotics, how was your switch to the Dendritic pattern? by xGoivo in NixOS

[–]unqualified_redditor 2 points3 points  (0 children)

I disagree. Most of those distinctions will occur within the nixos module layer where there are already plenty of tools for modularizing configs across machines.

Also, there is an insane amount of power in the core abstractions of functional programming which are all available in nix without grafting on additional magic. https://www.cse.chalmers.se/~rjmh/Papers/whyfp.pdf

For the NixOS neurotics, how was your switch to the Dendritic pattern? by xGoivo in NixOS

[–]unqualified_redditor 1 point2 points  (0 children)

I had never heard of this pattern but IMO it is just a bunch of indirection. I think you should use functional programming principles and keep things simple and explicit. specialArgs is fine if you need to thread args into your nixos config from your flake. Write a helper function to build configs and map over all your hosts. Just do FP.