HNHacker News
TopNewBestAskShowJobs

megameter

1,345 karma · joined May 8, 2020

submissionscomments
megameter··on Why are American workers becoming harder to find?
My experiences with the kiosk at McD's have trained me to make the order there and then walk up to the counter to pay, because it would never let me pay at the kiosk. I like using it to order because it doesn't mishear me like the cashier usually does, so I also make bigger, more complex orders. But they do not have the full transaction worked out, last time I was there.

OTOH, I use the Starbucks online ordering all the time to have my order ready the moment I walk in. It let me feel like I was "getting out" during 2020 with minimal risk.

megameter··on Implementing strict three-point perspective
My experiences with PICO-8 led me in the direction of making my own fantasy console...which then turned into a more thorough examination of computing itself.

I reached the conclusion that what I want is actually a lot of small source mediums that would cooperate well together and be bundled in arbitrary fashion as a single runtime engine, vs the "familiar computer platform but less" model that is intrinsic to the PICO-8 approach, which puts a lot of pressure on the platform to address all needs.

So I started working on that problem instead. What I have now is a binary format that might suffice as a common source document type. It's binary because it let me declare more precise meanings for the bits instead of offloading those meanings to a character parser, but it's also text-like because it doesn't enforce a lot of structure, it has notions of "lines" and "strings".

I'm now just about to where I can test it on media I might want to write and work in and see how well it edits.

megameter··on Implementing strict three-point perspective
I did set out to make a wireframe two-point perspective dungeon crawl in PICO-8 once. It worked(I recall the math for making the height of walls feel correct at different distances was hard to understand and I probably did resort to the CG approach) but I eventually abandoned it because I was spending way too much time trying to deal with occlusion and optimize it for PICO-8's CPU.

Since then the system constraints have changed and I would probably just make a tline() raycaster.

megameter··on Bunnyhopping from the Programmer's Perspective (2015)
It's an artifact of the projection also being used to slide off walls smoothly, and then just reusing that idea - which could be a accident, or an "accident" (choosing by what feels better).

Goldsrc surfing was most exploitable in the form of "wall-running" by strafing against rounded surfaces(e.g. the cylindrical sewer pipe interiors in cs_siege and cs_militia, I think, both did this). Same bug, different mechanism, easier to control.

megameter··on CD Projekt Red’s stolen Cyberpunk 2077 and Witcher 3 source code leaked
The time when game sources were a major competitive advantage ended roughly around the start of the iPhone era, not just because of more source availability but also a shift towards cross-platform maintenance, live support, and high fidelity assets as the things that distinguish large productions.

Like, you still get "asset flip" games that copy default projects, but they are background noise. Having the source to something large like CDPR's games doesn't mean you have access to the studio infrastructure of CDPR.

megameter··on Helix: a post-modern modal text editor
Currently I use TextAdept which is kind of the inversion of "scripting" the editor - the core is basically a SciTE wrapper and the editor is Lua. It boasts a tiny source code footprint. There aren't many features or integrations, but I am aiming not to need those.

(Becoming IDE-dependent is definitely a thing, but when it goes in that direction, I look for a full-fat IDE experience for that specific language and then use either my text editor or IDE situationally. It's just not worth it to try to configure your way into Nirvana when the language you're using is probably going to change again.)

megameter··on Ask HN: How do you organize yourself ?
First, decide what you're studying in life. If you do not do this you cannot be organized, because you will be left at the whims of any "great opportunity" or "potential threat", mostly the former when young and the latter when old, owing to inherent biases. Those things lead you into constantly chasing after an image of organization instead of a benchmark. Regardless of the potential others see in you, you can only have an edge at those things that you are inclined to continue studying, and to do so you must aim towards a benchmark for what's better. The apparent object of study may shift over time, but in general, you carry around the same principles and approaches with you and continue finding further applications of them. This much is seen in the biographies of notable figures.

Only after this can we even begin to discuss "productivity" with respect to information systems. When working with information, you generally do not need great quantities of raw material - you do not have the capacity to "think" about that. You mostly need transformative perspectives, which rarely come pre-digested(that form is teaching). A transformative perspective comes from the repeated application of those principles you study, and from some occasional introduction of chaotic influences to probe and test your ideas.

From this we can come to the conclusion that organization is primarily about filtering and exposure to the serendipitous, which begins with the life obligations that you take on. You don't want everything completely under control, since that would erase the chaos. Neither do you want to feel like there are no predictable elements to hang on to, just one emergency after the next. Either one could be described as an impoverishment.

