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

> finally get some sanity back in webdev

Like nested <table>s and 1x1 transparent spacer GIFs?



Pour one out, RIP to a real one.

In the early 00's, I used the CDs for free internet access on vacation. There was a local dialup number ~wherever you were and it was plenty fine for email and browsing the web of the time, and as long as you cancelled within a month, it didn't cost a cent.


Sounds a lot like GreenArray GA144 (https://www.greenarraychips.com/home/documents/greg/GA144.ht...)! Sadly, without a bizarre and proprietary FORTH dialect to call its own, I fear the E1 will not have the market traction of its predecessor.


That was my first thought too. I really like the idea of interconnected nodes array. There's something biological, thinking in topology and neighbours diffusion that I find appealing.


One day someone will get it working...

Data transfer is slow and power hungry - it's obvious that putting a little bit of compute next to every bit of memory is the way to minimize data transfer distance.

The laws of physics can't be broken, yet people demand more and more performance, so eventually the difficulty of solving this issue will be worth solving.


That minimizes the data transfer distance from that bit of memory to that bit of compute. But it increases the distance between that bit of (memory and compute) and all the other bits of (memory and compute). If your problem is bigger than one bit of memory, such a configuration is probably a net loss, because of the increased data transfer distance between all the bits.

Your last paragraph... you're right that, sooner or later, something will have to give. There will be some scale such that, if you create clumps either larger or smaller than that scale, things will only get worse. (But that scale may be problem-dependent...) I agree that sooner or later we will have to do something about it.


We already do.

Cache hierarchies operate on the principle that the probability of a bit being operated on is inversely proportional to the time since it was last operated on.

Registers can be thought of in this context as just another cache, the memory closest to the compute units for the most frequent operations.

It's possible to have register-less machines (everything expressed as memory to memory operations) but it blows up the instruction word length, better to let the compiler do some of the thinking.


Indeed you can take this further and think of three address spaces:

- Visible register file. 4-6 bit address space, up to 2kb in size. Virtualized as hidden (hardware) registers. Single cycle access. Usually little or no access controls or fault handling, if it exists you can read/write it.

- Main memory, 32-64 bit address space. Virtualized as caches, main RAM and swap. Access may be as low as 5 cycles for L1d, hundreds for main RAM, up into millions if you hit the swap file. Straightforward layer of access controls: memory protection, segfault exceptions and so on.

- Far storage, URIs and so on. Variable-length address space, effectively infinite. Arbitrarily long access times, arbitrarily complex access controls and fallbacks.


So do both. Put a bunch of small processors on every DIMM.



Long ago I thought that, at least for very generic / task-agnostic operations such as wiping, moving, duplicating chunks of memory, a chip-on-dimm could be of use (but maybe this is already the case and I don't know about it)


And encryption, hashing. Hashing could be used for deduplication and caching.


Kinda like SSDs encryption ?


I don’t know… I was thinking these cores would be programmable.


Best of luck on your journey! I made the transition from Friendster to MySpace when a bunch of my top 10 Friendster friends were dead.

Anyhoo, this will be a tough climb for you. Ello captured a lot of what you are going for, at least for users who were willing to part with Google+. Vine still rules for short-form video, Dodgeball still wins for mobile-first, there's Meerkat and Justin.TV for streaming, SixDegrees is still at it, and (let's be honest) most of us are still on AIM. I hear good things about Path too, they have an inspiring CEO and a unique product. Niches are the future; there's even a startup trying to help Harvard nerds get laid. I wish you the best!


10/10. Would use this time machine.


Path was awesome!


It really was. It had a great UX, and was just a better experience.


Cool project! But one nitpick.

K&R C has no concept of THEN. That's a peculiarity of the ZIP source code, defined as a pure no-op:

    #define THEN
https://github.com/ChristopherDrum/pez/blob/main/zip/infocom...


Oh wow, thank you for the clarification. I completely didn't even consider to audit for that in the ZIP source (though the ALL CAPS maybe should have been my hint). I'll update the post with this and another small thing another player found.



Zildjian cymbals are not any more prone to breaking than other manufacturers'. Whether they sound good to you is another story. :) It's hard to make that judgment about a product line so big and varied anyway.

These days I'm playing Sabians, mostly AAX. Not out of brand loyalty, just cause they all sound pretty good for what I do (loud, fast rock). But I've had a handful of Zildjians that I really enjoyed (wish I still had the 24" A Ping Ride that I broke in high school), some Paistes, a Meinl here, a Byzance there...


Tuilet: a TUI for Toilet, the premier ANSI text generator, written in Rust. https://github.com/gamache/tuilet

Are you an IRC shitposter? Isn't it hard to experiment with Toilet/Figlet fonts and flags? Well _not anymore._ Presenting Tuilet: a front-end to Toilet written by us, for us.


Nothing, really. It's food-grade plastic and it will come out the other end.

Now, what happens if you seal high-pressure hydraulic oil systems with it? Let's find out! https://www.youtube.com/watch?v=D1RYVSmuOmc


What if it's chicle, does it differ?


It would be an achievement on itself to find true chicle, the vast majority of chewing gum worldwide is synthetic rubber.


There are several chicle gum companies out there. I forget the name, but I bought some. It comes in pellet form instead of sticks or bricks.

Edit: "Simply Gum" is the company I tried.


Why is the pressure gauge full of liquid? (Presumably water? but why / how?)

Quite the talker there :)

Edit: Got it Shog9, thanks!


Probably not water. Purpose is to dampen vibration, making the needle easier to read and possibly protecting the mechanism a bit. https://tameson.com/pages/liquid-filled-pressure-gauge


> Turns out sometimes you gotta use these "orphan" functions even though they logically belong to a certain type (in this case, why isn't tuple_size called like Tuple.size or something?)

tuple_size/1 is a guard, and guards are built-in. The compiler itself uses them. Unlike regular functions, you are allowed to use guards in a function head, like:

    def foo(my_tuple) when tuple_size(my_tuple) == 3 do ...
Official docs: https://hexdocs.pm/elixir/1.16.3/patterns-and-guards.html#gu...


Ahh, that's it. I said in a sibling comment that I had no idea why it was like that. But reading this made me realize that at one point I did know why! Completely forgot this bit of knowledge in the last year of not using the language.


Oh yeah, FWIW a "built-in" function or macro just means it's a part of the Kernel module, which is automatically required+imported in Elixir modules. So it's not orphaned, it's just in the one special module that gets brought in by default.


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

Search: