HNHacker News
TopNewBestAskShowJobs

c3d

477 karma · joined November 10, 2011

submissionscomments
c3d··on XL: An Extensible Programming Language
I specifically addressed some of these topics in this talk: https://www.youtube.com/watch?v=Xzo7GIoDgAo
c3d··on XL: An Extensible Programming Language
Author of the project here... Weird to see this generates such a discussion when the project is something like 20 years old, and has been quasi-dead for a while now ;-)

An interesting derivative of XL is Tao3D, which shows what you can do with it. https://tao3d.sourceforge.net

A FOSDEM workshop about Tao3D (which includes initiation to XL): https://www.youtube.com/watch?v=uE9LwSuZD64

The design philosophy, and why it's not "just another Lisp" is here: https://xlr.sourceforge.io/Concept%20Programming%20Presentat...

c3d··on Old ideas for an OS from scratch [pdf]
A document written for Martin Fink (HP CTO) on how to write an OS from scratch for The Machine, the memristor-based design that ultimately never was.
c3d··on The Lx Programming Language
I don't know if you are aware of that, but at the time Pascal started emerging, the exact same arguments were presented by foiks used to BASIC that having the ability to add your own "words" to the language would inevitably lead to a mess.

Why didn't it happen? Because programmers overall are reasonable folks. So, yes, in theory, you can define a factorial function and call it "Not_a_Cat" (technically, it is true), but nobody does that.

Similarly, giving the ability to define `X in Y..Z` makes code more readable if you use it right, not less.

c3d··on The Lx Programming Language
I forgot to mention that XLR meant "XL Runtime" and was initially thought of as a back-end for XL2. Then it took a life of its own.
c3d··on The Lx Programming Language
I'm not too sure about the dates, but the rough history is this:

LX: Langage expérimental (~1992) Ada like with "pragmas" extending the language

LX: Langage extensible (1998): Rewrite with documented object-oriented parse tree

LX/XL: Extensible language (2000) based on object-oriented parse tree, cross-language framework called Mozart, that also had a Java front-end called Moka

XL2: Extensible language (2002) based on simple parse tree, 8 node types, Ada-like in syntax

XL2: Self compiling compiler (2005?) with same 8-node parse tree, Ada-like

XLR: LLVM-based functional variant (2008-2009), same parse tree, functional, very simple, library-defined if-then-else

Tao3D: real-time 3D graphics running on XLR (2010-2015)

ELiOT / ELFE: Distributed programming (2015?), based on interpreted version of XLR

XL: Reconvergence of all of the above (WIP), all merged, implemented as a library with a tiny front-end.

c3d··on The Lx Programming Language
To be honest, the real issue with LX / XL / Tao3D is that I never ever really "finished" any implementation. By the time things were working, I had new ideas and broke things again. So except for Tao3D, I never really delivered a version of the language that was solid enough.

I'm trying to work on that now, which is why I'm presently spending so much time on documenting where I want to go. The idea is that if I first write a "spec", then a community can build to implement it, and it's not just my own (limited) time.

So if you are interested in helping right now, I'd say: read the doc (in progress) and send comment / doc fixes.

c3d··on The Lx Programming Language
Well, a starting point would be this: https://github.com/c3d/xl/tree/master/doc. It's not finished, but it gives you a good idea.

For Tao3D, you have https://tao3d.sf.net.

c3d··on The Lx Programming Language
Disclaimer: Author of the language / web page speaking.

This one is hopelessly outdated. See https://github.com/c3d/xl for the current state of things. A bit of history of the language here: https://github.com/c3d/xl/blob/master/doc/HISTORY.md.

Warning: this is currently under heavy repair / refactoring, so Nothing Works™.

An interesting (if old, 2010) application of the language here: http://tao3d.sourceforge.net.

Contributions and ideas welcome.

