SGI: Development

mips3 pledge - Page 3

cosmos: you should change your nick to sarcasmos :-P

_________________
Shall I describe it to you? Or do you want me to get you a box?
whiter wrote:
cosmos: you should change your nick to sarcasmos :-P


I only speak the truth.

cheers.

_________________
The preceding thoughts were brought to you by Jack Daniels.
I have to ask, cosmos -- since you are only the second person I know of that speaks out against open source -- are you by any chance a professional programmer? (The other was). That is the only reason I could imagine (i.e. loss of wages) that would cause some one to dislike getting a thing for free.
squeen wrote:
I have to ask, cosmos -- since you are only the second person I know of that speaks out against open source -- are you by any chance a professional programmer? (The other was). That is the only reason I could imagine (i.e. loss of wages) that would cause some one to dislike getting a thing for free.


i am a jack of all trades. yes i have coded for a living, managed systems, managed databases, and many other exciting roles along the windy road of making a living!

if "getting it for free" is your criteria for quality the end result is always going to be garbage. i am and always have been a business man. the economics of producing quality for dollars makes perfect logical sense. on the other hand giving something for nothing is always suspect and is not in line with basic human nature. the world is not a utopia; in fact, it is a rather dismal environment all around.

do you get garbage from commercial companies? absolutely! do i like alot of commercial software...hell no. but i do have some recourse and in the end can vote with my pocketbook which has alot more bite than lofty idealism. in the real world my time is worth money and it is utterly wasted if i am forced to recode or scour usenet and forums because open source widget number one does not work. multiplied by the enormous amount of open source products this quickly soars into astronomical amounts of wasted man hours. and in the end who pays? everyone but the open source programmer.

and quite frankly if i am only the second person you have ever heard speak critically about open source then something is very wrong. either you need to get out of the house more or something is rotten in the state of denmark. no one should trust anything in which critical analysis is absent. from my ivory tower it usually appears as if both the microsoft and the linux camps are near identical albeit at opposite ends of the spectrum. both are fanatical and both seem to operate in complete unison and oneness of thought. i make sure not to drink the kool aid.

there is a happy medium between idealiistic software development and monolithic corporate entities, it just has not been realized yet. until then i will continue to cry out in the wilderness as it would seem and collect my paycheck for services rendered since goods and services in the real world have not been open sourced to my knowledge.

keep the faith.

_________________
The preceding thoughts were brought to you by Jack Daniels.
Can resist:

IMHO, the beauty of open source is the ability to fix what's broken -- rather than a propriety blackbox I can't peer into. I expect very little work to be done for me and appreciate those who are willing to give away what they have learned in the past -- quality or kludge. I liken code to scientific research -- the engine behind it is the individual's claim to fame or the developer scratching a particular itch -- that's why research is freely published. Once someone does the dirty work it becomes "obvious" and the rest of us shouldn't be hampered by "intellectual property" rights from repeating their success.

Oh, and I don't get out very often. :)
squeen wrote:
Can resist:

IMHO, the beauty of open source is the ability to fix what's broken -- rather than a propriety blackbox I can't peer into. I expect very little work to be done for me and appreciate those who are willing to give away what they have learned in the past -- quality or kludge. I liken code to scientific research -- the engine behind it is the individual's claim to fame or the developer scratching a particular itch -- that's why research is freely published. Once someone does the dirty work it becomes "obvious" and the rest of us shouldn't be hampered by "intellectual property" rights from repeating their success.

Oh, and I don't get out very often. :)


my issue with open source is not the model it's the real world application. the bottom line is that except for a few shining examples the majority of open source code is cobbled together trash and altogether unuseable without major effort on the individuals part. this may not be an issue when you are in school or in a research environment but it often fails miserably in the trenches.

if i can expect to have to rewrite 75% or all of the open source contribution applicable to my project and/or spend a few business workdays tracking down patches, supplimentary code, and prerequisites than i have wasted both mine and my employers time and money. perhaps there is no commercial "black box" to achive a particular need so this is your only option save write everything yourself from scratch. i tend to lean towards doing it all myself--at least i can vouch for the end result.

in the end it probably comes down to philosophical differences. i am not a communist, never was a communist, and never will be a communist. if i write a piece of quality code then i want to get paid for it and i do not people monkeying with my code. on the flip side i would feel ashamed and loathsome tossing out some half ass code under the banner of open source and shamelessly passing it off as a community project because i am too incompetent to complete it.

i think we can agree to disagree. :)

cheers

