HNHacker News
TopNewBestAskShowJobs

c3d

477 karma · joined November 10, 2011

submissionscomments
c3d··on Why Learning Assembly Language Is Still a Good Idea (2004)
The article focuses on writing great code, but there's another reason to learn assembly language: for some specific aspects of a machine that were not modelled in the higher level languags, this may be the only way to go.

For example, for HP Integrity Virtual Machines (sort of VMware for HP big iron servers), I spent a lot of time writing low level vector code that just cannot be written in any other language because it executes in some specific restricted environment that the C compiler cannot deal with. Specifically, it runs off a few reserved registers, has no valid stack (a TLB handler may be triggererd by a TLB miss on the stack), and frequently use instructions that are at best supported by compilers as inline assembly.

So it's not just about performance or style, it's also about semantics. And that's part of the reason why in XL, all low-level operations are connected with the machine explicitly. I reasoned that what worked for an addition would alo work for a more bizarre machine instruction.

So in XL you have for the imperative dialect:

    function Add(x,y:integer) return integer written x+y is XL.Bytecode.Add
And for the functional dialect:

    X:integer + Y:integer as integer -> opcode Add
The list of opcodes is machine specific, but the way to connect to them is not.

Does not solve the whole problem, e.g. The compiler still has to assume things like "there's a stack", but getting closer to connecting machine and high level languages.

c3d··on Design of Lisp-based Processors (1979)
Regarding other kinds of evaluation, like evaluating graphs, this is a bit the idea behind XLR (http://xlr.sf.net). In that case, evaluation by rewriting parse trees.

Example: a factorial is defined as

    0! -> 1
    N! -> N*(N-1)!
An if-then-else statement as:

    if true then X else Y -> X
    if false then X else Y -> Y
The core operator is the rewrite -> which means: rewrite the parse tree on the left into the parse tree on the right. There are of course rules about binding and stuff, and the type system is a bit of a challenge. But the idea may be intestto whoever is still hanging around this thread :-)
c3d··on March 16, USPTO switches from 'first to invent' to 'first to file'
I wonder if this will put smaller companies at a disadvantage. They have less resources and can't afford to rush to the patent office every other day, whereas larger companies have staff doing just that.
c3d··on Show HN: a web-based xkcd-style comix editor
Also works in Safari for all I can tell...
c3d··on Everything just doesn't work and nobody cares
I agree completely. But also, they are not "adding new stuff" anymore. There's practically no new functionality in 10.7 or 10.8.

Instead, they are rewriting existing functionality, often in a way that breaks because it fails to take into account all accumulated knowledge. Joel Spolsky wrote about that here: http://www.joelonsoftware.com/articles/fog0000000069.html. Restarting from scratch is the worst idea you can have.

Here are things that were broken in OSX 10.7 or 10.8: Dual monitor support, resolution change, keyboard input, auto-correction, Save As, Suspend/Resume, Backups/Time Machine, Preview, Window manager (backing store), OpenGL (stereoscopy = kernel panic, very annoying for http://www.taodyne.com), Mail, Safari, RSS feeds, Windows networking. That's just off the top of my head, sure there are many others.

But things are only marginally better in Linux or Windows land. On Linux, the user interface in Ubuntu is a mixed bag. At least, I get a sense of purpose and direction. And Windows 8 is like "What were they thinking" (although I met a few users who think it's a good ideas, so YMMV).

And what about C++11, which added the kitchen sink but forgot introspection/reflection? What about Facebook which still has not found a business model, but keeps rewriting privacy rules? What about washing machines that break after 5.0001 years?

BTW, stuff that is not the way it should be is the primary topic of my own blog, Grenouille Bouillie, https://grenouillebouillie.wordpress.com. Sorry for the shameless plug, but it's really a topic close to my heart.

c3d··on What Really Killed the Dinosaurs?
For (1), we choose well hidden geological location, e.g. stuff that is about a mile deep. My guess is we don't have such an extensive knowledge of geologically stable locations one mile below surface.

For (2), I'd venture to say that this is based on what we know today. But then, nuclear reaction or coherent light or traveling to the moon were not exactly "plausible" in 1900 either.

What we know from physics is that there's still a lot of residual energy that could theoretically be extracted, to the point where these isotopes are naturally radioactive.

So to me, that means we are likely to one day figure out how to harness that residual energy.

c3d··on What Really Killed the Dinosaurs?
It's easily recognizable as a nuclear reactor. But how do you distinguish a natural reactor from an artificial one?

Furthermore, if we assume an intelligent species, wouldn't they either

1) Try to bury and hide leftover stuff, to the point where it's no longer easily found and/or recognizable?

2) Draw more energy out of it than we currently do, to the point where all that would be left would be Fe or Pb?

