HNHacker News
TopNewBestAskShowJobs

silentOpen

712 karma · joined March 19, 2009

submissionscomments
silentOpen··on Microsoft refuses to endorse WebGL, labels it ‘harmful’
They do bounds checking and shader verification using ANGLE.

http://code.google.com/p/angleproject/

silentOpen··on Learning WebGL
Sorry if what I wrote was unclear.

OES_texture_float is a current WebGL extension that is implemented by several browsers. The issue is that OES_texture_float does not specify readPixels support. As far as I can tell, even with native OpenGL ES 2, there is no extension that specifies readPixels functionality for floating point textures. I believe this is a bug in the OES_texture_float specification as binding a texture format to a texture engine is entirely type-level and no types are required after the resource is bound. If there is a hardware limitation, you're doing it wrong.

So the current state of support is: some browsers implement OES_texture_float and you can load floating point textures. Some browsers, when you have enabled OES_texture_float, also allow writing floating point textures. Unfortunately, the only thing you can do with a written floating point texture is re-read it in a later vertex (if you can get vertex texture fetch support which is still lacking for WebGL on Windows due to DirectX impedance mismatch) or fragment shader.

If you want to read back the results of your float computations, you have to pack them into 4 x 1 byte pixel color channels and then unpack them on the javascript side back into floats. Of course, when converting the GPU native floating point values into color channel integers, implementations "helpfully" clamp to [0..1] and then multiply by 255 (!) so that 0 -> 0 and 1 -> 255. This plays havoc with floating point precision as 255 is not exactly representable. Complicating matters further, ES2 and its corresponding GLSL have no provision for integer or bitwise operations and so the implementor is reduced to using floating point operations to pack floating point values into 4 [0..1]-values that then get molested into 4 byte arrays which can then be read back into Javascript which can then waste browser/CPU time rebuilding floating point values from pixel byte channels with accompanying (technologically unnecessary) numeric noise.

I've not seen any WebGL implementation running on the iPad and Apple won't say anything about it. If I had to guess, I'd say that WebGL is attractive to Apple in the HTML5 sense but not in protecting their native application advantage. The Steve will probably decree that native 3d apps have superior performance by virtue of not being written in a sloppy, GC'ed language and run in a giant sandbox. I don't think native iOS apps allow float texture read-back, either.

The real question is: Is WebGL's lowest-common denominator (phones) approach to 3d a bug or a feature? On the bug side, it's absurd that I can't read float values off of my desktop GPU in 2011. On the feature side, it means that even your iPhone 3G will be able to poorly execute and render a WebGL application at an unbearably low framerate!

silentOpen··on Learning WebGL
The most important pragmatic capability missing from WebGL that limits its usefulness for more general-purpose compute is read-out of floating point values from renderbuffers. It was decided by the WebGL standards body to not support this as it is not supported by vanilla OpenGL ES 2 and therefore might disenfranchise Khronos members' mobile products and/or fragment the WebGL ecosystem.

I don't know if you've noticed, but most WebGL users are on personal computers and not mobile devices. The only mobile implementation I've seen is FF4Mobile and it's quite inadequate for all but the simplest WebGL programs. Most PC GPUs have had floating point readback for a few years now. Additionally, the irony of the situation is that ALL of JS numbers are doubles and ALL OpenGL ES 2 GPUs use floating point internally. It is really only the standards that have not caught up and force devs to do int-float conversion across the GPU boundary. Add to this the performance constraints of 3d rendering and any sane dev will want to do as little in JS and as much in GLSL (on GPU) as possible.

I asked Kenneth Russell, the Chrome WebGL lead, about floating point readback support at GDC and I was told that I'd "just have to do the pee-pee dance".

With this single capability, many tasks "needing" WebCL become possible with WebGL. OES_texture_float (according to WG members) only allows loading float textures, not reading out of them.

I wonder if Adobe and Microsoft know to use floating point for GPU computing? Here's hoping that a little competition fixes this blatant oversight.

silentOpen··on Perlin Noise
Check out https://github.com/ashima/webgl-noise for a broadly compatible, very fast implementation of both Perlin and Simplex noise. It works with WebGL and requires no textures or arrays!

The software was originally developed for my WebGL OCaml game engine demo, Ooman: http://ashimagames.com/