c3d··on IBM acquires Red Hat
I have some hopes that Red Hat has a strong-enough future value for IBM that we end up redefining IBM rather than the other way round. There are precedents, notably the Apple/NeXT merger. Today's Apple is 95% NeXT and 5% old Apple. Can this happen here? Time will tell.
c3d··on TAOS Operating System
I remember reading about Taos in Byte and thinking this was brilliant. It later turned into something called Elate, which in turn morphed into a semi-boring JVM for small systems. I wish we had the source code of the original, though.
c3d··on Alan Kay is still waiting for his dream to come true
I recognize the Alan Kay I met at HP. Very sure of his own genius and quick to snarkily dismiss the genius of others.

Case in point: The iPad and iPhone makes kids creative like no other tool has before. Kids know how to use it to text, exchange ideas or pictures of kittens, draw or sketch, learn how to program (Swift Playground anyone), take and edit photos. It is everything but a glorified TV where kids are passive. This is the only environment where kids are truly first-class citizens. How on earth Kay could spend so much energy (a whole article) trying to convince us otherwise based mostly on super-weak arguments like "nobody is using the Shake gesture to undo" is truly beyond my understanding.

Don't get me wrong. The Dynabook was a somewhat interesting idea. But it's about as much an inspiration for the real thing we use daily as the Star Trek tricorder. What Kay, to this day, did not get, unlike Jobs, is the power of networking, both physical and human. What made the iPhone greater than the Dynabook ever would have been is the App Store, and the combined creativity of millions of developers. What made the iPhone greater is apps like Messages, Facetime, Facebook, Twitter, Whatsapp, and countless others. What made the iPhone greater is Instagram, Flickr, sport apps, medical apps, HP-48 emulators, 3D "kill them all and think later" games.

By contrast, what would have made the Dynabook great in Kay's mind was "designed by Kay for Kay's personal interests". Or, as Fake Bill Gates would have said: "One programmer should be enough for everybody".

c3d··on Ellen Pao: My lawsuit failed. Others won’t
Please quote a part of the Damore original memo where he explained women were inferior (except, maybe, in numbers as far as the computer science field is concerned)?
c3d··on Ellen Pao: My lawsuit failed. Others won’t
I was confused too by the unnecessary triply inverted double non-negative on steroids.
c3d··on A Tutorial on Portable Makefiles
This article barely addresses what really causes trouble in practice, namely non-portable tools. Sed for example has different switches on macos and linux. MinGW is another world.

Also check out https://github.com/c3d/build for a way to deal with several of the issues the author addresses (but not posix portability)

c3d··on Radiohead album hides an app that only runs on an '80s computer
Isn't it depressing that the title says "an 80's computer" because even on HN too few people would know what a ZX Spectrum is? :-)
c3d··on Radiohead album hides an app that only runs on an '80s computer
Actually, the .app extension Das sometimes used. https://en.m.wikipedia.org/wiki/Atari_TOS
c3d··on Differentiating laptops: How about a decent keyboard? (2015)
Some things are a metter of taste. That guy prefers wasting space for trackpad buttons, I largely prefer the MacBook Pro larger trackpad with tactile feedback. I also prefer monochrome keyboards. And just yesterday, I was marvelling at the sound I was getting from my laptop speakers. They are all but wasted keyboard space.

The article seems to consider the author's personal preferences as facts.

c3d··on Spoilerwall: Respond to port scanning requests with movie spoilers
> God is all powerful, can He make a rock so big that He Himself can't lift it?

Yes, the human heart for example

c3d··on Returning to Linux, not impressed
You only need to press alt if you want to change the OS to boot relative to last time. It's a convenient way to bring up a built-in graphical boot menu with Internet boot and system restore capabilities. And a nice Fedora logo on my machine.
c3d··on The Case Against Dark Matter
The phrase "cesium-decay" was a rather inadequate shortcut. I was thinking of the excited state "decaying" back to the ground state, but you are right, it was not the right word.

The metric field in GTR is defined by the distribution of matter. So starting with GTR, to make another shortcut, we had to take the distribution of matter into account when "converting" from one set of coordinates (measurements) to another. In other words, the space of "transfer functions" from one set of measurements to another is already quite rich.

