skysight-inc/HackerNews huggingface dataset:
> should I implement the Monad, Applicative or Functor type class?

I struggled with this when I first learned Haskell. The answer is "yes, if you can". If you have a type, and you can think of a sane way to implement `pure`, `fmap`, and `bind` that doesn't break the algebraic laws, then there's really no drawback. Same for any typeclass. It gives users access to utility functions that you might not really have to document (because they follow a standard interface) and you might not even have to maintain (when you can just use `deriving`).

Doing so will let you/users write cleaner code by allowing use of familiar tools like `do` notation, or functions from libraries that say they'll work for any Monad. It saves you from coming up with new names for those functions, and saves users from having to learn them; if I see something's a Monad, I know I can just use `do` notation; if I see something's a Monoid, I know I can get an empty one with `mempty` and use `fold` with it. As long as it's not a really strange Monad, and it doesn't break any laws, it probably just works the way it looks like it does.

If you can define `bind` et. al., but it breaks the laws, it means the abstraction is leaky - things might not work as expected, or they might work subtly differently when someone refactors the code. Probably don't do that.

If you don't implement a typeclass that you could have, it just means you might have written some code where you could've used something out of the box. Same as going through old code and realizing "this giant for-loop could've just been a few function calls if I used underscore/functools or generators".

That said, it's not too common to stumble on a whole new Monad. The Tweet type probably isn't a Monad - what does it mean for a Tweet to be parameterized on another type like `Int`, as in `Tweet<Int>`? What would it mean to `flatMap`(`bind`) a function like `Int -> Tweet<String>` on it? A Tweet is probably just a Tweet. On the other hand, it's a little easier to imagine what a `JSON<Int>` might be, and what applying a function like `Int -> JSON<String>` to it might reasonably do. Or what applying an `Int -> Graph<String>` to a `Graph<Int>` might do.

Most Monads in practice are combinations of well known ones. Usually you'll be writing some procedural code in IO, or working with a parser, and realize "I'm writing a lot of code checking for errors", "I'm tired of explicitly passing this same argument", or "I need some temporary mutable storage", or some other Effect - so you wrap up the Monad you're using with a Monad Transformer like `ExceptT`, `ReaderT`, or `StateT` in a `newtype`, derive a bunch of typeclasses, and then just delete a bunch of messy code.
> I wonder if there's a cultural element to it: do people support democratic processes in their families, neighborhoods, companies, etc?

I don’t think that’s right - although some on the left have advocated “industrial democracy” or “workplace democracy”, it has by and large failed to take off - many democratic countries it doesn’t really exist (beyond rare exceptions), and even those which have some semblance of it (e.g. works councils in the EU) it is in practice rather toothless, comparable to the powerless “advisory” legislatures established by some Middle Eastern monarchies

Families don’t function democratically-the parents negotiate things between themselves and the children don’t really have a choice in it until they get old enough to leave the family home and fend for themselves.

My neighbourhood isn’t a democracy - yes we have an elected local government but it covers a much larger population and territory than just our neighbourhood. Even if one’s neighbourhood has something like a “homeowners association”, that’s usually timocratic (government by property owners) not democratic (government by the people) since renters don’t get to vote, adult dependents of homeowners don’t get to vote, a couple may jointly own a home but they get only one vote not two, some wealthy person owns five homes so they get five votes, etc (and sometimes even weighted voting, so rather than one property one vote, more expensive properties may give you more votes than cheaper ones)
And spread the fear of having other thoughts like this, I guess: https://www.ctvnews.ca/montreal/article/climate-of-fear-mont...
I think the assumption is some abstractions aren't leaky.
thank you for sharing this, as someone going through a rough Q1 too, it's nice to hold this feeling with someone else across the universe as well. Onwards and upwards.
All kinds of personal FOSS projects I have mostly yet to release.

[1] noscrypt - portable C cryptography library for nostr
[2] vnlib - C# + C libraries for server applications, eventual high performance alternative to ASP.NET. It's really just a collection of libraries that are optimized for long running server applications.
[3] vncache - vnlib cache extensions and cluster cache server over web-sockets
[4] cmnext - self-hosted, vnlib based, json-file CMS + podcast 2.0 server
[5] simple-bookmark - kind of deprecated, vnlib based, self hosted bookmark server

My software homepage (most up-to-date)
https://www.vaughnnugent.com/resources/software/modules

I know most of yall will probably want GitHub links so here
[1] https://github.com/VnUgE/noscrypt
[2] https://github.com/VnUgE/vnlib.core
[3] https://github.com/VnUgE/VNLib.Data.Caching
[4] https://github.com/VnUgE/cmnext
[5] https://github.com/VnUgE/simple-bookmark
Designing a new VCS, operating system, and GUI framework because those are the three things I am most worried will be taken over by corporate interests.