When we talk about tools and media, that's really a matter of finding the medium you need to think in at that moment and a way to reach it. So, personal collections are a good way to start - I collect and organize according to how I want to think at that moment, versus trying to universalize. When I need to arrive at new concepts I look for ways to bind material together. The literal example that propelled me down this path was in deciding to clear out old gadget boxes last summer by putting all their leftovers in binders, using plastic dividers, pencil bags and pockets. In a loose collection the contents would get lost, but in a binder they become satisfying to browse - a dual purpose of "remove clutter" and "make space" is served by shifting around the physical dimensions and axes of the problem. This same strategy applies to other common physical organizers from bags and trays up to rooms and streets. And on a computer a light amount of hierarchy, combined with lengthy filenames to tag, helps filter, but you have to push the serendipity a little bit harder, since the computer "only does what you tell it". So I am often looking for new ways of getting that.

megameter··on AMD Demonstrates Stacked 3D V-Cache Technology: 192 MB at 2 TB/SEC
The general rule of thumb in software performance is that the larger the scale of the codebase is, the more the "hotspots" will matter.

The CPU word size, number of registers, memory sizes and cache all matter to this since they determine the "base unit size" that the hotspot code could address without dropping down a layer.

Pointer-chasing code can be slow, but if the entire structure fits in cache, it won't be that slow. It gets slow mostly because the CPU can't predict what's needed next and keep the pipeline fed. And if you were to have a pointer structure that also existed in memory mostly-linearly, it would most likely have performance characteristics similar to a flat array. At scale, the data format really is the bottleneck to performance - shaving off a few bytes with better packing can make the difference, and in this respect, yes, Java is going to impose some limits via lack of control.

That said, as a society we still process petabytes of JSON daily. We aren't constantly doing high-performance things - inputting and editing data and making it legible to humans are tasks that have the natural result of putting some "slack" and redundancy into data. Games tend to get results fast by "cheating" and turning the full-fat editable data into a lean, single-purpose rendering structure.

megameter··on Steve Jobs on his “glide slope” theory of tech (1988)
When we look at the compatibility story of Unix, it doesn't hold up well at all except as a ship-of-Theseus exercise. The original system design gradually became usurped by GNU tools, Linux kernels, and X11 window management. Sometimes you might be able to compile old stuff, but guess what, the C standard changed too. And every one of those things is in turn being challenged - "rewrite it in Rust" has produced new, similar, sometimes compatible but still different programs from the original inspirations. sysvinit was replaced with systemd. X11 became Xorg plus various extensions. Linux was eschewed as the kernel for OSX decades ago, and it's typical for software to need an "OSX build".

There is old Unix software that can run on modern Unixes, but it depends heavily on not doing much I/O. Once you introduce an I/O requirement, failure is imminent - the protocols change, hardware gets accessed with a new method. You end up needing some kind of emulation. The same was basically true of DOS apps running natively on Windows - it would probably run your old Lotus 1-2-3 or WordPerfect in a window, but not games. Windows itself has had plenty of API churn(albeit with an unusually strong compatibility story), but a large share of new Windows apps are actually Electron wrappers.

The glide slope theory isn't perfect because the life cycles do seem to depend on what you look at specifically, and there may have been a slowing of the curve with greater reliance on open-source and Internet technology. However it does seem to be predictable in describing the limits of software platform economics.

megameter··on It's time for us in the tech world to speak out about cryptocurrency
Twitter crypto-haters essentially act as the "anti" to the crypto-bro "pro".

Both repeat the same memes to each other in a self-reenforcing echo chamber. The underlying link is to political consensus. Leftist-socialist Twitter is eager to say that socialism is good because Bitcoin is bad. Trumpist-conservativist Twitter loves to say that Bitcoin is good because Joe Biden is bad. Nihilistic crypto permabulls are so hyped up that they jump into every thread to defend their favorites and their negativity is usually limited to the dismissive "sorry you want to be poor".

It never really goes anywhere. Someone comes up with a new crypto narrative - adoption, value, environmental impacts, human interest - and it's all you hear about for the next month. If you try to find good information you are presented with an opaque wall of obvious scams, not as obvious scams, and people who believe or do not believe in them.

There is interesting stuff going on, but the people studying it carefully are so hard to find through all the noise now.

It's easier when there's a bear market.

megameter··on Overkill objects for everyday life
The best consumer goods are generally the ones where the design has persisted unmodified for decades. It works, everyone uses it, nobody's improved on it, serviceability is reasonable relative to the essential complexity, and it hasn't been cost-reduced into garbage. "New model" always comes with the worry: What did they fuck up this time?

