სიმღერაა არა ესა ?

ისე მართლა რა მუსიკა ევასებათ პროგრამისტებს? Godeს ვიცი პროღრესივი მოსწონს

მელომანიაში მოვკარი თვალი...
ეს იცით?
http://thedailywtf.com/
პირველ გვერდს მოვაკოპიპეისტებ. ეს არი არარსებულ WTF University-ზე, მაგარი პრიკოლებია

Hail to thee, O WTF University 07-28-2006
Though our time at WTF University this week was brief (especially compared to its unfortunate students), it was certainly fun and educational. To remember our experience at this great school, I present the WTFU Alma Mater, by Chris Conroy (refrain by Devin Goble):
WTFU Alma Mater
Hail to thee, O Double-U-Tee-Eff,
With brillant minds abound;
When True and False just weren't enough
You added File Not Found.
Proudly ignorant, havoc we wreak!
What is mem'ry and why does it leak?
Code then design, optimize and Mash!
We've learned from our teacher,
Our systems can never fail or crash.
It's all just a feature.
Proudly ignorant, havoc we wreak!
What is mem'ry and why does it leak?
Here enterprisey programs inflict
A special kind of hell:
All things are coded with java_script,
Vee-Bee and X-eM-eL.
Proudly ignorant, havoc we wreak!
What is mem'ry and why does it leak?
Despite some huge security holes,
Graduates strike it rich.
While others check if isVeryNull()
And Payback's still a bitch.
Proudly ignorant, havoc we wreak!
What is mem'ry and why does it leak?
And when our coding days have passed us,
With hearts and minds isTrue(),
We'll fondly think of good ol' W.T.
And add a big F.U.
Don't worry, we'll return to the real world on Monday. Of course, I'll be on sabbatical, so Jake Vinson will take over next week. If you're really itching for some regular content, I've linked to some classic posts in the Alma Mater. And there's always the (un-edited) SideBar to check out.
48 Comments | Post A Comment
wtfuniversity.edu 07-27-2006
Today marks the end of our brief tour at WTFU. And what better a way to end it than how it probably should have started: with the university's public webpage. At least, that's the first place that Mike R. looked when he heard that WTFU offered some fairly good and relatively inexpensive graduate programs. Now this may come as a shock to some, but Mike reported that web-browsing experience at wtfuniversity.edu was just a bit less than optimal.
The first thing that Mike noticed was that none of the navigation links worked. When he watched more closely, he saw that clicking on "Graduate Studies" yielded a small java_script error. No big deal; as a Firefox user, Mike is used to this. Curious, he decided to have a look at the source:
<span id="graduateStudiesLink" class="hyperlink"
onclick="clickto(this.id);">Graduate Studies</span>
A bit different, but certainly not terrible. Maybe they didn't like <A> tags. I don't blame them; personally, I can't stand the <STRONG> tag. Look at it ... just sitting there ... all "oooh, look at me, I'm STRONG, I'm the STRONG tag." Pfft .. pretentious little -- err, sorry. Anyway, that still shouldn't cause a java_script error, so Mike looked a little closer ...
function clickto(navId) {
var url = getUrlFromNavId(navId);
if (isBrowserIE()) {
navToUrlForIE(url);
} else if (isBrowserNetscape()) {
navToUrlForNetscape(url);
} else if (isBrowserFirefox()) {
navToUrlForFirefo(url);
} else {
window.location = url;
}
}
Well that explained it. There was no navToUrlForFirefo() function defined. But that's excusable; who doesn't make the occasional typo that prohibits a fairly large group of users from accessing all navigation on a public website, and then neglects to test it before going live? Undeterred, Mike switched over to Internet Explorer and pressed on.
Even with Internet Explorer, Mike noticed the site was acting a bit strange. Despite surfing on his company's T3 connection, several images and stylesheets were loading very slowly, if at all. Curiosity struck again and Mike did another View Source:
<img src="/imgSrc?SELECT data FROM pubwww.dbo.imgs WHERE id=51">
...
<link rel="stylesheet" type="text/css" media="screen"
href="/cssSrc?SELECT data FROM pubwww.dbo.csss WHERE id=18"
/>
See, that's not too bad. If you think about it, using SQL to retrieve resources like that actually can -- I got nothing. However, I will end today on a good note. After his experience on their webpage, Mike decided that a graduate degree at WTFU just wasn't the right thing for him …
UPDATE: As requested, WTFU Gear is now available at
http://www.cafepress.com/thedailywtf81 Comments | Post A Comment
The Student Registration System at WTF University 07-26-2006
Enric Naval was presented with an opportunity he couldn't pass up: a plump scholarship, real-world programming experience, and some spending money. All he had to do was give up sixteen measly hours each week for some work-study in the college's IT department. How hard could that be? According to this figure I just made up, 63% of college students spend at least that much time each day in World of Warcraft.
Enric's job didn't seem too hard, either. All he had to do was maintain the Student Registration System. How hard could that be? It's not like the Student Registration System really changes; all it needs is student, class, and schedule data imported. Maintenance should be a cinch.
At least, that might be the case at other colleges. At WTFU, the "Student" adjective in "Student Registration System" refers to not only the target users of the system, but also to those who build and maintain it. And really, who better to build and maintain a production application than those armed with only a few programming classes under their belt?
Designed and built by an army of work-study students, the complexity of this system is unimaginable. Like an old painting, the system has been written, re-written, and re-written again, all without ever starting on a fresh canvas. With no versioning in place, thousands of code files lay side by side with several different MAKE files, the newest of which is named "new-new2-BUILDSITE-real." But despite all this, the system worked. And it needed to continue working.
One of the areas that Enric maintained was the redirect logic. The idea was that, instead of using something like navigation, a central Servlet would be used to redirect users to the appropriate page following an action. For example, users working on the start page in activity 5 woud get redirected to the task page for the same activity. Then they would get redirected to the process page. All fairly simple stuff ... in concept.
Somewhere down the line, one of the developers had an idea "guess" redirect users, meaning that if another developer accidently misspelled a page name, the user would still go to the correct page instead of seeing a page-not-found error. This, and several other similar features, led to redirect logic spanning several thousand lines of code.
Presented to you is only a small subset of this redirect code. The entire redirect servlet is but a drop in the bucket in the context of the Student Registration System ...
public final class RedirServlet extends CoreServlet
{
public final void doGet(HttpServletRequest req, HttpServletResponse res)
{
res.setContentType("text/plain");
res.setStatus(res.SC_MOVED_TEMPORARILY);
res.setHeader("Location", doRedirect(req.getServletPath()));
}
private final String doRedirect( String page )
{
//default redir
String redir = "/unknown_redir.jsp";
//find/return redirect (1-4 unused)
int n = parseRedirIndex( page );
if ( n == 5 ) { redir = doRedirect_a5 ( page ); }
else if ( n == 6 ) { redir = doRedirect_a6 ( page ); }
else if ( n == 7 ) { redir = doRedirect_a7 ( page ); }
else if ( n == 8 ) { redir = doRedirect_a8 ( page ); }
/* snip */
else if ( n == 51 ) { redir = doRedirect_a51( page ); }
else if ( n == 52 ) { redir = doRedirect_a52( page ); }
else if ( n == 53 ) { redir = doRedirect_a53( page ); }
return redir;
}
private final String doRedirect_a5( String page )
{
if ( page.equals("a5-intro.jsp") )
return "../activity-5/a5-introduction.jsp";
else if ( page.equals("a5-introduction.jsp") )
return "../activity-5/a5-introduction.jsp";
else if ( page.equals("a5-intorduction.jsp") )
return "../activity-5/a5-introduction.jsp";
/* snipped a whole bunch of cases */
else if ( page.startsWith("a5-task-2-3") )
return "../tasks/r.jsp?redir=../activity-5/task-2-4.jsp";
else if ( page.startsWith("a5-task-3-3") )
return "../tasks/r.jsp?redir=../activity-5/task3/taskC.jsp";
/* snipped a whole bunch more cases */
else if ( page.equals("conclusions-5.jsp") )
return "../conclusions3/incident5.jsp";
else if ( page.equals("conclusions-specific-5.jsp") )
return "../conclusions3/incident5.jsp";
else if ( page.equals("conclusions-general-5.jsp") )
return "../conclusions3/incident5.jsp";
else
return "../activity-5/process.jsp";
}
/* snipped several thousand lines */
public final String doRedirect_a53( String page )
{
if ( page.equals("a53-intro.jsp") )
return "../activity-generic/introduction53.jsp";
/* snip */
else if ( page.startsWith("professor-data") )
{
if ( page.endsWith("-class.jsp") )
return "/classes/index.jsp";
else if ( page.endsWith("ES102-class.jsp") )
return "/classes/class-ES102.jsp";
/* snip */
else if ( page.endsWith("PS442-class.jsp") )
return "/classes/class-PS442.jsp";
}
else
return "../activity-53/reprocess2.jsp";
}
}
116 Comments | Post A Comment
Security 101 ... at WTF University 07-25-2006
Dan Bugglin needed to find a course to fill three hours of general elective study. As fun as Masterpieces of Inner City Scandinavian Drama sounded, he thought he'd be better off with something a bit more closely related to his major, and signed up for Applications of Security and Cryptography.
The course sounded like it'd be pretty fun. Dan and his fellow students would learn the different models of security for real-time, business, and other applications, and also about the different types of cryptography and encryption for sensitive data. The professor even built a course website with a message board to help students collaborate on various projects. Unfortunately, Dan realized far too late that the instructor was actually a visiting professor from WTFU.
When Dan went to create a student account on the professor's message board system, it crashed with a rather strange error:
error writing to datafile "data/passwords.txt":
separator count mismatch
On a hunch, Dan entered in "data/passwords.txt" at the end of the message board's web address and was presented with a caret-delimited file of student id's, access levels, names, and passwords. Dan tried again, this time without using the "^" symbol in his password. He now had an account.
He thought he'd take a look at the passwords file again to see if his name was added. It was, though his password was different than what he had entered in: it was encrypted! Well, that's not too bad -- just because one has the encrypted value, doesn't mean he can crack it. Dan stared at the passwords for a few seconds and thought the scheme looked awfully familiar. It wasn't DES ... or SHA ... or MD5 ... or RSA ... it was ... ROT13? He took a moment to appreciate the irony of a cryptography professor using a substitution cipher for a cryptography class and explored the security/cryptography website a bit further.
Dan noticed that the professor didn't use cookies or session tokens to handle whether the user was "logged in" or not. Rather, he used an html form with hidden input fields and lots of submit buttons:
<form method="post">
<input type="hidden" name="username" value="dbugglin">
<input type="hidden" name="access" value="student">
... snip ...
</form>
As expected, with a bit of java_script, Dan changed the "username" field and could now see his classmate's student data. That was the last straw; it was time to drop the course. Dan went back to see if Masterpieces of Inner City Scandinavian Drama was still open.
But then, all of a sudden, Dan changed his mind again. It all made perfect sense. Think about it. It was the perfect Final Assignment. Find holes in the course website. Could there be a better treat for security-minded students? Dan was once again excited to be in the class.
Unfortunately, the Final Assignment never came. It turns out that the website was actually a practical application of the visiting professor's knowledge of the subject. And that is how Dan came to regret not taking Masterpieces of Inner City Scandinavian Drama.
152 Comments | Post A Comment
Studying at WTF University 07-24-2006
Chris never really questioned his choice of university. Sure, the school wasn't at the top of the Best Universities list, but really, how many are? Well, technically, it wasn't even on the Best Universities list, but then again, it wasn't on the Worst Universities list, either. And not just because that list doesn't exist. The school was accredited after all; how bad could it be?
Chris didn't have any problems with the introductory courses. How could he? They had Princeton-quality lecture notes! Really, they did: googling the text in the PowerPoint lecture notes yielded an identical presentation (name and course number changed) from a Princeton professor. Sure, the book would sometimes conflict with the lecture notes (especially when they referred to non-existent page numbers), but really, who reads the book?
It wasn't until Chris took the Data Structures course that he started to question the quality of his university. The choice of Visual Basic 6 as the course language seemed awfully strange, especially considering that Data Structure courses generally introduce the concept of pointers and pointer-usage in creating stacks, lists, queues, etc. No matter, the professor still was able to teach all the standard structures, including the Sorted List:
Not too bad. Not quite Princeton-quality, but still appropriate. And how might we implement such a list in Visual Basic 6? With the ListBox UI Control, that's how ...
Maybe Chris should have looked at that Best Universities list after all ...
პ.ს. ისე wtf არ არი ამხელა ფილარმონია ფორუმი რო mysql error-ებს მაჩვენებს ბრაუზერში?
This post has been edited by კვეჟო on 2 Aug 2006, 18:48