MattEvans 473 Veteran Poster Team Colleague Featured Poster

See, as an Opera desktop user, I do tend to ignore the browser: but only because it consistently does what it does quietly, correctly, and capably. Which is a sign of a good application IMHO.

May I direct your respective attentions to a brief & hilarious, albeit obviously biased (although actually somewhat accurate) summary comparison: http://infotix.net/firefoxoperaie-a-funny-comparison/

Honestly though, who really thinks that popular equals good? Popular films quite often suck, and it's highly rare for popular music ever not to suck. Popular people are often quite unpleasant, to.

So, I certainly think the Opera team should keep on working to improve their desktop browser. It'd be a healthy challenge to try to make any substantial improvements, and it's not like they should really expect to make big bucks or fame and fortune by developing a (free) browser, anyway.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Any real terrorist or other malignant is already gonna be using strong encryption to communicate anyway. Given that those in power probably know that already; this is an attempt to monitor decent, normal people, not 'criminals'. I along with many others will probably start to use encrypted means of communication for everything when this comes in, out of pure childish spite.

Any legislation with 'terrorism' in it panders to alarmists, and usually correlates with 'badly considered' and 'privacy infringing'.... It's like the 2008 equivalent of 'witch'.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

@ Cybulski - we ( people who develop on Linux ) have a little thing called 'libraries'.. There are lots of them, on Linux and Windows, for lots of different things; they usually provide a high-level interface. They're not a Windows-only concept.. ^_-

Developing in Linux is like developing in Windows, just without that ugly 'WinAPI thing' lurking in the corner, and with a plethora of other equally capable and myriadically various libraries and tools.. ( and those tools are often free ).

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Funny.. Facebook and user privacy in the same sentance.. XD

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Oh wow.. so they finally realised that a browser isn't an operating system. So, back where we started: desktop applications with some network functionality. How predictable.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

...Microsoft 'webservices' tend to require a great lump of ActiveX and the IE browser... or Silverlight *shudder*. I don't even use Flash viewer, so it's not like I have a problem with Microsoft specifically.

I'm in the Linux and Microsoft crowd ( I use both happily ), and I just don't need this stuff. Synchronized devices? As long as it works as a USB mountable drive, that's fine for me, anything more reeks of pointless proprietry red-tape.

DocX royally sucks, it's an 'open standard' designed for a single product suite. ( *giggle* still no ISO I see ^_- ). OpenOffice sucks, but at least it's free ( as in beer ).

MattEvans 473 Veteran Poster Team Colleague Featured Poster

500 text editors? 10 office suites? 20 windows managers? OK, whilst there may well be that that many of these things, it's the same as with Windows free/easyware. There are some main choices ( 2-5 text editors, 2-3 office suites, 2-4 window managers ) and the other options are just niche / rarely looked at, or are based heavily on the main options.

Not much is considered 'standard', you choose what you want from what is available on a very granular level, often as early as install settings, and then you can add what you need/remove what you don't afterwards. It's as bloated or compact as you want it to be. Where do you come up with statements like that anyway? You can install a tiny linux, or a bloated linux. You can bloat Windows in about half an hour, same with Linux. No great difference.

( At least we have a choice of window manager ^_- )

As for setting up a printer.. yeah agreed. but why is that? Driver/printer manufacturers release predominantly for Windows, and I'm quite sure that most linux developers have better priorities than pinning down drivers for every printer on the market. Massive thanks to the ones that do though, since some printers do work fine, despite limited or no help from manufacturers.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

""Indeed, there appears to be a legitimate concern over what benefit the customers of Gleg, who were informed about the problem, would get by having such client side exploit information before the vendor can patch it.""

