The earliest computing machines had fixed programs. Some very simple computers still use this design, either for simplicity or training purposes. For example, a desk calculator (in principle) is a fixed program computer. It can do basic mathematics, but it cannot run a word processor or games. Changing the program of a fixed-program machine requires rewiring, restructuring, or redesigning the machine. The earliest computers were not so much “programmed” as “designed” for a particular task. “Reprogramming” – when possible at all – was a laborious process that started with flowcharts and paper notes, followed by detailed engineering designs, and then the often-arduous process of physically rewiring and rebuilding the machine. It could take three weeks to set up and debug a program on ENIAC.
von Neumann architecture, contributors to Wikipedia
Category Archives: Tech
Writing and maintaining a browser engine is fricking hard and everything moves far too quickly for a single developer now. However, JavaScript is what probably killed TenFourFox quickest. For better or for worse, web browsers’ primary role is no longer to view documents; it is to view applications that, by sheer coincidence, sometimes resemble documents. You can make workarounds to gracefully degrade where we have missing HTML or DOM features, but JavaScript is pretty much run or don’t, and more and more sites just plain collapse if any portion of it doesn’t. Nowadays front ends have become impossible to debug by outsiders and the liberties taken by JavaScript minifiers are demonstrably not portable. No one cares because it works okay on the subset of browsers they want to support, but someone bringing up the rear like we are has no chance because you can’t look at the source map and no one on the dev side has interest in or time for helping out the little guy. Making test cases from minified JavaScript is an exercise in untangling spaghetti that has welded itself together with superglue all over your chest hair, worsened by the fact that stepping through JavaScript on geriatic hardware with a million event handlers like waiting mousetraps is absolute agony. With that in mind, who’s surprised there are fewer and fewer minority browser engines? Are you shocked that attempts like NetSurf, despite its best intentions and my undying affection for it, are really just toys if they lack full script runtimes? Trying and failing to keep up with the scripting treadmill is what makes them infeasible to use. If you’re a front-end engineer and you throw in a dependency on Sexy Framework just because you can, don’t complain when you only have a minority of browser choices because you’re a big part of the problem.
Cameron Kaiser
from “The end of TenFourFox and what I’ve learned from it“
Quick Reference on HTML5 for IE8
EDIT: Just found another better solution: HTML5 Shiv, a JavaScript library that will accomplish the below with a simple <link>
script.
Just realized now that IE8 does not recognize some of the new semantic tags in HTML5. This website explains a good workaround:
Add this to <head>:
<!--[if lt IE 9]>
<script>
document.createElement('header');
document.createElement('nav');
document.createElement('section');
document.createElement('article');
document.createElement('aside');
document.createElement('footer');
document.createElement('hgroup');
</script>
<![endif]-->
Add this to CSS:
header, nav, section, article, aside, footer, hgroup {
display: block;
}
Since IE8 seems to be the new “least common denominator” in web design since it’s the oldest and least standards compliant web browser with a market share above 0.5 percent, this is good to know. Thank you, Windows XP work computer, for the notice!
The ironic end to “Netscape Communications Corporation”
I’ve written a lot of “Netscape is dead” posts before, but just as I thought the venerable Netscape couldn’t die again…it did.
Granted the news is old–all of what I’m about to describe happened earlier this year. But the passage of a few months still doesn’t make this story any less interesting for someone who lived through the browser wars of the late 90s and early 2000s, and saw Netscape slowly fizzle and die back in 2003 (granted, only to have the Netscape browser come back to life twice more before dying a final death in 2008).
For those unfamiliar with the story of Netscape, here’s a quick background. Netscape Communications was founded in 1994 by Jim Clark and Marc Andreessen. Andreessen was one of the original creators of the NCSA Mosaic browser, which was released the previous year as the the world’s first web browser capable of displaying graphics, and when Andreeson came over, he brought over several of Mosaic’s developers.
Netscape quickly overtook NCSA Mosaic to become the most popular web browser in the world. On August 9th, 1995, Netscape had its IPO, with its stock offered at $28 per share. By the first day of trading, its stock had soared to $75 per share. The company’s revenue doubled every quarter in 1995. Netscape developed many new technologies that formed the foundation of the web as we know it. We still use many of these technologies today: SSL (Secure Sockets Layer, which sets up an encrypted communication channel between browsers and servers and is commonly used in Internet financial transactions), Internet cookies, JavaScript (one of the major bases of the dynamic web), and so much more. Netscape even previewed new technology that would allow users to access and edit their files anywhere across a network, no matter what operating system. Netscape seemed unstoppable–without a doubt, the Google of its day.
Netscape Navigator browser, version 2.02, courtesy Anetode on Wikipedia
All of this got the attention of Microsoft, which began to view Netscape as a threat to their Windows operating system, the mainstay of their business. To undermine Netscape, Microsoft began to offer their own web browser, Internet Explorer, for free, bundling the browser with its Windows operating system. Consumers began to use the free Internet Explorer instead of paying for Netscape. This dried up Netscape’s revenue stream and put the company in dire straits.
At around this time the Justice Department began to investigate Microsoft for violating anti-m.onopoly law, namely the Sherman Antitrust Act. A judge in 2000 would ruled that Microsoft had illegally used anti-competitive means to “thwart” the Netscape browser–an appellate court would, in June 2001, affirm the judge’s findings. Although the Justice Department determined that Microsoft had broken the law, it was too late for Netscape. In 1998, Netscape, which was in a gloomy financial situation, was bought out by AOL for $4.2 billion. There were thoughts at the time that AOL would start to bundle its online internet service with the Netscape browser, but this was never done on the Windows platform.
As an AOL subsidiary, Netscape continued to develop the Netscape browser for several more years, but Netscape continued to lose market share to Internet Explorer. AOL did sue Microsoft on behalf of Netscape for civil damages due to Microsoft’s violations of anti-trust law. Microsoft would later settle the case for $750 million in May 2003. Just two months later, AOL laid off its remaining Netscape developers and ended development of the Netscape browser and essentially killed off Netscape as an operating subsidiary. AOL would later resurrect the browser twice, as I noted above, before ending development for good in 2008.
Despite the end of Netscape development, the Netscape brand itself continued to live. For many years, Netscape.com continued to run as a relatively popular web portal. AOL later used the Netscape brand to launch social news media portal (since discontinued) and, later, turned the brand into a discount internet service provider. Netscape Communications Corporation, as a legal entity, continued to exist as a non-operating subsidiary of AOL (as shown in AOL’s 10-K filing for last year). Most importantly, the corporation continued to hold key assets, including a huge number of patents that were developed by the company while it was still an active technology firm.
Well, no more. In April of this year, AOL announced that it was selling a huge number of patents to Microsoft. It soon became clear that the patents that were sold were the patents that were developed by and assigned to AOL’s Netscape subsidiary. So, ironically, Microsoft, the company that for all intents and purposes, killed Netscape, ended up purchasing Netscape’s underlying technologies.
But it gets even more bizarre. The SEC filing that AOL filed to disclose the sale shows that AOL was structuring this sale, “as a purchase of all of the outstanding shares of a wholly-owned non-operating subsidiary of the Company and the direct acquisition of those patents in the portfolio not held by the subsidiary. ” The Wall Street Journal later reported that the non-operating subsidiary that was being sold to Microsoft was Netscape Communications Corporation. That’s right. AOL bought Netscape (though the WSJ clarified that although the Netscape company was sold to Microsoft, AOL retained the rights to Netscape’s brand name and trademarks).
Snooping around the remaining vestiges of Netscape that exist online, the evidence suggests that the WSJ was correct and that Netscape Communications Corporation, as a company, no longer belongs to AOL (though AOL still owns the Netscape brand). First, the Netscape ISP website is now copyrighted to AOL. This is important because the Compuserve ISP website that AOL also operates (and is an exact clone of the Netscape ISP website) is not copyrighted directly to AOL–it is copyrighted to “CompuServe Interactive Services, Inc.,” which is an AOL subsidiary. It is also worth noting that only a year ago, Netscape’s website was copyrighted to Netscape, not AOL. Finally, Netscape ISP used to use a Terms of Service and Privacy Policy that was had the user enter into a contract directly to Netscape Communications Corporation. This Terms of Service and Privacy Policy were swapped out for new policies that created contracts with AOL, Inc. only a few days before the AOL-Microsoft patent deal was announced. Definitely not just a coincidence.
So, Netscape Communications Corporation, as a legal entity, now belongs to Microsoft. Who could have seen this coming in 1993, or even in 1998?
The story doesn’t end there, though. Two weeks after the AOL-Microsoft patent deal was announced, Microsoft announced it was selling these same patents to Facebook.
This is where the irony gets even better: Marc Andreessen, one of the founders of Microsoft, sits on Facebook’s board of directors. So, in a way, at least part of Netscape ended up in the hands of one of the major players who helped create it, bringing the heart and soul of Netscape–its technology–in a full circle.
Forays into PHP and MySQL
I expressed a desire in an entry from last November that I wanted to learn, among other things, PHP (and its integration with MySQL, a relational database management system). I haven’t had the time to do any of that with my ridiculous schedule but I finally got a chance to start my foray into PHP this week. Despite the popularity of PHP, just getting the darn thing up and running was in itself a challenge for me, and it took two days and at least four separate installations before I finally got it right.
Using a six-year old PHP/MySQL guidebook, I started off by downloading and installing MySQL, which was a very straight-forward process. I then downloaded the Apache HTTP server to my laptop, on top of which I was was going to run both MySQL and PHP. This was also fairly straight forward. It was when I tried to install PHP that I hit a wall.
I downloaded the latest version of PHP, 5.3.x, which, I later learned, is incompatible with Apache HTTP server 2.2, for whatever reason. I failed to realize this for a couple of reasons: 1) my six year old PHP guidebook wasn’t aware of this because Apache was still on version 2.0 and PHP on version 5.0.4 when it was published, so it would have no clue; and 2) because I was relying on the guidebook, I didn’t read the software documentation or download instructions, which clearly stated that PHP 5.3 didn’t work with the version of Apache I had installed.
The solution? Uninstall PHP and install PHP 5.2.x. This didn’t quite work either, however. When I tried to configure my new version of PHP with Apache server, I figured out I was supposed to download the “thread-safe” version of PHP–I had downloaded the non-thread-safe version. Therefore, I reinstalled PHP for a third time.
When I tried to configure the darned thing yet again, I still couldn’t get Apache to recognize my installation of PHP. I later found out that I was using illegal characters in the the PHP .ini file and the configuration settings for Apache; however, I had no clue what was wrong at the time and my efforts to diagnose the issue online were unsuccessful. I ended up reinstalling PHP yet again; this time using a pre-made installer instead of a ZIP file. Still no cigar.
It took me a full day to figure out what the problem was. I was using an online installation guide to try to get PHP up and running once I figured out my six-year-old guidebook wasn’t cutting it. However, when I was cutting and pasting configuration settings from the website to my computer, I was unknowingly taking formatted Unicode character with me.
For example, when I copied
doc_root = “C:Program FilesApache Software FoundationApache2.2htdocs”
into my configuration settings, I was copying formatted quotation marks with it. Instead of “”, I should have been using “”, the unformatted version of quotation marks. The use of these stylized quotation marks did not fit within the syntax needed for the configuration files. This later helped solve my problem of not being able to get MySQLi to work as well.
Anyway, I finally got Apache server on my laptop, with PHP and MySQL enabled, so my foray into moving to the dynamic web is finally moving again. Wish me luck.
Configured my mcom.com e-mail with SeaMonkey Mail
Over a year and a half ago, I found out from a disgruntled jwz that I could register my very own mcom e-mail address! I was in need of a new e-mail address to use for professional corespondance, since my graduation from UH was within sight and I did not think I could use my hawaii.edu address forever. My other e-mail addresses were not exactly “professional.”
So, I registered an address.
(If you are not familiar with MCOM, let me give you a brief history. MCOM is short for “Mosaic Communications,” which was the first name of the company that would later become Netscape Communications, maker of the Netscape brower. The brand’s been dead essentially since the company was renamed in 1994; however, jwz, a former Mosaic/Netscape employee (and current owner of the DNA Lounge nightclub in San Francisco) had tried to buy the domain from the now-current owner of the Mosaic Communications website (mcom.com), AOL. AOL had declined to sell the web address to him but did allow him to upload the original MCOM website from 1994 at the location, as well as his collection of old MCOM software)
Aside from jwz’s uploads, AOL has recently used the domain as part of its Tunome service, which allowed users to create custom e-mail addresses. Tunome is now defunct and it is no longer possible to make new mcom.com addresses (so the address I have now is something special!).
Anyway…
After I created my mcom address, I did not use the address as often as I wanted it too. The main reason for this was I did not know how to configure it via IMAP with a mail client (a client is a third party application that used to manage e-mail, such as Thunderbird or Outlook…I personally use SeaMonkey). MCOM uses the AOL webmail interface by default, but uses a different server address for IMAP and STMP settings. It was because of these different settings that I couldn’t figure out how to configure my e-mail with SeaMonkey.
I finally figured out how to do that today after work, thanks to some Google searching. So for the time being I expect to use this as my primary e-mail address. Thank you AOL for giving me the chance to be ridiculously nostalgic every time I check my e-mail!
(BTW the image at the top of this blog entry is the original Mosaic Communications logo, which I always found a bit trippy! In the throbber version of the image in the Mosaic browser, the colorful squares around the “M” in the logo would spin. Awesome.)
More Netscape vestiges
I think I listed the old Netscape search page before…but I did not include its subpages:
A quick search online finds two other vestiges I believe I missed previously.
The end of xHTML 2.0
The W3C is ending work on xHTML 2.0.
Thank you, God!
The xHTML 2.0 specification was being worked on since 2002; seven years of work has resulted in very little enthusiasm by the Internet scene. The market for xHTML is just too small. Having the W3C stop development on xHTML 2.0 and focus on HTML 5 is a very good step, I think.
More Netscape vestiges
- http://www.netscape.ca/browser/
- http://www.netscape.fr/
- http://www.netscape.co.uk/?cp=iukh1refresh
Mail Clients
These things are AWESOME. I don’t know why I didn’t pick it up earlier. I feel like my productivity is so much higher, everything is so much more organized, and my job is so much easier!
– Proud user of SeaMonkey Mail & Newsgroups