<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:og="http://ogp.me/ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:schema="http://schema.org/" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" version="2.0" xml:base="https://www.linuxjournal.com/tag/web">
  <channel>
    <title>web</title>
    <link>https://www.linuxjournal.com/tag/web</link>
    <description/>
    <language>en</language>
    
    <item>
  <title>Opera Dragonfly</title>
  <link>https://www.linuxjournal.com/content/opera-dragonfly</link>
  <description>  &lt;div data-history-node-id="1024531" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/Opera_Logo.jpg" width="320" height="282" alt="" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/james-gray" lang="" about="https://www.linuxjournal.com/users/james-gray" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;James Gray&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;Opera Software's Opera Dragonfly is a new suite of open-source debugging tools for Web developers and designers that got its name because "it eats bugs". The suite covers the full debugging work flow, from inspecting network access and downloaded resources to correcting JavaScript issues and seeing how CSS rules apply to the DOM. Opera Dragonfly supports all the newest Web technologies, including SVG and HTML5 APIs, such as Web Storage. Product benefits, sayeth Opera, include a superior JavaScript debugger, a network inspector to discover why a site "turns to molasses" and a storage inspector to uncover how a site handles the data it collects. Opera Dragonfly loads automatically when one downloads the Opera browser.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/large-550px-centered/u1002061/11037f2.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.opera.com"&gt;http://www.opera.com&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/opera-dragonfly" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 07 Sep 2011 21:57:57 +0000</pubDate>
    <dc:creator>James Gray</dc:creator>
    <guid isPermaLink="false">1024531 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Javascript PC emulator runs Linux</title>
  <link>https://www.linuxjournal.com/content/javascript-pc-emulator-runs-linux</link>
  <description>  &lt;div data-history-node-id="1021252" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/js_pcem_resize.png" width="640" height="467" alt="" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/michael-reed" lang="" about="https://www.linuxjournal.com/users/michael-reed" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Michael Reed&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;Fabrice Bellard, creator of the multiple architecture emulator QEMU and FFmpeg, amongst other open source projects, has &lt;a href="http://bellard.org/jslinux/tech.html"&gt;unleashed&lt;/a&gt; his &lt;a href="http://en.wikipedia.org/wiki/Javascript"&gt;Javascript&lt;/a&gt; powered PC emulator. In its current state, it boots a stripped down, text mode Linux implementation and runs within a modern browser. Interesting curio or a potentially useful tool?&lt;/p&gt;
&lt;p&gt;To say it's written in Javascript, an &lt;a href="http://en.wikipedia.org/wiki/Interpreted_language]"&gt;interpreted language&lt;/a&gt; that is usually used for client-side scripting on web pages, the emulator runs remarkably quickly. It boots to a command prompt in about a minute on this machine (Sempron 3000, FF 4.1). [&lt;strong&gt;Update: Considerably faster than that on my CoreDuo&lt;/strong&gt;] By the way, the emulator requires a modern browser such as Firefox 4 or Chrome in order to operate.&lt;/p&gt;
&lt;p&gt;Things are still at the proof of concept stage but there is already enough to play around with. Sitting on a command line prompt, the first thing I tried was typing &lt;em&gt;ls&lt;/em&gt;. Doing this revealed the presence of a single file, a C source code file called &lt;em&gt;hello.c&lt;/em&gt;. Attempting to compile with GCC wont work because GCC isn't installed. Examining the content of the file got the the bottom of things:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;~ # cat hello.c &lt;br /&gt;/* This C source can be compiled with: &lt;br /&gt;tcc -o hello hello.c &lt;br /&gt;*/ &lt;br /&gt;#include &lt;tcclib.h&gt; &lt;br /&gt;int main(int argc, char **argv) &lt;br /&gt;{ &lt;br /&gt;printf("Hello World\n"); &lt;br /&gt;return 0; &lt;br /&gt;} &lt;br /&gt;~ # &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;That the system includes the &lt;a href="http://en.wikipedia.org/wiki/Tiny_C_Compiler"&gt;Tiny C Compiler&lt;/a&gt; (not to be confused with &lt;a href="http://en.wikipedia.org/wiki/Small_C"&gt;Small-C&lt;/a&gt;) makes sense as that is another project that was started by Bellard. You can get an idea of what other utilities are supported by the system by typing&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ls /bin&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;So, what could this thing actually be used for, I hear you ask? As it stands, not all that much. For one thing, networking is not yet emulated. To perform any type of file transfer between the host and guest environments, one has to use the system cut and paste buffer and a virtual &lt;em&gt;/dev/clipboard&lt;/em&gt; device. Other than that, there's no way to get data into or out of the system. This could be a point in the system's favor because, as it really is running locally, rather than on a server, it's fairly good in privacy terms. You can wipe the entire system by simply hitting refresh.&lt;/p&gt;
&lt;p&gt;It could perhaps be used to provide some sort of training environment to teach people how to use the Linux command line. As it stands, the system could be used to compile simple snippets of C code if you were to find yourself stuck on a machine without a compiler installed.&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/javascript-pc-emulator-runs-linux" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Thu, 09 Jun 2011 13:00:00 +0000</pubDate>
    <dc:creator>Michael Reed</dc:creator>
    <guid isPermaLink="false">1021252 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>The Web on the Console</title>
  <link>https://www.linuxjournal.com/content/web-console</link>
  <description>  &lt;div data-history-node-id="1016574" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/keyboard-small_4.jpg" width="200" height="150" alt="" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/joey-bernard" lang="" about="https://www.linuxjournal.com/users/joey-bernard" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Joey Bernard&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Most people think “graphical interfaces” when they think of surfing the Web. And, under X11, there are lots of great programs, like Firefox or Chrome. But, the console isn't the wasteland it might seem. Lots of utilities are available for surfing the Web and also for downloading or uploading content.&lt;/p&gt;
