HNHacker News
TopNewBestAskShowJobs

amagumori

582 karma · joined September 23, 2013

submissionscomments
amagumori··on Journey to the Edge of Reason: The life of Kurt Gödel
i think there's some way in which the brain "crystallizes" as one grows up, and the modes of cognition which are the most used in daily life are deepened at the expense of others. i'd compare it to trails being worn into the dirt by foot traffic; the most trafficked paths will remain for years and years, while the unused paths slowly disappear, until eventually they show no sign of their existence at all.

the example i'd give is to think of a kid playing with hot wheels. the kid is not playing with the physical toy; the toy is an avatar from which the kid is building a vivid imaginative playground. the kid is playing within the world of their mind's eye. adults, for the most part, can't play with hot wheels and dive into that same mental landscape of imagination and association. an adult just sees a small die-cast car. rather than being an inherent part of growing up, i think this power of the "mind's eye" is simply a mode of cognition our society doesn't reinforce and select for; so, for most, it's lost as they grow.

however, there's really a lot of utility in the power of imagination, and so we also see people who either never lost the ability through repeated reinforcement, or went to great lengths to re-activate it - artists like Katsuya Terada or Kim Jung Gi. notable with these artists is the way they're able to draw photorealistic pieces of eye-watering detail, without construction or perspective layout; they simply start from any point and draw, somehow putting every line in its exact place. when asked about how they possess what is essentially an artistic superpower, they've both related that they are able to visualize the scene in a vivid, consistent, and complete way in their mind's eye, and they simply draw from the mental image. both have said that they drew for hours a day in this "rakugaki" (doodle) style as kids, and never stopped the habit. in doing so they were able to retain and reinforce the power of visualization, a mode of cognition that emerges naturally, but is not retained if not practiced.

amagumori··on Myths in cycling: wider tires are slower
ok, so i'm curious how people feel about this, but i believe, for road riding, wider tires actually do make you faster, to a point of diminishing returns around 32c, because of cadence.

when you hit a bump with high PSI / road tires, your wheel bounces, you're momentarily unweighted from the pedals, and that means your cadence is interrupted. anyone who has raced cyclocross knows; there's a LOT of skill involved in applying pedal strokes at just the right times to absorb bumps while also continuing to apply power, and it's way less efficient than just riding clipless on a freshly paved road. every bump "resets" your muscle contraction cycle, and after a bump, you're often not at the right crank position to apply a hard, sharp pedal stroke to try to catch up.

i believe a ton of efficiency is lost through this biomechanical effect on cadence alone, and that's saying nothing of how much energy you lose in the transfer of forward momentum to an upward bounce impulse.

amagumori··on Nyxt Browser
this is why i think Gemini is the most interesting thing happening in the web space today. the browser itself can't overcome the fundamental bloat and decay of the web as we know it today; the heavier and heavier js load, the ridiculous ad load that necessitates entire extensions just to escape from it; etc, etc.

Gemini is a project that actually attacks the root of the problem by presenting an extremely stripped-down hypertext format and giving an alternative at the protocol level.

i highly recommend checking out Gemini https://gemini.circumlunar.space/docs/faq.gmi and the Lagrange Browser https://github.com/skyjake/lagrange if you find this interesting.

at least for my circle, there's a consensus that the web has calcified and become such a walled garden that we've reached a time where it makes sense to "start over" at a pretty base level; rather than trying to build on top of a platform that, by its nature, inevitably tends towards centralization and capitalization.

amagumori··on Why I teach vim
More so than even the choice of editor itself, I think the biggest argument for vim or emacs, especially for students, is that you “live in” the *nix cli.

The amount of stuff you soak up being a unix tool user is just night and day compared to using sublime text or something. Because using a cli text editor implicitly sets you on this path of learning through the command line. So you start with cding and lsing around, opening your file in vim, typing gcc or whatever. In a very frictionless and natural way, pretty soon you’re reading man pages, writing shell scripts and makefiles, etc.

In a very real way, the Unix command line environment has you poke around an interactive “boiler room” of your computer, and that type of learning, learning by exploration, is something far different from learning individual tools at a higher level of abstraction.

