Hacker Newsnew | past | comments | ask | show | jobs | submit | liquid_bluing's commentslogin

The hacker’s mentality is like that of the painter who spends months on a portrait in order to produce a beautiful but imperfect likeness, marked with his own personal style, which few can replicate and people pay a lot for. The mathematical approach is to take a photo because someone figured out how to perfectly reproduce images on paper over a hundred years ago and I just want a picture, dammit, but the camera’s manual is in Lojban.

IMO, the mathematical approach is essentially always better for software; nearly every problem that the industry didn’t inflict upon itself was solved by some egghead last century. But there is a kind of joy in creating pointless difficulties at enormous cost in order to experience the satisfaction of overcoming them without recourse to others, I suppose.



I am a prolific note-taker, and I use vim. Many of these features and more are supported in vim with the vim-markdown plugin, which has support for markdown syntax highlighting and syntax highlighting in code blocks, and a hierarchical table of contents using the location list, which is my favorite feature. I have scripts and functions that implement some other features. The one important thing that vim necessarily lacks that is very useful for note-taking is the ability to render images and mathematical equations, which is why I still sometimes use Word.

This is a neat piece of software, but it would seem to me that the tools available on the command line - Unix or PowerShell - cover just about all the use cases, and importantly, are customizable, lightweight, and interoperable. For instance, I have scripts that use fzf and/or ripgrep to quickly search my notes directories and open notes for editing.

This is just me - it's definitely possible that I'm missing out on a better way of doing things, but I can't easily see the value, for a developer at least. Maybe folks just aren't that familiar with what can be done with common tools that already exist? Maybe it's because the CLI can be a pain to learn? I guess that's what a GUI note-taking app is for...

BTW, I'm not trying to be negative, just sharing my possibly idiosyncratic perspective.


Vim has a steep learning curve though, GUI apps don't.


If that is true, then _please_ answer this question of mine on SuperUser:

https://superuser.com/questions/522516/how-to-change-string-...


One of the most mind-bending papers on this topic is William Cook’s On Understanding Data Abstraction, Revisited https://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf “Object interfaces are essentially higher-order types, in the same sense that passing functions as values is higher-order. Any time an object is passed as a value, or returned as a value, the object-oriented program is passing functions as values and returning functions as values. The fact that the functions are collected into records and called methods is irrelevant. As a result, the typical object-oriented program makes far more use of higher-order values than many functional programs.“


This reminds me of this article: "The visitor pattern is essentially the same thing as Church Encoding" [0], although I think this comment [1] and this one [2] on HN explain it better. The article is written in Haskell, but it's basically saying that, because object-oriented programming languages lacked sum types, the visitor pattern makes the transform from

  (a | b | c) -> T
to

  (a -> T, b -> T, c -> T) -> T
where (a | b | c) is a sum type saying "it can be either a of type a, type b, or type c", and (a -> T, b-> T, c -> T) is a stand-in for a record of functions (i.e. the v-table of an instance of a visitor class).

[0]: https://www.haskellforall.com/2021/01/the-visitor-pattern-is...

[1]: https://news.ycombinator.com/item?id=26034790

[2]: https://news.ycombinator.com/item?id=26024600


Looking back but can't edit. The first line should say

  ((a | b | c) -> T) -> T
This is just a mistake I made paraphrasing link 1.


I think the best example of this is the strategy pattern. In that way, strategy classes are really just a wrapper around a function and its persistent, mutable internal data/state.


Whenever there's another interminable thread about, like, what is OO really and how thoroughly does it suck? I wish everyone knew this short paper as background.

Teaser: the first OO language was Church's lambda calculus.


But OO does suck, not because it is fundamentally different from the lambda calculus, but because it puts a kludgy set of handles that makes it easy to make bad decisions in front of a good, sound computational core. Of course, just like any advanced tool, an advanced practitioner can use traditional OO languages well, but the paradigm makes it just as easy for noobies to fall into pitfalls as does classical imperative programming, if not more so.

At the end of the day, all languages that are turing complete are the same language and the only differences lie in the kind of front end we provide. Unfortunately, we basically still have a single frontend, called C and every subsequent programming language has essentially just taken the C frontend and restricted or expanded it in small ways. We still ultimately work in terms of records, contiguous arrays and pointers. You can think of basically any more "advanced" construct in terms of pointers and it will make perfect sense nearly every time.


Smart move:

Sleep deprivation facilitates extinction of implicit fear generalization and physiological response to fear - PubMed https://pubmed.ncbi.nlm.nih.gov/20889142/

"Clinically, trauma-exposed victims often experience acute insomnia, indicating that such insomnia might provide prophylactic benefits in reducing the development of posttraumatic stress disorder via extinction of the fear-magnifying effects of memory."


