HNHacker News
TopNewBestAskShowJobs

darkkindness

310 karma · joined December 5, 2016

current foci: programming language theory, education, mental wellness, compilers

past foci: functional programming, category theory/abstract math, quantum computation, number theory, journaling, software testing and verification, roguelikes, microcontrollers

I like to favorite comments that clearly express problems that people in this community have had. After all, it's hard to write what you mean when the problem is complex! I do this in the hopes that I can look back on them one day and see which ones I might tackle and which ones are no longer problems :)

https://news.ycombinator.com/favorites?id=darkkindness&comments=t

submissionscomments
darkkindness··on A visual proof that neural nets can approximate any function
The first paragraph of the conclusion addresses that this is merely a proof of what is possible, not what is practical:

> The explanation for universality we've discussed is certainly not a practical prescription for how to compute using neural networks! In this, it's much like proofs of universality for NAND gates and the like. For this reason, I've focused mostly on trying to make the construction clear and easy to follow, and not on optimizing the details of the construction. However, you may find it a fun and instructive exercise to see if you can improve the construction.

darkkindness··on A proof that Unix utility sed is Turing complete
A 1592-line sed script (incl. comments and blank lines) written in 2005. Most of it defines math functions as well as structures like lists, and there is a hardcoded POW10 function for binary strings, but each section is well commented, and I see optimizations and explanations of optimizations. It seems to output PostScript? That's insane...
darkkindness··on Electron is flash for the desktop (2016)
I'm using the app Snap on MacOS, and you can just reorder the Dock using drag and drop.
darkkindness··on Electron is flash for the desktop (2016)
I like to bind meta-1 to meta-9 to switch to the nth app on my desktop bar. This means Discord (which is always meta-4) will always a keypress away for me, while Firefox (meta-1) requires me to find the right window and the right tab.