Easy - these customers know to use another media player. If developers really leave it to third parties ( public third parties! ) to find severe security holes : I wouldn't feel happy using their software even if they did 'get enough information' to fix the hole. If Real don't have ( can't see ) the information they need within their own codebase, using their own staff/contractors, thats something of a problem in itself.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

In my experience with phones...I'd rather have a standard, no frills phone; a nice mp3 player (by nice, I mean, a solid state portable drive that lets me dump .mp3 files on it and play them, with as few buttons / on screen displays as possible ); a top-quality digital camera without a builtin video/image compositing program; a nintendo ds; perhaps a handheld computer or laptop for internet/document reading/writing. A video player.. why? the bigger the screen the less portable the device, the smaller the screen the less useable the device.. it's something of a self destructive product.

Something about 'putting all of ones eggs in one basket' is appropriate here; with a dedicated device for each function; I can replace/upgrade any one of them easily, and make sure, for example, that I get the best camera independant of the phone, mp3 player, etc. It doesn't really bother me that I'd need a small suitcase to carry it all around - I don't need a camera or games console if I'm only going to the supermarket; and if I'm actually away from a standard computer and/or television for more than one night; I'd probably have a suitcase anyway.

I DO have an all-frills phone with internet and video player on a small screen, a hard-to use mp3 player, substandard camera/video camera, nicely made but simple games, etc, and, I never use any of these things, infact, I rarely carry the phone. It was free on a reasonably priced …

MattEvans 473 Veteran Poster Team Colleague Featured Poster

The whole "olympics in london" thing makes me mad anyway. The government's lied about the cost, is continuing to waste millions + which would be better invested anywhere else (millenium dome anyone?), and has made out like every citizen of england is going to benefit from the olympics in a vast way.. It's only a sporting event; get over it.

<rant relevance="low" ignore="optional">
It seems like parts of the english government think it's absolutely neccessary to show off our country's prowess to the rest of the world, whatever the cost, and in whatever respect. To some english citizens, myself for example, it seems madenly pathetic. I'd be more proud of my country if those in power cared less about the global show, and more about 'real issues', like terminating our one-way foreign-policy relationship with the US, terminating the office of airheaded spin showmen in politics, applying our laws equally to everyone ( including politicians and the mega-wealthy ), proactively helping out people in other countries and at home who can't afford even the most basic of secure lifestyles, and quitting lying about how decent and correct our country is compared to other countries.
</rant>

It doesn't suprise me that they (the british government and associated groups) can't do things right in this relatively tiny respect; they don't think far enough into the future, or enough about the implications of their official actions (beyond those which get momentary media attention and poll ticks). to get anything right.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Erk. The GPL is a scary beast. In my opinion; its very existance scares software developers out of working on Linux products over Windows products. On Windows; it's pretty safe to assume that it's going to be alright to release a product that relies on the existance of a wealth of useful components that are bundled with the operating system as a 'closed source' product for whatever reason.

On Linux; you have to check each linked library to make sure it's LGPL'ed rather than GPL'ed. Apparently; the act of dynamically linking to a library constitutes as a 'derivative work'. So GPLed libraries cannot be dynamically linked against unless a linking project is made open source itself. ( hence a L(esser)GPL for certain libraries, that explicitly discounts linking as derivition ).

Whatever Microsoft's 'ills' may be; they certainly make a better provision for developers; in terms of development products / libraries and legal permissions to use libraries and components. I can be open or closed source on a Windows project, at my own chosing; and get alot out of Windows as a platform, almost to the point that it's made easy for me; by Microsoft and fellow developers alike. On a Linux project, I have to be a bit carefull; lest I be 'forced open' by a few lines that assume a user has libcoolutility1.so; or rewrite libcoolutility's functionality myself.

As a developer, if I see the words 'open source'; I see code or a library …

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Hmm... I think networking/image-video/upload etc sites have even more of a niche market than very technical sites...

If most technically orientated people are anything like me, they avoid even looking at those kind of sites as if they are infact the plague. Too much user uploaded *, not enough material of interest to keep me there.

And absolutely non-technical ppl will at the most look at those sites, and not tend towards uploading anything; however simple the interface is.. in fear of it causing some disaster on their expensive overpowered computers.

The market for uploads then; is tech wannabes who have spare time without any responsibilites or ulterior dedications. And that's gotta be a self destructive market; since such people will either develop above that stage, or ditch technology and go to art school...

Just my opinion of course...

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Silverlight isn't open-sourced but it is open standard.

open standard is irrelevant if there's no easy way to port a viewer to linux.

there's not much WMV around at the moment for sure... even for non-streamed video, DivX and MPEGs seem to be more popular at the moment.

ha.. I certainly didn't move most of my development to linux rather than windows to watch streaming video clips though... i use windows on and off; but again, not for streaming video.

it's up to those releasing video to make provision for different operating systems; Microsoft might be a manipulative consumption driven money making machine; but they don't control our minds... yet.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Erk. I hate those iPods; I'd much rather have a cheaper device, with drop-resiliant solid state memory, a standard device driver, and that lets me drag and drop my MP3 files into it when I plug it into the PC; rather than meandering through that iTunes abomination.

I'd say ID3 did more to define music by songs and albulms than the iPod did. I love music; but I'd never get an iPod.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

I think, the first test of whether someone is serious and capable of using Linux, is if they're prepared to risk/able to install the distro they want into their existing machine. If one can't, or more likely won't bother to do that, then one is perhaps better suited to Windows XP. Or hey.. Windows Vista O_o

I use Linux happily on a Dell PC sold with Windows XP. I have Windows XP still on one partition, Linux Mandrake 10 on one partition (I use that most of the time these days), and hey.. Windows 98 on another partition (for a hardware reason).

The only problem I have; is that I bought a printer/scanner/copier recently without checking to see if a Linux driver existed.. and guess what? it doesn't, and the printer manufacturers have no plans to release one.

I think, better than 'putting Linux on the pc' would be 'putting nothing on the pc'. Most linux distros are free, and it could lower the cost of a new PC if a Windows license isn't included in the costing. Infact, when I bought this computer, I think the OS was optional. (I did buy just the PC tower rather than a package, so, perhaps that's why)