It’s like letting a kid loose into a master’s workshop instead of showing them one tool at a time. By seeing everything “together” and exploring what the different tools do, the “fog of war” of unknown unknowns clears much faster for a novice, and this provides a MUCH more solid knowledge footing to build on.

amagumori··on Philipp Hagemeister, former YouTube-dl maintainer re: takedown
i'm usually not so pessimistic, but i was in a bad mood, especially because youtube-dl is such a essential tool for me. things aren't hopeless. they just feel that way sometimes.
amagumori··on Philipp Hagemeister, former YouTube-dl maintainer re: takedown
what we've seen over the past decade or so is the creation of commons on the internet; however, these commons, like Youtube, Twitter, or Instagram, are centrally managed, owned, and controlled. the buy-in to these commons has grown and grown, and now that they are essential parts of the way the world communicates and consumes information, they're being "tightened down", with ever increasing ad loads, censorship, and "steering" (influence via search and recommendation visibility). as global inequality increases ever more starkly, these services represent a powerful means of control over a disaffected and disenfranchised populace - everyone has been herded into the walled garden.

the collective dream we had of the internet as a species-level advancement has, in fact, been a mirage. the idea was that the internet would allow free and uncensored communication across the world, perhaps allowing the citizens of the earth to organize against injustice, corruption, and repression, and to share information freely. in fact, what we see now is a global internet and computing backbone compromised to the core by nation-state actors, and a centralization of internet services controlled by an oligopoly.

not to put too fine a point on it, but the idea of a "global commons" or "collective good" cannot coexist with a world economy of globalized capitalism. the capitalization of the internet is a situation that is unprecedented in human society - we may have crossed an event horizon where societal control has grown to such a level where the very ability of people to fight repression and organize a more equitable society has died.

anyway, happy sunday