_________________
The preceding thoughts were brought to you by Jack Daniels.
cosmos wrote:
in the end it probably comes down to philosophical differences. i am not a communist, never was a communist, and never will be a communist. if i write a piece of quality code then i want to get paid for it and i do not people monkeying with my code. on the flip side i would feel ashamed and loathsome tossing out some half ass code under the banner of open source and shamelessly passing it off as a community project because i am too incompetent to complete it.


I don't think communists have a problem with making money, just they believe that the means of production should be in the hands of the state, which given what actually happened in the Soviet Union was a disater. After all if everything is owned by one entity (such as the state) then there can be no competition, result the consumer gets screwed.

I think squeen point is fairly valid, after all if you do a phd in university your thesis gets published and other people can use your work (as long as they acknowledge you in their work)
After all computer standards such as TCP/IP were developed in a open situation, as result you don't hear much talk of decnet anymore :wink: (or other propiertry network standards)
Hi All,

I wanted to pass along some things I ran into while compiling KDE 3.1.1. I haven't
got the energy to try KDE 3.2 right now, but soon. First I was using MIPSPro 7.3 on Irix 6.5.17m. First, there are a lot of paramerters in the configs that need to be set, so to
make life easy I started using a 'build.sh' script that would contain all of the things
configure needs. This can save hours of time. The one I used for qt-3.1.2 was the following:

---------------------------
#!/bin/bash
# QT Build script
#
export QTDIR=/sw/kde31/qt
export KDEDIR=/sw/kde31
export MANPATH=$QTDIR/doc/man:$MANPATH
export LD_LIBRARYN32_PATH=$QTDIR/lib:$LD_LIBRARYN32_PATH
export PATH=$QTDIR/bin:$PATH

#export CC="cc -mips3 -n32"
#export CXX="CC -mips3 -n32"
#export CXXFLAGS="-O3 -LANG:std -OPT:Olimit_opt=on -OPT:Olimit=8500 -woff 1021,1209,1233,1314,1355,1375,1506"
export MAKE="gmake -j40"

# For some reason, this is the only one that works
#./configure -shared -thread -qt-gif -platform irix-n32

./configure -prefix /sw/kde31/qt -shared -debug -thread -qt-gif -stl -qt-libpng
-qt-zlib -qt-libjpeg -qt-libmng -platform irix-cc -verbose

