-title = Archlinux Installation
+title = DualBoot Archlinux/Windows7 Installation
date = 2012-01-02
tags = arch linux windows installation tutorial
--
-Behold, a blog to document the process of installing [archlinux](http://www.archlinux.org/). Arch will be sharing the drive with Windows 7, so for the sake of completion, I'll make a note of how to set up a dual boot with the GRUB bootloader. I'll be installing both OS's from scratch, starting with Windows.
-
+Documentation of the process of installing [archlinux](http://www.archlinux.org/) and Windows 7 in a dual-boot configuration.
## System Specs
## Installing Windows
-I installed Windows 7 from a USB stick using Microsoft's [Windows 7 USB/DVD tool](http://www.microsoftstore.com/store/msstore/html/pbPage.Help_Win7_usbdvd_dwnTool). You'll need a computer running Windows 7 already to do this. I booted with the USB drive, and installed Windows on the entire 100GB drive with a single partition. Once installed, via Start Menu > Administrative Tools > Computer Management > Disk Manamagent, select 'Shrink Partition' on the main Windows parition to create another partition for Arch. The default value for the shrink is 50%, so for my setup the value for the new disk size was ~50GB, and that's fine.
+Windows was installed from a USB stick using Microsoft's [Windows 7 USB/DVD tool](http://www.microsoftstore.com/store/msstore/html/pbPage.Help_Win7_usbdvd_dwnTool). It's required to create this key from a Windows 7 system. Boot with the USB drive, then install Windows on the drive in a single partition. Windows also creates a System Reserved partition for itself. Once installed, via Start Menu > Administrative Tools > Computer Management > Disk Manamagent, select 'Shrink Partition' on the main Windows parition to create another partition for Arch. The default value for the shrink is 50%, so for my setup the value for the new disk size was ~50GB, which was ideal.
-Note about this install. I have an old Linksys (Cysco) WMP54G Wireless PCI Card. Strangely, all the drivers from Linksys/Cysco's website didn't work, but following this [blog post](http://www.phishthis.com/2009/01/16/how-to-install-wmp54g-drivers-on-windows-7-beta-64-bit-or-vista-64-bit/), the generic RALink drivers worked great.
+Note about this install. I have an old Linksys (Cysco) WMP54G Wireless PCI Card. Drivers from Linksys/Cysco's website didn't work, but following this [blog post](http://www.phishthis.com/2009/01/16/how-to-install-wmp54g-drivers-on-windows-7-beta-64-bit-or-vista-64-bit/), the generic RALink drivers worked great.
I downloading the Core Image via [torrent](http://www.archlinux.org/iso/2011.08.19/archlinux-2011.08.19-core-dual.iso.torrent) from [http://www.archlinux.org/download/](http://www.archlinux.org/download/).
This ISO includes all core packages so the system doesn't need to be online to install.
-Once downloaded, I followed my [notes](http://quilime.com/code/bootable_iso/) on how to create a bootable ISO onto another USB drive with yet another machine. There are also numerous free tools available to make a bootable ISO on Windows. After booting into Arch with the USB stick, boot into Arch, and type:
+Once downloaded, I followed the [notes](http://quilime.com/code/bootable_iso/) on how to create a bootable ISO onto another USB drive with yet another machine. There are also numerous free tools available to make a bootable ISO on Windows. After booting into Arch with the USB stick, boot into Arch, and type:
<pre>/arch/setup</pre>
## Finalizing Installation
-Once installed, exit the installer, remove the USB, type `reboot` in the command line, and the system will reboot. If all went well, you should be dropped into a login screen where you can log in with root and the password you chose during install.
+Once installed, exit the installer, remove the USB, type `reboot` in the command line, and the system will reboot. You'll boot into a login screen, which you can login with via root.
You can create [new users](https://wiki.archlinux.org/index.php/Users_and_Groups) interactively with `adduser`.
title = filebrowser
date = 2011-06-28
--
-Updated my <a href="https://github.com/quilime/filebrowser">File Browser</a> PHP script on GitHub.
+<a href="https://github.com/quilime/filebrowser">File Browser</a> PHP script on GitHub.
-preview:
-<img style="border:1px solid #ddd;" src="http://media.quilime.com/File_Browser.png" />
-
-in use:
+demo:
<a href="http://media.quilime.com/">media.quilime.com</a>
<a href="http://www.flickr.com/photos/quilime/6265932597/sizes/l/in/photostream/">
<img src="http://farm7.staticflickr.com/6098/6265932597_c89ec37c99_z.jpg" />
</a>
-
-dushera
title = Stars
data = 2007
-template = project
--
--- /dev/null
+title = Web
+date = 2007
+--
+
+
+A network of dots and lines interacts with itself in a single mesh. Depth determines audio volume. Intersections, connections and line-length determine tones. Similar tones and chord groups are designated with additional web lines and connections. You are able to interact with each web line as the strings of an instrument, each tone resonating through its connections.
+
+
+
+written in c++
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/06_Web/images/web.0645.png">
+
+
+
+<!--more-->
+
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/06_Web/images/web.1336.png">
+
+<br />
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/06_Web/images/web.2533.png">
+
+<br />
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/06_Web/images/zforest.0105.png">
+
+<br />
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/06_Web/images/zforest.0327.png">
+
+<br />
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/06_Web/images/zforest.0619.png">
title = aero
date = 2007
thumb = http://portfolio.quilime.com/2008/aero/thumb.png
-template = project
--
<img src="http://portfolio.quilime.com/2008/aero//aero.jpg" />
title = boat
date = 2007
-template = project
--
<embed name = "qt_object" width="535" height="374" controller="true" loop="true" autoplay="true" src="http://portfolio.quilime.com/2008/boat/boat.mov" kioskmode="true" nocache="true" type="video/quicktime" bgcolor="#000000" border="0" pluginspage="http://www.apple.com/quicktime/download/indext.html" enablejavascript="true">
</embed>
</object>
-
-
-boat
-*photo timelapse*
title = bodyneg
date = 2008
thumb = http://portfolio.quilime.com/2008/bodyneg/thumb.png
-template = project
--
<img src="http://portfolio.quilime.com/2008/bodyneg/BODYNEG.jpg">
title = dots
date = 2007
-template = project
--
<img style="width:100%;" src="http://portfolio.quilime.com/new/content/01_Dots/images/out.0033.png">
title = icarus
date = 2007
thumb = http://portfolio.quilime.com/2008/icarus/thumb.png
-template = project
--
<img src="http://portfolio.quilime.com/2008/icarus/icarus.jpg" />
<p>
rattle
<br/>
-<em>synthesiser (interactive)</em>
+<em>interactive software</em>
</p>
title = Rattles
date = 2006
thumb = http://portfolio.quilime.com/2008/rattle/thumb.png
-template = project
--
Particles are jostled and shaken as in a rattle. The sonic possibilities of their collisions and movement are given freedom and sonic depth via software.
<p>
sempernull
<br/>
-
</p>
+
+
+An exploration of infinite/finite space. The user transitions between macro and micro environments of mathematically infinite scale, limited only by computer processing power. As the viewer moves through multiple spaces, their scope and perspective widends and transcends while space becoms infinitely big and infinitely small simultaneously.
+
+*non-interactive software*
+
+<!--more-->
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/04_Stars/images/astars.10535.png">
+
+<br />
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/04_Stars/images/astars.20144.png">
+
+<br />
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/04_Stars/images/astars.png">
+
+<br />
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/04_Stars/images/god.0027.png">
+
+<br />
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/04_Stars/images/god.0135.png">
+
+<br />
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/04_Stars/images/god.0253.png">
+
+<br />
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/04_Stars/images/god.0385.png">
+
+<br />
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/04_Stars/images/god.0498.png">
+
+<br />
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/04_Stars/images/god.0710.png">
+
+<br />
+
+<img style="width:100%;" src="http://portfolio.quilime.com/new/content/04_Stars/images/god.0898.png">
+
</object>
-<p>
-synonymovement
-<br/>
-<em>video installation<em>
-</p>
+
+synonymovement
+*non-interactive software*
+
body, table {
font-size: 12px;
- font-family: monaco, sans-serif;
- line-height:1.5em;
+ font-family: arial, monaco, monospace;
+ line-height:1.6em;
}
body {
- background:#212121;
+ background:rgb(25, 25, 25);
padding:0;
margin:0;
color: #ddd;
}
a {
- color:rgb(42, 88, 235);
- text-decoration:underline;
+ outline:none;
+ color:rgb(42, 128, 235);
+ text-decoration:none;
}
a img {
border:0;
padding-top:0;
margin-top:0;
margin-bottom:30px;
+
+}
+h1 a {
+ background:#121212;
+display:block;
+ margin-left:-1.5em;
+ padding-left:1.5em;
+}
+h1 a:hover {
+ color:#ddd;
+background:#333;
}
h1, h2, h3, h4, h5, h6 {
font-weight:normal;
- color:#fff;
+ color:#666;
font-size:12px;
}
-h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
+h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
+ display:block;
text-decoration:none;
color:#fff;
}
+h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
+background:#161616;
+}
+h1 a:hover {
+
+}
ul, li {
margin:0; padding:0; list-style-type:none;
blockquote {
font-family:serif;
font-style:italic;
- font-size:1.2em;
+ font-size:1.45em;
line-height:1.3em;
margin:0;
padding:0;
pre, code {
color:#df0;
line-height:1.3em;
- font-family: Consolas,"Andale Mono",Monaco,Courier,"Courier New",Verdana,sans-serif;
+ font-family: monaco, monospace;
padding:1px 5px 2px;
- background:#121212;
+ background:#090909;
border-radius:4px;
}
pre {
padding:10px 30px;
}
+table, td, tr {
+ margin:0;
+ padding:0;
+}
#content {
+ margin-top:20px;
padding-left: 160px;
padding-bottom: 20px;
}
top:0;
left:0;
padding:20px;
-background:rgba(33,33,33,0.9);
+background:rgba(25,25,25,0.3);
}
#nav a {
}
}
.entry h1 {
- margin-bottom:40px;
+ margin-bottom:5px;
}
-#content h1, .entry h1 a {
+.entry h1 a {
display:block;
- background:#f09;
- padding-left:1em;
}
.entry h1 a:hover {
- background:rgba(255,0,153,.7);
}
.entry h2 {
margin-top:40px;
}
.entry .metadata {
- margin-top:30px;
+
+ margin-bottom:30px;
+ color:#444;
+}
+.entry .metadata a {
+ color:#444;
+}
+.entry .metadata a:hover {
+ color:#999;
}
.entry .metadata .tags li {
display:inline-block;
.archive li {
- border-bottom:1px dotted #363636;
+ padding-bottom:5px;
+ margin-bottom:5px;
+ border-bottom:1px dotted #555;
}
.project {
height:100px;
border:1px dotted #000;
overflow:hidden;
- background:#eee;
+
}
}
ul.image {
- background:#fff;
+ background:#131313;
padding:20px;
}
<div class="metadata">
<a title="posted on <?=$entry['date']?>" href="<?=$entry['url']?>">#</a>
- <span title="<?=get_relative_time($entry['timestamp']);?>"><?=date("F d, Y", $entry['timestamp'])?></span>
- in <a href="/<?=$entry['cat']['url'];?>"><?=$entry['cat']['name'];?></a><? if ($entry['tags']) echo ' as ' . implode(', ', $entry['tags']); ?>
- </div>
+ </div>
</div>
<div id="content">
- <table>
+
+
+
+
+ <table cellspacing="0" cellpadding="0">
<tr>
<td style="padding-right:100px;" valign="top">
- <h3><a href="/journal/">journal</a></h3>
+ <h1><a href="/log/">log</a></h1>
<ul class="archive">
- <? $c=15; foreach(get_entries('journal/') as $entry): if ($c--==0) break; ?>
+ <? $c=15; foreach(get_entries('log/') as $entry): if ($c--==0) break; ?>
<li>
- <a href="<?=$entry['url']?>" title="<?=date("m d Y", $entry['timestamp'])?>"><?=$entry['title']?></a> <span style="float:right"><?=date('Y m d', $entry['timestamp']);?></span>
+ <a href="<?=$entry['url']?>" title="<?=date("m d Y", $entry['timestamp'])?>"><?=$entry['title']?></a>
</li>
<? endforeach; ?>
</ul>
- <p><a class="more" href="/journal/">more →</a></p>
+ <br />
+ <p><a class="more" href="/log/">more →</a></p>
</td>
- <td valign="top">
- <h3><a class="more" href="/code/">code</a></h3>
+ <td style="padding-right:100px;" valign="top">
+ <h1><a class="more" href="/code/">code</a></h1>
<ul class="archive">
<? $c=15; foreach(get_entries('code/') as $entry): if ($c--==0) break; ?>
<li>
</li>
<? endforeach; ?>
</ul>
+
+ <br />
+
<p><a class="more" href="/code/">more →</a></p>
</td>
+ <td valign="top">
+ <h1><a href="/projects/">projects</a></h1>
+ <ul class="projects">
+ <? $c = 0; ?>
+ <? foreach(get_entries('projects/') as $entry): $c++; ?>
+ <li class="project">
+ <a href="<?=$entry['url']?>">
+ <div class="thumb">
+ <? if (isset($entry['config']['thumb'])): ?>
+ <img src="<?= $entry['config']['thumb']?>">
+ <? else : ?>
+
+ <canvas id="thumb_<?=$c?>" width="100" height="100"></canvas>
+
+ <script>
+ var canvas = document.getElementById('thumb_<?=$c?>');
+ if(canvas && canvas.getContext) {
+ var ctx = canvas.getContext('2d');
+ ctx.strokeStyle = "#1d1d1d";
+ ctx.fillStyle = "#121212";
+ ctx.fillRect (0, 0, 100, 100);
+ ctx.fill();
+ ctx.beginPath();
+ ctx.moveTo(10, 10);
+ ctx.lineTo(90, 90);
+ ctx.moveTo(90, 10);
+ ctx.lineTo(10, 90);
+ ctx.closePath();
+ ctx.stroke();
+ ctx.fill();
+ }
+ </script>
+
+
+ <? endif; ?>
+ </div>
+ <?=$entry['title']?></a>
+ </li>
+ <? endforeach; ?>
+ </ul>
+ </td>
</tr>
</table>
- <br /><br />
- <div>
- <h3><a href="/projects/">projects</a></h3>
-
- <ul class="projects">
- <? foreach(get_entries('projects/') as $entry): ?>
- <li class="project">
- <a href="<?=$entry['url']?>">
- <div class="thumb">
- <? if (isset($entry['config']['thumb'])): ?>
- <img src="<?= $entry['config']['thumb']?>">
- <? endif; ?>
- </div>
- <?=$entry['title']?></a>
- </li>
- <? endforeach; ?>
- </ul>
+
+
<!-- • <a href="http://content.stamen.com/som_transbay_tower">Bay Area Transit</a> - data visualization<br />
• <a href="http://portfolio.quilime.com/content/cm/index.html">Celestial Mechanics</a> - dome-based animation<br />
• <a href="http://portfolio.quilime.com/content/valentine/index.html">Valentine</a><br /> -->
-</div>
-<br /><br/>
+</div>
+
+<br />
<? $this->include_template('nav.html.tpl') ?>
+<span style="font-size=15px;">
+<? if (isset($entry['cat'])) : ?>
+<span style="font-family:arial">
+<a href="/<?=$entry['cat']['url'];?>">↑</a>
+</span>
+<br /><br />
+<? endif; ?>
+
+<span style="font-family:arial">
<? if (isset($entry['prev_entry'])) : ?>
- <a href="/<?=$entry['prev_entry']['url']?>">prev</a>
+ <a href="/<?=$entry['prev_entry']['url']?>">←</a>
<script>var PREV_ENTRY = '<?=$entry['prev_entry']['url']?>'</script>
+ <br /><br />
<? endif; ?>
+
+
<? if (isset($entry['next_entry'])) : ?>
- <a href="/<?=$entry['next_entry']['url']?>">next</a>
+ <a href="/<?=$entry['next_entry']['url']?>">→</a>
<script>var NEXT_ENTRY = '<?=$entry['next_entry']['url']?>'</script>
<? endif; ?>
+</span>
+</span>
<div class="metadata">
<a title="posted on <?=$entry['date']?>" href="<?=$entry['url']?>"><?=$entry['title']?></a><br />
- <abbr title="<?=get_relative_time($entry['timestamp']);?>"><?=date("F d, Y", $entry['timestamp'])?></abbr>
+ <!-- <abbr title="<?=get_relative_time($entry['timestamp']);?>"><?=date("F d, Y", $entry['timestamp'])?></abbr> -->
in <a href="/<?=$entry['cat']['url'];?>"><?=$entry['cat']['name'];?></a><? if ($entry['tags']) echo ' filed as ' . implode(', ', $entry['tags']); ?>
</div>
<h1>projects</h1>
- <? foreach($entries as $entry): ?>
+ <? $c = 0; foreach($entries as $entry): $c++;?>
<? if (isset($entry['content_short'])) ?>
<div class="project">
<a href="/<?= $entry['url']?>">
<div class="thumb">
+
<? if (isset($entry['config']['thumb'])): ?>
<img src="<?= $entry['config']['thumb']?>">
+ <? else : ?>
+
+ <canvas id="thumb_<?=$c?>" width="100" height="100"></canvas>
+
+ <script>
+ var canvas = document.getElementById('thumb_<?=$c?>');
+ if(canvas && canvas.getContext) {
+ var ctx = canvas.getContext('2d');
+ ctx.strokeStyle = "#1d1d1d";
+ ctx.fillStyle = "#121212";
+ ctx.fillRect (0, 0, 100, 100);
+ ctx.fill();
+ ctx.beginPath();
+ ctx.moveTo(10, 10);
+ ctx.lineTo(90, 90);
+ ctx.moveTo(90, 10);
+ ctx.lineTo(10, 90);
+ ctx.closePath();
+ ctx.stroke();
+ ctx.fill();
+ }
+ </script>
+
+
<? endif; ?>
+
</div>
<?= $entry['title']; ?>
</a>
if (isset($entry['config']['template'])) {
$this->include_template($entry['config']['template'] . '.' . $this->response_format . '.tpl');
}
- else {
- $this->include_template('entry.html.tpl');
- }
+ else { ?>
+
+<div class="entry">
+
+ <h1>
+ <a title="posted on <?=$entry['date']?>" href="/<?=$entry['url']?>"><?=$entry['title']?></a>
+ </h1>
+
+ <div class="content">
+ <?=$entry['content']?>
+ </div>
+
+ <div class="metadata">
+ <a title="posted on <?=$entry['date']?>" href="<?=$entry['url']?>">#</a>
+ <span title="<?=get_relative_time($entry['timestamp']);?>"><?=date("F d, Y", $entry['timestamp'])?></span>
+ in <a href="/<?=$entry['cat']['url'];?>"><?=$entry['cat']['name'];?></a><? if ($entry['tags']) echo ' as ' . implode(', ', $entry['tags']); ?>
+ </div>
+
+</div>
+
+
+ <?}
?>
</div>