HNHacker News
TopNewBestAskShowJobs

convolvatron

3,920 karma · joined August 29, 2015

really pretty old at this point
submissionscomments
convolvatron··on Building my own network stack
I used to implement these things professionally and to write an IP + TCP + HTTP is certainly less than a year with experience. would I ship that and expect people to use it without a lot of burnin? no..but to say that its a lifetime of work is off by at least a factor of 10.
convolvatron··on Building my own network stack
I did this for a couple years at University of Washington. We did IP, TCP, RIP, forwarding and a couple other things. they weren't compatible with the actual RFCs- they were kind of stripped down to the bare essence. I wrote the sample and the tests, and then I ripped out the guts and presented them with a shell, went over the protocol in lecture and provided a kind of spec for them to implement.

the parts I was most proud of was (a) your score was directly related to the number of tests passing, so you know in advance what your score would be and could decide how much effort. (b) every assignment came with a relevant visualization that showed things like the routing table as a directed graph, or the TCP sequence diagram. I was available in the lab for a good 2-3 hours a day on weekdays to answer questions.

I think some of the students got a pretty good picture of how things worked, but the overwhelming opinion was that it was just too much work. a lot of the students just copied off each other. we also had quarters, so ...

convolvatron··on Building my own network stack
I used to do this work in the IETF. take draft specs and write a C implementation and compare notes with the spec authors and other implementations. sometimes I would find a bug later on and see the same bug in multiple vendors implementations, and I would send them mail describing the issue and the fix.

its been very sad for me to see standardization get ignored, and the implementation become the point of reference. for a long time the only way to implement QUIC was to try to extract it from the Chromium code base - a pointless waste of time. but they spec for years was a couple of pages of meeting notes and a sample compression dictionary.

if we continue down this road we are impeding our own ability to evolve. if compatibility is defined by the implementation then were left with nasty balls of antiquated source that we carefully move around and try to plumb into our new environments, but no one really understands.

at the core, things like IP are very straightforward. we can and should specify the semantics of every bit, and have a wide variety of other implementations to test against. this provides a path for us to build new techniques and environments that are still useful in the world that exists today.

convolvatron··on Hacking IKEA Furniture
there's an place in Seattle, WA that does this called shelf.me for what looks like zero-hardware self designs.

my shop is next to a cabinet maker who does most of is work in that same birch hard-ply. he's got the full sheet router, but he only really uses it for special projects. its mostly just the big table saw. he's got a subcontractor that just does drawers. most cities have several of his kind of shop, and while they don't have a design website they generally work from napkins. I think that birch ply has gotten really expensive in the last 5 years though.

convolvatron··on Hacking IKEA Furniture
I have a few of those butcher block tops because I scaled down my shop, but I just can't throw them away. one was purchased 50+ years ago and my family used it as a breakfast table. they make excellent work benches and tables. they're robust and attractive. really all you need is a belt sander and some food safe mineral oil and you can completely resurface them if they get funky. I usually just weld a piece of 1/4" angle to a square plate for legs and weld a nut at the bottom for a threaded foot, but you can really do anything. it absolutely lovely to have a clean butcher block top for food preparation.
convolvatron··on I accidentally turned LLM memory into program analysis
if you aren't familiar with the literature, then good on you for getting the right insight. provenance and support are staples of the datalog world.

the other really handy thing here is that it very straightforward to differentiate datalog rule sets. so if you change a fact, you can run a smaller solution that tells you which consequences are affected by the change. under the assumption that the evaluator is pure, we don't need to keep the support graph as you suggest, we can just generate the deltas from evolution of the differentiated form.

detailed provenance can be of real application utility, but if you just care about the accounting, keeping track of the number of supports for each fact is sufficient.

another model which is fun is to make the version of the database (monotonic time) an explicit field in your base facts, assuming you can afford to keep the whole history. a deletion then is just a negative-support, and you can ask questions about the state of the world at any time.

convolvatron··on Samsung's Processing-in-Memory (PIM)
you're absolutely correct that pim without a real discussion about how that works in a broader communications context is kind of useless.

what I find strange is the adoption of a standard synchronous dram interface. that's a horrible left over piece of architecture that severely constrains the applicability of this device. control flow on the dram side can't initiate any transactions on its own, or respond after work has been done - its like usb, except with a hard limit on the response.

that severely limits the utility of the in-memory processors to doing things like encryption and compression - but even then those impose delays that effect the consistency model across that interface.

convolvatron··on EPA says power for data centers can sidestep pollution laws
burning methane does produce NO and NO2 (the N2 being oxidized at temperature). that does come down with precipitation and collect in bodies of water. over time as evaporation removes the water and its replenished with acidic rain, the concentration increases arbitrarily high.

idk how much NOx a GW or two of low efficiency (20%) gas turbine units produces, how wide that plume might be, and what the envionmental impact might be. but if we employed a few people that practice doing this kind of I'm sure they could tell us with high confidence.

convolvatron··on EPA says power for data centers can sidestep pollution laws
just type 'single cycle gas plant efficiency and emissions vs combined cycle' into google
convolvatron··on EPA says power for data centers can sidestep pollution laws
apparently you're very excited about this partisan victory. at some point we do need to actually think about how to effectively manage the country. there should be a back and forth about the appropriate degree of environmental regulation since it is a tradeoff between economic constraint and qualify of life.