Although that statistic indicates some desire for Linux as an out-of-the-box OS, I'm pretty sure most of Dell's customers still want the latest Windows on their PC... under the circumstances, I wouldn't see it as an injustice if they didn't pander …

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Whenever I downloaded a new MSN, I always followed it up with the latest 'strip off the lame new "features"/annoyances and add some better ones' unnoficial patch.

To be honest, the best MSNs were waaay back when emoticons weren't animated and you were trusted to make your own decisions about what file extensions you chose to share with others.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

> It was 'miserable failure' rather than just 'failure' on its own as a search term that did the George Bush thing I think.

It was actually both. But Google fixed 'em. Guaranteed until the next bug, like I always say.

I say that was more of a feature than a bug.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

It's got absolutely nothing to do with government legislation.

Windows is a very closed system; with pretty much everything running on the system being on the same priviledge level. Having it possible for security software to be contravened by viruses is a very weak idea.

The only way to really protect the application layer and data layer is not software running at the application level. It's having software running below the accessible application layer.

Because Windows is a closed system*; it's difficult for third party security software to be truely efficient. Live heueristic AV scanning feels like the mechanical equivelent of pouring concrete through the gearbox; and if security software can be installed it can almost certainly be uninstalled or compromised.

I don't think anyone here is jealous of Microsoft; they're certainly on a different level to me. Speaking as a programmer who wouldn't even use a computer if it wasn't for Win 3.11, it'd be like being jealous of God.


*Letting security software developers have better information access; even being able to 'see' the source code doesn't constitute as the system being unclosed. Every sold version ships closed; and I doubt whether MS would risk another competition/favoritism enquiry if they 'picked' a good solution by another party and let that have more authoritative priviledges than every other solution.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Lets face it; it seems to be little in the way of a challenge to find something negative to say about MS. There are definately plenty of positive things to say, but as in most cases, that doesn't tend to hold interest for quite as long... Microsoft get it pretty rough, but that's not suprising considering the size of their user base.

There's really no excuse for the security problems that riddle MS products. A big problem is the difficulty in integrating third-party security software at any level below the same level that any virus could potentially gain access to, and a blatent lack (in recent products) of good core security.

