why am i not interested in developing for platforms other than linux? a short list:
- linux is what i use on a daily basis for work. if i'm going to write software on my own time, it's going to be for a platform that i use - i know enough linux apis that i can be useful (e.g: posix, qt, opengl, etc.) whereas with most of the alternative OSes that you've listed, i'd have to start from scratch learning pre-alpha APIs. no thanks. - i have the right tools under linux to get the job done, while the OSes you've mentioned are still playing catch-up to get pretty basic things in place - i have a plethora of documentation and easily accessible expertise readily available to help me with linux development
if those other OSes gain linux-like momentum in the next two to five years, i'll reconsider. until then, no thanks.
these look like they could make pretty kick ass communications relays / air based controllers for uav/uas applications. seems like they can carry a pretty decent payload, but there's still the question of fuel efficiency.
- i'm forced to use their broken software - word won't put pictures where i tell it to - word barfs on my cross references - equation editor is an exercise in masochism - powerpoint won't past graphics into a drawing area in word - turning track changes on now means that word wants to print my document with annotated edits by default instead of the document itself - unless i intervene every 45 minutes my machine will automatically reboot itself without regard for any work that i have open after windows does an update - their compilers were broken to the point of being basically unusable (this may have changed) - i.e. by default turns a machine into a $2 calcutta whore - their apis are numerous, belligerent, and frequently incomplete - relying on their documentation is like relying on the rhythm method for contraception - bitrot - systems hungarian notation - COM nee ActiveX nee OLE - windows "genuine advantage" - evil business practices - unethical business practices - illegal business practices - subtly breaking shortcuts and hiding menus from me with successive releases of their software - gates, ballmer, et al's colossal arrogance
ultimately, my beef with ms is that they sucked the joy out of computing for me. then i bought a mac and remembered that there is still good software out there that does what i want how i want and is actually pleasant to use.
personally, i think it's brilliant -- "don't pirate vista because you'll be pwned before you've even finished the install". of course, this only works until someone is clever enough to start publishing hash checksums for known safe images...
in a public ceremony today, the thai government thanked microsoft for their generous assistance in lining government coffers, i mean, developing thailand's it infrastructure.
optics for ir sensors are incredibly expensive — the gimbal mounted color + mwir or lwir pan/tilt/zoom units that get mounted on military jets cost on the order of $200k a pop, with about $50k going to the gimbal mount and $50k+ going to the insanely huge and incredibly lenses (regular glass is opaque in the mid-wave and long-wave ir bands, i.e. the "useful" bands so i believe that they use gallium instead). add on another $20k odd for controllable optics and a large sensor which is cryogenically cooled. that right there accounts for more than half the cost of the robot. embedded electronics will run another $5-10k at a minimum, which leaves really not that much for an industrial robot. all things considered, i'm surprised that it's as cheap as it is.
"Surely if Diebold can make a secure ATM there is no reason why it cannot make secure and reliable e-voting apparatus in which the public has confidence." — has diebold actually made secure ATMs?
which ibm just won as a tier 2 (systems integration) effort. there they're running a bunch of vision algorithms to index video to support intelligence analysts trying to sort through the insane amount of video intelligence that's gathered on a daily basis.
i know this was intended to be funny, but naked people are actually a lot easier to work with from a computer vision point of view than clothed people. if you're curious, check out ioffe and forsyth's work at berkeley.
instead of spending money on, say, education, health, securing nuclear / chemical / biological / harbor facilities, we have an already over-funded bureaucracy proposing to make itself even larger. while i appreciate the obvious historical parallels, i really don't credit these fools with the kinds of reactionary paranoia that lead to travel policies in former eastern block countries, south africa (where documents were needed for travel within the country, unless you were fortunate enough to be white), etc. the reasons for this policy are far more base: all the dhs wants (like the rest of bush's gov't) is more raw power, plus the associated budget.
Re:On the Topic of Not-So-Fun Design
on
Game Breakers
·
· Score: 1
completely o/t, but are you still interested in getting into robotics?
it's hard to find a collection of tools under linux that, when cobbled together, resemble the kinds of functionality that $joe_luser is used to right out of the box with windows, for example. "simple" things, like how does an app get sound to the desktop (esd? artsd?/dev/dsp?) make a huge difference in usability. getting wireless networking to just do the right thing under linux is a real pain in the ass, and worse than that it's moving target that's a pain in the ass. bluetooth has similar issues, and there's no way you're going to convince the average person out there (you know, the folks that are happy to fork over $65 to geek squad for a virus scan) that linux is a worthwhile platform so long as they have to fight with vi to save their config files so that they can get the bluetooth stack to talk to their phone. a gui can help some of those problems (fighting with the bluetooth stack) but it won't address the underlying issues of a wireless system that supports mobile users in a robust, intuitive way. once whatever magical software is needed to make wireless behave properly, once there's *ONE* bloody sound daemon that reliably works, etc. then it makes sense to talk about making linux gorgeous. until then, beautifying linux is a lot like serving a big mac on a silver platter.
and when things don't Just Work (tm), make it Really Easy to Fix (tm). gui eye candy is nice and all, but it does no good if the underlying software is flakey and generally hard to use.
i really don't think that blizzard cares about anything beyond the bottom line. which, in this case, means caving in to a bunch of insecure (and probably heterosexually challenged) idiots on the premise that the loud jerks are the people you should be listening to to generate more sales.
reading up on how cognitec (the folks supplying the facial recognition capabilities) do the facial recognition, i'm utterly unsurprised by these results.
in a nutshell, they apply face detection to localize faces in the image (good, although they're clearly ignoring the flesh color cue since that would have immediately ruled out shrek), then they scale and rotate the face to a fixed, standard position based on the position of the eyes (since they only have two points, they're absolutely limited to planar rotation and scaling, which means that views that aren't head-on are going to cause problems for recognition unless you have a really large training set covering a wide variety of poses). if you think about it, the scaling step probably explains the lance bass/teletubby and barbara streisand/shrek correspondences (squish or stretch the faces and suddenly they look a lot more alike). finally, they feed the corrected faces through the recognition engine which appears to be a k-nearest neighbor type classifier. this is rather odd since facial recognition has traditionally involved using techniques like eigenfaces and more structural / 3d approaches.
also, if you read the performance evaluation done by NIST and DARPA (available here http://www.frvt.org/FRVT2002/documents.htm and look at the ROC curves, it become pretty obvious that the performance of these algorithms is, in general, abysmal.
low hanging fruit (which, in your case, appears to be abundant) is what you really should be pursuing first. it seems like an upgrade of your networking equipment to gigE or 10gigE would be a good start, since regardless of what forward path you choose (clustering, grid based, etc.) you're going to have to make the investment in fat enough pipes to get the data to where it needs to be.
the next thing to think about is how to educate the powers that be on their options in terms of parallel processing. this means you yourself are going to have to become very smart about the difference between clustering (MPI is a rather nice interface with C and C++ bindings, i prefer lam but others swear by mpich) and grid technologies (the only possible candidate that immediately comes to mind is apple's Xgrid, altough HP, IBM, etc. all claim to have various grid services). as you become smart about these solutions, bear in mind that parallel programming is, generally, the hardest programming that you will do. it's hard to debug (doubly so when it's distributed), it's hard to write, it's hard to understand and it's really easy to screw up. take your development time estimates, apply whatever internal multiplier that you use, then add another factor of 2 to 3 for anything that isn't essentially trivially parallel. while you're at it, make sure you include debugging tools (etnus totalview is one of the few debuggers i know of that natively groks mpi). add another factor of at least 1.5 if you want to make sure that your processing is robust and generally fault tolerant (i.e. able to handle losing hardware mid-transaction at inopportune moments, which will happen). you'll also need to factor in training and the hiring of some extremely clever people who can wrap their heads around the parallelization strategies you'll be using (and trust me, these can be counterintuitive in the extreme).
ultimately, you'll arrive at a cost benefit analysis that will show that the features that grid computers buy you (potentially cheaper hardware, potentially easier scalability — both easily achieved if you wrote a clustered version "properly") come at a hefty price tag, one that may well outweigh the value that the grid solution offers.
i was willing to cough up the $600 for your console because i really was looking forward to the new final fantasy games. i was willing to shell out for more controllers so that friends and i could play together. but between your (frankly ridiculous) up front costs and discovering that the new gran turismo is going to nickle and dime me to death (http://arstechnica.com/news.ars/post/20060921-780 2.html) after already having raped my wallet (see above article), i think i'm going to give this round a miss --- i can't bring myself to buy an xbox (one of the more joyful moments this week has been discovering that i have prior art that will sink a number of ms patent applications) and there's really nothing on the wii that excites me. even just saying "wii" turns me off (i don't care what nintendo's marketing execs think: there's no way to make "i'm going to play with my wii" sound wholesome). it's a pity: i'd like to play, but you've priced yourself well beyond what i'm willing to pay.
why am i not interested in developing for platforms other than linux? a short list:
- linux is what i use on a daily basis for work. if i'm going to write software on my own time, it's going to be for a platform that i use
- i know enough linux apis that i can be useful (e.g: posix, qt, opengl, etc.) whereas with most of the alternative OSes that you've listed, i'd have to start from scratch learning pre-alpha APIs. no thanks.
- i have the right tools under linux to get the job done, while the OSes you've mentioned are still playing catch-up to get pretty basic things in place
- i have a plethora of documentation and easily accessible expertise readily available to help me with linux development
if those other OSes gain linux-like momentum in the next two to five years, i'll reconsider. until then, no thanks.
these look like they could make pretty kick ass communications relays / air based controllers for uav/uas applications. seems like they can carry a pretty decent payload, but there's still the question of fuel efficiency.
- i'm forced to use their broken software
- word won't put pictures where i tell it to
- word barfs on my cross references
- equation editor is an exercise in masochism
- powerpoint won't past graphics into a drawing area in word
- turning track changes on now means that word wants to print my document with annotated edits by default instead of the document itself
- unless i intervene every 45 minutes my machine will automatically reboot itself without regard for any work that i have open after windows does an update
- their compilers were broken to the point of being basically unusable (this may have changed)
- i.e. by default turns a machine into a $2 calcutta whore
- their apis are numerous, belligerent, and frequently incomplete
- relying on their documentation is like relying on the rhythm method for contraception
- bitrot
- systems hungarian notation
- COM nee ActiveX nee OLE
- windows "genuine advantage"
- evil business practices
- unethical business practices
- illegal business practices
- subtly breaking shortcuts and hiding menus from me with successive releases of their software
- gates, ballmer, et al's colossal arrogance
ultimately, my beef with ms is that they sucked the joy out of computing for me. then i bought a mac and remembered that there is still good software out there that does what i want how i want and is actually pleasant to use.
personally, i think it's brilliant -- "don't pirate vista because you'll be pwned before you've even finished the install". of course, this only works until someone is clever enough to start publishing hash checksums for known safe images...
mods: please do not read my parent post as fact because it's not. while i appreciate the karma, "insightful" is not what i was going for here.
in a public ceremony today, the thai government thanked microsoft for their generous assistance in lining government coffers, i mean, developing thailand's it infrastructure.
depends on the optics.
optics for ir sensors are incredibly expensive — the gimbal mounted color + mwir or lwir pan/tilt/zoom units that get mounted on military jets cost on the order of $200k a pop, with about $50k going to the gimbal mount and $50k+ going to the insanely huge and incredibly lenses (regular glass is opaque in the mid-wave and long-wave ir bands, i.e. the "useful" bands so i believe that they use gallium instead). add on another $20k odd for controllable optics and a large sensor which is cryogenically cooled. that right there accounts for more than half the cost of the robot. embedded electronics will run another $5-10k at a minimum, which leaves really not that much for an industrial robot. all things considered, i'm surprised that it's as cheap as it is.
why do i keep on having recurring visions of a flight deck with a "mission accomplished banner" blowing in the background...
*ducks*
"Surely if Diebold can make a secure ATM there is no reason why it cannot make secure and reliable e-voting apparatus in which the public has confidence." — has diebold actually made secure ATMs?
which ibm just won as a tier 2 (systems integration) effort. there they're running a bunch of vision algorithms to index video to support intelligence analysts trying to sort through the insane amount of video intelligence that's gathered on a daily basis.
i know this was intended to be funny, but naked people are actually a lot easier to work with from a computer vision point of view than clothed people. if you're curious, check out ioffe and forsyth's work at berkeley.
instead of spending money on, say, education, health, securing nuclear / chemical / biological / harbor facilities, we have an already over-funded bureaucracy proposing to make itself even larger. while i appreciate the obvious historical parallels, i really don't credit these fools with the kinds of reactionary paranoia that lead to travel policies in former eastern block countries, south africa (where documents were needed for travel within the country, unless you were fortunate enough to be white), etc. the reasons for this policy are far more base: all the dhs wants (like the rest of bush's gov't) is more raw power, plus the associated budget.
completely o/t, but are you still interested in getting into robotics?
it's hard to find a collection of tools under linux that, when cobbled together, resemble the kinds of functionality that $joe_luser is used to right out of the box with windows, for example. "simple" things, like how does an app get sound to the desktop (esd? artsd? /dev/dsp?) make a huge difference in usability. getting wireless networking to just do the right thing under linux is a real pain in the ass, and worse than that it's moving target that's a pain in the ass. bluetooth has similar issues, and there's no way you're going to convince the average person out there (you know, the folks that are happy to fork over $65 to geek squad for a virus scan) that linux is a worthwhile platform so long as they have to fight with vi to save their config files so that they can get the bluetooth stack to talk to their phone. a gui can help some of those problems (fighting with the bluetooth stack) but it won't address the underlying issues of a wireless system that supports mobile users in a robust, intuitive way. once whatever magical software is needed to make wireless behave properly, once there's *ONE* bloody sound daemon that reliably works, etc. then it makes sense to talk about making linux gorgeous. until then, beautifying linux is a lot like serving a big mac on a silver platter.
and when things don't Just Work (tm), make it Really Easy to Fix (tm). gui eye candy is nice and all, but it does no good if the underlying software is flakey and generally hard to use.
the sky is blue. story at 11.
you know what they say: muscle bears are the new black. or something.
i really don't think that blizzard cares about anything beyond the bottom line. which, in this case, means caving in to a bunch of insecure (and probably heterosexually challenged) idiots on the premise that the loud jerks are the people you should be listening to to generate more sales.
because there's a sensitive, artsy type amongst the editors that resents being forced to look like hulk hogan in drag?
your guess is as good as mine.
you've taken characters that were previously more like sensitive, artsy types and made them look like hulk hogan in drag. bravo.
reading up on how cognitec (the folks supplying the facial recognition capabilities) do the facial recognition, i'm utterly unsurprised by these results.
in a nutshell, they apply face detection to localize faces in the image (good, although they're clearly ignoring the flesh color cue since that would have immediately ruled out shrek), then they scale and rotate the face to a fixed, standard position based on the position of the eyes (since they only have two points, they're absolutely limited to planar rotation and scaling, which means that views that aren't head-on are going to cause problems for recognition unless you have a really large training set covering a wide variety of poses). if you think about it, the scaling step probably explains the lance bass/teletubby and barbara streisand/shrek correspondences (squish or stretch the faces and suddenly they look a lot more alike). finally, they feed the corrected faces through the recognition engine which appears to be a k-nearest neighbor type classifier. this is rather odd since facial recognition has traditionally involved using techniques like eigenfaces and more structural / 3d approaches.
also, if you read the performance evaluation done by NIST and DARPA (available here http://www.frvt.org/FRVT2002/documents.htm and look at the ROC curves, it become pretty obvious that the performance of these algorithms is, in general, abysmal.
for a while i thought they were describing the party system in the us, but that also works.
low hanging fruit (which, in your case, appears to be abundant) is what you really should be pursuing first. it seems like an upgrade of your networking equipment to gigE or 10gigE would be a good start, since regardless of what forward path you choose (clustering, grid based, etc.) you're going to have to make the investment in fat enough pipes to get the data to where it needs to be.
:)
the next thing to think about is how to educate the powers that be on their options in terms of parallel processing. this means you yourself are going to have to become very smart about the difference between clustering (MPI is a rather nice interface with C and C++ bindings, i prefer lam but others swear by mpich) and grid technologies (the only possible candidate that immediately comes to mind is apple's Xgrid, altough HP, IBM, etc. all claim to have various grid services). as you become smart about these solutions, bear in mind that parallel programming is, generally, the hardest programming that you will do. it's hard to debug (doubly so when it's distributed), it's hard to write, it's hard to understand and it's really easy to screw up. take your development time estimates, apply whatever internal multiplier that you use, then add another factor of 2 to 3 for anything that isn't essentially trivially parallel. while you're at it, make sure you include debugging tools (etnus totalview is one of the few debuggers i know of that natively groks mpi). add another factor of at least 1.5 if you want to make sure that your processing is robust and generally fault tolerant (i.e. able to handle losing hardware mid-transaction at inopportune moments, which will happen). you'll also need to factor in training and the hiring of some extremely clever people who can wrap their heads around the parallelization strategies you'll be using (and trust me, these can be counterintuitive in the extreme).
ultimately, you'll arrive at a cost benefit analysis that will show that the features that grid computers buy you (potentially cheaper hardware, potentially easier scalability — both easily achieved if you wrote a clustered version "properly") come at a hefty price tag, one that may well outweigh the value that the grid solution offers.
good luck
i was willing to cough up the $600 for your console because i really was looking forward to the new final fantasy games. i was willing to shell out for more controllers so that friends and i could play together. but between your (frankly ridiculous) up front costs and discovering that the new gran turismo is going to nickle and dime me to death (http://arstechnica.com/news.ars/post/20060921-780 2.html) after already having raped my wallet (see above article), i think i'm going to give this round a miss --- i can't bring myself to buy an xbox (one of the more joyful moments this week has been discovering that i have prior art that will sink a number of ms patent applications) and there's really nothing on the wii that excites me. even just saying "wii" turns me off (i don't care what nintendo's marketing execs think: there's no way to make "i'm going to play with my wii" sound wholesome). it's a pity: i'd like to play, but you've priced yourself well beyond what i'm willing to pay.
so probably not suitable for gaming.