As I said above, in the right hands, Flash is a great tool. I encourage you to stop off at some of the better community sites (www.flashkit.com, www.ultrashock.com) and check out not only those sites but some they link to.
The problem I have, is that in some ways I think you must be joking, but in others I think you are actually serious.
Out of interest, I just went to the Ultrashocksite...
The front page has hidden navigation buttons that only only appear when you move your mouse over part of the page.
On entering the site (oh, how I hate sites with contentless front pages) I was presented with a page design that wasted huge amounts of space and used low contrast text elements (haven't got 20/20 vision? well, that's just tough, apparently).
The navigation bar at the top slides about and animates in a seemingly pointless and unintuitive fashion. (Shame they couldn't have used some of the huge amounts of wasted space to...oh, I don't know, have two rows of buttons so you don't need an animated, scrolling and confusing nav bar?)
It also wastes so much space, that the small content area in the middle is not big enough on my screen (1024x768) and so it has to add horizontal and vertical scroll bars.
But the killer - on entering the site, the first thing it did was download a one megabyte flash file to show me, which was a 'look how kewl we are' flash file, and contained no useful information whatsoever (I already knew the name of the site at that point).
For some unfathomable reason, it reminded me of skipintro
Thanks for proving everyone else's point in such an emphatic manner...
Almost correct. There was a custom version of Quake that was made to support the Rendition Verite chipset, one of the first mass-market 3d cards. It used their own proprietary API and was DOS based (like the original Quake).
Yes, sounds feasible. I was also trying to remember if the original Quake supported 3dfx, but I don't think Carmack ever did Glide (hazy memory alert).
But Rendition Verite - now there's a blast from the past! Is that the one that couldn't render triangles, only quads? I think I have one in a cupboard somewhere.
It's about like getting a 2D card and trying to run Quake with it - it simply doesn't have the guts needed to do it.
Um, IIRC, Quake was software only. Having a 3D card didn't help you any until GLQuake was released. In any case, Quake has always run fine on 2D-only cards - that was the target market, after all.
Don't get me wrong - the point you're making is partially correct (although I don't agree that pixel/vertex shaders are in such widespread use that not having hw support means all your games look bad) but at least get your back-up facts correct:-)
$595 profit per copy translates to 1,260 copies to break even, assuming $5 in distribution and manufacturing costs.
-snip-
Of course this is all meaningless math games.
It certainly is. You are dreaming if you think a publisher gets $595 profit on a $600 package. Remember everyone in the chain wants to make a profit.
For example, in the UK, a PC game usually costs around 30ukp. The publisher can usually expect to see about 5ukp of that, on average. Everything else goes on production (smallish) and other people's cut (distributor, retail outlets) etc.
Of course, that's why publishers/developers like internet software distibution so much...:-)
To play Devil's Advocate, if you've got a pirated copy, you're not exactly consuming much in the way of support costs!
What makes you say that?
At a company I used to work at, that sold shrink-wrapped DTP and illustration apps (and other software), it was fairly common for people with pirated copies of the software to ring up technical support asking for help.
The policy was that people had to have a serial number to get tech support, but a lot of legitimate users would get quite snippy about this, and so the rule wasn't enforced.
However, it was usually fairly easy to tell the difference between a legit user who just wanted help without messing around with serial numbers, and a user with a pirate copy. They tend to have different attitudes.
And I can tell you, there were no shortage of pirates ringing up for tech support. That might surprise you, but it's true.
So, does Ogg Vorbis have any kind of "fuckup protection" to get rid of the problems that most badly encoded MP3s have, either before or after the file is fully encoded?
No, but here's a great way to avoid that - stop thieving the music. I never get these problems because the only reason I ever get mp3s is to find old songs where I'm not sure which song I'm thinking of. I then find a CD with the song on it and buy it. I rip all my own mp3s. It's anecdotal evidence for sure, but the only effect Napster had on my CD buying habits was that I bought more (I realise I may be in the minority though).
Of course, you may just download the mp3s to avoid the hassle of ripping your CD collection, but having done my own CDs, I have to say it's easier than downloading the mp3s.
Yes, the RIAA are a bunch of tossers, and I hate what they are doing to the flexibility of digital music, but people who download a load of mp3s for free and then bitch about the poor quality of the stuff they just got for free are kind of making the RIAA's point for them.
Interestingly, the two internet services that made me buy more CDs simply by letting me work out what music I wanted to buy (the lyrics.ch server and Napster) were both shut down by the RIAA or similar entities for fear that it would lose them money. Of course, as I mentioned, I realise I may be in the minority (buying CDs rather than just stealing music) so maybe the RIAA have a point after all. Which doesn't justify all the crap they're trying to pull, but hey ho.
Back on topic, do you think that most computer science students know that Microsoft will name their products version three to ward off the consumer's uncertainty of implementing version one? And if so, would that change their perception of the product or the company?
Don't really know. Only about half the CS students on my degree course were actually interested in CS anyway, as far as I could tell.
As for NT 3.1, I think it wasn't so much version 1 ph34r, as maintaining parity with Windows 3.1, which was the best known version of Windows at the time. So you had Windows 3.1, and Windows NT 3.1 for 'power-users'. Well, ok, 3.11 was out at the time, but I digress.
MS pulled the same trick with Word - they wanted to sync version numbers between Word for Windows and Word for DOS, so WfW went from v2.0 to v6.0 with no jump in between.
Same thing happened with Visual C++ - they wanted to resync all the devtools version numbers (C++, VB etc), so VC++ went from v2.0 to v4.0 - there was no v3.0 of VC++.
In a fit of bizarre psychology, some companies now sync version numbers with their competitor's products (actually, thinking back, that might have been why Word went to v6 - to sync with WordPerfect).
Our Windows expert took his best crack at it, but couldn't get it to play right. (This guy has been using Windows NT since version 3.0 and knows his stuff).
Well, in that case, maybe you should let your Windows expert know that version 3.0 of Windows NT is an entirely fictional product, so it's extremely unlikely that he's ever used it.
Got to admit though the first time I saw that mp3 was the default audio format for Be though I was impressed. I couldn't believe that my 166 which could barely play an mp3 in Windows was playing an mp3 while I encoded another one.
What are you smoking? I worked on a (2D) game that played back alpha-blended full motion video while playing back mp3 format sounds, and it worked on a 100Mhz Pentium.
From my tests at the time, mp3 playback on a P100 used to take <10% cpu time. Your P166 could barely play an mp3?!
If there was a BeOS driver for your sound card, it just worked.
Yeah - if.
I tried BeOS once (v5 IIRC), about 18 months ago - I was expecting some driver problems, but the problem I got was one I completely did not expect. It didn't recognise my sound card - it was not supported. A quick trip to the BeOS web site confirmed that my sound card was not supported, and that Be didn't expect to produce a driver any time soon, if ever, as they didn't think it was worth the effort.
What was my soundcard?
A Creative Labs Soundblaster 16.
That's right - Be had decided not to support probably the most common sound card on the face of the f***ing planet.
I had to check a number of times, as I just didn't believe it (and neither did anyone else I told about it), but they really did decide not to support the SB16 chipset.
What a great Media OS!
I believe they saw the error of their ways since then, but it was enough to make me give up on BeOS at the time.
I think it was Robin Williams who said of Disney's financial attitudes: "Do you know why Mickey Mouse has no thumbs? It's so he can't pick up the cheques..."
The reason bridges are built to such exacting standards is because if they aren't, they FALL DOWN.
Well, not always. Sometimes things like this happen.
Also, and this is driving me nuts, I remember reading somewhere in an article/book where the author went and checked on the chestnut about "if bridges were built like software, they'd fall down". I can't remember the exact figures/dates, but I seem to recall that he found that about 30% of bridges built in the US between 1900 and 1970 did fall down.
I think it was in Bentley's "Programming Pearls" but I only have the second edition, and I can't find the reference in that (I had to buy the 2nd edition when a friend never returned the 1st Ed he had borrowed:-)).
Anyone else feel that the entire article was written as mere fluff to get page views?
Seconded. Dull info, amateur/sloppy writing.
Take this example:
This July, Final Fantasy: The Spirit Within was released. With it, came the most glorious 3D CG in history. <snip> The level of detail is unsurpassed to all previous movies. At least for now it is.
Leaving aside the gorgeous grammar ("unsurpassed to"?), then quite apart from anything else, if FF's 3D CGI surpasses all previous movies, then it always will. If a wonderful new 3D CGI movie is released that surpasses FF, then it won't be a "previous movie", will it?
Aside from such scrappy writing, he also missed out TNT/TNT2 chipsets in his 'history' of nVidia's products. TNT was a massive improvement in fill-rate - the first time you could really run a game at 1024x768 and higher without huge slowdowns.
And all that "I still remember when Nvidia was the new kid on the block" - wow, he can remember a whole few years..? He can't actually remember enough to tell us why the Riva was not as good as 3dfx - just some vague comment that the 3dfx looked better. The Riva was a pretty buggy part - it had horrible seaming problems. nVidia introduced the TNT to developers as "an apology from us for how bad the Riva was".
When I got to the end of the article, I was left wondering why the hell it got onto the front page of slashdot - basically all the article said was:
"3D is the coolest! And it's going to get cooler! Have you seen the Sharper Image site? Hot dog! I'm gonna get me some nVidia lovin'!"
Harsh but fair, methinks.
Tim
Re:Real Time Strategy - Biases?
on
Kohan for Linux
·
· Score: 1
300MHz for the Cray may not seem much, but I bet if you ran some real-world benchmarks, like Photoshop filters, you'd find it was actually equivalent to an 800MHz Pentium, or perhaps even faster. Don't believe Intel's hype about MHz speeds!
Anyone have Photoshop for the Cray? Doesn't it come as part of the SPECmark suite now?
They had also just started work on a new killer game (working title: Black Night, Moon in the Sky). It had the best 3D engine I've ever seen, just like final fantasy but IN A GAME !
It'll be a shame to see all that go to waste.
Quite frankly, I've seen horse shit that had less horse shit in it.
Kind of throws doubt onto your other claim:
Also, I heard from my friend that the staff have taken their revenge and stolen nearly *all* of the equipment that Dynamix had. Nice:-)
I'm quite sure that most (if not all!) of the developers at Dynamix are not criminals.
Tim
PS. Interesting to see that this has been modded up, whereas the reply commenting that the poster doesn't know much about 3D engines has been modded down. Sheesh.
One day about a month or two ago, the guy I work with put his Palm Vx into the sync cradle. At the moment he did this, his PC died. It appeared to have switched itself off, but we never got that PC to show any signs of life ever again - the motherboard appeared to be toast. It just died instantly.
The only thing I could think of was static discharge, but perhaps this news item has the real reason:-)
There seems to be a large amount of confusion as to what this means, and some people seem to be jumping off the deep end (as usual), so here's an attempt to clear up some of the issues.
(PS = Pixel Shader in the following points)
DX8 Pixel Shaders use the PS API. Part of this API is a definition of a limited assembly language.
A PS written for version X will run on drivers that support version Y if X <= Y - i.e. pixel shaders are backwards compatible.
When new versions of the PS API appear, they mostly add instructions, or extend the register set. Hence the backwards compatibility.
Hence any PS written for ps1.3 (e.g. a GeForce 3 card) will also run on a card supporting ps1.4 (e.g. ATI's new card).
The ps1.3 shader may not run as fast as it could on the ATI card, depending on what features of ps1.4 it could take advantage of.
If you try to create a PS on a gfx card that does not support PS, or does not support the minimum PS version required, then DX8 will not fall back to software to render the triangles. That would be madness - rendering would probably be an order of magnitude (or two) slower. The request to create the PS will simply fail. (NB. When using a vertex shader, DX8 can fall back to software for that, because it makes sense, and they have some reasonably fast software emulation for vertex shaders).
You don't have to choose whether you write for nVidia or ATI - you choose what level of PS (if any) you are going to support. You can choose to support 1.3 and 1.4 with separate code paths if you want, to get maxiumum throughput from ps1.4 cards.
Hope this makes things clearer.
Pixel/Vertex shaders are an attempt to provide developers with low-level access while still maintaining the abstraction needed to support multiple sets of hardware.
To be honest, compared to the issues of shader program proliferation due to the number/type of lights you have in a scene etc., this isn't that big a deal. You might as well complain that writing a PS that uses PS1.3 means that you're 'choosing' GeForce 3 over all the existing cards that don't support PS1.3. Or that when bump mapping was added to DX and you used it, you were choosing the cards that did bump mapping over those that didn't.
DirectX is supposed to let you know the capability set of the gfx card, and allow you to use those capabilities in a standard way. The pixel shader mechanism is just another example of this at work.
As ever with games development, you aim as high as you can, and scale back (within reason) when the user's hardware can't cope with whatever you're doing.
Trust me, this is not news for games developers:-)
It's like the video game, Metal Gear Solid. MGS never breaks from the format that you play it in: it's a continuous flow of action and graphics that is extremely smooth. The makers didn't break the format to go into "Cinemagraphic Sequences". Everything was in the same mode as game play. This created a suspension of disbelief that never needed to be broken.
Really? I thought the way they put the actors' names on screen whenever a new character was introduced was naff in the extreme and totally broke the illusion/immersion. As did asking you to "use the other controller" or "look on the back of the CD case".
I found it a real let-down that they tried to create a continuous seamless experience, as you say, and then kept ripping you right out of it by these silly references to the real (physical world).
That doesn't mean it was bad, just not as good as it could have been. But then, it was pretty good anyway.
The problem I have, is that in some ways I think you must be joking, but in others I think you are actually serious.
Out of interest, I just went to the Ultrashocksite...
For some unfathomable reason, it reminded me of skipintro
Thanks for proving everyone else's point in such an emphatic manner...
Tim
Yes, sounds feasible. I was also trying to remember if the original Quake supported 3dfx, but I don't think Carmack ever did Glide (hazy memory alert).
But Rendition Verite - now there's a blast from the past! Is that the one that couldn't render triangles, only quads? I think I have one in a cupboard somewhere.
Heady days :-)
Tim
Um, IIRC, Quake was software only. Having a 3D card didn't help you any until GLQuake was released. In any case, Quake has always run fine on 2D-only cards - that was the target market, after all.
Don't get me wrong - the point you're making is partially correct (although I don't agree that pixel/vertex shaders are in such widespread use that not having hw support means all your games look bad) but at least get your back-up facts correct :-)
Tim
-snip-
Of course this is all meaningless math games.
It certainly is. You are dreaming if you think a publisher gets $595 profit on a $600 package. Remember everyone in the chain wants to make a profit.
For example, in the UK, a PC game usually costs around 30ukp. The publisher can usually expect to see about 5ukp of that, on average. Everything else goes on production (smallish) and other people's cut (distributor, retail outlets) etc.
Of course, that's why publishers/developers like internet software distibution so much... :-)
Tim
What makes you say that?
At a company I used to work at, that sold shrink-wrapped DTP and illustration apps (and other software), it was fairly common for people with pirated copies of the software to ring up technical support asking for help.
The policy was that people had to have a serial number to get tech support, but a lot of legitimate users would get quite snippy about this, and so the rule wasn't enforced.
However, it was usually fairly easy to tell the difference between a legit user who just wanted help without messing around with serial numbers, and a user with a pirate copy. They tend to have different attitudes.
And I can tell you, there were no shortage of pirates ringing up for tech support. That might surprise you, but it's true.
Tim
No, but here's a great way to avoid that - stop thieving the music. I never get these problems because the only reason I ever get mp3s is to find old songs where I'm not sure which song I'm thinking of. I then find a CD with the song on it and buy it. I rip all my own mp3s. It's anecdotal evidence for sure, but the only effect Napster had on my CD buying habits was that I bought more (I realise I may be in the minority though).
Of course, you may just download the mp3s to avoid the hassle of ripping your CD collection, but having done my own CDs, I have to say it's easier than downloading the mp3s.
Yes, the RIAA are a bunch of tossers, and I hate what they are doing to the flexibility of digital music, but people who download a load of mp3s for free and then bitch about the poor quality of the stuff they just got for free are kind of making the RIAA's point for them.
Interestingly, the two internet services that made me buy more CDs simply by letting me work out what music I wanted to buy (the lyrics.ch server and Napster) were both shut down by the RIAA or similar entities for fear that it would lose them money. Of course, as I mentioned, I realise I may be in the minority (buying CDs rather than just stealing music) so maybe the RIAA have a point after all. Which doesn't justify all the crap they're trying to pull, but hey ho.
In my humble opinion :-)
Tim
Don't really know. Only about half the CS students on my degree course were actually interested in CS anyway, as far as I could tell.
As for NT 3.1, I think it wasn't so much version 1 ph34r, as maintaining parity with Windows 3.1, which was the best known version of Windows at the time. So you had Windows 3.1, and Windows NT 3.1 for 'power-users'. Well, ok, 3.11 was out at the time, but I digress.
MS pulled the same trick with Word - they wanted to sync version numbers between Word for Windows and Word for DOS, so WfW went from v2.0 to v6.0 with no jump in between.
Same thing happened with Visual C++ - they wanted to resync all the devtools version numbers (C++, VB etc), so VC++ went from v2.0 to v4.0 - there was no v3.0 of VC++.
In a fit of bizarre psychology, some companies now sync version numbers with their competitor's products (actually, thinking back, that might have been why Word went to v6 - to sync with WordPerfect).
For example, the product I used to work on went from v1.0 to v2.0 to v2.5 and then to 'Version X', because the competitor was also at version 10.
Go figure.
Tim
Well, in that case, maybe you should let your Windows expert know that version 3.0 of Windows NT is an entirely fictional product, so it's extremely unlikely that he's ever used it.
Version 3.1 was the first release of Windows NT.
Tim
Hey, for your information, the Supreme Court has roundly rejected Prior Restraint!
Tim :-)
Do I get karma for being the subject of a /. story?
You would have, except you blew it at the last minute (i.e. penultimate word) in your license by using "it's" instead of "its".
A poet wouldn't have done that ;-)
Tim
That's not what I was told. I heard that the entire planet was in imminent danger of being eaten by an enormous mutant star goat.
Tim
What are you smoking? I worked on a (2D) game that played back alpha-blended full motion video while playing back mp3 format sounds, and it worked on a 100Mhz Pentium.
From my tests at the time, mp3 playback on a P100 used to take <10% cpu time. Your P166 could barely play an mp3?!
Sure that's not 16.6MHz? ;-)
Tim
Yeah - if.
I tried BeOS once (v5 IIRC), about 18 months ago - I was expecting some driver problems, but the problem I got was one I completely did not expect. It didn't recognise my sound card - it was not supported. A quick trip to the BeOS web site confirmed that my sound card was not supported, and that Be didn't expect to produce a driver any time soon, if ever, as they didn't think it was worth the effort.
What was my soundcard?
A Creative Labs Soundblaster 16.
That's right - Be had decided not to support probably the most common sound card on the face of the f***ing planet.
I had to check a number of times, as I just didn't believe it (and neither did anyone else I told about it), but they really did decide not to support the SB16 chipset.
What a great Media OS!
I believe they saw the error of their ways since then, but it was enough to make me give up on BeOS at the time.
Tim
No kidding.
How about Tetris implemented in one line of BBC BASIC? :-)
0MODE9:OFF:GCOL-9:CLG:REPEATs=s+VPOS:PRINTCHR$30s: REPEATSYS6,135TOi,p,d:PRINTTABL SEUNTILVPOS=25:v=ABSRNDMOD7:VDr =TRUETO1:t=rANDSGNt:IFt=rCOLOU= nDIV3OR2EORd:VDUd:IF1<<(n+i)MO
(p=0)CHR$9;:IFPOS=22VDU3100;VPOS,21;6667;:UNTIL0E
U31:COLOUR3:REPEATm=9-INKEY(INKEYTRUEOR6)MOD3:FOR
Rv-15:VDUrEORm:i+=m=7AND9-6*r:IF0ELSEFORn=0TO11:d
D12AND&C2590ECDIV8^vAND975t+=POINT(p*POS,31-VP OS<<5):IFrVDUp,8:IF0ELSENEXT,:VDU2
0:UNTILt*LOGm:UNTILVPOS=3:Z
Tim
I think it was Robin Williams who said of Disney's financial attitudes: "Do you know why Mickey Mouse has no thumbs? It's so he can't pick up the cheques..."
Tim
Have you played Carmageddon?
Tim
PS. LAN games of "Fox and Hounds" were the best - a classic.
The reason bridges are built to such exacting standards is because if they aren't, they FALL DOWN.
Well, not always. Sometimes things like this happen.
Also, and this is driving me nuts, I remember reading somewhere in an article/book where the author went and checked on the chestnut about "if bridges were built like software, they'd fall down". I can't remember the exact figures/dates, but I seem to recall that he found that about 30% of bridges built in the US between 1900 and 1970 did fall down.
I think it was in Bentley's "Programming Pearls" but I only have the second edition, and I can't find the reference in that (I had to buy the 2nd edition when a friend never returned the 1st Ed he had borrowed :-)).
Tim
Seconded. Dull info, amateur/sloppy writing.
Take this example:
This July, Final Fantasy: The Spirit Within was released. With it, came the most glorious 3D CG in history. <snip> The level of detail is unsurpassed to all previous movies. At least for now it is.
Leaving aside the gorgeous grammar ("unsurpassed to"?), then quite apart from anything else, if FF's 3D CGI surpasses all previous movies, then it always will. If a wonderful new 3D CGI movie is released that surpasses FF, then it won't be a "previous movie", will it?
Aside from such scrappy writing, he also missed out TNT/TNT2 chipsets in his 'history' of nVidia's products. TNT was a massive improvement in fill-rate - the first time you could really run a game at 1024x768 and higher without huge slowdowns.
And all that "I still remember when Nvidia was the new kid on the block" - wow, he can remember a whole few years..? He can't actually remember enough to tell us why the Riva was not as good as 3dfx - just some vague comment that the 3dfx looked better. The Riva was a pretty buggy part - it had horrible seaming problems. nVidia introduced the TNT to developers as "an apology from us for how bad the Riva was".
When I got to the end of the article, I was left wondering why the hell it got onto the front page of slashdot - basically all the article said was:
"3D is the coolest! And it's going to get cooler! Have you seen the Sharper Image site? Hot dog! I'm gonna get me some nVidia lovin'!"
Harsh but fair, methinks.
Tim
No, this is. :-)
Tim
Sigh...it was a joke.
I probably shouldn't have bothered.
Tim
PS. Those <sarcasm> tags are looking pretty good about now... :-)
300MHz for the Cray may not seem much, but I bet if you ran some real-world benchmarks, like Photoshop filters, you'd find it was actually equivalent to an 800MHz Pentium, or perhaps even faster. Don't believe Intel's hype about MHz speeds!
Anyone have Photoshop for the Cray? Doesn't it come as part of the SPECmark suite now?
Tim
Quite frankly, I've seen horse shit that had less horse shit in it.
Kind of throws doubt onto your other claim:
Also, I heard from my friend that the staff have taken their revenge and stolen nearly *all* of the equipment that Dynamix had. Nice :-)
I'm quite sure that most (if not all!) of the developers at Dynamix are not criminals.
Tim
PS. Interesting to see that this has been modded up, whereas the reply commenting that the poster doesn't know much about 3D engines has been modded down. Sheesh.
One day about a month or two ago, the guy I work with put his Palm Vx into the sync cradle. At the moment he did this, his PC died. It appeared to have switched itself off, but we never got that PC to show any signs of life ever again - the motherboard appeared to be toast. It just died instantly.
:-)
The only thing I could think of was static discharge, but perhaps this news item has the real reason
Tim
There seems to be a large amount of confusion as to what this means, and some people seem to be jumping off the deep end (as usual), so here's an attempt to clear up some of the issues.
(PS = Pixel Shader in the following points)
Hope this makes things clearer.
Pixel/Vertex shaders are an attempt to provide developers with low-level access while still maintaining the abstraction needed to support multiple sets of hardware.
To be honest, compared to the issues of shader program proliferation due to the number/type of lights you have in a scene etc., this isn't that big a deal. You might as well complain that writing a PS that uses PS1.3 means that you're 'choosing' GeForce 3 over all the existing cards that don't support PS1.3. Or that when bump mapping was added to DX and you used it, you were choosing the cards that did bump mapping over those that didn't.
DirectX is supposed to let you know the capability set of the gfx card, and allow you to use those capabilities in a standard way. The pixel shader mechanism is just another example of this at work.
As ever with games development, you aim as high as you can, and scale back (within reason) when the user's hardware can't cope with whatever you're doing.
Trust me, this is not news for games developers :-)
Tim
Really? I thought the way they put the actors' names on screen whenever a new character was introduced was naff in the extreme and totally broke the illusion/immersion. As did asking you to "use the other controller" or "look on the back of the CD case".
I found it a real let-down that they tried to create a continuous seamless experience, as you say, and then kept ripping you right out of it by these silly references to the real (physical world).
That doesn't mean it was bad, just not as good as it could have been. But then, it was pretty good anyway.
2p.
Tim