HNHacker News
TopNewBestAskShowJobs

morgancmartin

124 karma · joined September 8, 2017

submissionscomments
morgancmartin··on We memo all the things (2020)
I'm not familiar with MobX, but I am a big fan of Jotai (https://jotai.pmnd.rs/). It is a spiritual offshoot of Facebook's experimental(?) Recoil library.

It is a bottom up approach to state. Everything is modeled as atoms. Atoms can be defined in any module and are accessed by simply exporting/importing from/to the module. Simply call the useAtom hook and you're now using that state atom.

Under the covers it is scoped via a top-level React context, I believe.

Atom derivation, read/write, async, it's all there. It also hooks into a lot of other popular state libs like redux, XState, Zustand and many others.

I much prefer it to Redux because there is zero boilerplate and extremely flexible. It can be easy to hang yourself with all the extra rope it gives you if you aren't careful though.

morgancmartin··on Blamer.el: A Git blame plugin for Emacs inspired by VS Code’s GitLens plugin
It looks nice and I can see why someone used to VS Code's GitLens would like to bring this over, it seems really seamless.

Personally, as a long-time magit user, I'm not sure I see any reason to make the switch. Can anyone more familiar with GitLens (possibly the author) provide any commentary on its differences with magit's blame functionality?

AFAICT, the only difference seems to be that the commits simply show on line selection instead of all at once, but there may be more going on here than I am noticing at first glance.

morgancmartin··on Using Emacs in an IDE World
Personally, I agree that base Emacs is not ideal for most users. Ultra-customizers will feel out home, but the typical dev will not.

On the other hand, I am a huge proponent of Spacemacs. It's technically just a custom Emacs config, but it is a significant enough departure from the base functionality that it is managed as its own project.

It brings Vim keybindings (as well as an improved package management system and a bunch of other stuff) to Emacs in a very intuitive and seamless way. That way you get access to the very rich Emacs ecosystem, as well as the endless potential for customization, all with the, IMO, superior text editing experience of Vim.

I've tried VSCode, and it doesn't hold a candle to Spacemacs IMO.

I do occasionally envy some of the goodies the VSCode ecosystem benefits from, however. In particular the new Github Codespaces, for example. Still not enough to make me leave Spacemacs though.

morgancmartin··on Are dynamic languages going to replace static languages? (2003)
I agree that TypeScript leaves something to be desired, but it is far and away a better alternative to pure JS. TS may not be total, but it comes close enough to get the job done for the dynamic environment it's meant to target assuming operators competent enough to lean on what it offers.

I should also note, I've attempted OOP in TS and it wasn't pretty. It is much more suited to a functional style IME, although I will concede I have seen some open source projects that use it in a Java-esque OOP style presumably to good effect. Personally it wasn't my cup of tea.

morgancmartin··on You need Software Developers to believe in your project (2020)
In practice, the latter scenario seems rampant, at least IME.
morgancmartin··on Ask HN: What was your best passive income in 2020?
Curious to know what kind of marketing efforts you took for these if any? Any marketing budget to speak of?

They look like really well done apps, congrats on (kind of) exiting the rat race!

morgancmartin··on I assume I’m below average (2010)
I've used that kind of information throughout my life as a marker to help me determine when it's time for me to move on to the next "stage" of development of my skill. It is similar in spirit to the quote (paraphrasing), "If you're the smartest person in the room, find another room", except substitute "smartest" with "highest skilled" perhaps.

Essentially, I see it as a meta-indicator, a way of making decisions in situations where I don't have all of the information.

Another way to look at it would be through the lens of game theory. Game theory is absolutely a field of some consequence, and it's all about relative positioning of agents in a system and their likely intentions after factoring in the likely intentions of their peers.

In a word, you might describe this type of analysis as simply, "wisdom." I find it to be of particular value in entrepreneurship.