------------------------------------------
Next; there is a bug in the either MIPSPro or QT (I'm not sure which) that causes a
problem with the superclass name space. The work around for qt.3.1.2 was to fix
QCString purestSuperClassName() in moc.y. The original patch is here, but I found
that it's easier just to edit moc_yacc.cpp directly.

// CBS: Note: This needs to go into moc_yacc.cpp
// since moc.y does NOT automatically compiled to moc_yacc.cpp
// edit moc_yacc.cpp directly.
--- src/moc/moc.y.orig Mon Jun 10 09:15:59 2002
+++ src/moc/moc.y Mon Jun 10 13:16:56 2002
@@ -2327,18 +2327,7 @@
*/
QCString purestSuperClassName()
{
- QCString sc = g->superClassName;
- QCString c = g->className;
- int pos = sc.findRev( "::" );
- if ( pos != -1 ) {
- sc = sc.right( sc.length() - pos - 2 );
- pos = c.findRev( "::" );
- if ( pos != -1 )
- c = c.right( c.length() - pos - 2 );
- if ( sc == c )
- sc = g->superClassName;
- }
- return sc;
+ return g->superClassName;
}
---------------------------------
That was it for qt. Next was to compile some needed libraries;
libart_lgpl-2.3.10, libxml2-2.5.1, libxslt-1.0.23,
openssl-0.9.7, pcre-3.4, bzip2-1.0.2, jpeg-6b.

With each one of these; I used a build script similar to below.

#!/bin/bash
#
#
export LD_LIBRARYN32_PATH=/sw/kde31/qt/lib:/sw/kde31/lib:/usr/lib32:/lib32:/usr/freeware/lib32:/usr/local/lib32
export QTDIR=/sw/kde31/qt
export KDEDIR=/sw/kde31
export CC="cc -mips3 -n32"
export CXX="CC -mips3 -n32"
export CXXFLAGS="-O2 -LANG:std -OPT:Olimit_opt=on -OPT:Olimit=8500 -woff 1021,1209,1233,1314,1355,1375,1506"
export MAKE="gmake -j35"
./configure --prefix=/sw/kde31
-----------------

After that it was on to the kdelibs, kdebase and the reset. In kdebase I used the following build script,
#!/bin/bash
#
#
export LD_LIBRARYN32_PATH=/sw/kde31/qt/lib:/sw/kde31/lib:/usr/lib32:/lib32:/usr/freeware/lib32:/usr/local/lib32
export QTDIR=/sw/kde31/qt
export KDEDIR=/sw/kde31
export CC="cc -mips3 -n32"
export CXX="CC -mips3 -n32"
export CFLAGS="-O2 -n32 -mips3"
export CXXFLAGS="-O2 -n32 -mips3 -LANG:std -ptused -prelink -OPT:Olimit_opt=on -OPT:Olimit=8500 -woff 1021,1209,1233,1314,13
55,1375,1506"
export LDFLAGS="-n32"
export MAKE="/sw/freeware/bin/gmake -j40"
./configure --prefix=/sw/kde31 --with-qtdir=/sw/kde31/qt --with-qt-dir=/sw/kde31/qt --with-qt-include=/sw/kde31/qt/include --
with-qt-libraries=/sw/kde31/qt/lib --with-extra-includes=/sw/kde31/include:/usr/freeware/include --with-extra-libs=/sw/kde31
/lib:/usr/freeware/lib32 --with-ssl-dir=/sw/kde31 --enable-mt --with-shadow --with-x

--------- -----------

Considering the size of KDE, I didn't have too many problems but there were a few and
almost always it was a name space issue; things like changing
ofstream -> std::ofstream

kate was especially annoying because the patched moc compiler didn't know how to handle
name spaces already defined. Eg. MarkInterface::MarkTypes should be
KTextEditor::MarkInterface::MarkTypes. Perhaps MIPSPro or the new qt has the issue
with moc fixxed. If not be prepared to compile - fix and compile and fix. For the most
part though there are few real gotcha's in the whole of KDE 3.1.1 (all libs included), I made
198 edits. Many where
Of those, I think only ksysguardd/Irix/NetDev.c has an obvious bug in it. The rest are just
name space issues from the moc compiler bug. All and all, not too bad. Even Koffice went
pretty smoothly.

Anyway, I hope that helps in your porting efforts. If I can get some time, I may join you all
in porting efforts and see if the moc problem has been fixxed.

Best Regards. :D
I'm currently fixing some symbolic link deficiencies in my qt tardist package.

Be patient; it's a virtue.
I've uploaded the new qt331-mips3.tardist onto neko's server and on my mirror http://www.mechanics.citg.tudelft.nl/~e ... s3.tardist

It fixes the absence of qmake, symbolic links to non existant includes and the inclusion of phrasebooks and the templates directory. As Whiter said, that directory does contain two header files with brackets in them, which chokes the entire swpkg build. I had an idea of fixing that with a postop script/command, but abandoned it. I deleted the brackets from the names and i'll leave it at that, until i have a bright idea.
I've moved this into your contrib directory :)

_________________
Twitter: @neko_no_ko
IRIX Release 4.0.5 IP12 Version 06151813 System V
Copyright 1987-1992 Silicon Graphics, Inc.
All Rights Reserved.
I am very much unclear on why you can't just use a video distribution amp rather than having multiple O2s playing back the same file in sync.

That said, assuming that you really do need the setup you describe, you shouldn't need very high end machines. Likely as not, base O2 R5000s with 128+ megs of ram would do the trick just fine, especially if you are getting 200mhz ones instead of 180mhz ones. I'm assuming you are planning on using the supported MJPEG codec rather than uncompressed or any other compression. The tricky part is that if your video files aren't pretty short, keeping the O2s in sync will be a problem, since their clocks will probably run slightly different. And, if you are using ethernet to control the slaves, you may also have problems getting them to start in sync. Of course, you mention in sync, but you don't specify exactly how in sync they need to be. If you mean started within a few frames of each other, and they run about the same speed, you are fine. But, if you need them to really be frame synchronized to the same video clock, you are going to either need a much more expensive O2 (one with a pro video option) or another platform, so that you can use genlock.

As to the lighting stuff, DMX 512 is a protocol over RS485. Probably a RS485<->RS232 adapter is good enough to get the signal into your "master" O2, presuming that they don't do anything too strange with the 485. At that point, you need software that understands DMX 512, and you would likely be on your own to write it yourself, but then, that describes pretty much everything you've talked about doing so far.

Now, if the only reason you want to use multiple video servers, rather than a single video source and a distribution amp is so that each projector can have the video signal keystoned corrected for it, well, I think you are probably trying to do things the wrong way (but I don't really know for certain what would be better here), but it might be easier for you to use one video server, then have an O2 at each projector that digitizes a frame, corrects it, then spits it back out. This will pretty much completely remove your sink problems, plus you won't need multiple copies of the video files (one for each machine), etc.
Timberoz wrote:
Also on the list to be able to allow for keystone correction, possible by mapping the image to polgons or a surface patch & pull the outer points to reshape the video output. I would want this feature because the LCD projectors that I will be using are mounted on a moving yold (frame) & their position is programable.

Digital keystone correction is not a Good Thing... it's impossible to do without losing resolution/quality. You'd be better off doing keystone correction in the projector itself, if at all. There are only two ways to do keystone correction without compromising quality: 1) in the lens assembly iself or 2) by using CRT projectors, which allow for a wide range of raster geometry adjustments.
The reason that I was leaning towards a o2 for each output rather than splitting the signal with a distribution amp was the plan to stitch multiple whole PAL video frames together to make one larger image.

