The Stack Overflow podcast is back! Listen to an interview with our new CEO.

Hot answers tagged

79

In a sense he was right. The original (pre-spec) versions of HTML, HTTP and URL were designed by amateurs (not standards people). And there are aspects of the respective designs ... and the subsequent (original) specs ... that are (to put it politely) not as good as they could have been. For example: HTML did not separate structure/content from ...


61

He actually elaborates on that very topic on the second page of the interview. It's not the technical shortcomings of the protocol he's lamenting, it's the vision of web browser designers. As he put it: You want it to be a mini-operating system, and the people who did the browser mistook it as an application. He gives some specific examples, like the ...


44

The programming language is, most likely, not going to be the stumbling block. The JVM's mandatory memory management may be a disadvantage in some performance-critical parts (e.g. memory hunger; but then, Java's GC might actually be better at preventing memory leaks than anything you could roll yourself), and there are a few extra security concerns, but ...


38

XSLT does not really have a useful role in the modern interactive web. The purpose of XSLT is to transform from one XML language into another - but you actually never need to do that in the first place. How powerful, fast and well supported a technology is is irrelevant if you don't have the problem which the technology is designed to solve. There are ...


30

Right now I am browsing this website through my company's VPN which gives me an English IP. While I am in fact a native Hungarian, working physically from Hungary. Is this a good enough example? ;-)


27

It seems to be due to a fundamental disagreement between Alan Kay versus the people (primarily Tim Berners-Lee) who designed the web, about how such a system should work. The ideal browser, according to Kay, should really be a mini operating system with only one task: To safely execute code downloaded from the internet. In Kays design, the web does not ...


23

Because within a month, the browser's built-in version of jQuery would be out-of-date, negating the whole reason for using a third party library in the first place. Within 6 months, developers would be wanting to use features in the latest release of jQuery that weren't in what was built-in to the browser, but they wouldn't without including the whole new ...


22

It seems utterly obvious and fundamental now, but the killer innovation of the world wide web was the hyperlink. Even if X wasn't completely unusable over a modem link, its inability to launch a completely new process on a completely new server via a single click would hamper its adoption for that sort of use case.


22

I read this as Kay being unfamiliar enough with the lower level protocols to assume they're significantly cleaner than the higher level web. The “designed by professionals” era he's talking about still had major problems with security (spoofing is still too easy), reliability and performance which is why there's still new work being done tuning everything ...


20

There is a way, yes, using a binding to a GUI library like PHP/Gtk. But I don't advise that. Instead, use a language like C#, VB.Net, Delphi, Lazarus, or Python to create the desktop app. Their support for desktop applications is much more mature. The results will be far better, and you'll have fewer headaches from the experience. Don't try to force the ...


19

Yes, any general programming language can serve to write the server-side part of a web site. However, the qualities of a programming language, in this subject as in other things, are usually only one of many factors that contribute to its popularity. For example, I reckon that PHP became popular for websites because: It is extremely easy to upgrade from a ...


19

In my experience, HTTP error codes are insufficient to represent business errors. However, they are useful to represent classes of errors. So, my recommendation would be to use HTTP error codes for categories of errors, but choose a specific error for business logic failures (e.g. 409 Conflict... 200 OK would be misleading here) and include data in the ...


18

Kasey covers the main point. The key idea in any web api: you are adapting your domain to look like a document store. GET/PUT/POST/DELETE and so on are all ways of interacting with the document store. So a way of thinking about what codes to use, is to understand what the analogous operation is in a document store, and what this failure would look like in ...


17

The sites that do are really really annoying! Google who are pretty much the state of the art as far as Web UI is concerned get this consistently wrong as far as I (and many other people) are concerned. I travel a lot and it really annoys that I need three clicks to get to "google.com" Intial www.google.com which redirects to www.google.co.?? with all ...


17