morgancmartin··on Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia A100 GPU
I've always enjoyed the oatmeal's comics. What is your reason for referring to him as an idiot?
morgancmartin··on Reddit rolls out community currencies on Ethereum
I hadn't considered the transparent moderation logs before but that's a great idea, so props to lobste.rs for that. Not sure that I've seen Aether before either, I'll have to check it out sometime.
morgancmartin··on Reddit rolls out community currencies on Ethereum
Well that would be a start but I think it's pretty obvious you would want to base subscribers' voting power on duration of subscription, community involvement/contribution, their standing in the community and so on. This way you would avoid other communities subbing solely to influence the outcome of an election.

I think it would be pretty neat to include metadata in the calculation of the voting power metric as well. Such as how each subscriber votes in relation to other subscribers and assign a higher score to those who vote inline with the community. The goal being to optimize for those subscribers who embody the spirit of the community. Of course that brings up issues of echo chambers but other kinds of metadata could be factored in to offset that too. I would have to think on it for a while to come up with something I felt was as meritocratic as possible.

morgancmartin··on Reddit rolls out community currencies on Ethereum
I have long held the position that the role of subreddit moderator should be elected by their respective communities rather than handed over to the first person to grab the namespace. There's no reason this position couldn't be determined in real time either. If a moderator does something against the wishes of the majority of the subreddit members it should be possible for the community to immediately replace the moderator. Blockchain's propensity for governance makes all of this feasible but I highly doubt reddit will ever implement anything of the sort. Political and monetary incentives are already too deeply entrenched from the top down to ever allow the power balances to shift to something truly meritocratic.
morgancmartin··on Lit: A ridiculously small responsive CSS framework
Would highly recommend Tailwind if you don't like the boxed-in nature of most frameworks. Tailwind is more of a design system than a CSS framework. It simply gives you guidance on establishing proper constraints of your design system and then a nice set of utilities to get started with. There is no "can't be handled" scenario in Tailwind.

EDIT: And the book by the same author, Refactoring UI, is also a fantastic primer on the philosophy behind Tailwind.

morgancmartin··on Show HN: Skynet Simulator
With maxed out overclocking on all cores, I only needed six.
morgancmartin··on Spot the Drowning Child (2015)
I can attest to this method. Similarly to the GP, at some point in my early teens while swimming at a small lake, I decided to try swimming across the lake (more of a cove) and back. I was never a great swimmer but I was confident I could make it because I knew I could just flip over and leisurely kick if I got tired. Sure enough, my arms started to burn about halfway across, so I just flipped over and eased the rest of the way.

It's not nearly as fast as "proper" swimming but I'm sure I could keep it up approximately as long as I could walk. Maybe even longer. It makes for a great option in dangerous situations, and is likely a good fundamental technique to teach anyone just learning.

morgancmartin··on Avoid rewriting a legacy system from scratch by strangling it
r/programmingcirclejerk would have a field day with it, that's for certain.
morgancmartin··on Help me ask why you didn't just
Maybe a little embarrassingly, but I've tried to read it a couple of times and usually bailed around chapter 3 or so due to boredom.

I think I know the type of wordiness you're referring to and my term for the type of person that uses that technique is a "snake". The kind of unconscionable person that, like a magician, draws the audience's focus to one point while enacting their trick with the other hand.

I had a particular person in mind when I wrote my other comment. It was a guy I used to work with who initially didn't like me despite my very team-oriented spirit. I think he thought I was a snake.

Eventually our boss noticed our inability to collaborate and forced us two, along with a more senior team member to brainstorm a solution to a particular problem afflicting the project that day.

I have a tendency to relentlessly refine on a solution or quickly reject solutions I don't see as tenable. Sometimes when someone first meets me, they get the impression that I "shoot down" their ideas because of some desire to appear superior.

I do sometimes shoot down ideas but only because I am an umcompromisably honest person, at least with respect to work, which I take seriously. Which isn't to say I'm Dwight Schrute and I go out of my way to shoot other people's ideas down. I just won't lie and say I like something if I don't. I also am aware of this aspect of my personality and go to lengths to suppress it for the sake of those around me. But it is who I am at the end of the day, and I don't intend to change that.