(Also, I routinely close browser windows I am not using by force of habit, which means I'd need to wait a load time every time I want discordapp.com.)

darkkindness··on China Thwarts U.S. Effort to Promote American Culture on Campuses

  The program’s start coincided with a rise in nationalist sentiment in China.
  Shortly after he came into power six years ago, President Xi Jinping rolled
  out a campaign against Western values, investing Communist Party members in
  academia with the power to redline even the most innocuous and apolitical
  expressions of American culture.
  And funding American culture in China became particularly unpopular in
  Washington as the Trump administration worked to distance the countries and
  anger built over Beijing’s propaganda in America.
Perhaps this is what the author was going for, I can't help but feel like I am reading about the development of Cold War 2.
darkkindness··on Star Citizen: The Road to Release, Financials and New Partners
Interesting to hear, because what you've said really reflects my short contact with Star Sonata. I found it through ads at about 2007, because at the time, my way of finding games was through ads. I played a bit, joined a team, had fun with base building, and stopped because it wasn't really my thing. Fast forward... Nowadays my go-to places for games are basically: Steam and web games. With both, you literally just navigate to the game and hit play. I think that's a big thing: if I have to download and install executables myself it feels less sleek, less secure and trustworthy even. I can't imagine finding games through ads anymore.

Not to be harsh, but suppose I was a new player and I knew that Star Sonata 2 was a thing. (I do now because I Googled it.) I still probably will not take the effort to download it, simply because of the work and trust investment it represents today, an investment which I would not have thought twice about ten years back.

darkkindness··on Arguing against using protobuffers
> Maybe there's an amazing type system idea out there that would be even better, but I don't know what it is. Certainly the usual proposals I see seem like steps backwards. I'd love to be proven wrong, but not on the basis of perceived elegance and simplicity, but rather in real-world use.

Care to elaborate on what these usual proposals are and why they're backwards?

Right now I'm thinking of 'row polymorphism', which, to my understanding, is just permissiveness cooked into the type system — you get to specify types that say "I may or may not have other fields, but I definitely have a 'name' and 'email' field" for example.

darkkindness··on ‘Find Your Passion’ Is Awful Advice
I don't disagree with self-help being nonsense. Most that I've read is certainly written to be authoritative when they're not, drawing on a fresh selection of recent 'scientific' studies that are really cherry-picked to fit the author's opinions.

So why not treat self-help as opinions? They might click with you or they might not, but in the end they represent someone else's thoughts of how the world works, not a general truth of the world. That's still valuable. Sure, some of those opinions can be popular and sell millions of copies (e.g. Carnegie), and yet are real useless for many readers. But is it really fair to say that they're awful and money-grabbing for that reason?

darkkindness··on Bulletproofs – Short zero-knowledge arguments of knowledge
Likewise! Looks like it was intentional:

> Our name comes from advanced mathematics and represents the numerous ways in which we simplify financial processes and products using blockchain technology.

(https://www.adjoint.io/about/adjoint)

darkkindness··on If Videogames and Apps Are Addictive, Should Designers Worry about Liability?
It sounds like games are simply being optimized for monetization, not for making you feel good.

For example, someone discovered that 'stamina' (like arcade credits, but recharging over time even when you're not playing) was a great way to monetize, since people will want to open the app more and play and see ads because if you don't you're Wasting Hearts! That's leveraging frustration for sure, but it turns out frustration keeps people playing as much as fun does. And now you wonder why stamina systems are all over microtransaction-laden mobile games.

darkkindness··on Habits of Highly Miserable People
> 3. Give yourself a negative identity. Allow a perceived emotional problem to absorb all other aspects of your self-identification. If you feel depressed, become a Depressed Person; if you suffer from social anxiety or a phobia, assume the identity of a Phobic Person or a Person with Anxiety Disorder. Make your condition the focus of your life.

I think a couple of us in comments are rightly angry about this point, since it's easily read as a "hide and get over it" to those with real mental health conditions.

But it isn't. It's saying to not wholly "identify as a Depressed person". It's making sure you know the difference between living like "It's harder for me to get out of bed" and "I can't get out of bed, I'm depressed." The first one is an attitude that makes recovery an option. The second lifestyle is the trap that highly miserable people find themselves in.

I think this difference is really important. Kudos to the author for highlighting it.

darkkindness··on How The New York Times Uses Software to Recognize Members of Congress
I get the excitement, but this sounds like a terrifying future for famous people.
darkkindness··on GDPR for lazy people: Block all European users with Cloudflare Workers
Sometimes personalized advertising makes money at the cost of privacy, e.g. selling of personal data. In the EU, data privacy is a right. So the law isn't maliciously making life hard for these 'services', but if your entire monetization strategy is breaching data privacy, then good riddance to you.
darkkindness··on Andy Rubin Puts Essential Up for Sale, Cancels Next Phone
I think it was a reference to David and Goliath.
darkkindness··on How to disappear from the internet
This sounds too easy, so I'm gonna have to ask: does that actually work? Have you done this?
darkkindness··on The Brotherhood of the Ad Blockers
I was too extreme with the term 'get shut down', which is obviously impossible as you say. I meant 'get action taken against them' which I argue will happen far before PiHole picks up in popular use.
darkkindness··on The Brotherhood of the Ad Blockers
1) This is true. Though, AdNauseam was originally a Firefox extension and is still available on Firefox. You can still install it on Chrome from source. Maybe I was too strong saying it was 'shut down' -- I was more referring to the fact that action has already been taken against AdNauseam when it was still small. I'm curious for when Pi-Hole gets the same kind of treatment.

2) If the goal (of PiHole and other ad/tracking blockers) is to encourage a subscription model over an advertising model for publishers, I'd argue that making ads ineffective for publishers is much more important than directly attacking advertisers' profits. Without publishers willing to host ads, advertisers will lose anyways.

darkkindness··on The Brotherhood of the Ad Blockers
> Publishers will target Salmela’s software if it becomes anywhere near as popular as AdBlock Plus, says Nicole Perrin, an analyst at researcher EMarketer.

I'd caution about that claim. Google pulled AdNauseam[0], a uBlock Origin extension, from the Chrome Web Store since it was fundamentally disrupting Google's business model via click fraud. (It automates clicking ads in order to create noise in user tracking.) This was far, far before it became as popular as AdBlock Plus.

PiHole takes an even more aggressive stance against ads, blackholing entire networks. It poses as much as a threat to the ad industry as AdNauseam. So I'd wager that PiHole will get shut down long before it reaches the popularity of AdBlock Plus.

[0]: https://adnauseam.io/

darkkindness··on Great technology should improve life, not distract from it
If you're just trying to see how much time you're spending on things, and you don't want to be locked to Google/Android, I highly recommend RescueTime. It tracks how long you are active (i.e. not idle) on apps or websites. You can see how much time you spend on Hacker News by month, week, day, or hour.

https://www.rescuetime.com/

darkkindness··on Conversations with a six-year-old on functional programming
You might enjoy https://graphicallinearalgebra.net/. The author uses Legos to describe algebras and diagrams to describe symmetric monoidal categories.
darkkindness··on Conversations with a six-year-old on functional programming
Maybe Pyret?

https://www.pyret.org/

darkkindness··on Conversations with a six-year-old on functional programming
The child was stuck on the intuition that the argument must change in some way (i.e. that the function was linearly typed).
darkkindness··on The Economics of Writing a Technical Book
Isn't the typical rate for royalties around 10%? Given that it's 'specific tech' that is not likely to be sold as much, 10% is pretty good.
darkkindness··on More fun with reactive-banana-automation
You've written the react function:

    react lowpower fridgepowerchange wifiusers
            | lowpower = Just PowerOff
            | wifiusers > 0 = Just PowerOn
            | otherwise = fridgepowerchange
The big deal with inverterPowerChange is this line:

    return $ react <$> lowpower <*> fridgepowerchange <*> wifiusers
It binds values emitted by the lowpower, fridgepowerchange, and wifiusers Behaviors, and wraps around it, returning a Behavior that itself emits values.
darkkindness··on More fun with reactive-banana-automation
I think that, while the lack of type annotations on every variable is great since hiding boilerplate is great, it could be confusing to the uninitiated.

To elaborate, lowpower etc. on this line are Behaviors, which emit values by time:

    react <$> lowpower <*> fridgepowerchange <*> wifiusers
while lowpower, fridgepowerchange, wifiusers in the react function bind to the values that are emitted by the Behaviors. (Just by looking at the code we can infer that their types are Bool, (Num a, Ord a) => a, and PowerChange respectively.)

    react lowpower fridgepowerchange wifiusers
            | lowpower = Just PowerOff
            | wifiusers > 0 = Just PowerOn
            | otherwise = fridgepowerchange
None of these are simply state variables!

Although this might have confused GP, I think this is nice since we can associate the name 'lowpower' for its semantics (The low power signal) and not have to worry about "this lowpower is a Behavior while that lowpower is a Bool".

darkkindness··on YouTube Stars Being Paid to Sell Academic Cheating
> "2. We only think it is a moral issue because it's been drilled into us since we were kids, and that we think it is not fair to those who don't cheat and devalues the value of their degree."

Perhaps GP's point was that since degrees don't actually correlate with 'you have learned x information', degrees don't inherently have value in the first place?

darkkindness··on The NetHack dev team is happy to announce the release of NetHack 3.6.1
The most game-changing additions, IMO:

> "Elbereth" now erodes based on attacks by the player, not monsters scared

> Allow taming monkeys and apes with bananas

> Peacefuls may react when you attack other peacefuls

Also, I'm happy about these QoL changes:

> New status line conditions Stone Strngl Deaf Lev Fly Ride

> Give feedback just before timed levitation runs out

darkkindness··on A Well-Known Expert on Student Loans Is Not Real
Thanks for the recommendation. I just started reading, and so far it's quite frightening but enlightening. Holiday uses a scary number of examples to show how effective his tactics are.

edit: I'm not seeing any deep description of the audience, other than as sheep who provide clicks, which is worrying. Surely knowing the audience is important?

darkkindness··on Ketamine has 'fast-acting benefits' for depression
Yes, healthcare sounds pretty screwed up. But even though ketamine for depression might never get FDA approved, I think it's still good that these positive effects are still being reported on. The fact that there are new articles on ketamine shows that there is still some interest.

And this interest isn't completely fruitless just because the pharma industry will never support it. Individuals (admittedly, only those who can afford it) can still try to benefit from e.g. off-license prescriptions.

darkkindness··on A lambda calculus for quantum computation
Very cool! The examples on this page are Scheme implementations of the Examples section of his 2003 paper[0] linked on the page. He goes over the derivation of the programs for these examples in more detail in the paper.

[0]: https://arxiv.org/pdf/quant-ph/0307150.pdf

← PreviousPage 3 of 4Next →