Perhaps MS are a bit worried about implementing comprehensive security at-or-below the OS level, in case the companies that work specifically in security software throw a case similar to the media player monopoly fiasco not so long ago.

There shouldn't really be a 'choice' or 'variety' in how to protect a system.

I would like to see an unstoppable background guard that specifies access permissions on a per-folder/file/process basis. There shouldn't be an API that allows third-parties to control the guard, disable the guard, or even sense the guard exists. It would obviously require a drop of intelligence from a user, as no program would be able to manually set up the guard for the program's normal access. The system wouldn't ever need to generate questions that were too uncomprehnsible. Think along the lines of, …

MattEvans 473 Veteran Poster Team Colleague Featured Poster

I do agree that MS make a good effort with patches, and I don't really understand the problem people have, along lines of "Microsoft just released a new patch, that means their software sucks", or even "Microsoft have stopped support for Windows 3, what swines" it's natural development to keep 'adding' to a system when things don't go quite as planned, and re-releases are better than endless patches in the long run.

With regard to feeling safe. My computer doesn't function as a webserver, (but I use Apache locally and bring it up and down when I need it), and my computer gets its Internet connection through a (firewalled) Windows laptop connected peer-to-peer with this one, which makes it somewhat difficult to address this one directly. I feel safe because I know how difficult it would be for anyone to A. attack this PC, or B. get anything useful from it.

On Windows using IE 6 though, it doesn't matter what firewall you have if you hit a browser-object-gone-mad. I got a virus delivered by a script executed in a WMF file in Internet Explorer, and that was with AV and a firewall active.

I'm usually more worried about virus damage than cracker damage to be honest. There's always a question about the goodness of human nature in their immediate present, there's no question with a bit of mad script they wrote while in a in a bad mood and left all over the web.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

hmm... well my pc is definately more reminiscent of a cardboard box than a jewelry store.

if I worked on top secret technology, if i was a hacker myself, or if I'm talking about corporate computer systems, my views wouldn't be the same.

but, as I use my personal computers for developing open-source software, listening to music, and chatting on forums, and I DO believe in the general goodness of people... I'm not all that concerned.

the average home user has security software shoved down their throat when buying a new PC... it has its place, for sure; but bullet-proof software is less important than making the right decisions in how you use it.

Windows home versions are pretty terrible in that any user has pretty much got permission to access and modify everything on the system. It doesn't matter if a browser object escapes its confines if it can't do anything.

No browser can protect against certain cross-site attacks.. and it's not the responsibility of browser vendors.

I think in general, Firefox is more secure than most. I feel 'safer' using Firefox than IE for sure. But then, I feel safer using Linux than Windows, and even safer just using a Gameboy instead.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

is that the house or the computer? O_O

but seriously... the only time my computer's ever been 'compromised' is where i've been in unsanitary places : the only viriiI i've ever got have been from P2Ps and crack downloads. I dunno whos watching me, and I'm not really that bothered. I'm poor and generally law-abiding.

I think alot of the security hype is to sell third party firewalls and scanners and detectors..

The problem with anything third party is just that. It's effectively acting on the same level as a virus would; I would welcome Microsoft integrating fast good security at a very low level in Windows (even a 'real' administrator/user priviledge setup would be nice). Any "secure" browser or protective measure on Windows is like putting a deadlocked steel door on a cardboard box...

MattEvans 473 Veteran Poster Team Colleague Featured Poster

I never saw Firefox as 'secure', Just different. The more popular something is the less secure it is, and if it can be made, it can be compromised.

If you want extreme security, disable all cookies, disable all Javascript, stay out of forums and places where 'members' can post images and links, set a spam filter to redirect ALL mail to trash, and then tie both your arms behind your back.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Well, an invalid SSL certificate isn't malware; and i'm absolutely sure it's worded to stop me entering the site. however a site with a valid SSL certificate could be more dangerous than a site with an expired SSL certificate, all it means is some agency has confirmed that site's owner is who they say they are.