Anyway, at first the guy wanted to butt heads with me, but I did my best to project a patient and collaborative vibe and the senior member encouraged the dude to look at my ideas in a more removed fashion rather than in an emotional way and my teammate eventually came around and began working with me.

That coworker and I went on to become, if not friends, solid collaborators for over a year after that until the point at which I left the company.

I think some people have an initial dislike for overly straightforward people like me, but most usually come around to it and even appreciate it eventually. You don't have to worry about me double crossing you. I'm predictable.

The rest who don't can pound sand as far as I'm concerned.

morgancmartin··on Help me ask why you didn't just
> Some people might be offended or sensitive to direct questions, but that's for them to work through with their therapist.

It's a fair position to take, but in some cases where successful communication is a necessity, that stance doesn't cut it.

My go-to heuristic is "the wordier the question, the more likely it is to be perceived as well intentioned."

So if I'm wondering why someone didn't use sshd, I might say, "So I'm wondering if you considered using sshd for this? You probably did, I'm mostly curious about how you think it fits into things."

Wordiness works in my favor in two ways. One, the extra words help me to be precise in my _intent_ behind what I'm saying. Fewer words may, in some cases, technically be more precise, but have a tendency to leave the other person considering whether their initial interpretation is really the correct one or if there is some other implication to the words they're not seeing. Using more words cuts down on that effect quite a bit. It narrows the search space, so to speak.

The second way is that because I'm presumably actually speaking the question, it allows me to closely shape my intonation to be as neutral as possible. I say neutral rather than non-threatening, because non-threatening makes me think of how one speaks to a child, which is definitely not what you want when speaking to a colleague. And of course, you don't want to sound like you're coming from a position of superiority either. I like to think of it as an adventure between me and the listener to solve the puzzle. That takes the focus off some implied power struggle between me and them and instead frames things as the listener and I teamed up to slay the puzzle-dragon.

Number two doesn't apply if you're communicating through text, which is why it's important for those who communicate through text very often to have a tendency of always assuming the best intentions of a given piece of communication until proven otherwise, or by intentionally asking for clarification when necessary.

I was born when my dad was about 41 years old. The significant generational gap between us caused some difficulty in the way we communicated with one another and so I was forced to adapt my approach to communicating with him as I grew up. Now that I'm older, I find that I'm exceptionally good at communicating with other people where cultural differences between the communicators might otherwise result in issues for someone without the same type of "training" as me.

The downside is my written communication tends to be annoyingly wordy. Ironically, my high school English teacher didn't like me very much.

EDIT:

And knowing your audience is important too, of course. The direct, "Did you consider using sshd for this?" would be fine if I were talking to a senior dev, or someone I know is unlikely to take offense to a direct question. Actually, in the particular case of a senior dev, I'd probably reword it to be, "Why didn't you use sshd here? I would've thought it would be useful because of x, y, and z." This frames it as me asking for guidance from the master. I like to bring the wordiness technique in for cases where I know the listener has a tendency to take things the wrong way. Definitely not to be used all the time or else you get a reputation for being a wordy speaker.

morgancmartin··on [dead]
Ugh, you're right, compassion gets the better of me yet again. To be honest, her brave stance has really made me feel so lucky for the way I was able to live my 16th year. Hard manual labor for low pay during the summers, social anxiety about my social status and the mind-numbing tedium of school were the absolute best. I can't imagine where she finds the strength to give all of that up.
morgancmartin··on Fighting Complexity in Software Development
> If F# or rust or haskell really was quicker and more effective in a prototyping environment as well as when writing production hardened code, programmers would likely eventually converge on only using them. That isn't what is happening.

This does not seem to me to be a safe assumption to make. The market is irrational. There is no reason to believe popularity has any significant correlation to the effectiveness of a tool.

morgancmartin··on SwiftUI and Catalyst: Apple executes its invisible transition strategy
There's a joke about monoids and semigroups in here somewhere but my lack of a college education is hindering me.
morgancmartin··on No More Shiny Tomorrows: Futurism Needs to Get Real
I highly recommend Ramez Naam's Nexus Trilogy.[1]