I don't know which one I will actually implement, though.
The value of React is:

* JSX because dealing with the DOM directly is emotionally traumatic for many people

* a line item on a resume

* components because many developers cannot figure out how to put things together without third party guidance

* state management because designing a common data structure, or just data structures in general, to store and recall state is just setting expectations far too high
> if it were happening with any kind of regularity we would have seen it by now.

If the "unhinged conspiracy theories" turn out to be at least partially true, I'm sure we'll find out it's happening regularly, but only started within the last few weeks. This could easily be the first of the "we would have seen it" cases, not some unexplainable solitary incident.

> the known facts don't match a government disappearing program as well as they match other possible explanations.

Maybe? The known facts about the way he was removed from his university job and web presence with absolutely no explanation and being referred to the FBI when asked for reasons arguably matches better with a government disappearing program then any of the other possible explanations offered around.
> zero of those jobs have been replaced by AI though.

Hard disagree on "zero", and I've read articles about businesses laying off people specifically to replace them with AI (Washington Post had an article about people getting let go shortly after ChatGPT first came out, e.g. copywriters), so this is just demonstrably false.

That said, I agree the larger reason for the current layoffs are (a) massive Covid overhiring, (b) end of the ~decade long ZIRP era, (c) at least in the US, much more outsourcing now that video conf tech is good and everyone is used to remote work. Long term, though, I think we've reached a state where, for a ton of jobs, technology is destroying jobs a lot faster than it's creating new ones. Lots has been written about how many startups can now execute quickly with a team half the size or less than what was required just a couple years ago. Many forms of labor have just become devalued in an incredibly short time span.
Sounds like another reason not to repy on US-based services.
This post is spot on. It will be incredibly lucrative to be one of the "ones who knows" in the relatively near future.

What's scary is what happens when those types cease to exist (due to retirement or age) and all you're left with is the semi-coders described here. There's a similar problem with outdated technologies that few-to-no developers understand anymore.
I'm working on pure.md[1], which lets your scripts, APIs, apps, agents, etc reliably access web content in markdown format. Simply prefix any URL with `pure.md/` and you get the unblocked markdown content of that webpage. It avoids bot detection and renders JavaScript-heavy websites, and can convert HTML, PDFs, images, and more into pure markdown.

pure.md acts as a global caching layer between LLMs and web content. I like to think of it like a CDN for LLMs, similar to how Cloudinary is a CDN for images.

[1] https://pure.md
CryptoQuant clone with geography-specific features tailored for banking clients.
"Wait, did they just say batteries can start fires?"
You don't need to bundle anything from the system layer on Windows programs distributed as binaries. On Linux there is no proper separation of system libraries or optional libraries, everything could be both and there are no API / ABI guarantees. So "just bundle your dependencies" simply doesn't work. You cannot bundle Mesa, libwayland or GTK but you cannot fully depend them not breaking compatibility either.

On Windows side nobody bundles Windows GUI libraries, OpenGL drivers or sound libraries. On Linux side, system libs have to be somewhere in the container and you have to hope that it is still compatible.

You cannot link everything statically either. Starting with Glibc, there are many libraries that don't work fully or at all when statically linked.
> It's a thing.

so is China threatening, blackmailing and disappearing Chinese ethic people (and/or their children) even if the people in question have US citizenship and/or have not grown up in China at all

like we can't really say much about this case without additional information
("making things rather than, say, making critical observations about things other people have made. Those are ideas too, and sometimes valuable ones, but it's easy to trick oneself into believing they're more valuable than they are. Criticism seems sophisticated")

https://www.gocomics.com/calvinandhobbes/1993/07/20

"thoughts by a billionaire. self-praising. spiritually enriching. sophisticated. 'high' value"

"thoughts by a commoner. critical. base. self-deluding juvenile hack work. 'low' value"

"thoughts by a billionaire about how critics are delusional and self-important. Sophisticated irony. philosophically challenging. 'high' value"

"suppose I say the author is giving himself a pass for the companies he funds?"

"sophomoric. intellectually sterile. 'low' value"
Rasella vs. Musk (S.D.N.Y. 1:22-cv-03026) [pdf]
it's the angular momentum that gets transferred to the earth's spin, and all the other numbers, energy, power, are simply how the books are balanced. GP should have asked the question in terms of momentum in the first place.

with energy, you need to consider friction, losses, thermodynamics 3rd law, but with momentum it's pure.
I am working on Merklemap, a CT search engine: https://www.merklemap.com/
Trump paid for sex his whole life!
I’m writing a journaling app, for myself first. It’s already usable and I’ve gone from not writing to writing each day.

The idea is the app should be very easy to submit entries (entries can be small) as a way to get thoughts and emotions out of your head.

