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

carnot theorem does not put an absolute limit , a carnot cycle can have any efficiency as long as you have reservoirs hot and cold enough ,

besides that if you could be more efficient than carnots cycle at two temperature you can spontaneously extract heat from a cold object and out it in a hot object without any input energy , this would mean you can have perpetual motion . we are not just going to bump a kardashev scale , were going to truly max out and go beyond.

fun fact the U S patent office has been bogged down by so many perpetual motion applications they have made it policy to outright reject such applications without a working model satisfactorily demonstrating it


It is not a carnot cycle. It will NOT be able to pump heat, it's not a reversible cycle (it's not even a single cycle, it's a series of open-ended heat and pressure transformations). And using a heat-pump will also not make it a perpetual motion. Heat pump can be used as a kind of heat-transformer here, so if you have a lot of low temperature air (but higher than your ambient temp), you could use heat pump to gather energy from that air and present a higher-temperature air for my engine (losing some small amount of heat in the process, but heat pump will reuse heat wasted in it's own electric engine).

It should achieve such efficiency with air heated to 150C and ambient temp of 20C. If you heat air so that it expands more than 2x, it will start to lose efficiency.

BUT - this is all theoretical, I work on simulation that will confirm if it works. It might not, I might have made some big error in thinking how it works, but I searched for 15 years on some way this should not work. I contacted two physics professors specializing in thermodynamics and they couldn't find a way this won't work, both said "Yeah, but to tell more, we need prototype or simulation".


Zig structs are "modules" in themselves, apart from c like struct fields , they can have local variables, structs and functions declared and used inside of them .

in fact files in zig are just structs !


yes but i think branch prediction essentialy makes them zero overhead


That's a different type of overhead than having unwind tables. With exceptions you wouldn't need a branch after each function call at all.


But a branch that is (almost) never taken has an overhead close to the overhead of a NOP instruction, which may be negligible on modern architectures.


The CPU can not remember an infinite number of branches. Also, many branches will increase code size. With exceptions the unwind tables and unwind code can be placed elsewhere and not take up valuable L1 cache.


> The CPU can not remember an infinite number of branches.

I suspect a modern CPU has a branch instruction saying "This branch will never be taken except in exceptions, so assume this branch is not taken". But I must admit I haven't seriously looked at assembly language for some time.

(EDIT: yes, modern CPUs including x86 and ARM allow the programmer/compiler to hint if a branch is expected to be taken).

> Also, many branches will increase code size.

I'd like to see some data on that. Of course branches take code size, but how much is that percentage-wise? I suspect not much.


You should take a look at the presentation I mentioned elsewhere in this thread. You also have to keep in mind that it's not only the branches that use space, but also the error handling code. Code which must be duplicated for every single call to a particular function.


Ok, thanks. But that code needs to be loaded into memory only if the branch takes place. Which, for exceptions, will be not often. The main assumption is: optimize for the common case, where exceptions are not the common case.


>You don't write kernels in Julia.

The package https://github.com/JuliaGPU/KernelAbstractions.jl was specifically designed so that julia can be compiled down to kernels.

Julia's is high level yes, but Julia's semantics allow it to be compiled down to machine code without a "runtime interpretter" . This is a core differentiating feature from Python. Julia can be used to write gpu kernels.


The bond energy is also mass . Energy is mass , If you had a nuclear reactor surrounded by gas and this setup ran a turbine which compressed a humungous spring and this whole setup was completely sealed and sits on a gigantic weighing scale. You run the nuclear reactor, the spring compresses gaining potential energy, waste heat goes into the gas molecules as kinetic energy. As the reactor progresses converting "mass to energy" does the weighing scale become lighter ?


Well, weighing scale doesn't measure mass, it measures weight. It's just scales' UI converts it to kg/lb for usability, instead of showing N it actually measures (weight is a force, and force is measured in newtons).


I made an account on alphaxiv , seemed interesting to tune into discussions and comments on papers I'm interested in. sadly the only active discussions are around LLM this and LLM that.


The alternative is not programming purely in the repl but to have an editor where you type out your code and from where you can send bits of text to the repl to run and get feedback. All major editors have plugins to do this.


This imo is a shortcoming of vim on modern systems, the action precedes the selection.

I would like to select first have a visual feedback of what I selected before taking action on it . Helix and kakuone have got this right .

I often find myself going to visual mode to emulate this.


I don't think it's fair to talk about "shortcomings" and "getting it right": it's a different approach and we must agree that personal preference will diverge.

Personally, I tend to use action-selection for small changes (1 to 3 objects), and selection-action for larger ones (as my brain, I've learned, becomes slower at counting above 3). So "delete 2 words" will be "2dw", but to delete the next 5 words I'll reach out for "v".


it's not "emulating", it's exactly what you describe. And it's just one additional "v" away, can't be shorter than that.


It's the same for selections, but motions are a little different. To use an example from above, d) is "up to" the next sentence (excludes the first character of the next sentence), while v)d moves the cursor onto that first character and so includes it when deleting.


As someone who started modal editing with Helix and then moved to NeoVim (LazyVim):

After a very short transitioning period (a week or so), I don't have this issue anymore (at all). Keeping coming back to visual mode is probably counterproductive for your transition. So maybe you should stop doing this for some time. Then you'll hopefully find yourself using the visual mode rarely.


> I often find myself going to visual mode to emulate this.

It's just an extra key press. And you can choose which visual mode you'd like!


I just want to put this hack here which enables the toy servos with a very high accuracy and repeatability

https://youtu.be/ECLrLupFW10?si=dQPSq-hjMTaVGuQS


That was the old one , the DE version lags only for the player with poor network ( cpu performance stutter of one player affect all players though )


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

Search: