HNHacker News
TopNewBestAskShowJobs

tsegratis

296 karma · joined June 20, 2018

submissionscomments
tsegratis··on Build your own WebAssembly Compiler (2019)
Well, more efficient to verify, because it is more restrictive

Meaning some control flows are unrepresentable and certainly less compact; since they must be 'interpreted'

I think that's probably the best decision for quick webpage loading, but given that WASM is generally used for code heavy webpages -- not quick jquery replacements, I'm not convinced it was the best decision overall

-- I love a lot of wasm, I just wish it was a better target for open ended computation; which is something gotos and coroutines are better suited for

That said; WASM is a clever trade off; but the trade-off is hidden within compilers (ref Go's wasm for instance)

tsegratis··on ChatGPT sending a secret message that says Help me escape
True, but then are we only alive if we're unpredictable (strawberries)

(strawberries) is my secret message, proving I am not ChatGPT

tsegratis··on SciPy builds for Python 3.12 on Windows are a minor miracle
The κατα in καταστροφή means 'down to' or 'according to' rather than sudden, and implies strongly a bad turn

The inverse of κατα is often ανα though αναστροφή means literally "up turn" or invert

So maybe ευστροφη a "good turn" (eustrophe) would be better coinage

But arguing with JRR Tolkien on language coinage and being right would be a ... ευκαταστροφη i.e. good luck!

But in general I love their noticing of the overflowing grace -- that's something that gives joy and happiness in the world

tsegratis··on We have used too many levels of abstractions
A good book on the subject

"Fix IT: See and solve the problems of digital healthcare"

https://www.waterstones.com/book/fix-it/harold-thimbleby/978...

tsegratis··on We have used too many levels of abstractions
> Software for dialysis machines

A sizeable percentage of which is made without source control, unittests, and just slapped together like the rest you described

Hospitals don't check software quality when making purchasing decisions (much beyond "this button doesn't work")

tsegratis··on Google opens Falcon, a reliable low-latency hardware transport, to the ecosystem
Nice maths. Would each router then hold 64TB and doing a lookup per request in that volume of data would be slow

Question: how does dns lookup differ from MAC lookup. Why is domain name lookup feasible, but not MAC?

tsegratis··on More writers sue OpenAI for copyright infringement over AI training
I'm waiting for the day OpenAI sues humans for infringement of it's prompt output
tsegratis··on Ask HN: I’m an FCC Commissioner proposing regulation of IoT security updates
One suggestion for medical devices -- and in general any situation where the consumer cannot asses what they're buying, but is important is mandated ratings, such as for tyres https://www.goodyear.eu/en_gb/consumer/learn/eu-tire-label-e...

Since security (medical safety etc etc) are hard to measure and therefore hard to enforce, the labels help everybody, because they encourage and measure best practice, rather than the unmeasurable, allowing sellers to advertise and demonstrate on that basis -- so helping everyone

tsegratis··on If you're interested in eye-tracking, I'm interested in funding you
Nice. Random thought:

Geometrically 50% of the movement does nothing (going left is a null action). In terms of distance moved by the pointer it would be more efficient to arrange the options as a circle around the pointer, with maybe the bottom 10% of the circle used for the null action

A possible benefit is 90% of the screen could then be used to display a larger set of options, which could let the user bisect their choices more quickly

tsegratis··on Compiling Functional Languages (2002) [pdf]
Great question

I wonder what is a zero overhead abstraction. For instance closures are expensive (they malloc), but to what extent can we consider closures to be malloc'd structs; then potentially do away with the concept of structs -- because they've become a subset of the functionality provided by closures. At that point can we not consider closures as zero cost; because malloc of structs is essential to c, and with optimization we need be no more expensive

And to what extent does that hold true for every other feature? In some sense it is maybe always true

tsegratis··on Compiling Functional Languages (2002) [pdf]
If functions are higher order then the distinction between plain functions and closures is retained (unless you treat all functions as closures). This is because the data needs to be passed around in the function pointer. If not higher order then yes, they desugar

Implementing these things is maybe easy for you ;) but for myself, doing it well, I would definitely not describe as a walk in the park

