11 ms·
Black Triangles
- templeos2 12y agoAt the command line type >GrCircle(,100,100,100);
- Gravityloss 12y agoNot to be mixed up with the 1989 North Sea Black Triangle aircraft sighting by Chris Gibson.
- chairmankaga 12y agoFun read, I'd always been interested in buying a playstation 1 devkit to tinker but this might push me over the edge :)
- coldpie 12y agoEmulators are pretty decent these days and might prove easier to work with and debug.
- chairmankaga 12y agoThat's very true but there's something sexy about working with the actual hardware. Maybe I'm part masochist.
- robin_reala 12y agoOh, this is back online? I looked for it earlier this year after I realised that ‘black triangle’ wasn’t a known idiom among my colleagues, but had to dig into web.archive.org to find it.
- pm 12y agoJay's a legend - worked with him on one of his indie games back in 2004. I remember this doing the rounds a while back and am glad to read again.
- ryandrake 12y ago>It had passed through our new modeling tools, through two different intermediate converter programs, had been loaded up as a complete database, and been rendered through a fairly complex scene hierarchy, fully textured and lit (though there were no lights, so the triangle came out looking black). The black triangle demonstrated that the foundation was finally complete the core of a fairly complex system was completed, and we were now ready to put it to work doing cool stuff. Wow, talk about big design up front! This sounds like the opposite of today's "MVP first, get something into the customer's hands RIGHT NOW and iterate later" way of doing software development: YAGNI, KISS, etc. Nice reminder of how things used to be done (and still are done in some verticals). I'm having trouble recalling any projects I worked on recently where a "Black Triangle" moment was even possible, given the usual focus on early, customer-visible wins.
- alexjeffrey 12y agoI think black triangles are only really possible if you're working on software architecture - that bit when you "go into the tunnel" and are working in purely abstract space comes with such a payoff once you reach your project's "black triangle". There's really nothing like it, it's a great feeling!
- ANTSANTS 12y agoCutting edge 3D game engines are incredibly complex pieces of software, and this was at the beginning of the 3D game revolution where there weren't any third party engines available, no one really knew what they were doing, and most developers didn't even have internet access; you did almost everything in house or you didn't have a game. It was completely uncharted territory, not some #yolo agile web development thing where 99% of the engineering effort is already done for you and you can just focus on the content.
- fake-name 12y agoHahahahahaha, 'MVP' doesn't exist in hardware or low-level hardware coding (e.g. this, which is a playstation game that presumably runs bare-metal). In hardware, it's generally like ~80% of the design work before you even have a viable demo. If you're writing a bare-metal rendering engine, it's very much the same. MVP isn't used because there is none of the infrastructure even available to have one. TL;DR MVP isn't possible if you don't have the infrastructure.
- cpr 12y agoIsn't this just a "spike" in common parlance?
- retroencabulato 12y agoIs "common parlance" in common parlance?
- gkmoyn 12y agoWhile agile terms (spike, sprint, ...) become common parlance, I will show myself the exit.
- angersock 12y agoNo, because this represents a good deal of engineering coming together and actually functioning in concert with itself and working. It's not just some "woot let's crush some code" and a weekend later everything works and that one difficult feature is working well enough for your live demo; this is having several different layers of functionality coming together and working in unison, each being relatively worthless without the rest of the whole. When you're building something like a high-performance 3D pipeline, or a low-level embedded system, there's no MVP that really counts and there's seldom any little features to egg you on until these black triangle moments. It's like being an aerospace engineer--the whole damn thing works, together and at once, or nothing does. That's why I've found web development to be such a nice break from the work I used to do: I can always make seeming progress, because I can always see the results of what I'm working on. At the same time, I never get the same rush of accomplishment of seeing, say, a model loaded from a custom conversion tool rendered using multiple threads and being lit properly. It's a different sort of work.
- JacobAldridge 12y agoI suspect most "overnight success stories" are actually built on a mountain of Black Triangles.
- saulrh 12y agoWe get a lot of these in AI research. When your math is a hideous snarl of abstract algebra and graph structures and your code includes a novel 3d dynamics engine and custom collision detection, it's exhilarating to see your simulated robot so much as twitch a finger in the right direction.
- owenversteeg 12y agoOh man, I've needed a term for this for so long and have never realized it! Thanks! I remember one time, similar to the story linked but I was refactoring rather than coding something new. I made a major breakthrough and, like the people in the article, I was very excited about it. Coworkers (who do low-level stuff - I do FP and CSS stuff) didn't see what was so great (it was clearly visually broken) until I said "Yes, but it's broken in just the right way that I can fix it!" They understood instantly. I think these kind of "black triangle successes" are something only programmers and mathematicians experience (they are the only two types of people that I've known to sympathize with the feeling.) It's like an invisible thread that connects all types of programmers, from FP guys to kernel guys to web developers to the three people still using Smalltalk to the guys in suits making InterfaceFactoryFactories. I love it.
- shurcooL 12y agoHere are two orange triangles. https://github.com/gopherjs/webgl#example https://github.com/gopherjs/webgl#example When iOS 8 comes out in two days, I'll be playing with that on my iOS device. It's pretty exciting.
- unoti 12y agoThe same thing happens with building construction. If you've ever watched a building being built somewhere near where you live or work, you've seen it: Months go by with it as a vacant lot. Then one day someone cuts the weeds down, and there are some flags sitting around. Then tons of time goes by with bulldozers, and then interminable fiddling around with digging holes and foundation laying. No progress is apparent for a long time, then one day, "whoosh!" there's a building there, once the framework goes up. There, too, the 80/20 rule applies just as it does in software. Because once that framework goes up and there's all this fast progress, the next step is months of finish work where-- from casual observation from the outside, at least-- things look pretty much the same while all the details are wrapped up.
- lee 12y agoBack in 2009 I had written one of the first few SSH apps to hit the iOS App Store. I remember demo'ing it to my CEO, and all he could say was "Oh, you spent all this time writing an App that displays text?" I guess it's easy to trivialize something when you don't understand its complexity.