I grew up in the 70s, and my father was a Nixon supporting environmental engineer. At the time the amount of nitrogen and sulfur being emitted into the air in the northeast was turning surface water into acid. a ph of 6 was getting quite common, 4 wasn't unusual, and if you were in a bad spot it was approaching 1. Not only would that water not support life, or be unsafe to drink, but it was actually unsafe to touch.

So if we were reasonable people we would look at the economic activity and the upside of burning these gasses, and add up the numbers and based on past experience make a very reasonable estimate of the impact, and make a decision.

but we fired all those people, and we're very much not interested in having this discussion. I fail to see how that's a win for anyone except the polluter.

convolvatron··on EPA says power for data centers can sidestep pollution laws
its very much using the letter to violate the spirit - since the pollution is emitted regardless of whether the plant is grid-connected. these datacenter plants don't run as clean or as efficient as proper power plants, but the primary acid rain contributor is no2. how much are we really talking about?
convolvatron··on Corporate political donations shatter record at $646M so far for US midterms
I think the idea that we should also be able to hide our large donations started here, but got reenforced by later decisions. ok, it's your money, you get to send it to whoever you like. but you shouldn't be able to hide. companies shouldn't act as cover for their owners, and if a candidate is largely propped up by the billionaire class then shouldn't voters at least be aware? shouldn't we be allowed to connect the dots and say 'wow, so you're removing protection for these wetlands because this guy threw you a couple million to get elected'?
convolvatron··on The Tariff Cost: analysis of the costs to Americans from new tariffs on Canada
at this point one can't really assume it was about picking a tariff fight with Canada any more than the Gaza peace plan was about bringing peace to Gaza. guy is just a shit-thrower. that's his one move, throw some shit and see what he can get out of it. walk into a restaurant and claim that he's been treated so badly they're going to have to sign the whole thing over to him, and settle for 10 free meals and a pack of steaks from the walk-in.
convolvatron··on Show HN: I wrote a BASIC interpreter that boots on UEFI machines
UEFI supports device discovery, TCP/HTTP, transfers to raw disks, filesystems, memory management and a bunch of other facilities. while it lacks a general process model and multitasking, I'm not sure its really correct to call UEFI programs bare metal.
convolvatron··on Oceans hit highest temperature on record
does it stop? the more co2 the more heat is retained. so the relation between co2 and temperature is an integral over time. were we suddenly to stop burning things how far does it go up before infrared emissions equilibrate with the larger thermal flux? that and the lower albedo and other knockoff effects may continue to make things worse even if we were to stop.
convolvatron··on Felony charges for citizen deleting phone data at US Border
and stupid me here thinking compelled speech was a clear line in the sand
convolvatron··on Felony charges for citizen deleting phone data at US Border
this is a nonsense statement. yes, unfortunately format logic is wholly inadequate to express what we need in the creation and application of laws. so yes, fuzzy issues about the intent of the law and the intent of the accused some into play, along with a healthy schmear of cultural norms.

but to say that the laws and precedence aren't largely concerned with building some semantic context, and that lawyers don't build chains of reasoning in that framework to prophet their positions is absolute nonsense.

you're positing a world where a judge just rules entirely on feels, and I think most judges would be quite offended by that notion.

convolvatron··on Felony charges for citizen deleting phone data at US Border
are we seriously approaching a point where its quasi-illegal to not participate in the socials?
convolvatron··on c100
why does it come with attached storage unit for my calipers?
convolvatron··on AI companies destroy physical books – let's scan rare books before it's too late
no matter how you look at it, this is a systemic failure. if as a society we're going to mass scan our history then we should be building an archive for the future. not using availability of information as a moat. not doing it over and over again and throwing it away because of some odd rules to protect someones market position. not using it as an excuse to put paywalls around 80 year old field guides to field rodents in western massachusetts. not taking texts that had limited value and mining them for turns of phrase to be piled up into a useless grey goo.
convolvatron··on Asus Bike Booster
not really interested in this weird thing, but does anyone know what kind of bike is in the top picture? steel frame, machined brake calipers, really looks very attractive and light for a commuter.
convolvatron··on Europe's scorched landscapes seen from space after summer heatwaves
well, we managed to construct a narrative where everyone could only marginally change its habits. heat pumps, electric cars, solar panels, carbon taxes. things would have remained unchanged at the high level.

but that was still way too much to ask. I'm afraid that if you insist on reducing the solution space to just 'it magically goes away and no one has to think about it', even the mighty AI might struggle. why don't fire up Claude and ask it?

convolvatron··on AI Can Now Design Functional Viruses. Should We Worry?
its not really a question of will, its a question of difficulty. if it were easy and cheap to build EUV processes, no amount of complaining and posturing would prevent someone from reproducing that.
convolvatron··on What garbage collection actually costs
this one may actually be solvable, but I kinda timed out on it. okay, so I'm doing distributed systems, and my primary abstraction is a large stream that I'm using to connect components across machines. its kind of mandatory that I implement back pressure for these streams, because awful things can happen if I don't.