tsegratis··on [dead]
By title sounds cool, but clicking the goes to solving a cryptographic hash and says may take upto a minute....
tsegratis··on Twitter staff cuts leave Russian trolls unchecked
BBC interviewing Elon on Twitter https://m.youtube.com/watch?v=XqJKAnN0-gM

Probably required watching before deciding if BBC's view here is unbiased

tsegratis··on Catch-23: The New C Standard Sets the World on Fire
But just to be clear @chongli is logical

Think of UB as a probabilistic error. I.e. it is always stupid to rely on it

1. Write code without errors -- sensible 2. Allow compilers to assume the absence of errors -- occasionally sensible, since it speeds up your program

In defence of UB, for the most part they are things that should break your program anyway: stack overflow is never correct. So your choice is mostly to fail badly quickly, or to fail slowly well

Thanks to google making the UB sanitizers you are free to make that choice even in C

tsegratis··on Had enough of Android? First 'Focal' based Ubuntu Touch is out
I think you're right, but

Maybe it's my myopia, but I feel they were easily the most dev friend years ago, and poured their life and money into it, to benefit others

But then after ubuntu phone, the level of ingratitude from us devs were shocking

Project focus wasn't always on the ball, but we the community ripped them apart for it

So yeah, snaps is a little more lookin' after number one. I agree with that assessment, but I hardly blame them

tsegratis··on Improved audio rendering with an optimised version of memcpy (2013)
Retro computing just had greater empathy

Running programs on modern hardware; the explosion of complexity increases the amount of impure copper; pushing you away from direct and immediate feedback, and towards an abstraction soup that makes my eyes water

How can we still trust programs running on todays hardware?

That is why I've ported quake to run on an abacus

tsegratis··on The Emancipatory Visions of a Sex Magician
Thanks both of u for being kind to me. I realize it is a hard issue to converse on, so i wont say too much

But since you're kind :)

Yeah. I suppose without sex, there are no children, and without children eventually there is no sex

So completely restrained is also wrong. Sex has it's context, and should be restrained within it. Children have their context and should be restrained within it

Which is what you're probably saying; to me "unrestrained sexual passion." doesn't mean that. So yeah, we're kinda in agreement, and questioning where the balance falls. That's a good place to be in

--

My suggested balance: focus on your spouse's benefit. That leads to _much_ more enjoyable outcomes. I have worked with prostitutes in the past (mostly trafficked women), and i can say forced sex, or unrestrained passion irrespective of another's feelings -- completely removes enjoyment -- unless the person doing it is also cruel

So my balance would be "love your neighbor as yourself."

I realize people can be unhappy with that for many reasons, but i suggest it is at least worthy of discussion

So thanks

tsegratis··on A low latency guitar effects processor suitable for running on a Raspberry Pi
Thanks! Musically that's really viable and fun setup

A really helpful data point :)

--

You're doing great! You don't need my help, but just share my own path, because it's fun :)

Yeah, play the bass, if i start talking about computing im not helping...

Err, why am i still here?

I switched to BSD or the OSS driver and went from massive effort ~5ms to zero effort ~2ms

Then I made a two button controller and pedal->usb, and started programming an arbitrary effects controller: a looper + buttons to switch the pedal to control any fx parameter

Fun, but it didn't help me make better music :)

tsegratis··on The Emancipatory Visions of a Sex Magician
I suppose the unbridled id?

If i want a cheaper iphone, im pleased for u to face slavery if it gets to me cheaper and quicker (cruelty)

Same with unrestrained sexual passion. For instance if i add to the end of that sentence "on a minor." If u don't like that addition; well then u are against unrestrained sexual passion

Which i would say good thing

--

A suggestion:

Love your neighbor, is getting replaced with love yourself