i think the best use of SSL is as a developer; you can ensure that a well made browser (including IE) will notify a user if any cross site scripting is about to happen. Java (JNLP and applets) have had a similar certificate thing going on for quite some time; but you can "buy" valid certificates legally and illegally, so it becomes quite meaningless.

With regard to that herding message, it's just plain rude to assume i'm not going to read it. it's big and bold enough already to notify me there's an issue. Admitadly though, I didn't read the message, so perhaps it's a good thing.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

My university's email site gets a red bar because of an exired certificate... IE7 sort of 'herds' you away from it, it asks a question, the gist of which is "do you want to continue to this site" but the wording is such that an answer "yes" is a "yes i do not want to risk visiting this site".

It annoys me, but then all browsers give me a similar warning : just worded more intelligably.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

hah.. definately. among the top things that annoy me at the moment:

- dead links
- my computer being slow (not really the internet's fault, but it never fails to result in an outburst)
- sites setting more than a few cookies at a time (i often have "ask before setting a cookie" switched on)
- the exact same useless content on nearly all of the pages in a first page of google results.

my computer hitting slowdown is probably the most annoying... and i do get momentarily enraged! i click every mouse button, open and close random windows and swear loudly, if i'm not satisfied after a few moments of that, i attempt to reboot, and if that takes too long, i yell "FINE" (often accompanied by expletives) and cut off the power.

and when it's all rebooted, i settle back into a zenlike calm, as if nothing had happened.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

haha.. do you think england's reputation for beyond-your-own-limits drinking has something to do with that? ;)

I'm also Englandish, and I've never left anything behind in a taxi. But, I never use taxis; unless I've hit the drinks and can't remember how to get home :- and I don't usually take my laptop to the pub..

MattEvans 473 Veteran Poster Team Colleague Featured Poster

one thing that i always revert to tables for is central vertical alignment.. why is vertical-align:center; not recognised in div{} css when using transitional and strict html? :|

what i was trying to say, originally, is that there isn't some line in-the-sand between tables and divs. tables can be affected with CSS too y'know :|

EDIT: that should be vertical-align:middle; but hey, neither work.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Aah but with that, things stick all over the place (how do you measure relativity to text?), and it doesn't pertain to consistency on every screen at every size (think handheld devices), and it leaves CSS files as huge lists of where's thats, which is surely what HTML is (or maybe was) for. I'm optimising my site's underlying structure to be easily editable by people other than me, (don't know how well that's gonna work) but I'd still rather keep my tables, and I'd still rather keep my CSS to a list of colors and (maybe) some floats.

Maybe, I'll change my mind by the time I've finished, but it hasn't happened yet, and I maintain, tables do what they should, and shouldn't be automatically dismissed.

Still, good design Dani. Did you build everything we see here? I like the style or I probably wouldn't be here.

Matt

MattEvans 473 Veteran Poster Team Colleague Featured Poster

You can't keep style and content separate with JUST CSS. The order of elements is always important to a degree. If you have to change just ONE tag in HTML, you fail to keep the two separate :P

I find editing HTML/script to edit layout and CSS to edit the style of the layout more intuitive. Infact, I generate my HTML from XML, and there needs to be a defined way of things appearing in the right place. DIVs -but- only if their in table cells for me :P

Because of that (XML source), my new site won't even be interperable by search engines O_o

Check out the beta though; I'll admit, the style is lacking:

http://www.fusiongroupuk.com/fuse/data/index.xml

(username: guest/matt, password: password/password)

XSLT forever!

MattEvans 473 Veteran Poster Team Colleague Featured Poster

For some reason, it's fasionable to abort tables even if a good situation exists for their usage. When did this happen? I like tables, and I don't think they should be overlooked.

Most of the time, I create my pages with a huge table holding everything together. Sure, I could fight with DIVs and the annoying difference in their representation on different browsers, but I'd rather not. I'd rather use a big table, and I know my table will appear (almost) the same everywhere, when I do (almost) anything to it.

The reason I say this, is the number of sites I find in my google bounces, advocating DIVs as the way to lay out a site. Sure. If you want to make static pages containing information, they provide a way of some interesting effects, but it's certainly amusing that most of the biggest advocates of whom I've read code have nested their DIVs in a way that would be frankly un-interperatable if they ever want to make a change in something. At least with tables you don't need to practically print out your CSS to be able to read your HTML.

I use DIVs, where it's appropriate, and I use TABLEs, when I know I need tabular layout; and I don't mean restricted row-cell datasheets, but whole pages where I know the top banner should be this big, the sidebanner should be this big, and the middle should be this big. Sometimes, I nest my tables. …

MattEvans 473 Veteran Poster Team Colleague Featured Poster

However, the most powerful option is the “Browser Identification” where we can configure how Opera will Identify itself in it’s User agent String.

Unless Opera then automatically emulates the browser it identifies itself as, that's hardly a good feature! Alot of developers use that string to serve alternative content based on the type of browser they think is requesting a page; which is always gonna be for the enduser's benefit.

Still, it's gotta be worth checking out, maybe it renders HTML/CSS more intuitively than IE and FF :mad:

MattEvans 473 Veteran Poster Team Colleague Featured Poster

I think it's only reasonable that microsoft provide sufficient documentation to support other applications interfacing with theirs. Otherwise, if Microsoft sell "a product" with "a product" I think that's fair enough. Anyone bothered enough to get realplayer would get Winamp instead, I barely look at Windows Media Player.

It's down to competitors to take advantage of Microsoft's attitude, rather than the EUs right to take a fine, which is totally extortionate given the circumstances. Companies get lower fines for defrauding governments; what have Microsoft really done? Refused to give out technical information about their products, which aren't sold as open source, and provide a naff media player in a software bundle.

Most Linux distributions have a media player, and so does MacOS, the WMV format isn't restricted or complicated, and it's supported in realplayer, as realplayer format is supported in windows media player with a plugin, and that's not unfair.

No-one (including companies) can hope to takle every market, exactly what Microsoft has a monopoly in is debatable, I own 2 versions of WindowsXP, that came with my laptop and PC, so I don't really pay anything to Microsoft, but then I've never paid Sun anything, and I use Java daily. But I don't feel that they (Microsoft) owe me, or anyone else anything, you pay for Windows, you get Windows.

I ranted for a while yesterday in the software developers lounge about windows/microsoft systems getting more and more unuseable. However - if I was being …

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Perl is quite bad (or good depending on how you look at it) for crypticness.

I never use those superglobal variables as implicit parameters or targets; it scares me ;)