ok, I have a large local container of records that I want to stream over a back pressured channel. now we clearly have a problem that the iterator needs to be long lived, and I don't really want to serialize all accesses to the collection for a streaming operation that may never terminate.

for this particular domain I don't actually care about serializability of the iterators view of the collection. I clearly don't want the container to be left in an erroneous or inconsistent state, but otherwise anything goes.

all the iterators for all the standard rust containers have lifetimes bounded by the container (batch), and because they all represent internal state, they all have to be mutable. and in this case they need to be async also.

I don't think there is an 'idiomatic' way to represent that access pattern, and it kind of necessitates writing ones own container. if there is a good answer to this I'd be curious to hear it, but I consider this one of the major personal failure modes for rust, which is 'oh, yeah, well, in order to figure that out to need to understand [long list of compiler instristic property types and runtime behaviour], which isn't super pragmatic.

since I'm here, I've already wasted words here talking about the dismal async situation, but I think more important to me as a systems programmer is the lifetime abstraction. It think its great to put a name to it and try to put rules around lifetimes - these are traditionally implicit things that we reason about _outside the program text_, and that's a real bother. however everything I do is state management, and the lifetimes of those states (files, connections, higher level sessions) don't directly correspond to the lexical calling stack. the only tools that rust gives me is Arc, which some with a whole set of busy caveats, or trying to thread several lifetimes through the entire call path - a road that I've been down and abandoned for readability and maintenance.

now you can argue that rust would prefer that I use a thread per object, and while that might be workable, that a pretty strong and side-effecting constraint to apply to all of the programs in my domain.

anyways I ended up keeping the last key issued, and for every new record, paying the logn cost to get to approximately where I was perviously. which brings up another general complaint. as imperfect as it is, sometimes I want to just stand sometime up and look at it. I don't want to spend 3 weeks coming up with sharing policies and structures that work well with rust. I want to look at it and measure it and count its defects in my head and decide what to do next. in rust I kind of have to decide up front what I'm building, and while that might be an excellent thing to encourage in some contexts, I don't think it is in all contexts.

convolvatron··on Time to Move On: Querying Without Nulls and Bags
this is an unfortunate take. btrees do not imply bags. in fact extreme bagginess can be a problem when all the keys in your page are the same. lets take this from the point of view of the user, we can certainly understand that some domain models really want to be set like, and other ones baggy.

if the base domain is sets we do get a lot of nice constraints, particularly with semantics around projections and if we want to support bags, its trivial to add a counter for the number of identical records as an additional column.

if we want to support sets in bag-land, we could imagine an extension which support 'row unique' on insertion. or we can use a 'unique results' post-filter. so there are paths, but its a lot less clear in a SQL context.

you insist that your data demands bags. I really prefer to work in sets and bagginess is always just a source of crappy errors for me. shouldn't we really support usable models for both regardless of the underlying storage?

convolvatron··on What garbage collection actually costs
I've had that moment in Rust too, where there was no composition that effected what I wanted, because supporting that model would have meant a very different backing data structure. However in that case I actually didn't care about the kind of correctness problem it was saving me from.

I've also had the converse experience, where I know full well that the structure I'm trying to impose is correct and quite efficient, but its part of the space that rust doesn't cover.

Rust is great. It's a noble attempt to bring a degree of correctness to a problem space that suffers from a great deal of slop. But to pretend that the model is complete, or that the design decisions that were made are perfect in every way, is just wrong. That the rust compiler and runtime can't support my construct isn't really an absolute value judgement on that idea in the first place. The rust compiler isn't really an oracle that tells you whether something is right or not in an arbitrary value system.

convolvatron··on Rapid warming may tip AMOC at 2°C, slower warming may avert collapse
focussing on the messaging is a particularly weak way to steer the conversation away from the real issue. just as in your story, that glacier may take an additional decade or two to disappear completely, but it will surely be gone.

we can't seriously believe that if we just adjusted the story a little bit this way or that, that the message would actually click and people would begin to try to minimize the tragic cost to future generations.

this is happening now. blaming the messenger for not being appropriately fawning, or curt, or amusing is kind of irrelevant at this point. maybe we can learn to do a better job next time there is an issue that's going to radically effect everyones lives for the foreseeable future.

convolvatron··on License plate reader searches should require a warrant
a single person can't set up a fine-grained nationwide network of cameras with a unified search interface that lets one track everyones daily movements.
convolvatron··on Woman pulled over twice after Flock-linked software connected her to homicide
no one, including me, actually believes in democracy. its just an eternal fight between the libertarian and the authoritarian. pick your side and fight as you can. thanks for disabusing me of my illusions, you know me better than I know myself.

you can mock my beliefs, you can try to convince how misguided they are, but its really outside the minimum rules of discourse to tell me what I actually believe

convolvatron··on Woman Pulled over at Gunpoint Twice After Flock Camera Glitch
that's strictly not true. at least one person doesn't believe in absolute presidential power. a lot of us believe that the president should really be an administrative head, and very limited ability to effect policy directly at all.
← PreviousPage 3 of 34Next →