amagumori··on Are neck gaiters worse than no mask at all?
A CoC type clause requiring mesh mask listings to be posted with a “Not a Covid preventative mask” type notice seems like it’d make sense. Idk how the implementation of that requirement would go though.
amagumori··on OB–4 – Portable high fidelity loudspeaker
Yeah it’s a weird situation where I feel like a lot of the people who the OP-1 is aimed at either can’t afford it, period or aren’t going to pay $1300 on a “toy”. Because of its market positioning it ends up being this unattainable luxury item that only professional/ established musicians use, instead of a MPC-esque everyman’s tool. The “toy” design positioning and huge price tag work in tandem to keep it unattainable- it’s not that people can’t afford it (although a lot of people can’t afford it) but at the high price tag, people start seriously min-maxing what they’re getting for their money. People are really reticent to spend an entire paycheck on something that’s even somewhat limited, and possibly the best “feature” (the high level of polish in design and UX) is sort of invisible and not looked at as a utilitarian “feature”.
amagumori··on Chitin could be used to build tools and habitats on Mars, study finds
H.R. Giger is up in heaven fist pumping
amagumori··on Dishwashing detergent hack: Two ingredients (2015)
Yeah, dish soap is soap for washing dishes. Us Americans can get pretty craaazy with our naming conventions!
amagumori··on Ask HN: Are there books for mathematics like Feynman's lectures on physics?
Oh shit, it’s authored by the Kolmogorov!
amagumori··on Alan Kay's answer to ‘what are some forgotten books programmers should read?’
this comment is kinda the best possible case of "extremely literal reading of the OP's comment"
amagumori··on Adapting TriforceAFL for NetBSD
lcamtuf (don't know their real name) is an absolute whiz, the write-ups on their website and tools they've built are great.

also, their website is an example of a great, no-BS web design, for the reason that it's one level deep. there's no "articles", "tools", "contact" links adding a further level of indirection and hiding what's on those pages. all content titles and descriptions are in the same area and are all visible at once when the page loads - at a glance, you can see everything their site has to offer, and get an overall idea of their work almost instantly. side note - i don't think we talk enough about how important visual locality is for information design.

amagumori··on Nestle, Disney Pull YouTube Ads, Joining Furor Over Child Videos
i mean, another angle is the parents that are posting videos of their kids online are not asking their kids for consent first, and the kids may be themselves unable to give consent. requiring videos of children to be unlisted seems completely reasonable to me.
amagumori··on Air Gapping a MacBook Air: The Great BCM15700A2 Mystery
uhhh...how does this prove that the chip doesn't have radio functionality? they didn't figure out any information about the chip's actual functionality beyond its PCI device name, which would ostensibly not be "SUPER SECRET DATA EXFILTRATION RADIO FOR NSA". they just took it off, unplugged the wifi card, and then said "well, it doesn't connect to wifi networks now. must be fine".
amagumori··on What is this thing, called swing? (2016)
i highly recommend looking into UK Garage / 2step if you're into swung dance music. It's essentially the best qualities of 90's and early 00's R&B and D&B put through a dance lens. To me, nothing else in music is more authentically and beautifully 90s-early 00s. Pioneers of the genre such as El-B took the concept of swing and ran with it from a modern electronically produced perspective.

As an electronic musician I also have to say that UK garage producers are absolute masters. It's very, very hard to make swung music that has the qualities of "bump" and "flex" - the prerequisites to a song that viscerally makes you dance - on a computer. "Flex" refers to the way the swing-level expands and contracts throughout a drum phrase. "Bump" refers to the way the flex propels you into the kick and snare.

here's an example of a song by el-b with super tight swing. it's hard to explain without having tried, how hard it is to produce something like this:

https://www.youtube.com/watch?v=lZ3KM5E8wl8

another example:

https://www.youtube.com/watch?v=IlNNrXzi60o

and finally, a 2step song, much straighter, but it encapsulates the sound of an era and genre.

https://www.youtube.com/watch?v=VVycT8k0tjM

amagumori··on Thousands of criminals were cleared to be Uber drivers
good.
amagumori··on Practical Examples in Data Oriented Design (2013) [pdf]
Hey, not the OP, but I did want to offer my 2c anyway, as someone into gamedev. I'd say you're both very right and very, very wrong at the same time.

In game development, especially with indies, in the early phases of development many developers take an approach of valuing "getting it going" over everything else. While this might sound short-sighted, it's actually a very canny decision, and often is the only way to gain enough of a foothold to ensure the long-term success of the project when you're working on a very complex piece of software like a game - see Jonathan Blow's youtube video on "The art of getting things going". Additionally there's the relationship of this approach with the game design process, where you need a very fast iteration time on prototyping game mechanics in the early stages, to start finding your way towards something interesting to flesh out into a full product.

With that being said, in commercial game development (and experienced indie developers), the performance standards are so much higher than most other fields of programming that it is actually absurd. The focus on performance of much of enterprise software, web apps, and even most native tools, is nowhere even in the same league as that of high-quality games.

I would also say that at the highest level of game development there is a very high quality level of code organization and architecture. Games are one of the most complex types of programs, involving physical simulation of a large amount of objects, skeletal animation skinning, very complex rendering and shading, realtime deterministic state synchronization over a network, audio streaming, and on, and on, and on, all happening on a realtime basis.

There's simply no room to be "ad hoc" or "hacky" in AAA gamedev because the systems involved are so complex that their architecture has to be extremely robust to even be able to finish the game at all. In my opinion, other fields of programming have a lot to learn from the lessons of game development, but unfortunately gamedev is a bit of an insular field and there's not much cross-pollination between gamedev and other industries.

Or you could just look at it like this:

AAA Gamedev: Formula 1 car

Google / AWS : State of the art metropolitan high-speed rail system

Enterprise Software: Diesel bus service

Native apps and tools: Sedans, hatchbacks, vans, sports cars

Web apps: Bicycles

Electron apps: Bicycle with a lawnmower engine welded to the frame that tops out around 20mph and gets 3 miles to the gallon

amagumori··on Forced Inlining Might Be Slow
he's a senior developer at unity.
amagumori··on John Scalzi: Being Poor (2005)
for anyone who has grown up poor or working class, how do i claw my way out of this? i come from a single parent household, my mom is an elementary school teacher with 4 kids in an expensive city. she barely makes ends meet and cannot support me. i was homeless and addicted to drugs for most of my teenage years, before getting sober and going to college, but dropping out after 2 years - my mom's child support put me just outside of qualifying for financial aid, despite the fact that she could still barely afford food and rent, so my only option was living at home and taking out 5-6 figures of loans. i didn't want to be a financial burden on my mom by living at home, so i dropped out and kept working as a bike messenger. as an aside, my mom is in astronomical debt from a lengthy divorce process with my father, who physically abused me, my siblings, and my mom, tried to kill both me and my mom at different points in time, then successfully put my mom in 6 figures of legal debt by drawing out the divorce process as long as possible.

flash forward to now - i'm still a full-time bike messenger. i barely pay the rent for my tiny SRO i share with my girlfriend. my biggest goal in life is to get a job as a programmer to support my mom and siblings. i've been teaching myself computer science for years now, and i know i would succeed if i could get a job programming. i just don't know how i get there from here. being a bike messenger (a real one, not a postmate / uber eats person) is extremely physically demanding. i'm mentally and physically exhausted after work. i don't have enough time or energy outside of work to complete any of the projects i start, with the hope of having something to show to a company. i feel like a simple CRUD app is too easy of a project to show my skill to an employer, so i try to work on things like a compiler and a real-time rendering engine, but these are huge projects, and i don't have enough free time to finish them in any reasonable time frame. i'm confident in my programming skill, but my resume is a list of working-class jobs in machine shops and courier companies. any advice would be seriously appreciated.

(hopefully this doesn't read as too melodramatic or anything, it wasn't meant to be. i know i'm still a lot luckier than most.)

amagumori··on When did software go off the rails?
just to set the record straight, idtech5 uses "megatextures" / sparse virtual texturing, which is actually a very clever performance enhancement - a low-resolution render of the scene is made to determine the needed mip levels for the visible textures, which are streamed from disk into an atlas texture. then there's a redirection texture that maps from the textures needed by models to the UVs of the correctly mip'd texture in the atlas. it's a great solution to disk and API latency in games. to call it bad because it's a big texture instead of 50 textures individually streamed from disk...it's not a lack of compromise. it's a great engineering solution, you dingus!
amagumori··on Papers I like
this is probably immediately evident as soon as you start going through his site, but fabian is a phenomenally smart guy. every one of his blog posts is gold if you care about things like graphics or compression.
amagumori··on Salesforce fires red team staffers who gave Defcon talk
p good analogy, people will generally ACK a phone call since it implies a higher level of importance and could be about anything under the sun, but right before giving a talk at a conference i think most people would drop that text message UDP packet.
amagumori··on “We currently have no plans to support Xwayland”
if games ran on linux, i wouldn't use windows for anything. i love everything else about linux for the most part. it's a chicken and egg problem. if (AAA) games were actually released for linux, linux market share among gamers would grow hugely. i don't use linux for games because no games i want to play run on linux.
amagumori··on Linux tracing systems and how they fit together
i don't think that's what she does. i think she's the Bob Ross of Linux. what she does is to evangelize learning about low-level debugging / tracing tools and such to a wide audience, with a tone of "you can do this! it's ok if you're a novice". if all talented programmers understood and encouraged beginners like she did, we'd have an embarrassment of great programmers.
amagumori··on Why We Chose Typescript
ok. i get why you chose typescript.

however, why did you choose this weird cursive-ish monospace font? and...where can i get it?

amagumori··on A Brutal Intelligence: AI, Chess and the Human Mind
it's not inherently different from computing but i don't think any of our current architectures are amenable to "real thinking". a computer that really thinks needs something much, much different from a von neumann or harvard architecture. so much different that it would almost be weird to still call it a computer.
amagumori··on Localizing “Papers, Please” (2014)
i agree. not only that, there are so many beautiful feelings to be found within the realm of "sadness". and don't let that emotional pain be a barrier to you experiencing meaningful things that'll help you grow.
amagumori··on Conglomerates Didn’t Die, They Look Like Amazon
i agree! in fact, you know what would be a really efficient form of capitalism? what if we just eliminated wage regulation, and the marginal costs of workers to our business entirely, by making them slaves!
amagumori··on Kkrieger – A 96KB first person shooter
I 1000% agree with this. At the same time, I think developing your own engine is immensely empowering and helps you "level up" in some fashion. I'd recommend doing both. But, of course, just use an existing engine and make a game first. The engine is a long haul endeavor. It starts very slowly, but eventually, you'll be able to roll your own games with it. And there's something about that that's very cool. But don't write an entire engine for your first or even second game.
Page 1 of 6Next →