But I'd much rather be scared by something powerful at my potential disposal than irritated by the overhead and safety checks involved in doing alot of conceptually simple things in Java...

I guess they certainly aren't languages for the same purpose.. But hey; my college project involves string processing, and could definately make good use of untyped hashes, and it's gotta be done in Java. :mad:

MattEvans 473 Veteran Poster Team Colleague Featured Poster

That's madly tiny and cryptic :cheesy:

I've been working in Java today for a college project; I used Java for yeaars before I used Perl..

To do something similar to that in Java would be a mammoth task. There seems to be 'no such thing' as a useful Java hash, and reading files line by line isn't made easy either.

I certainly prefer the Perl way these days...

MattEvans 473 Veteran Poster Team Colleague Featured Poster

ah... but what if nothing and Search are valid values? ;)

<input type="text" name="txt" value="Search" 
        onfocus="if(this.beenchanged!=true){ this.value = ''}" 
            onblur="if(this.beenchanged!=true) { this.value='Search' }"
               onchange="this.beenchanged = true;"/>
MattEvans 473 Veteran Poster Team Colleague Featured Poster

you should change:

<a href=\"". $page_link ."?page=1/\" title=\"First Page\">[B]<<[/B]</a>

to

<a href=\"". $page_link ."?page=1/\" title=\"First Page\">[B]&lt;&lt;[/B]</a>

and so on with all other non-tag <'s and probably do the same with &gt; for any >'s