silentOpen··on Prototype array camera could make your pictures better, phones thinner
Mobile GPU
silentOpen··on EFF: Say No to Online Censorship
Thanks! I just did and got a cool t-shirt.
silentOpen··on Chromium Blog: A New Crankshaft for V8
The coming WebGL games desperately need all the performance they can get.
silentOpen··on The Languages of Hacker News
OCaml?
silentOpen··on Dynamically generating MIDI in JavaScript
Why not attach a buffer to the front of the synth and run the audio rendering in a separate thread? Isn't this how software synths work now? What's preventing this from happening in the browser?
silentOpen··on Things Economists Agree On
The federal budget process and the economic reality on the ground are out of phase. To achieve stability in the system, these processes need to be brought more into phase.

Put another way: the budget contains a de facto representation of the current economic position as well as economic "velocity" and higher derivatives. In forming the budget, legislators encode these values. In many cases, these values over- or under-shoot reality with poor consequences.

tl;dr: Balancing the budget is a stabilization criterion and bringing the active driver into synchrony with the driven body (the economy) should improve stability.

silentOpen··on Machine VM + Cloud API - Rewriting The Cloud From Scratch
It targets javascript with Jake Donham's ocamljs.
silentOpen··on Google TV launch hardware looks to be expensive, clunky
One of the major problems is seeing what you are typing. With desktop zooming/hardware accelerated UI, it's not so bad. I have a 27" iMac and wireless keyboard and mouse that I use from a sofa 6 feet away. The major drawback with this set-up is the lack of mouse-only zooming (have to hold down cmd).
silentOpen··on Actual drawbacks to omitting semi-colons?
The dot is the operator.

It is customary to stack operators by indenting.

Why are lines without semi-colons at the end bad?

silentOpen··on Unwanted emergent behaviour in complex systems: Ant Death Spirals
Take the origin as the end of life. The angular position of the ant is maintained as the angular position of the ant-life. The distance to the origin is a measure of the ant's remaining life. As the ant walks around the origin in a cycle, the ant's remaining life decreases. When the ant-life reaches the origin, the ant dies wherever it was in the cycle.
silentOpen··on Apple Approves VLC For iPad
My understanding was that to publish to the app store, the publishing developer must agree to certain GPL-incompatible terms and restrictions. Apple seems to think that their terms have been fulfilled but FSF has said that GPL and App Store terms seem to conflict. I think Apple is in the clear wrt GPL but the publishing developer may have violated its terms.
silentOpen··on Learning to write a compiler
Do you want to build a compiler or design a programming language? The Dragon Book is pretty heavy on implementation details if you just want a taste without building one.

If you're just getting started in mechanical program transformation, I strongly recommend using something like Structure and Interpretation of Computer Programs and its meta-circular evaluator to get the basics without the grunge of parsing and generation.

silentOpen··on Turtles could hold the secret to human immortality
"The Man from Earth"

http://www.imdb.com/title/tt0756683/

silentOpen··on Cars hacked through wireless tire sensors
http://gnuradio.org/redmine/wiki/gnuradio
silentOpen··on Rob Pike frustrated by Java, C++ complexity
Google has an open source product that compiles Java to JS.
silentOpen··on Apple Obliterates Q3 Earnings Estimates: Best Mac Sales Ever, Huge iPad Numbers
The mini's recent refresh made its base cost $699, actually.
silentOpen··on DNA Sample from Son Leads to Arrest of Alleged Serial Killer Father
The son's DNA was not good enough to convict the father. The son's DNA was good enough to lead police to investigate the family which lead to the arrest of the father.

The problem regarding race that the article mentions is simply one of social statistics: if 10x more convictions per 1k convictions occur for group A than group B and we assume convictions are familially independent (close enough), people in group A are 10x more likely to be suspected of a crime via familial inference than those in group B.

It's not quite racial profiling but it does imply that you have fewer rights as a genetic relative of a convict than as a non-relative. That's somewhat disturbing.

silentOpen··on Why isn't there a general purpose visual programming language?
You certainly don't make each processor or core a dimension if that is what you are suggesting.

The small is type systemic. Machine proofs show that you have written your typable logic correctly.

This is still not at the level of concurrency or machine assistance to which I am referring.

You are getting closer with dataflow programming languages. Pipeline and compute farm visualization, spatial/resource quota policies and control, and process calculi equivalences proven across visual/spatial refactorings is what is needed.