Anything "professional", "military", etc. comes with the potential downside of it being someone's job to maintain and service it. Qualitative differences usually come with trade-offs - and if it's not your job, it might not be better to try.

megameter··on Ask HN: What's your sleeping setup(bed/pillows/sheets)?
Rumpl blanket on floor, comforter and fleece as tops. Throw pillow between knees and a second for head, occasionally using a blanket to pad either.

I could probably stand to get another bottom layer.

megameter··on Bitcoin rival Chia 'destroyed' hard disc supply chains, says its boss
Proof of stake, as implemented in most of its current examples, faces a philosophical problem in that the initial distribution of the token is now a "trust me" premise - a founding organization announces a policy - versus a baked-in labor theory of property concept (I put "work" into this therefore I own it). Coins that transition from one mode to the other, as Etherium is doing, must reckon with friction from miners. Distribution, both in terms of early emission rates and then years later, represents a major quandary.

So, alternative proofs of work still have an interesting basis for speculative valuation and acceptance. In the last crypto bear market, of the top 100 at peak, proof of work coins were the ones that had the smallest drawdowns.

megameter··on Egyptian Circumnavigation of Africa ~600 BC
I've studied the causes of the Industrial Revolution a little(in undergrad classes) and one of the points that stuck with me is that early-modern machining had greatly improved. Roman-era lathes were of a different character[0] and their limitations in accuracy and power were a major dependency to the development of other machined parts. As well, the Romans had a pre-Newtonian physics and mathematics, limiting the percieved applications of their inventions. There really is a lot that 1000-2000 years of background development gives you.

The early moderns are also interesting because of the wage issue, which is not quite what it seems. It is known that wages were high following the Black Death, and this created room for mercantile economics powered by double-entry bookkeeping, rather than tributary ones, to take over the political economy. Everything in the modern period becomes a bit more of a business. However, the political class then moved to lower wages and adopted such as part of early merchantalist theory - keep them lean and hungry so they work hard.

This attitude encouraged the development of impressment, indentured servitude and chattel slavery: the easiest way to move a worker's wages off the books was to turn them into property. Thus by the mid 1600's, you already have a world where the populace has been disempowered and coerced into the project of colonial nation building(a means of putting more assets on the books - claim the rights), and the backlash to that powers an interest in developing liberalism in the 1700's, which coincides with the utilitarian ethics of Bentham and Smith. There's a lot of history that coincides with "and then this philosopher published a very relevant work".

The underlying political thing of early modern Europe, of course, was the disunification. The inventors and scholars in this period are always fleeing from a noble that they pissed off and finding refuge somewhere else. A unified Europe would have had more opportunities to surpress technologies, as occurred in China throughout its history.

None of that forms a complete hypothesis, and it doesn't even touch on the "why Britain specifically" question, but it gets it away from being a "Europe so great" anaysis.

[0] http://blog.mmi-direct.com/machining-history-lathe-the-mothe...

megameter··on Is there any modern compiled language with native compilers for 32-bit MS-DOS?
The defacto support, such as it was, was "run DOS/4GW".