Several reasons: The person using the browser may not speak the language that the browser uses. (Say, someone who is French on an English machine...) The location/language information may not be accurate (for any number of reasons: VPN, proxy, etc.) You could call it laziness on the part of the developer(s), EXCEPT that it is always best not to ASSUME, and ...


17

Because X requires you to have a CS degree to write an application. While Web requires that you have the ability to type (not even that). Especially in the early days when web was just html. You could open a terminal and build a working display in 10 minutes and then interactively improve it with instant feedback. This low bar of entry spurred massive user ...


16

Your friend is wrong. First, the GPL only requires to disclose your source code to your customers when your software runs on their machines. Your load balancer runs on your own hardware, so you don't need to provide the sourcecode to anyone who connects to it. There is a variant of the GPL which requires to disclose the sourcecode to everyone who "interacts ...


14

Doesn't learning PHP & MySql implicitly makes us aware of these frameworks? No, in fact PHP's creator advocates not using any additional frameworks. See: "The no-framework PHP MVC framework" Another thing is there are quite a few PHP MVC frameworks, neither one is the clear winner. Am I making a good choice in starting with PHP? No. I'ts a ...


14

There is no technological solution that will tell you that an image is "offensive". You need to consider that "offensive" is culture dependent (as well as an individual thing) - that is, what you may find offensive and what I may are probably very different. This is a social issue and can only be solved with social solutions - this may mean moderation (or ...


13

(I've been working on Firefox for about five years.) The questioner is right that a lot of Firefox's code is C++, and in fact C++ is the majority if you count by lines of code (although that doesn't tell the whole story, since we have a lot of JavaScript, and JS is more concise than C++). But in reality, Firefox is written in a lot of different languages: ...


13

First of all; I'd put some question marks on that 1% figure. How did they measure this in the first place? Most usage statistics are collected client-side, using (drum roll) javascript. Disabling javascript completely means you're not counting those users. Furthermore, most of the script-aware users use things like NoScript, which is far more sophisticated ...


13

Web Server Definition A web server is a service that handles specifically requests in the HTTP protocol format. The server responses to requests made using the HTTP format, and in turn responds using a valid HTTP response. All responses from a web server follow the W3 standards for HTTP protocols. Including, and not limited to, server 500 errors, redirects ...


12

A possibility could be to develop the application as a web application and run your web server on your desktop. In this way you do not need a different technology. EDIT: there exist portable web server solutions (for example, http://www.server2go-web.de/ or http://portableapps.com/apps/development/xampp), which make this approach work much more smooth.


11

The answer is that "many technologies are adopted for arbitrary historical or socio-political reasons rather than technical reasons." The best solution for a given problem does not always become the dominant technology. (In fact, it rarely does.) In 2012, where HTTP servers are being used to create interactive applications on par with Desktop applications,...


11

In theory, it could undoubtedly be done. From a practical viewpoint, however, it seems a bit more questionable. lobo isn't even close to the first time it's been tried. In fact, one of the early showcases of the superiority of Java was supposed to be the HotJava browser -- which was going to change the world, and render the "Mosaic generation" browsers ...


10

For websites to have dynamic generated content, you need a script on a server (written with a server-side language) which will fetch informations from a database, and generate the page dynamically based on the requested informations. User request -> Server get data -> Server send data back One of the most common programming language used nowadays by ...


10

Ahh yes, I've asked Alan this question a number of times, for example when he was in Potsdam and on the fonc mailing list. Here is a more recent quote from the list which to me summed it up quite well: After literally decades of trying to add more and more features and not yet matching up to the software than ran on the machines the original browser ...


10

Neither really. You should have a framework for routing. That way user have URLs like example.com/home and you can use home as a variable to load different controllers. This is better than example.com/?page=home or example.com/home.php in many ways, such as code flexibility, SEO, and user experience. Since your using PHP, take a look at Fat Free Framework or ...


Only top voted, non community-wiki answers of a minimum length are eligible