I want to focus on an interesting search functionality that aggregates entires into a single document about similar subjects.
https://www.justice.gov/usao-edny/pr/new-york-city-resident-...
Yeah it really went took a hard left turn into interior design about halfway through, LOL
I've repeatedly made the case for something similar. But I don't think the argument should be "Taking care of yourself, in any case, yields better outcome, even for others, than prioritizing the common good. So the fundamental principle should be putting yourself first.". First, it's not always true that taking care of yourself is always the best -- sacrifice does exist and is important.

If you as say a father always put your own wellbeing (or some other definition of self-interest) first, then you're going to be a pretty lousy father. But you shouldn't ignore yourself. It's all about striking a balance, and in the end this balance simply aims toward the common good.

It doesn't make sense to say that because sometimes a naive, "greedy" strive toward the common good doesn't work then the principle is false.

You can carve real basis for the common good and other metaphysical principles. One such basis is that, metaphysically, the supreme valuation of the self is on very shaky ground. The self, although very important conceptually, doesn't stand up as an ultimate metaphysical basis, because we are really dynamic results of a whole network of interactions that includes not only whatever happens in our brains, but the whole cosmos -- there's no absolute boundary between yourself and others, and everything is always fundamentally changing. You from today is different from yesterday, and significantly different from many years ago. The common good is much more metaphysically defensible. That's why most metaphysical traditions (religions, usually) almost universally put the common good (sometimes enacted by God) above all else -- it really makes the most sense imo[1]. Again, you shouldn't be naive about it, and in practice and in most cases it makes sense to first take basic care of yourself, "keeping your house", and then go help others, but this is more a guideline, heuristic and reminder (specially important to give for radical altruists, but common sense for most people I think).

But really if yourself is your actual fundamental priority, I think you will act very poorly. Although even in that case there are good strategic reasons to be cooperative (people thinking you are evil or egoistical will already turn around many people and compromise relationships and cooperation opportunities).

[1] If you don't buy this metaphysical formulation, there's an (I believe) ultimately equivalent formulation that may be easier to accept: the fact that you "Could exist/could have been born as another person". If in some metaphysical sense you could have been born as that poor person that needs assistance, doesn't it make sense to help her, which logically implies that if you were in their shoes you would be helped?
> If performance matters, some migrations might hide table locks which can cause major slowdowns.

Do you mean that the migration might work on a side branch, but then it might not work on the main branch, because there's no other activity running on the side branch?
is it speculation to assume that knowing with precision, how to mitigate a problem also puts you in an expert position to facilitate said problem?

if you also look at this persons past research, and tenure, you will see this is not speculation, nor is it nonsense.
I love Organic Maps too. The UI could be a bit nicer, and sometimes it struggles to find where I want to go, but bicycles routes are far superior to those from Google.
ICE Revoking Students' Immigration Statuses Without Their or the Uni's Knowledge
Sorry to keep doing this to you, but it's a big thread and most arguments have already been made. Here's a link to the best guess I have, which accounts for the delay between university action and law enforcement action (which notably has no explanation in the government disappearing program version):

https://news.ycombinator.com/item?id=43528036

As with everything, this is pure speculation, merely put forward as a possible explanation that accounts for all known facts. I've yet to see any other explanation account for the sequence and timeline.
I have interviewed prospective employees who come in with no academic credentials all the way through to those who have completed degree programs at one of the top 50 universities. Regardless of university, students are individuals and shouldn’t be given more or less credit because of the name of the school they attended.

Full. Stop.

That said: plenty of big name research universities are housing folks who do little except study coding interviewing questions for FAANG and expect you to be impressed that they spent 9-18 months at one.

As an aside: I don’t care that someone is ex-Amazon; it’s their work that will impress me, not where they worked previously and were presumably let go because they couldn’t hack it.

Let’s not lump all students into groups simply because of the college they attended. I went to a regional university because they offered the biggest D1 athletic scholarship for early signing; not because I cared about anything other than free education. Similarly, my masters was free through my employer.
> Did you stop reading at the end of that sentence you quoted?

I read and ignored it because when I see people making claims like this it sounds conspiratorial. You have been here a while, though, so I’ll assume you know how the rank algorithm works, in which case I would say that the flame war detector you’re describing is the more likely explanation. There were six top-level comments flagged dead when I opened the thread.

These kinds of threads hit the front page every day, though, so I don’t get why people act upset that they get flagged when 90% of them don’t belong here.
I would say go is not in the same category of speed as rust anf c/c++. The level of optimisation done by them is next level. Go also doesn't inline your assembly functions, has less vectorisation in the standard libraries, and doesn't allow you to easily add vectorisation with intrinsics.
Japan had a limited democracy where only tax-paying males could vote until their prime minister got assassinated. Way before WWII.
> Monads seem to have this strange aura around them that attracts certain kinds of personalities