I think Naam's take on the genre hits a lot of the bullet points others in the thread have cited as desirable characteristics in their ideal sci-fi.

It takes what is in my opinion the most reasonable approach to the shiny vs non-shiny duality and simply includes both. From the devastating effects advanced technology could wreak against a group of tech abstaining monks to the spiritual enlightenment that might be obtained if humans could communicate mind-to-mind, I think the series does a great job of illustrating the best and worst of what the near future could conceivably have to offer us.

It's possible you'll find it to be too inline with SV's idealistic picture of a future where truly outlandish things like truly conscious artificial intelligences or indefinite life extension are actually within the realm of possibility -- but despite Naam's choice to feature these same kinds of "tech miracles", I think it still manages to stay remarkably down to earth. Despite the grandiosity of some of the possibilities described it all had so much detail so as to still feel plausible and even familiar at points.

IIRC Naam took a fair bit of care in basing most of the tech and predictions in the book on actual scientific opinion of what might be possible given humanity's current scientific understanding and rate of progress.

Despite having to suspend my disbelief at a few points, I enjoyed the hell out of it and count it as one of my favorite sci-fi universes up there with Stross' Accelerando and Banks' Culture series. Here's hoping you do as well!

[1] https://www.goodreads.com/book/show/13642710-nexus

morgancmartin··on Everything Isa (2014)
You saw your chance and you took it. And for that, I respect you.
morgancmartin··on The Boring Company will develop an underground “people mover” for Las Vegas
By a minimum of about 33.9 million miles, yes.
morgancmartin··on World Population Growth
You're looking at it from a zero-sum perspective when in actuality the ever steady march of science and technology means our situation is anything but zero-sum.

It never hurts to be cautious, but total pessimism isn't warranted either.

morgancmartin··on Artificial general intelligence is here, and it's useless
I'm a bit late in my reply as I don't have notifications setup for HN but it appears you may, so here goes.

I think that it's clear that brainpower is at the very least an important metric for determining get-stuff-down power as the vast majority of human beings to ever accomplish anything of note (financial, scientific, or military success) all possessed above average intelligence in way or another. I suppose the case might be made for different kinds of intelligence, but presumably something considered worthy of the title of ASI would be competent in any conceivable dimension of intelligence.

And if it is true that brainpower is at least an important component in whatever might make up get-stuff-done power, and assuming that the level of brainpower under a hypothetical ASI's command was effectively (in relation to a human being anyway) unbounded, then whichever other (external?) metrics potentially attributable to get-stuff-done power could presumably be compensated for by the overwhelming weight of the brainpower.

I'm curious what other metrics for get-stuff-done power you might have in mind?

morgancmartin··on Artificial general intelligence is here, and it's useless
You're completely missing the point, not seeing the forest for the trees.

Take any reasonably intelligent human, say a valedictorian from your hometown high school.

Now consider a system with the same intellectual capacity for reasoning about the world as your valedictorian and give that algorithm a data-center's worth of computational resources. Keep in mind that this system has perfect recall. Keep in mind that the speed at which the system can perform intellectual labor is not constant as it is in humans, but bounded only by the amount of computational resources that the system has access to.

So this system is just as intellectually capable as your valedictorian with one data-center's worth of resources and it has perfect recall. Now what happens if we double those resources and give it two datacenters? Does it become twice as intelligent? Or twice as fast at accomplishing some given intellectual task? We can't say for certain because the answer depends entirely on how such a system might work and since no such system yet exists, we can only speculate. But as it turns out, we don't need to know exactly which dimension it would improve in, only that it would improve in some relevant dimension.

And that isn't even considering the fact that such a system could improve its own architecture further improving in some given dimension relevant to its ability to act intelligently.

Assuming intelligence is capped at the human level is as naively anthropocentric as the old belief that the Earth was the center of the solar system.