Also, I forgot to mention that of course, my intelligent dinosaurs would have to be space faring. And that's where a stronger objection appears (IMO): on the surface of the moon, stuff tends to remain unaltered for a long time.

c3d··on What Really Killed the Dinosaurs?
Thanks so much for the pointer. Will be looking at it right away!
c3d··on What Really Killed the Dinosaurs?
One thing I've always wondered about is what would remain of anything humanity built in 65 Myrs. If there had been a species of very smart dinosaurs populating the Earth for, say 100kyrs, and having a nuclear-capable civilization for say 200yrs... would we even see it?

I keep toying writing a book around the idea that a spaceship full of dinosaurs returns to Earth, having aged very little (Langevin's paradox), and find the planet populated by the offsprings of these pesky tiny egg eaters. Kind of like Planet of the Apes in reverse.

Oh well, if only I had time to write more than HN comments ;-)

c3d··on Fabrice Bellard: Portrait of a super-productive programmer (2011)
TI 57 here. Then went on with the HP-28 and HP-48. Wrote the first game using hardware scroll on the HP-48 (a Pacman).

Interesting that beyond the TI calculator, there are a few other parallels with Bellard: I studied in one of the top French engineering school (Mines de Paris), wrote a 3D program as a student (Alpha Waves, Guiness book for first 3D platformer), an open-source compiler (XL, http://xlr.sf.net), a machine emulator with dynamic translation (HP Integrity Virtual Machine, a VM for Itanium), worked on a C++ compiler (HP aC++), dabbled in Emacs (e.g. first graphical Emacs for MacOSX back in the Rhapsody days), designed or wrote some code used all over the world (e.g. modern C++ exception handling), I sometimes took really new and "minimal" approaches to old and complex problems (e.g. the scanner and parser for XLR total 1500 lines of rather simple C++ code). I keep studying physics like Bellard kept studying math, and came up with my ow wild ideas (e.g. I'm delusional enough to believe I know how to unify GTR and QM).

But there's a couple of pretty major differences as well. Bellard's work was always freely available. Except for XL, mine was mostly proprietary (and XL, an exception to the rule, was a resounding flop as far as community involvment was concerned). Alpha Waves was a commercial product. HPVM was a commercial product. aC++ was a commercial product. And today, they are all dead or dying. As for fame, I'll let you judge of Bellard's fame relative to mine ;-)

I think that there is a lesson here about the strength of openness. If you start your career, making your stuff open and sharing freely may be a pretty good move...

c3d··on Fabrice Bellard: Portrait of a super-productive programmer (2011)
Plus one. I think it's really the total lack of selfishness that makes him so great.
c3d··on How to Parse Ruby
How to parse XL: http://xlr.git.sourceforge.net/git/gitweb.cgi?p=xlr/xlr;a=bl... and http://xlr.git.sourceforge.net/git/gitweb.cgi?p=xlr/xlr;a=bl.... 676 + 747 lines of non-hacky C++ code.
c3d··on LLVM Tutorial
Surprising that this topic has (as of now) 60 point and only two comments.

At Taodyne, we use LLVM as the foundation for our 3D dynamic document description language. This makes it possible to do interesting things in real-time, see e.g. http://www.taodyne.com/shop/en/blog/58-live-coding-creating-.... LLVM is pretty powerful, and now relatively stable as far as even the C++ API is concerned. In earlier days, having the C++ API change underneath you in significant way at every release was a real pain.

That being said, I was not a real fan of their documentation in general, and the Kaleidoscope tutorial was no exception. But it looks like they are putting a lot of effort into this, and it looks much much better than it used to.

c3d··on C and C++ Aren't Future Proof
C and C++ indeed aren't future-proof, but it's not juste because of undefined behavior, it's by remaining stuck firmly in the 1960's in terms of programming style.

C++11 added many changes intended for "do-it-yourself" crowd, like auto, new function syntax, lambdas. It didn't add much in terms of "let the compiler do the work for me" crowd (one notable exception being variadic templates, something that was in my own XL programming language since 2000). In C++, you are still supposed to do the boring work yourself.

For example, C++11 still lack anything that would let you build solid reflexion and introspection, or write a good garbage collector that doesn't need to scan tons of non-pointers.

If you want to extend C++, it's just too hard. C++11 managed to add complexity to the most inanely complex syntax of all modern programming languages. Building any useful extension on top of C++, like Qt's slots and signals, is exceedingly difficult. By contrast, Lisp has practically no syntactic construct and is future proof. My own XL has exactly 8 syntactic elements in the parse tree.

So in my opinion, C and C++ are already left behind for a lot of application development these days because they lack a built-in way to evolve. If you are curious, this is a topic I explore more in depth under the "Concept programming" moniker, e.g. http://xlr.sourceforge.net/Concept%20Programming%20Presentat....