It'll output bad XHTML otherwise =P

MattEvans 473 Veteran Poster Team Colleague Featured Poster

When I wrote that code; it was after reading that there was no standardised method to do such a thing.. even then perhaps that was an outdated fact.

The main problem with multihandle_append is it will always overwrite handlers if there is no MultiHandle object yet for that event.,. So you have to assign all event handlers using javascript code (as apposed to just typing onclick = "etc.."). The multihandle_append function could probably be hacked a bit more to add any existing event handlers to the top of a new MultiHandle object's function s(t)ack..

I imagine the new DOM spec method respects attributed event handlers automatically; I'd definately advise using that availability checking code from digital-ether; and using MH as a dependable last-resort rather than an optimum first choice.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

The append handler part can be simplified to a single public function as so:

function multihandle_append(object,event,func){
  if(typeof(MultiHandle) != "undefined"){
    var mup_handler = object["mh_"+event];
    if(!mup_handler){
      mup_handler = new MultiHandle(object);
      object["mh_"+event] = mup_handler;
      object[event] = function(evt){this["mh_"+event].fire(evt);};
    }
    mup_handler.append(func);
  }else{
    object.onmouseup = func;
  }
}

and then called like:

multihandle_append(document.getElementById('object'),"onmouseup",function(param){code});
MattEvans 473 Veteran Poster Team Colleague Featured Poster

You want your object to do a number of different things when it's clicked, and you've used up onmouseup, onmousedown and onclick. There are some properietry solutions to this, but it's quite a simple thing really.

Copy and paste the MultiHandle object into an empty js file, include it in your page, and wherever you'd write an event handler, use the MultiHandle object event handler script in the listing.

The standard behaviour is to fire each function in the order in which they were appended to the MultiHandle object. I bind the Multihandle for each event to the object that uses it somewhere, following a simple naming convention for which one is for where. Then I don't have to set everything up at the same time, and I never accidently overwrite a handler.

You could create a feedback chain in the MultiHandle fire event so that the next event only occurs if the last event returned true (or didn't return false). It's not the behaviour I wanted when I needed multiple handlers though.

Let me know if it doesn't work in a context, I made it for something very specific and it works there ;)

Edited this (14th Feb 2007) because the snippet was one giant JS comment ('/*' != '//') ;)

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Ever wanted to evaluate a user-provided expression, maybe from a form input or otherwise, and return the result? eval($expr) is dangerous because eval(open $out, "> file.what"); will open the file, infact, eval(everything) will pretty much do everything. checking though everything is tedious, and manually parsing everything seems like a waste of time.

Well. I found the Safe module and spent a while figuring it out, Safe is included in all present distributions of Perl. The main thing to figure out is which opcodes to allow for a reasonable eval and nothing dangerous. Well, here they are to save you time:

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Read these articles:

http://chrishecker.com/Rigid_Body_Dynamics

You can probably ignore all of the rotational stuff, since a sphere is rotation-invariant.

You can get away with a very, very simple implementation if you're only considering spheres. But the other stuff in the articles is good, anyway.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

it's D3DCOLOR_XRGB.. (You have B and G the wrong way).

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Heres a good starting point: http://www.riemers.net/eng/Tutorials/DirectX/C++/series1.php

unfortunately, the navigation of this site isn't obvious, the tutorial steps are in the 'contents' box on the right of the page, see attached image.

That should give you enough to start something.. I've not followed the C++ versions of these tutorials, but the C# ones were quite useful.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Yes, you can program in a Mac OS environment. I don't have any experience doing so, though.

Programming in a very cross-platform language like Python wouldn't be much different between win/mac.

It would be harder to write C# in Mac, because it's very much a Microsoft thing and it's integrated well with the Microsoft Visual Studio IDE. (although Mono http://www.mono-project.com/Mono:OSX would let you develop C# code on a Mac, if that's what you wanted to do)

MattEvans 473 Veteran Poster Team Colleague Featured Poster