Similarly, when you transfer from one measurement of time to another, the "transfer function" is also quite rich. If you want to convert precisely from atomic clock to earth movements, you have to take into account interaction with many planets and other celestial bodies. So again, this transfer function is rather "arbitrary".

My point here is that the laws of physics are no less good or less precise when expressed in years than they are when expressed in oscillations of Cs-133 atoms. Some physical systems, e.g. atomic interactions, will be easier to describe relative to Cs-133. But others (e.g. meteorology) are expressed much more simply if you base them on celestial movements.

If the transfer function between, say, radiocarbon dating and cesium clocks can be practically anything, what tells us that the transfer function between light densities and matter densities can safely be assumed to be practically an identity?

And if it's not an identity, then why should the laws of gravity as expressed using light distributions match the laws of gravity as expressed using matter distribution? I think this is an oversimplification that we need to get rid of.

Hope I'm making more sense to you ;-)

c3d··on The Case Against Dark Matter
Dark matter and dark energy are ad-hoc adjustments to explain discrepancies between observations and theory. The problem with such adjustments is that, being mostly unobserved, they end up with too many degrees of freedom (e.g. a distribution of invisible stuff where the density can be made "just right" to fit the observations), so they are quite hard to falsify. It's a bit like the "landscape" : when you construct a theory that can predict anything, you end up predicting nothing. In my opinion, we leave "science" as defined by Popper when we start doing that.

There is, however, an underlying assumption in all the existing theories of physics, which I see too rarely challenged, and which is easily falsified. It's the idea that the variable "x" in the theory is independent of the physical measurement process being used. In other words, the "x" in MOND is the same as the "x" in GTR and the "x" in quantum mechanics. The topology of a space-time defined by a solid rod of metal in the Pavillon de Sevres (pre-1960 definition of the metre) is the same as the topology of space-time defined by the movement of light in the vacuum (today's definition). And so on.

I believe that our current understanding of physics now has become so precise that we need to take into account subtle differences between this and that measurement process, and rewrite physics in the context of a "more general" relativity, where the laws of physics are to be described independently not just from, say, the state of movement, but more generally independently of the physical process being used. Just like GTR forced us to deal with quantities such as metrics, this more-general relativity would force us to deal with arbitrary transformations between two methods to measure the same thing.

A simple example is when we relate time as measured by the rotation of the earth (definition of "days"), the rotation of earth around the sun (definition of "years"), the decay of populations of C14 ("radiocarbon dating"), and our current cesium-decay based atomic clocks (the definition of "second"). The four laws are obviously correlated, they all measure time. But the "fit curve" between them is a distribution in itself, similar to the "metric field" in GTR.

I may be wrong, but I suspect that if we introduce this kind of complexity, the problem of "dark matter" will have not one, but multiple solutions, possibly different equations, depending on the measurement you are considering. This does not mean we should not look for equations that predict observations, but rather that we should be cautious when correlating measurements that correspond to different physical processes. It is not obvious to me, for example, that we should take for granted that we can safely deduce the distribution of masses from the distribution of luminosities (even if, I'll admit, I don't see any good alternative...)

In quantum mechanics, we do little else with renormalization. When you shift from one scale to another, you need to renormalize to fit the data, because the raw equations would otherwise yield to infinities or other abnormalities. "Shut up and calculate" is frustrating, but if we rephrase that as "observe the universe, it's the ultimate test", it really means the same thing, but is philosophically more grounded.

In the end, MOND may just be the shape of the relation between two measurements of mass at large scale, and Verlinde's paper one first step in understanding how this relationship emerges.

Or not. There are some interesting objections to "statistical emergence" of gravity, or "entropy-based gravity". One of them is how interference patterns are not destroyed by gravity, at scales where, if we were to trust Verlinde's approach, interactions along different paths would affect probabilities enough to be sensible in interference patterns. I've not done the calculations myself to validate if this objection is solid, though. Intuitively, it seems like there is a flaw (the effect of per-state populations on interference should be at most of the same order as the effect of gravitation itself, which is in the "barely observable" category), but I need to spend more time to understand both sides.

