News for hackers. Stuff that matters.

deltasepsilon

Re:Logical/semantical inverse of the definition of synchronicity? on Wednesday December 04, 2024 @09:48PM (#42324304)
I would say another one. A system does not exhibit synchronicity if: all highly improbable coincidences between events are causally linked.

Although, this question kinda looks like a homework question in a philosophy of logic class.

You sure as heck make a whole lotta apps. One of these days you'll strike gold.

I think you'll have better luck with an app that allows depraved rich people connect with desperate poor people in order to have them do their bidding. Easier to game-ify as well.

For the confused, this is sarcasm, or as the kids say these days, based.

More concrete advice would be to spend less time on tiktok and more time figuring out what you genuinely need, as it's easier to motivate yourself towards finding a comprehensive solution to it, as opposed to your present scheme of random, half-baked ideas.

FWIW, your ability to self-reflect makes me excited for your future. There is nothing to "fix" with respect to self-esteem and confidence. Just observe those thoughts as they arise and laugh at them. We all are novices. We just happen to be at different stages of our own personal development.

"Young man, in mathematics you don't understand things. You just get used to them." —John von Neumann[1]

[1] https://math.stackexchange.com/questions/11267/what-are-some...

You are putting to much emphasis in what you believe to be your intelligence.

If you enjoy something, pursue it. There are some caveats, however. You have to get out of your own way. If you want to believe you can't do it, congratulations you have achieved your goal. If you expect everything to be below the cusp of hardship, sorry but it won't be that way. You have to allow yourself to wallow in your own ignorance and accept it. This, however, has to be WITHIN REASON. Too much of this and you will burn out. Sometimes the program you may be in may be beyond reasonable effort on your part. In this case, you need to find another way of learning that is more tuned to your pace.

In short though, you have incoherent goals. You want to do research yet failing that you want something high-paying. From my perspective it's hard to take you seriously. If you're unserious about this then I can't imagine you being particularly serious about your own development. Let's be reasonable here. You say, for example, "I'm not even looking for [...] people to tell me that I am smart enough [...]." GET. OVER. YOURSELF.

You seem to be lacking confidence. Do you think about OS concepts? Do you use whatever devices you use and say, "Hey, I think this could be better." Do you doodle ideas about how they could work and behave to improve your productivity? Great, you are in the right program. In time, you will learn tools, concepts, and theories to make your ideas real. If you're not curious or wondering about this already then find another major aligned with something you're naturally curious about. That said, sometimes the academic process will beat any love you had for the subject out of you.

If you're competent and have an above average amount of hustle, you can be successful at anything in a stable, modern, Western democracy... for now.

Re:Everything We Can't Describe in Music on Wednesday April 17, 2024 @05:29PM (#40070244)
This story was not submitted by tintinnabula.

I'm scandalized. /s

Re:Ask HN: Looking for a Talk on Software Optimization on Friday April 05, 2024 @09:45PM (#39949297)
Woah, I can't believe it, I've found the discussion that linked the thing I was looking for. [1] It's called Coz, the causal profiler [2]. I've submitted this talk again, because I think it's super interesting.

[1] https://news.ycombinator.com/item?id=36366179

[2] https://www.youtube.com/watch?v=r-TLSBdHe1A

Re:Ask HN: Looking for a Talk on Software Optimization on Friday April 05, 2024 @08:58PM (#39949043)
Thank you for your suggestion, but no.

This wasn't explored recently. It's been a year at least since this was discussed. The work comes from an academic researcher in a CS or Engineering department. I'm interested because it presents a much higher-level view of optimization beyond micro-optimization where people worry about such things as cache effects and such, which would be bound to micro-architectural implementation choices.

Ask HN: Looking for a Talk on Software Optimization

There was some academic research mentioned, I don't know exactly when, on HN related to software optimization. I can't seem to track down the source and need some help. From what I can remember, the gist is this:- How do you know your optimization is useful?- It could be fragile, dependent on compilers, etc.- Modelling in this research was done by modifying a concept of time. Something like...

( Read More... | 3 comments | on HN )
Re:A writer fabricated a series of stories for Atlas Obscura on Monday January 29, 2024 @04:58PM (#39183294)
An introduction to my favourite thinker on such things [1].

[1] Umberto Eco takes on big lies and the human compulsion to hate, The Philadelphia Enquirer, Nov. 10, 2011. https://archive.is/sTIuk

Having watched the video, all I can think about is this [1], Soul Limbo by Booker T. and the M.G.'s. Times were certainly better once upon a time.

[1] https://www.youtube.com/watch?v=GWHFa2848uM

I posted about a book that was recently published about categorical computability theory [1]. The author has a draft of the book available on the arXiv, which is what this submission is.

As I said in my previous submission, I think this material is useful as a concrete, and from basic principles, introduction to category theory and its application to computation.

[1] https://news.ycombinator.com/item?id=37996607

Re:What do we mean by "the foundations of mathematics"? on Wednesday November 01, 2023 @09:48PM (#38107972)
Okay, but where do the definitions come from and what do they refer to?

If you don't care, fine. You simply are only concerned with the utility of this so called "mathematics". But at some point, and with some sophistication, you get bothered about how well it all works and how some surprising connections are made that seem all too natural.

Then you end up writing an essay like Wigner. [1]

I write this to say, no wonder people are bothered about a "foundations". Whether it bothers you or not is immaterial, but you can understand why people get bothered.

[1] https://en.wikipedia.org/wiki/The_Unreasonable_Effectiveness...

Re:What do we mean by "the foundations of mathematics"? on Wednesday November 01, 2023 @09:41PM (#38107907)
I believe the parent was referring to Girard's paradox [1], but it's been a while and I'm not a specialist in this area.

[1] https://en.wikipedia.org/wiki/System_U#Girard's_paradox

Re:What do we mean by "the foundations of mathematics"? on Wednesday November 01, 2023 @09:30PM (#38107822)
Thanks for your response. I'm not very familiar with reasoning in modal logic so I'm finding it hard to get an intuition for your `^` operator. Yes, it does seem like some kind of generalized provability. Does `a^b` mean `a` is provable in all worlds in which `b` is valid, i.e. taken as an axiom in the underlying proof theory, or something like that?

This is very interesting, but unfortunately I have more mundane things to get to. Hopefully I'll find some time to play with your axioms and relearn whatever modal logic I once knew.

Re:What do we mean by "the foundations of mathematics"? on Wednesday November 01, 2023 @06:52PM (#38106499)
I'm attempting to understand you, so:

Are you saying that Löb's axiom, which states that the provability of "the provability of p implies p" implies the provability of p, necessarily prejudices some implicit assumption of consistency to the meta-language?

How so, and/or, what are the axioms, or derived properties, of this new notion of provability you have uncovered?

Are you saying the hardware actually has encode on die but was "fused" off?

If so, Raspberry Pi has an organizational culture of outright lying, as opposed to simply speaking plainly. I know this is not Eben Upton speaking, but I've found him many times in the past being either evasive with the truth, or simply lying. It's one thing to not step of the toes of partners, or to not Osborne a product by suggesting a successor is nearing, but to be outright dishonest. Yuck.

This is very, very disappointing.

Re:WebSDR – internet connected Software-Defined Radios on Thursday October 26, 2023 @10:39PM (#38034076)
For those interested in SDR, there was recently a discussion here on signals identification [1], and some months ago a discussion of NXP's new LA9310 ADC chip for radio applications [2]:

[1] https://news.ycombinator.com/item?id=37869534

[2] https://news.ycombinator.com/item?id=35325165

The above post is a link to a recently released book on Amazon.

The book introduces a diagrammatic approach to the concept of a computer program and in so doing provides a concrete, pictorial view towards of a type of computational category. This, I feel, is useful to readers of HN because it provides an accessible path to category theory by its application to computation, something programmers implicitly understand.

From a cursory glance at the sample, the book seems very accessible for those with an undergraduate computing background. I would go as far as to say that if you are a bright, determined high-schooler with an interest in programming, you should be able to make some headway into the book.

The author's website has more details [1] and includes a link to a talk of his on related matters at The New York City Category Theory Seminar done earlier this year.

[1] https://dusko.org

Re: on Monday September 11, 2023 @03:24PM (#37472425)
Tim Sweeney's session begins 9 hours and 2 minutes into the linked video. This event occurred at ICFP 2023 (International Conference on Functional Programming).

For some reason HN removes the end of the submitted URL which automatically takes you to the relevant location. Here is the URL again:

https://www.youtube.com/watch?v=zPwKixFEinc#t=9h2m

Thanks so much for sharing this. I'd never read it before. It's sad that his advice predates my existence yet here we are still unwilling to listen.

> The design of a program and the design of its specification must be undertaken in parallel [...] I wish I had followed this advice in 1963; I wish we all would follow it today.

sigh

Re:The Cerberus C semantics [pdf] on Saturday May 13, 2023 @10:37PM (#35934860)
> nobody is ever going to use a language with a semantic but no implementation

I appreciate what you're saying, however, hear me out. Suppose we had a language with a defined semantics and a useable implementation. We could use that language to implement, say Rust, and in so doing have a semantics for Rust, a semantics defined by its implementation. The point is, to be principled, we have to start somewhere. Make that language basic so that we are capable of providing a semantics. Now, granted, the "semantics" we generate for Rust in doing so will be necessarily pessimistic, i.e. overly determined. But then one could develop tooling to "prune" the implementation defined semantics somehow towards an idealized semantics. I don't think anyone has seriously pursued this avenue of thought.

Also, I must add, I appreciate your thoughtful elision from my quote. I need to stop getting worked up. But truly, software feels like it's perpetually in the dark ages. We have such incredible compute power thanks to the tireless effort of hardware engineers, and still we're programming with the equivalent of "stone knives and bear skins".

Re:The Cerberus C semantics [pdf] on Friday May 12, 2023 @10:49PM (#35925020)
I think the importance of this work is best illustrated by a simple example [1]. If that link doesn't work, go to https://cerberus.cl.cam.ac.uk/ select File->Popl 2019 and pick the second example (basic_local_yx) and run the sim (hit forward). The experimental data is interesting, specifically that from CompCert. This project allows work towards a certified optimizing compiler, assuming you can decide on a semantics.

Also, as I said on this item [2], Rust is no panacea. It's hard to argue this, since the overwhelming majority of programmers on HN are well and truly mentally oblivious due to poor education, but if your programming language does not have a semantics you cannot even begin to ask if your code is correct because the question itself doesn't make any sense. I am so exhausted at this state of affairs.

[1] https://cerberus.cl.cam.ac.uk/#%7B%220%22%3A%7B%221%22%3A%22...

[2] https://news.ycombinator.com/item?id=33096395

Re:The Z80's feature discovered after 40 years [video] on Monday October 17, 2022 @10:48AM (#33234237)
The kid did a marvellous job of presenting information. The excellent technical work is one thing, however the organization and delivery of the material was beyond exemplary.
Re:Memories: Edinburgh ML to Standard ML on Wednesday October 05, 2022 @02:28PM (#33099373)
> It’s sad that well into the 21st Century, Computer Science has so regressed that people no longer see the point of distinguishing between a programming language and its implementation.

Amen. I guarantee that Rust will regret not addressing this sooner. It's mature enough now that defining a semantics is more than appropriate.

It just means you're not doing anything interesting on your job.

If you have constraints, i.e. not enough compute, not enough memory, not enough storage, then you'll need a solution and, odds are, somebody has had the same problem before and it's been written up already in Knuth's TAOCP. Of course, the problem won't be exactly in the form it's been written up, but you have to have enough experience and knowledge to know the abstract form of your problem in order to figure out what parts of TAOCP would be useful to you.

Want a concrete example? Well, I'm in the generation that go to assume that storage was basically constant access regardless of whether you wanted to access the 1st byte, or the Nth one. New, high-performance memory like NAND flash, is weird because it's fundamentally unreliable. In order to make NAND reliable you have to do stuff, and some of the stuff you can do, makes NAND look like tape, and accessing tape is best done sequentially. Guess what TAOCP has? All these great ideas about maximizing random access to sequential media.

I have always dreamed of working for a company like Oxide, but never applied, but still hope very much for their success. I have a few comments, hopefully this won't be too lengthy because I've thought about this for a long time.

The most important future computing feature, in my mind, is what I will call "verified computing", because I doubt any concept in what is presently called trusted computing fully accurately captures what I am thinking.

At some point, let's say the early 90s, we (for some subset of we) owned hardware and ran software, which we implicitly trusted, on that hardware to get our work done. The operating system existed to isolate faults in one piece of software affecting another. Then, with the advent of the web, we began running software on our own hardware that, again, we implicitly trusted, however without the authenticity assuring properties of purchasing boxed software from some retail channel. The software we were beginning to run became adversarial to our own security. Parallel to this, the defacto operating system vendor (Microsoft) and the defacto silicon vendor (Intel) with pressure from other parties (mostly media conglomerations), decided that it was necessary to run software that was not auditable by us, the hardware owners, in order to protect certain interests of those other parties.

Now we own and operate computers that run software that we simply cannot trust, and our own data is processed by software that we can no longer inspect. I can discuss this more deeply, but I shall move on.

Due to this, Intel, and AMD provide server-grade silicon that is infected by our consumer, personal computing, past. Everything about the design of their system reeks of this baggage.

Oxide, of course, is trying to escape this. But fundamentally, x86 is infected. ARM, and RISC-V too, are infected because of influence and pressure of Microsoft to maintain security structures (based in the past) with specifications like UEFI and ARM ServerReady/SystemReady (and SBBR).

The security model for Microsoft and the broader industry, is that the user gets to run software on hardware (that they own) that the software vendor themselves can verify has not been tampered with, including remotely. Great, what about the owner of the hardware? How do they assure themselves they know what is running on their own hardware? The answer to this seems to simply be, well then don't buy the operating system and software you don't trust.

The problem with this is that even in purchasing the hardware and owning the product, we still remain the product. The success of Apple (through gardened hardware) and Google (through remote server processed user data) entrenches this viewpoint, and reinforces what silicon vendors provide to hardware designers.

Of course, Oxide's customers are different. But the very silicon that is available to Oxide is tarnished by this mindset.

So what do I mean by "verified computing"? Well, I've blabbed on a bit, so I'll try to be brief. For me verified computing is silicon that implements a specification that is software readable. This silicon is sold by a vendor A for others to integrate in their hardware, say vendor B. As a consumer, C, I purchase hardware from vendor B, but only have to trust silicon vendor A. The only way B can screw me over is by a denial-of-service where their hardware simply does not run the software I want it to. As part of purchasing hardware from B, I get a key from B (via A) that allows me, C, to contact A and tie the silicon to my private key. When I sell the hardware, I use the same method that B uses to provide the next party with a key they can use to tie the hardware to themselves. When I purchase software from vendor D, I sign that software with my key to run on that hardware. If vendor D needs to run software hidden from my inspection, for various reasons, they need to get my permission by having me sign their software in a special way so that software vendor D can trust silicon vendor A in that their software is running on their silicon in a way they believe is sufficient to preserve the security given the, going back to the beginning, formal specification of the silicon and their trust in silicon vendor A.

Sorry that the above is long winded. But this is the only future that is reasonably worth fighting for.

Briefly, how would Microsoft adapt to this system. Well, B provides you with the system firmware (for Microsoft operating systems). You sign that and install it in your hardware. Then you sign the Microsoft OS. The Microsoft OS verifies the firmware is acceptable and then runs the operating system. B could compete with other vendors by providing minimal, or modular, firmware which can be customised for Linux, other other uses.

Will this future arrive, I'm not sure. But I hope so. I'd love for Oxide to fight for it.

Older »