&lt;p&gt;Let's say you want to surf the Web and find some content. The first utility to look at is also one of the oldest, the venerable Lynx. Lynx actually was my first Web browser, running on a machine that couldn't handle X11. In its most basic form, you simply run it on the command line and give it a filename or a URL. So, if you wanted to hit Google, you would run:&lt;/p&gt;
&lt;pre&gt;lynx http://www.google.com
&lt;/pre&gt;&lt;p&gt; Lynx then asks you whether you want to accept a cookie Google is trying to set. Once you either accept or reject the cookie, Lynx loads the Web page and renders it. As you will no doubt notice, there are no images. But, all the links and the text box for entering search queries are there. You can navigate from link to link with the arrow keys. Because the layout is very simple and text-based, items are in very different locations on the screen from what you would see when using a graphical browser.&lt;/p&gt;
&lt;p&gt;Several options to Lynx might be handy to know. You can hand in more than one URL when you launch Lynx. Lynx adds all of those URLs to the history of your session and renders the last URL and displays it. When you tested loading Google above, Lynx asked about whether or not to accept a cookie. Most sites these days use cookies, so you may not want to hear about every cookie. Use the option -accept_all_cookies to avoid those warning messages. You can use Lynx to process Web pages into a readable form with the option -dump, which takes the rendered output from Lynx and writes it to standard out. This way, you can process Web pages to a readable format and dump them into a file for later viewing. You can choose what kind of key mapping to use with the options -vikeys or -emacskeys, so shortcut keys will match your editor of choice.&lt;/p&gt;
&lt;p&gt;Lynx does have a few issues. It has a hard time with HTML table rendering, and it doesn't handle frames. So, let's look at the Links browser. Links not only works in text mode on the command line, but it also can be compiled to use a graphics display. The graphics systems supported include X11, SVGA and framebuffer. You can select one of these graphics interfaces with the option -g. Links also can write the rendered Web pages to standard output with the -dump option. If you need to use a proxy, tell Links which to use with the option -http-proxy host:port. Links also is able to deal with buggy Web servers. Several Web servers claim to be compliant with a particular HTTP version but aren't. To compensate for this, use the -http-bugs.* options. For example, -http-bugs.http10 1 forces Links to use HTTP 1.0, even when a server claims to support HTTP 1.1.&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/web-console" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Thu, 09 Dec 2010 16:58:48 +0000</pubDate>
    <dc:creator>Joey Bernard</dc:creator>
    <guid isPermaLink="false">1016574 at https://www.linuxjournal.com</guid>
    </item>

  </channel>
</rss>