morgancmartin··on Artificial general intelligence is here, and it's useless
What a silly article. Every premise presented is flawed and thus every conclusion based on those premises is not applicable.

There are 0 AGI's on earth. I recognize the author is intentionally twisting the definition of "AGI" since the imprecise nature of the field can lead to some debate about the definition, but I think it makes the most sense to side with the most popular definition which is, "Artificial general intelligence (AGI) is the intelligence of a machine that could successfully perform any intellectual task that a human being can."[1]

No such entities or algorithms exist that could reasonably be considered to fall under this definition.

The goal of the AI field of study is not necessarily to create a system that emulates a human. This is only a proposed solution to accomplishing the actual goal which is to create something with the same intellectual capacity as a human. It is an important distinction.

Yes, if the goal was to simply create an artificial human and then stop there without giving the system the ability to further improve itself then it would make no sense to spend decades of man hours on the task because we could just do it the old fashioned way and spend approximately twenty years raising a child to maturity.

But no, the goal is to create a system capable of reasoning in a way sufficiently similar to a human that it could reasonably be expected of performing adequately in any situation that a human might. Given that this could be accomplished, presumably the intelligence of the system could be scaled according to the amount of computational power is fed into it, propelling it past the most intelligent humans that have lived so far. Consider a system twice as intelligent as Einstein with the ability to reflect on its own architecture and then modify that architecture, thus further increasing its own intelligence.

From there, the hope is that something orders of magnitude more intelligent than the most intelligent humans to ever live could more aptly extract observations about the world given the same amount of data as humans and then conceive of clever ways to overcome the limitations of "finite resources."

The author seems hopelessly out of touch with the actual aims of the field he has chosen to criticize and so I am unsure why they ever thought they had any place to (attempt to) make their critique in the first place.

[1] https://en.wikipedia.org/wiki/Artificial_general_intelligenc...

morgancmartin··on Rust Koans (2015)
I think you're right. I took the koan to mean that when designing any given widget the focus of the implementation should make as few contextual assumptions about the use of the widget as is it feasible to do.

There is an inverse relationship between the number of contextual assumptions made about a widget and the number of contexts the widget can operate in. Something with few contextual assumptions is typically referred to as "flexible."

Duck typing as a practice entails a focus on the capabilities of a given widget rather than the "role" (read: type) of that widget. Focus on capabilities = fewer contextual assumptions. Focus on role/type = more contextual assumptions. Thus duck typing can be thought of as one possible embodiment of the koan's intended perspective.

Of course, some detractors of static typing might take this to mean that static typing implies a focus on types which as I've just shown would imply more contextual assumptions and less flexibility. But as rust's traits show, one can keep the benefits of static typing without sacrificing flexibility so long as the focus of the overall design is still capability-centric rather than role/type-centric. But that's a different conversation :)

morgancmartin··on Stoicism's Appeal to the Rich and Powerful
Why do you suppose that is? I don't have kids myself, but if I ever did I think I would prioritize the incorporation of stoicism into their upbringing.

Just as a stab in the dark, perhaps you perceive the philosophy of stoicism as being orthogonal to a healthy amount of flippancy in life? If that's the case then I would make the case that the two concepts aren't actually mutually exclusive.

morgancmartin··on Standardizing WASI: A system interface to run WebAssembly outside the web
Okay, I'll bite, what's the solution then? Personally, I don't have any novel software ideas lying around that are demonstrably better than what is proposed by WASI.

One advantage in this new push to build another sandbox is that Rust is leading the charge and is the de facto language of choice when building a greenfield WASM project. Given its propensity for memory safety and WASI's emphasis on capability-oriented security, I think the WASI team has a good chance of building something with a lot of value. Nothing here is novel (except perhaps Rust's extreme prioritization of memory safety) but that doesn't mean it can't or won't be an improvement over prior attempts.

I wonder how many of the previous sandbox vulnerabilities were viable due to some quirky memory manipulation techniques? Quite a few I would imagine.

Page 1 of 2Next →