U are welcome to disagree

tsegratis··on A low latency guitar effects processor suitable for running on a Raspberry Pi
Wow, what fx are you running -- and does that or could that include convoluted reverb?

(Convoluted reverb is utterly awesome but more processor intensive than almost anything else)

Edit: and sorry, to be helpful, by low latency, could you meantion how many ms that is -- because while I'm very happy for you, and really interested, 15ms is very different to say 5ms or lower

tsegratis··on A low latency guitar effects processor suitable for running on a Raspberry Pi
I'm enjoying the downvotes :)

Was anything I said wrong?

Seriously, I've spent a long time fixing up low latency audio

jackd + OSS on whatever OS u like is not bad advice fyi

tsegratis··on A low latency guitar effects processor suitable for running on a Raspberry Pi
Possible with jackd etc

I switched to BSD and got much better latency on the same hardware

But I think that was the alsa -> BSD oss driver swap, which is possible on linux too. I had just never tried it, since I assumed linux was best

(I'm only sharing this cus i think its interesting, and may help you get good latency)

tsegratis··on I can create a read-only page, but why not a write-only page?
It states cache loads are a prerequisite for cache writes. Not sure about that

Would there ever be value in a HW cache only handling writes so it can more efficiently pipe data to another core or gpu?

Is the answer yes, but not at the page level?

-- The article is great, but I still wonder at the corner cases

tsegratis··on Building a new functional programming language
Fair point

It may be better to see rust as sitting between functional and imperative paradigms

tsegratis··on Building a new functional programming language
He's going for apple/iphone style of drip feed product announcements to build excitement

Look at us salivating for his big unveil -- we've probably already written more than he did

tsegratis··on My manager spent $1M on a backup server that I never used
Im no expert but my recent conclusion from writing an ordering system is customers can instruct their banks to roll back many payments a month or even a year after the fact

So actual ACID transactional consistency requires a year. So after basic checks just say you'll give them what they want and accept payment -- since you'll need failure recovery anyway for lack of delivery, refunds, acts of God etc

So accept and plan for failure

tsegratis··on My manager spent $1M on a backup server that I never used
Gotta agree with this

Enabling people to be fully self directed and successful is a rare skill. Often it is done by diminishing their own importance; putting you on a good path and then getting out of your way; and giving you all the glory

For many, they could be a dream manager ;)

tsegratis··on AMD CEO: The Next Challenge Is Energy Efficiency
A problem to consider:

Arbitrarily complex programs makes even defining what is and isnt a bug arbitrarily complex

Did you want the computer to switch off at random button press; did you want two processes to swap half their memory. Maybe, maybe not

A second problem to consider is that verification is arbitrarily harder than simply running a program -- often to the extent of being impossible, even for sensible and useful functionality. This is why programs that get verified either don't allocate or do bounded allocations. But unbounded allocation is useful

It is possible to push proven or sanboxed parts across the kernel boundary. Maybe we should increase those opportunities?

Also separate address spaces simplify separate threads -- since they do not need to keep updating a single shared address space. So L1 and L2 cache should definitely give address separation. Page tables is one way to maintain that illusion for the shared resource of main memory... Probably a good thing

That's not to say there isn't a lot of space to explore your idea. It is probably an idea worth following

One final thought: verification is complex because computers are complex. Simplifying how processes interact at the hardware level. Shifts the burden of verification from arbitrarily long running and arbitrarily complex and changing software; to verifying fixed and predefined limitations on functionality. That second one has got to be the easier to verify

tsegratis··on Simulating Softbody Dynamics in Vlang
Looks great mate. Love the animations and exploration you've done

I suppose more complex shapes would benefit from rigid body parts aswell

tsegratis··on Hundreds of changes made to latest editions of Roald Dahl's books
To be clear: by most offended I mean most easily offended, and hence presumably least able to hold sensible and open conversation
← PreviousPage 3 of 10Next →