c3d··on Carmen Ortiz’s Sordid Rap Sheet
No mention of Kim Dotcom or Julian Assange in the story. But that seems like higher-profile cases with the same kind of bullying tactics.
c3d··on IRecognition: I am no longer Apple's Target Market
To address your points:

- Lion is very fast with a SSD, but definitely slower than 10.6 with a regular hard disk. Hence the difference in perception between various people.

- The whole-screen app stuff is a good idea, but the implementation sucks on multiple monitors, which many geeks use (the problem is: when you go full screen on one monitor, the other no longer shows anything by gray linen)

- Many features were removed for what seems to be no good reason, e.g. RSS feeds.

- Some iPad-like behaviors make little sense on a desktop, e.g. automatically closing Safari if idle for a while. It takes several seconds to open a web link just because it has to relaunch the application.

- Annoying for my company, Taodyne (3D presentations): stereoscopy used to be perfectly stable on 10.6, unstable since 10.7, to the point of causing kernel panics or system freezes regularly.

- Memory management has been a weak point since Rhapsody. In Rhapsody, you could crash the system simply by zooming in Preview. Today, you can still halt your top-of-the-line system to a crawl simply by running a process that eats all available memory. I'd much rather have an easy quota system where I can say "unless otherwise specified, no app can take more than 1/4th of available RAM". Or a paging system that makes smarter decisions and keeps the "interactive" stuff resident enough that I can still kill the offending process.

- Tons of annoying little bugs at the lowest levels, and you really wonder what was broken there that they needed to fix. Like the mouse cursor that sometimes disappears. Or the keyboard that sometimes forgets half the keys you type. Or Safari that stops refreshing part of the screen. Or moving a window across monitors that now causes the window and background icons to blink. And so on. Lion does not feel as polished as Snow Leopard.

Overall, I still like Apple products, but I definitely see them losing their edge on the software quality front. I think that Maps on iOS is just the most glaring example, but it's not the only one.

c3d··on “Lost” Steve Jobs Speech: Wireless Networking,iPad,&App Store (1983)
This is really amazing. Surprised that this doesn't move higher up the HN front page.
c3d··on Startup = Growth
Illustrated over nearly 75 years of growth for Hewlett-Packard here: http://www.youtube.com/watch?v=FCOt03Y_0SM.
c3d··on Making Instant C# Viable - Vizualization
In Tao, we have been trying to do it

1) for coordinates and graphical shapes 2) so that it works both ways, i.e. from code to visualizer, but also so that manipulating makes it possible to change the code.

See http://www.youtube.com/watch?v=LpPwjB46E5I for an example of how this works in practice (look around 1:20 in the video)

c3d··on Google's "Bacon number" search
Not using IMDB sometimes leads to incorrect results. For "Louis de Funès", Google finds a Bacon number of 3:

Louis de Funès and Terry-Thomas appeared in Don't Look Now... We're Being Shot At!. Terry-Thomas and Tom Aldredge appeared in The Mouse on the Moon. Tom Aldredge and Kevin Bacon appeared in Taking Chance.

The Oracle finds 2: Louis de Funès was in Les aventures de Rabbi Jacob (1973) with Janet Brandt was in Queens Logic (1991) with Kevin Bacon