An actual MS-DOS running in protected mode would be an interesting thing. Win95/98 might qualify(I don't know enough details, but it did identify as DOS versions 7/8, and they dropped support for pre-386 CPUs).

megameter··on Beads: Computer language and toolchain
While I've not interacted with the author, his Twitter and blog opines on all kinds of subjects and has the firm, authoritative tone of an older person who is not exactly ignorant but who doesn't recognize the depth of his own indoctrination, the silencing of the internal critic. He has all the answers already.

And, really, that's the only kind of person that could make something of this encompassing but simultaneously incoherent nature, I think.

megameter··on Beads: Computer language and toolchain
I like it, but also recoil at the thought of using it. And I think that's a "professional programmer's instinct" talking, saying that I shouldn't settle for this one large dependency that boasts about being the future and has made room for so many little batteries-included features, I should be a big boy and use the most powerful library for every task...in JavaScript, a language that was, mind, designed in a few days and now has an ecosystem built on untrusted third-parties all depending on each other - a state of affairs that has already been demonstrated to fail.

If I were primarily an Excel user, then maybe it would work for me. Working with figures, converting between common units, generating reports and forms, and doing it in a form that acknowledges programming other than "ALGOL derivative"...There is a known niche. Maybe the author knows the niche better than I. There are good ideas here, ideas I want to steal. That is enough to recommend giving it a further look.

megameter··on Benefits of 2D code layouts (2018)
The thing that I've kind of settled on with respect to text is that it's actually 2D variable width. The line ends, right? The 1D-ness is an encoding detail. The interface and presentation of an interactive editor is clearly a 2D one, albeit tailored around dealing with the variable-widthness.

What we get from spreadsheets that is quite nice, formatting-wise, is the cell data being of a rich type. A number of larger size doesn't take up more symbolic space, and therefore it remains fungible as a whole, rather than being round-tripped between number, string, number as is often the case.

When we use plaintext, suddenly a need for explicit binding of literals arises, and we become prone to "thinking" in terms of that binding layer and its apparatus, versus, say, something with a spatial analogy like a stack machine. They're Turing-equivalent, but one or the other may solve a problem more adeptly.

megameter··on The end of the pandemic is near
From the beginning of the pandemic I've found myself calling it "my pandemic" owing to some recognition that in fact, my experience of it is so far removed from others as to be a different story altogether. For some people, their pandemic ended their lives in the early months before they even knew to fear it. For others it's still very present in their lives. My pandemic was quiet, anxious at first but gradually more settled and relaxed. It is now over; I'm vaxxed up and have little to fear from the virus, so whatever I am living now is just an early 2020's lifestyle. I still take precautions, but I am essentially in a holding pattern for the city to finish its reopening plans, and then I'll be doing some of the things I was doing last year before it hit.
megameter··on Inkscape 1.1
You could "just" crop by subtracting shapes manually every time, too. Rectangle crops are extremely common so it makes sense to have a tool for that even if it just generates the underlying concept(as with shape-to-path).

If I were approaching the problem fresh, though, I would look into the presentation of the modal functions as the root of the issue. The source of a lot of complexity in image editing software is confusion over layers, masks, groups, and selections - they have some conceptual overlap and can be applied modally(e.g. shape as rendering element OR mask OR selection). If the UI buries the difference it just adds to the confusion.

megameter··on Tony Hawk on his skateboarding legacy
Exactly why I am not skating! The skill barriers and risk are pretty undeniable - it takes a certain kind of person to keep doing it when it's so tough on the body.

While I sometimes think I'm missing out, I quickly settled for kick scooters when I was younger; I just wanted something simpler and smaller than a bike to ride around and a folding adult scooter is exactly that - apart from an occasional curb hop, no tricks or aggressive riding, but I can push hard and easily maintain a pace between a fast run and a sprint on flat ground. I actually took mine out again yesterday after a break of a few years. I get to carve a little bit, I have front and rear brakes, and I always get complements.

megameter··on Past and Future Turtles: The Evolution of the Logo Programming Language (Part 1)
> pretty pictures produced by the screen turtle as the goal, rather than the deep insights

I can't help but think "ah, like NFT art". Schools made and prepared us to do exactly this.

megameter··on Text editing hates you too (2019)
Monospace is the more sensible option as an editing medium for symbolic content. It's in having "WYSIWYG" editors that do everything in one modeless widget that we start getting this particular kind of feature creep.

And considering how awful it tends to be to navigate a complex word processing task in Word or LibreOffice even now - mystery-meat selections abound - I'm not sure this is the right feature to support all of the time.

megameter··on Crypto crash deepens, stocks slip
OK, but who/what will the top holders of BTC exit to? In what scenario will the price go to zero?

"Bans" are not going to do it. It was designed toward censorship resistance. That moves it to an underground, at best.

The top holders are not going to dump it - they've committed book value assets; mining companies, exchanges - they aren't going to exit.

For their continued existence to make sense they want more things to be traded in crypto, so they invent stuff like "NFT" and "DeFi". Half of it is crap, but I have been around long enough to remember when Wall Street was bullish on "3D Television". Investors always want angles to make their current holdings more valuable, and as of this moment there are far too many crypto projects to be aware of them all. The re-investment rate is huge. Far different from when a penny pumper puts out the "good news" that they have put their logo on a race car and have t-shirts available.

So as I see it, it's either not a Ponzi or everything is.

megameter··on Durable, Low Energy Bitcoin Algorithm Proposal
This proposal, if implemented, puts Bitcoin on an equal footing with Chia(also capex bottlenecked). It's probably the "next best thing" for an efficient securing function without going towards staking.
megameter··on uxn: a portable 8-bit virtual computer
My current "VM" inspirations include...regular expressions, constraint logic, modular synthesizers, three-ring binders.

You can go really, really far away from a computing system being a Turing machine with arithmetic, if you work at it - like, that's the thing you already have in every PL. But I think getting away from that also entails getting down and dirty with your chosen benchmark of expressiveness, and accepting that the system does not do some things well, and if you want to have multiple things coordinated, then you need to be careful about expressing that, too, to avoid just making a Turing tarpit.

megameter··on Once hailed as unhackable, blockchains are now getting hacked
Oh, you're the one that put that message there.

I just quietly held through the bottom and the token price did come back, not to ATH(which I should have let go of back then, but I set my price target roughly 2.5x too high and did not plan a DCA exit) but it was plenty enough - I will be finishing up my exit today as it happens.

The experience has left me more wary of proof-of-stake coins, but I still have the Symbol airdrop. If that pumps I will probably let go of it too.

The only difference between you and me is probably that it's your first time. I already got caught in a regular old pump and dump in penny stocks years ago, which I got hooked on through a friend. It really hurt, and I wanted revenge. But I ended up making back these losses many times over in the crypto markets, so I can shrug it off now.

megameter··on Making Your Own Tools
I think the more compelling argument against the project trajectory being sustainable is the ongoing growth of the platform that's being built and the resulting terrarium problem. Uxn isn't just a 100rabbits thing now, but a community of collaborators...and the things that platform does are really pretty trivial "dawn-of-microcomputing" things in most respects. So you end up in a space where it could have been accomplished in an emulator and tooling that already existed, but this sanctified "simpler" codebase was made instead, and now it's seeing gradual, irresistible growth, such that it will inevitably go beyond the needs of its creators at some point if it continues like this. PICO-8, the original "fantasy console" billed as such, has also grown, its execution model has changed multiple times, it's added significant new features. At some point you will want to configure the emulator, and when you configure the emulator the uniform experience starts to slip away - allowing features for recontextualization is more accessible, more powerful. The quaint little terrarium you thought you had under your control grows back into the jungle of computing again.

This is a quandary that has occupied my attention for the past year: what's actually sustainable in computing? But the answer, when I came to it, is simple: formats and protocols, all the way down. Endianness, word sizes, textual encodings, state machine I/O signals, and forms of structured data on up to parsable source documents of various kinds. Everyone's always like "just use JSON" or "just use a PNG" or "just write an HTTP request". Formats are where all the real power is, and they do things platforms can't.

And the format's never really the whole codebase. Wherever you have "the code" you have the platform. If you just describe a "simple" stack machine's code and I/O and then proceed to build a massive amount of stuff on it, what you most likely have is an underdocumented platform. When you go to build a game on that, you still build an engine, and the engine implements some rendering algorithms, specifies a timestep, and reads some assets. That's a more completely specified medium that could be turned into a simple format of its own, which indicates that the fantasy console was just a method of constraining the engine. But you could start by defining the rules of a constrained engine instead, no?

And that's kind of where my thoughts have gone. It's irrelevant whether it's on Javascript or hand-tuned assembly or a VM: the actual progress is made when you can stop indulging your inner Microsoft by building platforms, but it's so, so hard to avoid doing that.

megameter··on CEO behind Japan’s best-performing stock says his secret is raising salaries
It's in keeping with the German influences on the school system, I think, since that's where the "baito" is most likely to come up.
megameter··on Ask HN: I think I hate the software development industry? Am I crazy?
1. First consider the possibility that this is a "life" thing and not just a "work" thing. Your username signals "I'm so depressed and fed up with it all", but what "it" really is can be harder to grasp than a current source of pain like your job.

2. You're also trying to sabotage change within yourself by saying "oh, but it'll take so long/be so expensive". You were not done the moment you left school. That's a common belief that is imposed upon young people, but carried to its conclusion, it's rather ugly and implies that you're either a huge success or eternally damned at age 30, and all events after that point are handwaved away in a Logan's Run fashion. 30 is more commonly a point where people in our society start to get a sense of their actual career path and shift from "consumers" of the current culture to "architects" of the next culture; what preceded that was mostly performative in the average case, a demonstrative adulting to "make the grade", and employment as a footsoldier for this or that ideology. You are cynical about this behavior already(hence your low opinion of the FAANG stereotype). It is therefore time to let go of youthful impulses and seek reflection.

3. This is the point where you should go study the extracurriculars you bypassed the first time because they weren't "practical". You can limit it to one a semester, night classes, online classes. You don't have to rush into a new degree. Through works of art, studied or improvised performance, sporting achievements, philosophising and general appreciation of the human condition, you can loosen the grip on things you have come to hate and start taking some new ones. The arts never have to become your profession, but they will let you see yourself better.

← PreviousPage 5 of 16Next →