When I first learnt, Basic (DOS and then Visual Basic) was the standard 'beginners' language. Python seems to be one of the beginners languages of today. Personally, I don't care much for Python, but that's probably just a personal preference.

If you learn Python it may help you learn C++ later. Java is 'closer' to C++ in terms of syntax and language capabilities though. Some things you might take for granted in Python aren't in standard C++, like closures and weak typing. Still.. weak typing is (IMO) more trouble than it's worth (especially in a big project), and closures are mostly just a convenience.

It really is up to you. If you read some tutorials for Python and feel that the language appeals to you, go for it. If you have the math and physics knowledge already, then you'll find you have one less hurdle to overcome.

In case it helps, I learnt in this order:

- DOS Basic/Basic-A
- Visual Basic with 2D graphics
- DirectX and a little C++
- Java with 2D graphics
- Java 3D
- C++ in alot more detail
- OpenGL

And loads of other stuff inbetween. These days, you probably don't want to follow that order, if I had to go from the beginning again today, perhaps I'd learn C# and XNA first, and then DirectX and C++ and/or OpenGL and C++.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Alternatively, get a good knowledge of the 2D, 3D, game mechanics and programming concepts in general, then you can take that to ANY programming language (within reason). You need to learn one language to get started with the concepts, but it doesn't really matter which language you learn first, as long as you're just doing it for the sake of learning, and accept from the beginning that you're not going to make a 'great game' the first, second, third, maybe not even the 10th time you start.

C++ doesn't have any 'builtin' graphics functions, so you have to pick a graphics library, e.g. for 2D games you'll want to learn either SDL, DirectDraw, or Windows GDI, for 3D games you'll want to learn either OpenGL or DirectX. The advantage of a language like say, Java or Phython is that there are either 'builtin' or at the least 'de-facto' libraries for almost everything you need to do with graphics. That's only really a short-term advantage though, IMHO, because getting hold of and configuring libraries is the easy part.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

You can use threads, I do: One thread for render calls, one thread for ai+physics+scripting. Both mutexed so only one entire update body runs at the same time, which isn't the most efficient way to do things, but the only point of that use of threads was only to keep code simple.

Alternatively, you can just 'skip' loop iterations, i.e. render every iteration and only do 'other things' every 4th/5th/etc iteration. E.g. say your render rate is 60Hz, and you want to update physics+ai+whatever at 20Hz:

unsigned iteration = 0;
while ( true ) {
  if ( ( iteration % 3 ) == 0 ) {
    do_other_stuff ( );
  }
  do_render_stuff ( );
  ++iteration;
  // some sleep code
}

Other stuff is every 3rd iteration, since there are 3 'ticks' at 60Hz for every one 'tick' at 20Hz.

MattEvans 473 Veteran Poster Team Colleague Featured Poster

Just FYI, the __vfptr = CXX0030 thing is because the debugger thinks that d3ddev is pointing to an actual instance of a D3D device, if there's some error in the call to CreateDevice, and for whatever reason the device isn't created, then the pointer doesn't get assigned a value, and it'll have an 'undefined' value (since you don't initialize the pointer to anything). Basically, if you declare & initialize d3ddev like:

LPDIRECT3DDEVICE9 d3ddev = NULL;

Then, should the CreateDevice call fail to initialize that variable, the debugger will give a less confusing message, i.e. it will report d3ddev as still being NULL (and it shouldn't try to dereference it and complain about a bad virtual function table, which is what that __vfptr is all about)

MattEvans 473 Veteran Poster Team Colleague Featured Poster

The function call CreateDevice returns a HRESULT (error code), so do:

HRESULT result = CreateDevice (...);

the possible values are defined as D3D_OK, D3DERR_DEVICELOST, D3DERR_INVALIDCALL, D3DERR_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY ( see http://msdn.microsoft.com/en-us/library/bb174313(VS.85).aspx).

So do something like:

switch ( result ) {
  case D3DERR_DEVICELOST: std::cerr << "device lost"; break;
  ... etc ...
}

Just to find out what (if anything) DX thinks is going wrong.