c3d··on 3D Revolving Planet With Pure CSS3
3D revolving planet without any CSS, but with RSS: http://www.taodyne.com.nyud.net/shop/en/blog/42-showing-rss-....
c3d··on Show HN: Google News, Slashdot and Twitter in 3D
I'm looking for a good way to get latitude and longitude for a given piece of news. Does anybody know how to do that?
c3d··on Do you prefer your app blinking or upside down
It looked like a simple bug: an OpenGL application that blinks in full screen (http://www.taodyne.com/shop/en/blog/39-could-someone-at-amd-...). But the rest of the day was an infuriating tale of Kill All Humans installers and Beware of The Leopard DRM restrictions. And at the end of the day, an unanswered question remains. What kind of driver bug could possibly cause an OpenGL application to blink in full screen, unless the display is rotated?
c3d··on The 10 features removed from Mountain Lion that we miss the most
I certainly did miss X11. But you can use XQuartz instead, and Apple helpfully provides a help page to send you there. It's only painful if you had advanced X11 setups before.
c3d··on Lon Seidman gets YouTube takedown notice for public domain video from NASA
Many here wrote it's "big corporation vs. the little guy". The truth is different. It's really YouTube implementing an automated system that is good at identifying small fragments of contents, but totally lacks common sense regarding attributions, fair use and such.

Here is what happened to me to prove my point. On the http://www.taodyne.com web site, there's a small video. If you switch the sound on, you'll hear a music I quickly put together in a few minutes using GarageBand. Despite this being my own (not very good) creation, the YouTube system kicked in and told me I was infringing on some other guy's rights. Why? Because that other guy happens to have used the same loops I used for his own commercial music.

So there's no evil intent here, but a nasty side effects of YouTube's automated content detection system. In my opinion, it is nobody's fault but Google's: the corporations don't really have lawyers bent on claiming your stuff, they just happen to take advantage of Google's offer to monetize on what they do, and then they happen to have entered something in YouTube that YouTube identified as similar to yours.

It's important to point out that there's no evil intent on Google's part either. What they did is a great way to grant us the ability to use musics in videos we post, compensating the artists with ad revenues. But given the volume of data that enters YouTube every day, it has to be automated. And right now, the automat is good at picking similarities, bad at analyzing whether it's infringing or not.

c3d··on Ask HN: Where is the Hostility on HN Coming From?
>That's a fucking stupid rule.

Version 1: Your reply if fucking stupid, you arrogant bastard, and you successfully made an ass of yourself. Even if your example was relevant, which is not, everyone knows you can't ever get idiots in any IT department to fix something like missing password. Fuck, nobody gets a job in IT in a college department without being terminally brain-dead. You are not smart enough to realize that the right thing to do is go in the server room with an ax, and hope that when they rebuild the system they'll get a clue. Sheesh, you people are the reason we need an Internet license, to prevent folks like you from polluting the web with nonsense.

Version 2: Dear samdk, I fail to see why people would fix the email system faster if you criticize them or make them resent you. You did not provide the details of the story, but I know of a similar case where the problem was fixed in private, technical, and polite e-mails. That case involved early Sun4 systems where everybody could read anybody's screen over the network, so it was relatively critical too... All it took was showing the sysadmin's screen on mine to get things fixed rather rapidly.

> (And I say that with the full knowledge that my phrasing will make you less receptive to my argument.)

This means you write this for yourself and not to fix things. This is the reason why rule #1 is a good rule: it places the other guy in the center. Your ultimate goal in a negotiation is to get the other side to do what you want. This means they are the center of the universe at that moment. You illustrated that very well with your VC example. What makes a VC different from an IT admin? That you think they are more powerful?

Jon Kershaw, who manages killer whales for a leaving, likes to bring the point that if you try to force a killer whale to do something, you end up dead more often than you want. To bring killer whales to do what you want, you need to make them want to.

Back to the story at hand, I liked the new design, except for the J-like capital I and a few details. Yet, I would certainly have remained silent on the thread because of the vocal and needless criticism, which I find a bit low for YC.

c3d··on How big brother and big media can put the Internet genie back in the bottle.
Microsoft wants ARM machines to be locked in Windows 8 mode, probably to block Android. From what I can tell, it goes both ways. Existing Android tablets are not Windows8-certified, so they won't run it.

Microsoft being the runner-up in the tablet market, I find the move puzzling. What do they have to gain? Why would vendors want to lock themselves in the hands of Microsoft, given MS's past behavior?

More puzzling yet: what is the force in the Microsoft DNA that prompts them to systematically return to this kind of anti-competitive behaviors as soon as they get a chance?

c3d··on reveal.js: HTML5 based Slide Presentation Tool
You might want to look at Tao Presentations, http://www.taodyne.com. Very simple to write slides, see http://www.taodyne.com/shop/en/blog/15-multilingual-presenta.... Yet fully 3D capable, see http://www.taodyne.com/shop/en/blog/27-reconstructing-the-te....

Not based on Javascript, it has its own language to make it easier to write slides. But can include web pages with something like:

   url 0, 0, 800, 600. "http://www.google.com"
(draws a 800x600 Webkit browser at the center of the screen)
c3d··on Company withdrawing from Facebook as analytics show 80% of ad clicks from bots
Maybe it's time for the web to switch to a model where revenue is not driven by clicks, but by actual transactions. It's harder, of course, but it would sanitize things a bit. Hopefully, bots won't learn how to pay. And if they do, well, it doesn't hurt.
c3d··on Newly released UFO files from the UK government
I don't think tenants of the ET hypothesis all assume a MIB-style government cover-up. We don't have to believe your 1) or 2) either. Here are a few more likely explanations:

1) ET doesn't know how to communicate with us. We don't know how to communicate with most animals on the planet, yet they share most of our DNA. How would you communicate with a being that has no notion of sound, has a sense of smell based on silicon biology, can't touch you without dying or killing you, and has a vision only in deep infrared?

2) Interstellar travel, while possible, is very expensive, so scientific expeditions behave like our own expensive scientific expeditions say, to the moon: touch, collect samples, and go.

3) There's a sort of prime directive or at least an attempt at letting us evolve in our own way.

As for the faking argument, it's like saying that because there's been a few Titanic movies, the Titanic didn't exist... It's the opposite: there's interest in faking it only because there is something. Otherwise, we'd also routinely see fake witches, fake angels and daemons, fake faeries, fake invisible people and fake ghosts.

← PreviousPage 4 of 5Next →