This is why I would require the images to stay in sync, some of the source material is being rendered from 3ds max. I have also been given some 5m mp digital stills that I was cropping & chopping up in Photoshop to give a static panoramic backdrop for a stage cyc.

At this stage in preproduction the idea is to have 3 projectors aligned side by side for a widescreen effect 2304 x 576 pixels. A plan to feather the sides of source material so that the projectors can have a slight overlap in their alignment to produce a more consistent image across the screen surface. The projectors will be fixed & rear projecting for this event. Keystone is not an issue here, Just the playbacks

The event in November is when I would require the Keystone function under DMX control, The units will be required to project onto multiple screens inside the venue. The plan is for 4 DL1's to be hired & used. http://www.highend.com/products/digital_lighting/dl_1.asp
This would allow for corrected projection onto various screens hung at different levels around the venue & thus the need for live Keystoning. In this case each o2 would project an individual image of different source material rather than the need for frame syncing & alignments like the above event.

The DMX implementation could be an interesting factor, There are quiet a few DMX to Ethernet adaptors on the market but all of the software I have seen thus far has been windows based. If this could be worked out it would allow for a very flexible system & at a realistic cost level that I could afford. Unlike systems like Catalyst (see the url link.) The unit would only ever need to read the 8bit DMX levels, as it would be a slave unit to the lighting board.

I hope what I have outlined makes sense? Do you still think that a central sever is a more realistic option? I have the o2's already. I you think a central server could you suggest what I would need as I only own o2's?
No single video loop would be longer than a couple of minutes in length & many would be less than 30 secs or a complete still frame. The MJPEG codec was what I had planned as it was native to the o2?

It is correct what has been said about keystoning the projector VS the source material & the output quality......But remember in this instance the video projector is not a fixed unit in a fixed position or on the same single screen the whole time.

If with some luck the production company I run may be able to afford to purchase these units before the events rather than cross hire the DL 1's. If this is the case fingers crossed, Keystone will be a built in feature of this fixture & could save quiet at bit of work & programming. http://www.beamover.com/nextStep/beaMover_engl.html

Thanks the the reply's & I welcome any further knowledge or suggestions you can suggest.


Craig>Timberoz
Thank you for the extra information. It makes things much more clear.

To stitch the stuff together, you will get best results if you genlock it. You could use an external frame sync, but they are expensive, though not as expensive as the SDI board for O2s (which I think is what you need to genlock O2s). That said, I'm not really sure how bad it is to do it ungenlocked. People say it is a "very bad" thing, but I haven't seen it for myself. I believe it is a flicker issue. I'd recommend trying it and seeing how bad it is.

Also, to make sure the machines start in sync, I might look into using a variation on a RS485 network between the machines rather than ethernet to make sure they really get the start message at the same time. If you can do your own coding, this really isn't too hard to do. If you can't program, it would be much, much harder to achieve.

A central server that can spit out multiple video signals would make sense (if you had the budget), but now that I understand what you are trying to do better, I doubt it would be cost effective. I don't know of any reasonable way to do it without rather expensive pro hardware (either multiple video out cards, or a multi stream MPEG playback card).

On a side note, I'd love to see a fairly platform neutral DDR program that speaks Sony protocol RS422 or 485 (forget which) and can support multiple file formats on multiple platforms using various types of playback hardware. If such a thing existed, it would make your life simpler, but I don't know of any such program. Maybe I'll write one someday, if I ever find a copy of the spec (I think it would be way cool to write a program where I hook a dual VCR edit controller up to the two serial ports on an O2 or PC, then use the edit controller to do cuts only editing on the machine. I don't know why, I just want to do it).

As to the keystoning thing, you could get custom software written to do it. It is a poor way to do it, but I'm not at all familiar with the sort of projectors your planning on using in November, and I can't think of any better way if the projector lense or CRT (if applicable) doesn't do it. The best I can think of is to make sure to test that your images look good keystoned before the event, and adjust the artwork otherwise.

Good luck. If you have any more questions, feel free to ask. Live events isn't really my area, but a lot of what I know overlaps significantly.