I don't know if it's a matter of personality or aura. Monads are the first unfamiliar/complicated abstraction you're bumping into when learning Haskell. You can't do anything IO without monads, and they're not straightforward like functors or monoids. This is probably why there are more discussions about monads.
I would be a millonaire if I had bought AMZN instead of buying crap from Amazon
Having worked with amazing HCI experts over the years, you've hit the nail on the head. It's wild how much design is done for designs sake at my work, with nary a nod to HCI given. The a11y team try to patch over it as best as possible, but we end up with a mess, and I'm treated like a pariah for pushing back on some of it
I had completely the same thought. No everyone is a creator, and we don't want to bias the world into everyone being a creator, or a scientist, or an engineer.

Today, I feel we have far too much of a focus on "business" and all my nieces and nephew are studying some sort of business focus in their university degrees. I feel it such a waste. If everyone in the world learns to only make businesses (ignoring that a degree is not required for that), who is going to build. If everyone becomes a maker, who is going to support all the non-maker roles.

There are many people for whom their job is not their craft. They're focus - much as PGs now is, is the raising of their family, guiding their children to become good people, showing love, etc etc.

Some may argue this is "making", but that's maybe a different argument.

Your last thought is an interesting one, I hadn't heard the quote before.
Pedantically, the grandparent comment didn’t say it was obvious, only it was unsurprising :)
No, it's not, it's a weakness of democracy, otherwise you can 'democratically' enable any act, including aborting democracy. There have to be guardrails.
Started working on a case discussion platform for students around 18 months ago. Mostly for dentistry and medicine, but it's template-based so works well for other purposes (e.g. teachers, social workers, etc.). It's going well and is being used by three universities right now.

On the way, I developed lightweight image editor and 3D model viewer components, which I've open sourced [1].

[1]: https://github.com/kigun-org/
Quite, but lots of companies jam them all together these days.
I want to SaaS-ify my scraping process. It's gotten to a point that it works nice and reliably for me, now I need to wrap it in a good DX package and call it version 0.1.

(The main drive behind this was not to sell it, but to have a UI for when a website changes its layout and I'm on holidays and don't have access to my terminal and/or my yubikeys)
> really hard [...] leap

Two stepping stones might be array getters (function that's array-ish), and arrays with an indexed default value function (array that's function-ish)?
For the last couple of months I've been building a file upload platform.

https://github.com/Merkoba/Harambe

But the last thing I did was this function to make my irc bot program itself:

https://rentry.org/aircprogramrule
I’m sorry but I have to bring this up: are these comments bait? The questions are a little too naive yet purposeful.
I have been working on an open-source customizable start page like iGoogle or Netvibes (I know I am showing my age with these references)

URL: https://boxento.app/

GitHub: https://github.com/sushaantu/boxento/
What's the over/under that said engineer could solve two medium leetcodes in under and hour?
They can, you just have to look at each issue and it's costs and benefits and risks over time. You desperately want to world to be simple. It isn't. There is a slippery slope, you can stand on it but you want to have some concept of what happens when you slip.

There are examples of the boogeyman existing in real life - just 80 years ago we had one of the worst. Right now we have some boogeymen although not Hitler level. Get a little historical perspective.
past the edit window, but thanks for educating me. I think I was conflating Nacchio's long fight over Qwest's NSA requests with FISA.
AIs today basically fail because they've been trained to be aggressive editors of code. This makes the first steps feel amazing, gives you the most out of your first tokens, and helps win the evals focused on coding simple-to-moderate tasks.

Once they hit some threshold of project size, they overcommit, bite off too much or don't recognize that they're missing some context. Agents help this by allowing them to see their mistakes and try again, but eventually you hit some death loop.

I think someone around now-ish will realize that there should be two separate RLHF tunes--one for the initial prototype, and another for the hard engineering that follows. I doubt its that hard to make an methodical, engineering-minded tune, but the emphasis has been on the flashy demos and the quick wins. Cursor and folks should be collecting this data as we speak, and I expect curmudgeony agents to start appearing within a year.

Combine this with better feedback loops (e.g. mcp-accessible debuggers), the agent doing its own stackoverflow/github searches, and continued efficiency work driving token costs down by an order-of-magnitude every year or so, and agents will get very very good very fast.

In this atmosphere, humans will shortly exist to get context for the agent that it can't fetch itself, either for security reasons, or because no one's built the integration yet. And that will be short-lived, because integrations will always be built.

So I guess there's a window for the "copilot" reality, but it feels very very brief. I don't think agents will need humans for very long.
> no login

That's because the goal is to allow you to stick a proper nginx or webserver infront of it if you need this layer.

> Sometimes doesn't work

Please open a ticket and share why since your able to determine this from your logs. Maybe it can be fixed upstream?

> Secret storage is bad

You can create a string (key) that is randomized > 200+ characters. What can be improved to assist you with your concerns?