Of course you can do all of this with a linear byte array. Of course you can get more dimensions with names and references.

Unfortunately, these methods are very specific and very technical and, despite their accuracy, are relatively devoid of meaning at-a-glance. In the future, a domain expert will work with a programmer to build an application which the domain expert will then operate and monitor. This is not possible without heavy use of graphical interfaces and visual representations. This is not possible without an advanced type system and an easily constructible syntax for DSLs and DSL graphical front-ends.

Perhaps you wouldn't classify this as a "visual programming language" as most of the programming itself is not done via virtual objects and connections. However, visual system tools will become increasingly important as programming moves from implementation to specification and control.

silentOpen··on Why isn't there a general purpose visual programming language?
I believe that a visual programming environment or state visualizer for concurrency will be essential for a next generation programming language. The need to be filled is the need for representing many dimensions of computation simultaneously. It's 2020 and you've just written a program to run on 1024 machines with 1024 cores each. How do you reason about that?
silentOpen··on Translation From Apple's PR-Speak to English of the Letter Regarding iPhone 4
And yet this problem has not only been solved but been subsequently broken by marketers. Some things that seem easy are actually hard. I'm sure defining the appropriate function isn't all roses but a semi-competent software/radio engineer could figure out something with the right properties. With Apple's budget, they could easily do this.
silentOpen··on Translation From Apple's PR-Speak to English of the Letter Regarding iPhone 4
All the more reason to give yourself a bigger domain (101 elements instead of 5). You don't need to map into the percentage domain directly from signal strength; you could easily define a function of data/voice connectivity as throughput to a percent scale.

"But data and voice have different quality of service criteria and blah blah blah!" So make up a function that accounts for this. Or add another indicator for data exclusively and keep the bars for voice.

silentOpen··on Apple kills fonts in iBooks, strikes blow to standards
You don't need to give the user the full power to write a custom stylesheet, just a friendly way to change common properties like paragraph font.

I am not suggesting a vanilla browser at all. I am suggesting putting all of the browsing-like functionality (books, newspapers, arbitrary hypertext) in the same application. I don't care whether it is compiled-in, a plugin, or a web app but if it's not even in the browser then it's a bad user experience from my perspective. I want a unified reading experience. I want unified search shortcuts. I want unified bookmarks and hyperlinks in books that open web pages in tabs.

Forcing users to switch apps for a data format that accomplishes most of the same things that the Web accomplishes diminishes the value of the format to the user. Application balkanization is not the answer and the fighting between vendor and publisher over page styling has already played out in the browser.

silentOpen··on Apple kills fonts in iBooks, strikes blow to standards
How do you deal with sans in a web browser? Custom stylesheets? Why not allow custom stylesheets in your ebook reader? Better yet, why have this separate ebook reader at all and put the books in the browser (potentially with extended UI elements and support like PDFs) where they belong.

If I buy a book, I want to get the book how the publisher, editor, author, and designer intended. It is wrong for Apple to intentionally change the display of the book from the design that was intended. If you want to override the styling in your books, fine, but this shouldn't be mandated.

silentOpen··on It's Your Data, It's Your Bot: It's Not A Crime
They control the data access but if they dump it to HTML and send it back to me then I can do whatever I want with that HTML.

All we're asking is for symmetry. If I send them data, they can do whatever they want with it inside the law, their ToS and privacy policy. If they send me data (even the data I previously sent them), I can do whatever I want with it inside the law.

silentOpen··on BP Knew of Deepwater Horizon Problems 11 Months Ago
You make good points. I don't believe that it will never happen but I'm not sure something of that magnitude has happened yet and much of our current tort law would cover the liability, I believe. I am very likely wrong, though, and we will have to wait and see (and then take governmental action if necessary). Internet companies are a relatively new beast with relatively poorly understood liabilities.

My problem with the BP situation is that the risks were fairly well understand as oil is a mature industry. I expect BP to be fully liable for their negligence just as I would expect Apple to be fully liable if they released a radioactive phone. Do you think BP is being held fully liable?

silentOpen··on BP Knew of Deepwater Horizon Problems 11 Months Ago
Do we have the technology? What is identity? What is autonomy? Who runs the democracy? How do you verify/authenticate? How do you stop political DoS? The US government wouldn't in a million years write legal code to implement a p2p network.

Looks to me that we are in our infancy as techocrats.

← PreviousPage 6 of 12Next →