Can you make meebo look nice or be as functional without javascript? What about gmail? What about a web application that wants to fill the browser window in a fluid way (i.e. 100% height). Try doing that without javascript.
Can you make a comment system that is easy to use without javascript? Sure, but you can make a much more enjoyable user friendly one once you limit your scope to javascript only.
Your example of site navigation with javascript? It is poor design not because it is using javascript. It is poor design because it isn't very user friendly. The OP troll dude has a really shitty navigation system, but I dont see any javascript. Testing the web page on users would have probably fixed both peoples design.
Maybe the best way to fix usability bugs is *using* javascript! Do you think Digg would have been at all as popular if it didn't use javascript for it's voting buttons? In that case, javascript significantly enhanced the user experiance. On slashdot, javascript comments significantly improve the ability to track threaded comments. What about all those neat overlays netflix uses? Those also improved the user experience significantly. Can you do that without javascript?
Shitty javascript site navigation is just a sign that the web designers and developers didn't know usability from a whole in the ground. Used by professionals who know what they are doing, javascript is a powerful tool to improve the user experience of any website.
In other words, javascript is a powerful tool. Use it wisely.
Re:Bet there still isn't a decent "Stop!" button
on
HTML V5 and XHTML V2
·
· Score: 1
While it is true that the server should validate the inbound (and really outbound) HTML, you have to admit it isn't easy. In perl land, there are some CPAN modules to help, but none of them ever feel right. I'm not sure what the answer is really. But I think the OP's idea was for a couple extra "hey Mr. Browser, yeah, we suck about validation... please dont trust this crap here.. we tried our best on the server, but really, you shouldn't trust it either".
Those are not XHTML. That was what I thought.. just guessing. MathML or whatever? I'm not sure, but does IE do that?
Okay.. so I overstated myself a bit, sue me; this is slashdot after all, right? You know what I'm saying though, there are a lot of people who at least in this little corner of our interweb seem to think that unless we design explicity for an 80 column lynx terminal we are going to hell - I'm not talking degrade nicely for a lynx terminal, I'm talking "designed for lynx(tm)" and forging anything more advanced.
I bet you can dig up people in 1997 that were bitching on slashdot about people using images.. I mean IMAGES for christ sake! I'm sure those people are to this day reading slashdot with images disabled using their parents 9600 baud modem and a trumpet winsock slip connection.
Despite appearing like one, I'm not an insane pixel perfect guy either. I just think our standards really suck right now and don't actually meet the needs of either designers or developers. "Pixel Perfect" only exists because it is hard to make fluid layouts with our current bag of tricks. I enjoy bashing W3C zealots almost as much as bashing religious zealots. Both are too trapped in their dogma to see the real world.
Hopefully CmdrTaco will require you to use javascript or flash to post comments so we can finally weed those people out:-)
Re:Bet there still isn't a decent "Stop!" button
on
HTML V5 and XHTML V2
·
· Score: 1
You could define such a subset using the modularised XHTML 1.1 or your own DTD. Or monkeys could fly out of our asses:-)
The idea of modular XHTML is a nice one, but unless I'm missing something, this new XHTML modular thingy we are talking about would still need to be supported by the browser, right? In other words, it will not be supported and is a waste of time.
Modular XHTML is a nice idea in theory, but honestly... nobody will use a module unless it is implemented by Firefox and IE. Can you name any existing XHTML modules implemented by both browsers?
So if you are a developer and not a designer, why do you think you are qualified to even talk about how we should design our HTML or what browsers we should target?
Stop being so damn myopic and think like a designer or even *gasp* a business person. You are telling people that they should sign up to your religion, even if it means cutting off 70% of their market share. If you stood even an inch outside your "web developer" click and looked at the big picture, you'd see how insane you sound.
If you are making hardware devices, $500 is nothing. I'm Sorry. Nothing. It is spit in the bucket to anybody who is even remotely serious. $500 might be alot for an open source group making software, but for hardware people it is probably significantly cheaper than the design program they use. I imagine in the future, when Microsoft starts refusing to run unsigned binaries at all (which I really forsee), there will be ways for open source projects to get free certs. The trick is getting an open certificate authority that is reputable added to the OS. I can think of several groups I'd trust to sign open source software - FSF, Apache Foundation, or the Firefox guys. Heck, sourceforge even.
And what is so bad about requiring signed drivers? Do you really trust that the driver wasn't modified before you installed it? When it is signed, you can pretty much know for a fact that the file was created by "joe blow, inc." and is untampered with. Or do you think it is safe to let any old binary run on your parents computer? Is that secure?
So get a fucking life. If you are trying to make hardware and cannot spend $500 for a certificate, you might as well go back to your day job. Boo fucking hoo.
I urge every web developer to stop treating MSIE as a special case, since it does not follow standards No offense to you, but I love how every single person who smugly suggests this usually has a link to a website that looks like shit when viewed on any browser.
This also seems to be the case when ever somebody bitches about web designers changing fonts, using javascript, or doing something to make their page look nice. You visit the websites created by the "changing the font at all, even in the stylesheet, is evil" or the classic "why are you trying to use two columns? two columns are evil" religious zealots and all their pages look really dull and boring. Long streams of times new roman. I guess this is our future, eh?
Re:Bet there still isn't a decent "Stop!" button
on
HTML V5 and XHTML V2
·
· Score: 0
I like your idea for security tags, I could see your method still trashing the page with broken HTML. A quick idea might be to shove something in a stylesheet, a script, or the . Whatever it would be, it would refer to the id of the block you want to set and out be out of the guts of your HTML. Dunno how my idea would work on a site like slashdot where you have 300 things you want to secure... yours would be more straightforward in that case. In the perfect world, you'd want to isolate out the untrusted data to another document that would get included.
$100 says we both are on the right track, but there is a good reason it wouldn't work.
Hi. I'm a driver, and I've never figured out "Yield to the Right." I suspect everybody else doesn't understand it either. The rules of a four way stop are simple:
1) He who gets there first wins 2) In a tie, it is a game of chicken. Whoever starts moving first wins. Usually somebody will wave the other guy on...
Fuck the "yield to the right".
PS: Traffic flow would be easier if all streets were one way.
HTML & CSS suck for doing pixel-perfect, magazine-like layouts, which unfortunately too many designers want. I suspect to most designers (of which I'm a wanna be designer) mean when we say "pixel perfect", we mean "the grid doesn't break when things get resized". Nobody sane designer wants a fixed pixel grid - we all know it looks like shit on big monitors. I want ThingA to stay inline with ThingB no matter what. That should be a simple thing to do, but HTML and CSS make it very hard, if not impossible. Ideally we should be able to flow text and objects so we could keep a block of stuff and have it stack or flow correctly.
Basically there is no way to create a good working grid with HTML and CSS. I'd argue that CSS has no business defining grids, it should be for very cosmetic stuff like fonts, colors, background images, icons (which are hacked with offsetting a background image).
We can't fix it by saying, "Don't do this," so we have to fix it by extending HTML and CSS to do what people want. Bingo. HTML and CSS suck big time. All the people saying "dont do this" seem to think we should all just generate pages that are long linear rivers of text that they can read in Times New Roman while clicking on "hyper links" that are blue and purple. Maybe we could put some ugly black and white gif at the top right (cough, GNU's website for a long long time).
Nobody is asking for PDF. We want a layout language that works for the web. Give a good grid system and "pixel perfect layouts" will be a thing of the past.
In case it hasn't been mentioned... if you turn off javascript and you aren't a search engine or a screen reader, I could care less about what happens. I'll test for accessibility and google, but I'm not going out of my way for people who deliberately break javascript. For example, the website in my URL. Google doesn't care about the images (I dont want them to) and blind people cannot see the images that pop up, leaving everybody who runs javascript able to look at the pictures. If you visit my site with javascript turned off deliberately, tough luck pal!
Thank god you didn't say you disable cookies or I'd have to report you to the internet police:-)
I agree with your comments on lowest common denominator. We have to draw the line somewhere. The shitty thing is our toolkit (HTML, Javascript and CSS) makes us trade off accessibility for designing even the most trivial of web applications. You want a web application? Either spent an extra year in development, or make it less accessible.
Even worse, I go by the idea that "if a screen reader cannot use it, Google cannot either". Most web apps really trip up Google.
And yet, here I sit, continuing to write web applications. Why? They are useful and make many people very happy. I'd love to make my apps accessible, but I can't. Sorry. Now put down your damn pipes, shut up about "semantic web," and give me a better toolkit you bastards*!
*but I suspect our answer will very soon be Silverlight and the W3C will be 100% marginalized.
Visual Studio and that ooey gooey Microsoft integration goodness. Until I can write flash in a "serious" development environment like Visual Studio instead of "design with a bit of code" Adobe application, I doubt I'll ever touch it....no offense to Adobe either, they make excellent design software; the web wouldn't be what it is without Photoshop and Illustrator.
The only problem with using a for layout is the name
. Give me a damn tag, please.
Contrary to (un)popular opinion, not everything is easy to do with style sheets. Columns and grids belong in the HTML*, they are too far removed from the CSS file to be useful. But really, it isn't a good idea to put them in the HTML either. They belong in some kind of merged HTML file or something.
In short, HTML & CSS sucks for what we use it for - presenting content in a useful manner.
It is not that I don't care, it is just I've had to train myself not to care.
Nobody else but me takes any pleasure in good clean code, so I really shouldn't care much either. Honestly, there is very little business case for good clean code. You never see products that have "Now With 75% more clean code!" on their cover, do you? People dont pay money for that. They pay for "Now Solves 75% more Pain!". In other words, refactoring, rewriting, or optimizations are all cost centers that should be minimized. They do not directly add to a companies bottom line. New features do.
That isn't to say clean code is bad; create an unstable buggy app because your code sucks and you'll loose money. The trick is finding the minimal amount of "good clean code" you need to write to make your userbase happy. Anymore and you are wasting resources.
I'd argue if your paycheck is tied to some nebulous idea of "good code" is getting rewarded wrong. Your paycheck should depend on another, equally nebulous notion of "good user experience". I'd rather you write a nasty hack job that makes everybody smile when they use your application than a hard to use application that pisses everybody off, but has "good code" in it.
Good Code is code which creates a happy user. No other definition should be allowed.
Not to diss, but writing good code "the right way" is overrated. Good code, to me, is something that is useful to other people. The best code is code that is used by people who could care less about technology or the code. Your definition of good code, I'm sorry to say, provides little value to anybody but yourself. Too me, that is waste of your talents and is in a way selfish.
As depressing as it seems, your users only see the end result. We as programmers should be more concerned with pleasing our users by delivering applications that meet and exceed the needs of our users. Sally in accounting could care less about your "good code", and 99.99999% of the people on web care less when I optimize some query (even though I personally get emmense satisfaction from doing so).
My advice to anybody who things "good code" is important? Stop worrying about it. Get your jollies off from the compliments you get on how much pleasure others get in the user experience you designed. Put the energy into making their life a little more fun. Helping others is more rewarding then cleaning code.
Colour me confused about the Microsoft headers. Is there some docs about this? I'm curious because I am suspecting something is wonky with my include files and maybe you are describing the problem.
I would challenge [the staunch agile supporter] to come up with a "well-written" alternative And your code comments will tell them that you tried to create a well written alternative but it didn't pan out because [insert comment here].
Besides making up for language deficiencies, most comments should be exactly "this looks bad, but it is the right solution because [insert reason]" or "this code sucks, but [insert reason]". Good comments aren't English translations of the code, they provide the "what I was smoking when I wrote this". Bad comments are "initialize counting variable".
I should also add that good comments should be written for everything publicly exposed. Good implementations of Intellesense will make life easy down the line by sucking up the comments (or xmldoc for visual studio projects and perldoc for perl).
Really, this entire debate is an old news. People should really RTFM:-)
That stored procedure is awesome (well, it actually isn't very good sql, but it doesn't matter right now). As the developer, you just need to worry about passing the monster name and the database spits out everything you want.
If you do most of the logic in your stored procedures, it makes it easy to bolt on new features written in various languages. If you decide to have a perl script for a cron job, you just call the same stored procedures your ruby app is calling. If you want a windows front end for your admin staff, the windows app calls the same stored procedure too.
Once you bury the database logic in the application code, you have to rewrite it for every application. It is, in a way, a very evil form of copy & paste programming. Now every change in the database requires you to go into every single application and change something. Kinda like when you get slutty with your code and copy & paste it rather than abstract it out into a library.
And I'm aware stored procedures don't play nice if you are worried about cross-database issues because you sell the software. This only works when you get complete control over the application & database stack.
PS: MySQL stored procedures suck. Use a real database with a better stored procedure language.
What are you going on about? Are you afraid of JOIN's or something?
Have you ever worked on a properly normalized database schema? I have, and it is a dream. When your database is designed correctly, you can mine it for pretty much any kind of information that you dream of.
As a bonus, a properly normalized database is self documenting. Presented with nothing more than a database schema drawn on a white board, you should be able to deduce how a business works to a fairly detailed level without ever reading code.
Spare me the "SQL IS SCARY" argument. You know what I find even more scary? The application code that typically tries to replace the scary SQL statement.
Ah yes. Very good young grasshopper. Is a conspiracy theorist a troll if they believe it themselves? Or is the theory itself the troll; so deliciously tempting that people cannot help to mentally reply.
OpenID is an overly complex protocol that requires a bazillion interdependencies to work right. Worse, it doesn't actually solve the pain. It doesn't solve the trust problem! People want an authentication protocol that has trust. Random URL's are not trust!
Yeah, I hear you saying "Cory, OpenID isn't about trust". Well than whoopty fucking doo, go away and stop wasting my time. If I cannot have trust, what the hell is the point of OpenID?
And seriously? URL's as your unique login? What the fucking hell is that all about? 1) URLs are ugly. 2) Mom & Dad dont understand them 3) URLS!?!?
And a bonus seriously. Having the whole mess ride on top of HTTP as a friggen space age XML-RPC-SOAP-REST thing? Pick something more mature? Why not at least try to sink it down into the HTTP protocol itself? Maybe even invent a new protocol. But layering it on top of an XML RPC protocol on top of HTTP on top of TCP/IP? Are you insane?
How will this whole damn thing integrate into SMTP or IMAP - will postfix need to learn OpenID and open itself to all kinds of web base security risks? How will I use this to log into SecondLife or World of Warcraft? Do they now have to write a gog damn web stack to authenticate against OpenID? How can it integrate into LDAP or active directory?
And NONE OF THIS IS EVEN SOMETHING YOU CAN TRUST! It is all worthless!!!
OpenID does not need facebook for it to fail. OpenID will fail because it is complex, hard to explain, doesn't play with other protocols, difficult to implement, and it is misunderstood by managers, developers, sysadmins, and security experts.
Never said they weren't incomprehensible. I just think you are fooling yourself if you think the FAQ means anything at all. The FAQ might as well be written about sunshine and lolypops because anything the FAQ says is irrelevant. Lets not even step into the fact the FAQ is more of a marketing brochure than anything. Do you trust the FAQ to tell you about the problems or holes in the GPL? Do you trust the FAQ to say "that one clause, yeah... that is unenforcable 85% of the time".
Using the FAQ for the GPL as your guide is like using the brochure that came with your health care plan as a legal reference. You think their brochure lists anything negative about the plan?
If you are worried enough about the meaning of a clause in the GPL, only a lawyer will help you decipher it. The FAQ is for fools only.
How about just consider "refactor" to be a condensed version of "I want to reorganize my code":-)
It is hard to reorganize your code without a good IDE. Conversely, in my experience it is much easier to generate "write only" code that needs reorganization when you lack an IDE. It doesn't help that perl makes write only code a trivial task:-)
IDE's cut down on the cognitive load and make it easier to visualize what goes where. My perl classes are almost always a mess because I forget what I'm inheriting. To find out, I have to brute force my way through some times dozens of perl modules to get a mental model of what is happening in my codebase. In Visual Studio (and EPIC + Eclipse in perl land to some degree) I see right away what methods I'm inheriting and can just double click to go right to the code.
Can you make meebo look nice or be as functional without javascript? What about gmail? What about a web application that wants to fill the browser window in a fluid way (i.e. 100% height). Try doing that without javascript.
Can you make a comment system that is easy to use without javascript? Sure, but you can make a much more enjoyable user friendly one once you limit your scope to javascript only.
Your example of site navigation with javascript? It is poor design not because it is using javascript. It is poor design because it isn't very user friendly. The OP troll dude has a really shitty navigation system, but I dont see any javascript. Testing the web page on users would have probably fixed both peoples design.
Maybe the best way to fix usability bugs is *using* javascript! Do you think Digg would have been at all as popular if it didn't use javascript for it's voting buttons? In that case, javascript significantly enhanced the user experiance. On slashdot, javascript comments significantly improve the ability to track threaded comments. What about all those neat overlays netflix uses? Those also improved the user experience significantly. Can you do that without javascript?
Shitty javascript site navigation is just a sign that the web designers and developers didn't know usability from a whole in the ground. Used by professionals who know what they are doing, javascript is a powerful tool to improve the user experience of any website.
In other words, javascript is a powerful tool. Use it wisely.
Okay.. so I overstated myself a bit, sue me; this is slashdot after all, right? You know what I'm saying though, there are a lot of people who at least in this little corner of our interweb seem to think that unless we design explicity for an 80 column lynx terminal we are going to hell - I'm not talking degrade nicely for a lynx terminal, I'm talking "designed for lynx(tm)" and forging anything more advanced.
I bet you can dig up people in 1997 that were bitching on slashdot about people using images.. I mean IMAGES for christ sake! I'm sure those people are to this day reading slashdot with images disabled using their parents 9600 baud modem and a trumpet winsock slip connection.
By the way... this comment is borderline what I'm talking about and so is this one or this one.
Despite appearing like one, I'm not an insane pixel perfect guy either. I just think our standards really suck right now and don't actually meet the needs of either designers or developers. "Pixel Perfect" only exists because it is hard to make fluid layouts with our current bag of tricks. I enjoy bashing W3C zealots almost as much as bashing religious zealots. Both are too trapped in their dogma to see the real world.
Hopefully CmdrTaco will require you to use javascript or flash to post comments so we can finally weed those people out
The idea of modular XHTML is a nice one, but unless I'm missing something, this new XHTML modular thingy we are talking about would still need to be supported by the browser, right? In other words, it will not be supported and is a waste of time.
Modular XHTML is a nice idea in theory, but honestly... nobody will use a module unless it is implemented by Firefox and IE. Can you name any existing XHTML modules implemented by both browsers?
Er.. atom or rss?
So if you are a developer and not a designer, why do you think you are qualified to even talk about how we should design our HTML or what browsers we should target?
Stop being so damn myopic and think like a designer or even *gasp* a business person. You are telling people that they should sign up to your religion, even if it means cutting off 70% of their market share. If you stood even an inch outside your "web developer" click and looked at the big picture, you'd see how insane you sound.
But yeah yeah yeah. IHBT and I'll HAND, thanks.
Bull Fucking Shit.
If you are making hardware devices, $500 is nothing. I'm Sorry. Nothing. It is spit in the bucket to anybody who is even remotely serious. $500 might be alot for an open source group making software, but for hardware people it is probably significantly cheaper than the design program they use. I imagine in the future, when Microsoft starts refusing to run unsigned binaries at all (which I really forsee), there will be ways for open source projects to get free certs. The trick is getting an open certificate authority that is reputable added to the OS. I can think of several groups I'd trust to sign open source software - FSF, Apache Foundation, or the Firefox guys. Heck, sourceforge even.
And what is so bad about requiring signed drivers? Do you really trust that the driver wasn't modified before you installed it? When it is signed, you can pretty much know for a fact that the file was created by "joe blow, inc." and is untampered with. Or do you think it is safe to let any old binary run on your parents computer? Is that secure?
So get a fucking life. If you are trying to make hardware and cannot spend $500 for a certificate, you might as well go back to your day job. Boo fucking hoo.
Jesus.
This also seems to be the case when ever somebody bitches about web designers changing fonts, using javascript, or doing something to make their page look nice. You visit the websites created by the "changing the font at all, even in the stylesheet, is evil" or the classic "why are you trying to use two columns? two columns are evil" religious zealots and all their pages look really dull and boring. Long streams of times new roman. I guess this is our future, eh?
I like your idea for security tags, I could see your method still trashing the page with broken HTML. A quick idea might be to shove something in a stylesheet, a script, or the . Whatever it would be, it would refer to the id of the block you want to set and out be out of the guts of your HTML. Dunno how my idea would work on a site like slashdot where you have 300 things you want to secure... yours would be more straightforward in that case. In the perfect world, you'd want to isolate out the untrusted data to another document that would get included.
$100 says we both are on the right track, but there is a good reason it wouldn't work.
Hi. I'm a driver, and I've never figured out "Yield to the Right." I suspect everybody else doesn't understand it either. The rules of a four way stop are simple:
1) He who gets there first wins
2) In a tie, it is a game of chicken. Whoever starts moving first wins. Usually somebody will wave the other guy on...
Fuck the "yield to the right".
PS: Traffic flow would be easier if all streets were one way.
Basically there is no way to create a good working grid with HTML and CSS. I'd argue that CSS has no business defining grids, it should be for very cosmetic stuff like fonts, colors, background images, icons (which are hacked with offsetting a background image). We can't fix it by saying, "Don't do this," so we have to fix it by extending HTML and CSS to do what people want. Bingo. HTML and CSS suck big time. All the people saying "dont do this" seem to think we should all just generate pages that are long linear rivers of text that they can read in Times New Roman while clicking on "hyper links" that are blue and purple. Maybe we could put some ugly black and white gif at the top right (cough, GNU's website for a long long time).
Nobody is asking for PDF. We want a layout language that works for the web. Give a good grid system and "pixel perfect layouts" will be a thing of the past.
In case it hasn't been mentioned... if you turn off javascript and you aren't a search engine or a screen reader, I could care less about what happens. I'll test for accessibility and google, but I'm not going out of my way for people who deliberately break javascript. For example, the website in my URL. Google doesn't care about the images (I dont want them to) and blind people cannot see the images that pop up, leaving everybody who runs javascript able to look at the pictures. If you visit my site with javascript turned off deliberately, tough luck pal!
:-)
Thank god you didn't say you disable cookies or I'd have to report you to the internet police
I see linux has all the compiler switches for "encryption cards". Aren't these designed to speed up SSL sessions? Does anybody use them?
Just curious. I always thought there was some kind of hardware trick you could pull if everything you do is SSL.
I agree with your comments on lowest common denominator. We have to draw the line somewhere. The shitty thing is our toolkit (HTML, Javascript and CSS) makes us trade off accessibility for designing even the most trivial of web applications. You want a web application? Either spent an extra year in development, or make it less accessible.
Even worse, I go by the idea that "if a screen reader cannot use it, Google cannot either". Most web apps really trip up Google.
And yet, here I sit, continuing to write web applications. Why? They are useful and make many people very happy. I'd love to make my apps accessible, but I can't. Sorry. Now put down your damn pipes, shut up about "semantic web," and give me a better toolkit you bastards*!
*but I suspect our answer will very soon be Silverlight and the W3C will be 100% marginalized.
Visual Studio and that ooey gooey Microsoft integration goodness. Until I can write flash in a "serious" development environment like Visual Studio instead of "design with a bit of code" Adobe application, I doubt I'll ever touch it. ...no offense to Adobe either, they make excellent design software; the web wouldn't be what it is without Photoshop and Illustrator.
The only problem with using a for layout is the name . Give me a damn tag, please.
Contrary to (un)popular opinion, not everything is easy to do with style sheets. Columns and grids belong in the HTML*, they are too far removed from the CSS file to be useful. But really, it isn't a good idea to put them in the HTML either. They belong in some kind of merged HTML file or something.
In short, HTML & CSS sucks for what we use it for - presenting content in a useful manner.
It is not that I don't care, it is just I've had to train myself not to care.
Nobody else but me takes any pleasure in good clean code, so I really shouldn't care much either. Honestly, there is very little business case for good clean code. You never see products that have "Now With 75% more clean code!" on their cover, do you? People dont pay money for that. They pay for "Now Solves 75% more Pain!". In other words, refactoring, rewriting, or optimizations are all cost centers that should be minimized. They do not directly add to a companies bottom line. New features do.
That isn't to say clean code is bad; create an unstable buggy app because your code sucks and you'll loose money. The trick is finding the minimal amount of "good clean code" you need to write to make your userbase happy. Anymore and you are wasting resources.
I'd argue if your paycheck is tied to some nebulous idea of "good code" is getting rewarded wrong. Your paycheck should depend on another, equally nebulous notion of "good user experience". I'd rather you write a nasty hack job that makes everybody smile when they use your application than a hard to use application that pisses everybody off, but has "good code" in it.
Good Code is code which creates a happy user. No other definition should be allowed.
Not to diss, but writing good code "the right way" is overrated. Good code, to me, is something that is useful to other people. The best code is code that is used by people who could care less about technology or the code. Your definition of good code, I'm sorry to say, provides little value to anybody but yourself. Too me, that is waste of your talents and is in a way selfish.
As depressing as it seems, your users only see the end result. We as programmers should be more concerned with pleasing our users by delivering applications that meet and exceed the needs of our users. Sally in accounting could care less about your "good code", and 99.99999% of the people on web care less when I optimize some query (even though I personally get emmense satisfaction from doing so).
My advice to anybody who things "good code" is important? Stop worrying about it. Get your jollies off from the compliments you get on how much pleasure others get in the user experience you designed. Put the energy into making their life a little more fun. Helping others is more rewarding then cleaning code.
My $0.02.
Colour me confused about the Microsoft headers. Is there some docs about this? I'm curious because I am suspecting something is wonky with my include files and maybe you are describing the problem.
Besides making up for language deficiencies, most comments should be exactly "this looks bad, but it is the right solution because [insert reason]" or "this code sucks, but [insert reason]". Good comments aren't English translations of the code, they provide the "what I was smoking when I wrote this". Bad comments are "initialize counting variable".
I should also add that good comments should be written for everything publicly exposed. Good implementations of Intellesense will make life easy down the line by sucking up the comments (or xmldoc for visual studio projects and perldoc for perl).
Really, this entire debate is an old news. People should really RTFM
That stored procedure is awesome (well, it actually isn't very good sql, but it doesn't matter right now). As the developer, you just need to worry about passing the monster name and the database spits out everything you want.
If you do most of the logic in your stored procedures, it makes it easy to bolt on new features written in various languages. If you decide to have a perl script for a cron job, you just call the same stored procedures your ruby app is calling. If you want a windows front end for your admin staff, the windows app calls the same stored procedure too.
Once you bury the database logic in the application code, you have to rewrite it for every application. It is, in a way, a very evil form of copy & paste programming. Now every change in the database requires you to go into every single application and change something. Kinda like when you get slutty with your code and copy & paste it rather than abstract it out into a library.
And I'm aware stored procedures don't play nice if you are worried about cross-database issues because you sell the software. This only works when you get complete control over the application & database stack.
PS: MySQL stored procedures suck. Use a real database with a better stored procedure language.
What are you going on about? Are you afraid of JOIN's or something?
Have you ever worked on a properly normalized database schema? I have, and it is a dream. When your database is designed correctly, you can mine it for pretty much any kind of information that you dream of.
As a bonus, a properly normalized database is self documenting. Presented with nothing more than a database schema drawn on a white board, you should be able to deduce how a business works to a fairly detailed level without ever reading code.
Spare me the "SQL IS SCARY" argument. You know what I find even more scary? The application code that typically tries to replace the scary SQL statement.
Ah yes. Very good young grasshopper. Is a conspiracy theorist a troll if they believe it themselves? Or is the theory itself the troll; so deliciously tempting that people cannot help to mentally reply.
OpenID is an overly complex protocol that requires a bazillion interdependencies to work right. Worse, it doesn't actually solve the pain. It doesn't solve the trust problem! People want an authentication protocol that has trust. Random URL's are not trust!
Yeah, I hear you saying "Cory, OpenID isn't about trust". Well than whoopty fucking doo, go away and stop wasting my time. If I cannot have trust, what the hell is the point of OpenID?
And seriously? URL's as your unique login? What the fucking hell is that all about? 1) URLs are ugly. 2) Mom & Dad dont understand them 3) URLS!?!?
And a bonus seriously. Having the whole mess ride on top of HTTP as a friggen space age XML-RPC-SOAP-REST thing? Pick something more mature? Why not at least try to sink it down into the HTTP protocol itself? Maybe even invent a new protocol. But layering it on top of an XML RPC protocol on top of HTTP on top of TCP/IP? Are you insane?
How will this whole damn thing integrate into SMTP or IMAP - will postfix need to learn OpenID and open itself to all kinds of web base security risks? How will I use this to log into SecondLife or World of Warcraft? Do they now have to write a gog damn web stack to authenticate against OpenID? How can it integrate into LDAP or active directory?
And NONE OF THIS IS EVEN SOMETHING YOU CAN TRUST! It is all worthless!!!
OpenID does not need facebook for it to fail. OpenID will fail because it is complex, hard to explain, doesn't play with other protocols, difficult to implement, and it is misunderstood by managers, developers, sysadmins, and security experts.
Never said they weren't incomprehensible. I just think you are fooling yourself if you think the FAQ means anything at all. The FAQ might as well be written about sunshine and lolypops because anything the FAQ says is irrelevant. Lets not even step into the fact the FAQ is more of a marketing brochure than anything. Do you trust the FAQ to tell you about the problems or holes in the GPL? Do you trust the FAQ to say "that one clause, yeah... that is unenforcable 85% of the time".
Using the FAQ for the GPL as your guide is like using the brochure that came with your health care plan as a legal reference. You think their brochure lists anything negative about the plan?
If you are worried enough about the meaning of a clause in the GPL, only a lawyer will help you decipher it. The FAQ is for fools only.
How about just consider "refactor" to be a condensed version of "I want to reorganize my code" :-)
:-)
It is hard to reorganize your code without a good IDE. Conversely, in my experience it is much easier to generate "write only" code that needs reorganization when you lack an IDE. It doesn't help that perl makes write only code a trivial task
IDE's cut down on the cognitive load and make it easier to visualize what goes where. My perl classes are almost always a mess because I forget what I'm inheriting. To find out, I have to brute force my way through some times dozens of perl modules to get a mental model of what is happening in my codebase. In Visual Studio (and EPIC + Eclipse in perl land to some degree) I see right away what methods I'm inheriting and can just double click to go right to the code.
But yeah... what were we talking about?