OpenLobby - Page 5

OpenLobby

Discuss development of lobby clients, server, autohosts and auto-download software.

Moderators: Moderators, Lobby Developers

User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: CheeseLobby *WIP*

Post by AF »

Wait you've been building this and you haven't even bothered to learn the number 1 most important super uber critical rule of Java GUI programming?!?!?!?

Not putting GUI code on the GUI thread is like driving the car with no bonnet windshield seatbelt or protection into a wall of 5ft spikes and expecting to come out alive.

Here is a 4 part set of blog posts that will explain:

http://www.javaswingcomponents.com/blog ... tch-thread

http://www.javaswingcomponents.com/blog ... e-pitfalls

http://www.javaswingcomponents.com/blog ... ing-worker

http://www.javaswingcomponents.com/blog ... nlisteners

There's a reason AFLobby had SwingWorker instances and runnable objects all over the GUI interfaces.

http://www.javaswingcomponents.com/blog ... ker-advice

What happens if you don't use the UI event thread to do UI work:
  • Random race conditions
  • Pitiful UI performance
  • Deadlocks and mysterious crashes that throw no exceptions and are uber hard to reproduce
  • Weird UI bugs that make no sense
I know as soon as I fixed this in AFLobby a slew of longstanding bugs vanished and the UI became an order of magnitude faster, I got a lot of compliments saying it was very zippy compared to the previous version.

Violating this golden rule is the reason most Java UIs are slow and buggy.
User avatar
Cheesecan
Posts: 1571
Joined: 07 Feb 2005, 21:30

Re: CheeseLobby *WIP*

Post by Cheesecan »

You should read the source code before jumping to assumptions. In the time it took you to write that you could commit a patch or go work on AFLobby. I don't really appreciate your "constructive criticism" right now.

Here's why you have not read the source code.

If you had you would have seen the 37 other locations where GUI jobs are explicitly placed on the EDT when invoked from other threads.

You would also know Substance enforces GUI component initialization on EDT, and it wouldn't even be possible to develop an application using it without respecting that rule.

One of the worst things I know is a person who complains and does not do anything to help. I like that you want to get involved with CheeseLobby, and have some ideas, but with your bakground you should be taking an active role if you want to use it, not sit back and lecture for every single bug you found. If Linux was developed by one person being nagged on by the rest non-participating individuals then there would be nothing.



Also, posted fix(0.2.4).
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: CheeseLobby *WIP*

Post by AF »

I'm sorry for assuming work was done outside the EDT after a bug report citing work being done outside the EDT was posted.

I also apologise for not offering up code patches in an unfamiliar code base of a program I have so far failed to even get to start past the initial configuration screen.

The primary reason I even attempted it was to see exactly what I could do to help after Foreboding expressed an interest, but since I cant get to the part where I logon and chat and join battles, I'm instead reporting hypercritical blocker bugs in the initial startup.

As the person who's had the most experience in this field other than yourself, I'd like to know the current state of things before I can evaluate moving in and speeding things along and investing more time than I have, and the best way to do that is to actually use the program.

I'm sure the noob who screams murder in your name then goes away without ever telling you that there was an issue will be much nicer to you than I am, but in all honesty if I were you, I'd rather know about these things =] Automated stacktraces only go so far ( note anyone looking at your servlet can see the way I've got my file system set up and my windows username and drive letters ).
You would also know Substance enforces GUI component initialization on EDT, and it wouldn't even be possible to develop an application using it without respecting that rule.
Actually, when I first started using Substance, this wasn't true. You needed to yes, but only to satisfy the golden rule. It was midway between the start of my usage of that library and the end of the project that Kiril added those checks after getting frustrated with bug reports by clueless java noobs, so you may have had one of those old old libraries that still float around.
User avatar
Cheesecan
Posts: 1571
Joined: 07 Feb 2005, 21:30

Re: CheeseLobby *WIP*

Post by Cheesecan »

CheeseLobby has always used Substance 6.0 and NewMainFrame has always been initialized on EDT. Dunno how Satirik got an error nobody else did. Maybe Substance doesn't like him..
Satirik
Lobby Developer
Posts: 1688
Joined: 16 Mar 2007, 18:27

Re: CheeseLobby *WIP*

Post by Satirik »

Cheesecan, some people on this forum have a simple but efficient rule, and I am going to violate it just for you so open wide your ears :

Never, ever, talk about, or to, someone name AF. Ignore everything coming from him. He DOES NOT exist !

I hope it will help you.
Satirik
Lobby Developer
Posts: 1688
Joined: 16 Mar 2007, 18:27

Re: CheeseLobby *WIP*

Post by Satirik »

And btw I installed java just to try this lobby :D, I have the latest one but maybe I am missing something, I also tried every combination of path i could, I got a missing DevIL.dll SLD.dll ILU.dll and finaly got a "could not find spring dependents" msg box (it was looking for the dll in c:\progam files instead of c:\program files\spring (even though none of the paths were pointing to c:\program files directly)
User avatar
Cheesecan
Posts: 1571
Joined: 07 Feb 2005, 21:30

Re: CheeseLobby *WIP*

Post by Cheesecan »

hoijui wrote:*cries* NOOOOOOO

Javaaaaa
java, oh my java!

back to this thread i come, to find you laying here in the mud, with your teeth kicked out, and your GUI thread leaking out your stomach.
what did they do to you?!!
java, ohhhh my good old java ...
oh my good lord that you gave us our CPUs, please have mercy with the bestest of your souls here on the hard grounds where the bytes rule, and give it an other cycle.
Image
(You've won a trip to the Bahamas! GET YOUR TICKETS TODAY!)
Edit: Aka click picture for new version 0.2.4(you might be the lucky one!).
User avatar
Cheesecan
Posts: 1571
Joined: 07 Feb 2005, 21:30

Re: CheeseLobby *WIP*

Post by Cheesecan »

Satirik wrote:And btw I installed java just to try this lobby :D, I have the latest one but maybe I am missing something, I also tried every combination of path i could, I got a missing DevIL.dll SLD.dll ILU.dll and finaly got a "could not find spring dependents" msg box (it was looking for the dll in c:\progam files instead of c:\program files\spring (even though none of the paths were pointing to c:\program files directly)
Yeah this JNI native dependencies is some crazy stuff. Java has no clue about where to look for anything even if you point it to right where the files are, so it will just flip a coin(check your PATH environment variable) and see how it lands to deny you access. Also if you are missing some C++ DLLs in your system dir where Java looks..then you guessed it, it's going to fail and not even say which dependency it wants. Good stuff.

Maybe I should reinstall Windows so I could have vanilla angry windows like the rest of you..seems like mine has spread its legs to cheeses long ago and now refuses to produce all these cool errors the rest of you are so blessed to have.
User avatar
very_bad_soldier
Posts: 1397
Joined: 20 Feb 2007, 01:10

Re: CheeseLobby *WIP*

Post by very_bad_soldier »

Cheesecan wrote: Maybe I should reinstall Windows so I could have vanilla angry windows like the rest of you..seems like mine has spread its legs to cheeses long ago and now refuses to produce all these cool errors the rest of you are so blessed to have.
I guess you will prefer a fresh Windows VM instead of actually reinstalling your physical machine. 8)
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: CheeseLobby *WIP*

Post by AF »

Satiriks rule only works because he has a habit of being an arse as such I've not been very nice to him historically, though he has improved in recent times.

0.2.4 works here, I'd advise you change 'spring path' to 'spring filepath', otherwise it's a vast improvement in the GUI design over my previous attempts from those few changes. I've now managed to log into the lobby.
User avatar
Cheesecan
Posts: 1571
Joined: 07 Feb 2005, 21:30

Re: CheeseLobby *WIP*

Post by Cheesecan »

Image
Sprockets be praised!
We have a new high trajectory course that will lead us to crash in T minus 10 seconds.
Satirik
Lobby Developer
Posts: 1688
Joined: 16 Mar 2007, 18:27

Re: CheeseLobby *WIP*

Post by Satirik »

works here, but the default skin looks gay and there is a lot of small bugs, like if you increase the chat window size height, only the text box and send button get bigger ...
User avatar
Cheesecan
Posts: 1571
Joined: 07 Feb 2005, 21:30

Re: CheeseLobby *WIP*

Post by Cheesecan »

Yeah maybe I should have used one of the light themes as default..

The chat window size should be locked horizontally in the future, since table width is always packed to take as little space as possible/be stylish.

Edit: In other news we already managed to max out the GAE servlet page's Datastore Read Operations quota :mrgreen:
User avatar
PicassoCT
Journeywar Developer & Mapper
Posts: 10450
Joined: 24 Jan 2006, 21:12

Re: CheeseLobby *WIP*

Post by PicassoCT »

sorry, but can someone explain to me: Why git? I ve seen some comandline tools by now, and the sheer clumsiness of this one.. bah.. the crawling down into the whole filestructure to add every freaking file single handedly .. i mean is this just the "We pull up with crap, because its open source, and we have to support the cause" attitude again?
Mecurial: Hg add
GIT: GIT WTF /how is it usefull as a tool/when you spend more time typing/then coding on the damn thing - :(
And then this crappy rsa-key paranoia.. hey its open sauce but they might come at night and try to steel it.. yeah, im mad.. my time has value(at leat for me), and wasting it with a horrible svn system.
abq911
Posts: 11
Joined: 16 Jul 2011, 00:13

Re: CheeseLobby *WIP*

Post by abq911 »

PicassoCT wrote:sorry, but can someone explain to me: Why git? I ve seen some comandline tools by now, and the sheer clumsiness of this one.. bah.. the crawling down into the whole filestructure to add every freaking file single handedly .. i mean is this just the "We pull up with crap, because its open source, and we have to support the cause" attitude again?
Mecurial: Hg add
GIT: GIT WTF /how is it usefull as a tool/when you spend more time typing/then coding on the damn thing - :(
And then this crappy rsa-key paranoia.. hey its open sauce but they might come at night and try to steel it.. yeah, im mad.. my time has value(at leat for me), and wasting it with a horrible svn system.
Umm 'git add -all' ?
User avatar
Cheesecan
Posts: 1571
Joined: 07 Feb 2005, 21:30

Re: CheeseLobby *WIP*

Post by Cheesecan »

Image
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

Re: CheeseLobby *WIP*

Post by hoijui »

i never use git add, thats what git gui is here for (yes, it is a GUI). there is also gitk (visualizes history, and yes, it is a GUI too!).
donbehadin, be learning!
in fact you can be sure of that a tool as common as git is by now, has huge pros, same does not apply for SVN. and btw, the abstract acronym is either SCM or CVS, never SVN (that one is a specific impl.).
User avatar
Cheesecan
Posts: 1571
Joined: 07 Feb 2005, 21:30

Re: CheeseLobby *WIP*

Post by Cheesecan »

I've actually stopped using git GUIs and just do it all by command line..even in windows I have a mingw environment setup.. I guess my tolerance for mucking about in terminal is pretty high from using linux.. hey picasso just wait until you need to edit maven xml :D

I should really rewrite the GUI, using netbeans visual editor is kind of lazy..
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: CheeseLobby *WIP*

Post by AF »

Do you not have these issues in svn? svn is a commandline application too =p
Post Reply

Return to “Lobby Clients & Server”