c3d··on Apple Has Removed Dash from the App Store
Yes, developers have multiple opportunities, but often they don't choose what actually works. I did many things over my career, the only one that was truly successful financially was in a closed, proprietary environment. My open-source projects are all semi-failures. So where I spend my time is not my choice, it's my customers'.
c3d··on Craig Wright Is Not Satoshi Nakamoto
Wright is trying to force Satoshi to come out of the closet. No way I will fall for that.

-- Sotashi Nomokata

c3d··on Craig Wright Is Not Satoshi Nakamoto
Space in tag, not good either

-- Sashoti Namakoto

c3d··on The Taos Operating System (1991)
Oh, I'm so glad someone ressurected this old article. I kept talking about it, but docon the Internet of Taos and Elate became quite sparse. It was full of great ideas.
c3d··on Compiler Errors for Humans
I remember changing a compiler message to HP aC++ to quote the C++ standard verbatim, because at the time aCC was the only compiler doing template dependent name lookup according to the standard, so we kept receiving bug reports.

Moral of the story: sometimes, explaining why you are doing something may require hyperlinks, just saying it's wrong is not convincing enough.

The error messages in XL and Tao3D are terrible. I'm ashamed :-)

c3d··on Show HN: Free Company Logo API
Internal error for https://logo.clearbit.com/taodyne :-( We recently chàged server, that might be why.
c3d··on A Private View of Quantum Reality
I think its a step in the right direction, but I believe one can go even further. It is not necessary to assume an observer or a conscious entity (the dog problem in the article), if one remarks that physical entities that have the "collapse of the wave function" property make good measurement instruments. In other words, knowledge is gained more rapidly with a good measurement instrument, and that is what defines the "collapse", not consciousness.

In that interpretation, QM is seen as the only way to do physics when you represent your knowledge of a system using probabilities. Measurement instruments are a choice among all the physical systems, and what we consider good physical instruments lead to QM "axioms".

This is elaborated here: http://cc3d.free.fr/tim.pdf.

c3d··on A Constructive Look at TempleOS
Seeing projects like this makes me wonder: how come great ideas often fail to be picked up, when bad ones are repeated again and again.

Take the idea of having a single language for the shell and system programming. It forces you to think harder about the design of the language, so that it correctly works both as a command-line interpreter and as a compiled language. Lisp machines had that. Oberon system had that (in a graphical way, even). Forth systems had that. So it's not like we collectively didn't know. But neither Unix nor DOS/Windows even tried. Instead, they both feature shell languages that can best be described as "pathetic". Why did we have to wait until Windows 10 to have useful text selection in the CMD shell?

Or in programming languages, why is it that new languages always seem to take C and C++ as role models, while spectacularly failing to take any inspiration from Erlang, Ada, SmallTalk, Intentional Software, or Lisp? Why is XL, my own language, still the only one I know where it's easy to do multi-operator overloading, i.e. overload A+B*C, something it has been doing for at least a decade? Why are we unable to create a language that would work well both on GPUs and CPUs, or better yet, let me easily describe an application that uses both?

Or in interactive apps, why do we still not have good reactive functional frameworks for the web, similar to what Tao3D does for interactive 3D? (See http://bit.ly/1G8VOmr for my rant on that topic). Why is creating an OpenGL application getting more complex with each generation, instead of simpler? Why can a kid easily use GameMaker, but none of the Apple developer tools?

Or in operating systems, why did Linus Torvalds decide to mimick Unix and not the kind of mind-blowing operating system design ideas that were floating at the time? Like TaOS, the OS that was recompiling byte code at page-in time and could run a same program on different processor architectures during its lifetime? Or like MacOS, the original one, and its built-in graphical toolbox where, unlike X11, you could easily draw an ellipse inside a rectangle irrespective of line width? Or like GeOS and its 64K-based multitasking OS with vector fonts and GUI apps?

In summary, why is it that we always seems to ignore good ideas, but have no concerns repeating bad ones?

My theory is that inferior technology needs superior marketing, and that's how you win in the end. That's just a theory, of course ;-)

← PreviousPage 2 of 5Next →