I found this book, which traces the surprisingly long and fascinating history of using immunotherapy to treat cancer up to the present day, well, fascinating:

The Breakthrough: Immunotherapy and the Race to Cure Cancer - Wikipedia https://en.wikipedia.org/wiki/The_Breakthrough:_Immunotherap...

My uncle died of a glioblastoma, and shortly after I read this book, I was myself diagnosed with cancer (treated conventionally, hopefully cured). Immunotherapies like mRNA vaccines seem to be our best hope for finding reliable, permanent cures for a lot of different cancers. I am sorry that for many of our loved ones, a cure will have come too late.


> the surprisingly long and fascinating history of using immunotherapy to treat cancer

Well yeah, it has been known for a long time that cancer can do what it does because of the immune system's failure to eliminate the "defective" cells. Also, there are the rare "spontaneous remissions" where, for some reason, the immune system eventually catches up and manages to destroy the cancer. So there have been many attempts to harness the immune system in cancer treatment. Glad to see that all that work is finally bearing fruit (fingers crossed)...


I don't think it is that difficult or expensive to control knotweed using modern methods, at least on a small scale. I started investigating this in order to control a persistent patch of knotweed at my parents' home, but unfortunately, the patch was cut down before I could implement what I think is the most safe and sustainable method, at least for isolated patches: stem-injection or hack-and-squirt with the herbicide imazapyr.

Imazapyr is slower-acting but more effective than other herbicides. As you can see in this study, which compared several herbicides applied with spraying, the imazapyr formulation performed worse than all others for up to 58 days, but after 333 days, the knotweed was 95% gone, better than any others, even the formulation that mixed imazapyr with glyphosate.

Evaluation of Imazapyr, Glyphosate, and Triclopyr for Japanese Knotweed Control https://weedscience.ca.uky.edu/files/japaneseknotweed2005.pd...

---

Here’s another study - 96% of imazapyr-treated trees were in the highest defoliation class vs. 62% for glyphosate:

Efficacy of ‘hack and squirt’ application of imazapyr, triclopyr, and glyphosate to control the invasive tree species Chinese tallowtree | US Forest Service Research and Development

https://www.fs.usda.gov/research/treesearch/35461

"These results indicate that imazapyr can be used to eradicate Chinese tallowtree by ‘hack and squirt’ injection without short-term (12 months) damage to dominant live oak trees."

---

Controlling Knotweed in the Pacific Northwest (this mentions stem injection using glyphosate)

https://www.invasive.org/gist/moredocs/polspp01.pdf

"Although time-consuming, not only does this approach essentially eliminate drift, but Clark County (WA) Weed Management reports obtaining 100% control in one treatment by injecting 5 ml of 100% Aquamaster or Round Up Pro into each stem of a given clump. More than 20 patches were so treated"

---

Here they also use glyphosate: https://web.archive.org/web/20030404152410/http://www.co.cla...

"If 38 of 50 canes are injected, expect the twelve that were NOT injected to survive and reproduce. EACH CANE HAS ITS OWN SEPARATE RHIZOME SYSTEM. Even though the injection process is initially time consuming, it is more cost-effective than several trips to the same site for foliar applications made over years with minimum results."

---

None of these studies mention the specific technique of using stem injection with imazapyr, which I think is likely to be the most effective method. Although I haven't yet tried imazapyr on knotweed myself, I used an extremely minimal amount to kill several different species of obnoxious shrubs.

I used it to kill:

- Japanese barberry

- Sumac

- Elm saplings

- Fox grape

All these had been growing from the base of the external walls of my parents' house and had been uncontrolled for decades despite (probably-not-frequent-enough) cutting.

The amount I used was maybe a fluid oz. in total for all of these, and that was probably overkill. I just cut a flap into the bark in such a way as to maximally expose the cambium, then applied a few drops and tied the flap closed with some string. I did this to some sumac suckers right in the middle of a bunch of my mother’s day lilies and my stepfather’s blueberries and they weren’t affected at all.

In the case of the sumac and others, it took a couple weeks before the plant was visibly wilting, but after a while, even untreated suckers several yards away died. The fox grape didn’t show signs of wilting at first, but was dead by the following spring (I treated in early July, which is actually less than optimal. Late summer is recommended because of the predominant direction of sap flow at that time - from the leaves to the roots)

I have a meat syringe which I plan to use to inject knotweed when the opportunity arises.


Was just going to post this. What a great community!


But his follower count went back to 0.


That's expected and has been the behaviour with other bans in the past. Give it a couple of hours to be back.


I think it's broadly considered acceptable because insulting your boss is an aggresive behavior directed at a colleague. Simply stating an opinion is not.


Does it matter at all what the opinion is?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: