<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" ><channel><title>return void; &#187; 01100011</title> <atom:link href="http://voidreturn.com/index.php/category/01100011/feed/" rel="self" type="application/rss+xml" /><link>http://voidreturn.com</link> <description>We define only out of despair, we must have a formula... to give a facade to the void.</description> <lastBuildDate>Fri, 13 Apr 2012 06:23:57 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Vision of the Future</title><link>http://voidreturn.com/index.php/2011/11/22/vision-of-the-future/</link> <comments>http://voidreturn.com/index.php/2011/11/22/vision-of-the-future/#comments</comments> <pubDate>Tue, 22 Nov 2011 18:26:43 +0000</pubDate> <dc:creator>s1n</dc:creator> <category><![CDATA[01100011]]></category> <category><![CDATA[Meat Space]]></category> <category><![CDATA[future]]></category> <category><![CDATA[hardware]]></category> <category><![CDATA[response]]></category> <category><![CDATA[technology]]></category> <category><![CDATA[upgrades]]></category><guid isPermaLink="false">http://voidreturn.com/?p=6383</guid> <description><![CDATA[I started reading a blog by a fellow scientist over at Terminally Incoherent last year. I originally started reading because I found an article he had written about LaTeX and I was diving headfirst into loving this quirky language. He writes insanely long posts but more than half of them stay on track (unlike Steve [...]]]></description> <content:encoded><![CDATA[<p>I started reading a blog by a fellow scientist over at <a href="http://www.terminally-incoherent.com/blog/" target="_blank">Terminally Incoherent</a> last year. I originally started reading because I found an article he had written about LaTeX and I was diving headfirst into loving this quirky language. He writes insanely long posts but more than half of them stay on track (unlike Steve Yeggie) and are fun, entertaining, or informative. Last week, he wrote a <a href="http://www.terminally-incoherent.com/blog/2011/11/16/future-of-ui-design/" target="_blank">response to a rather ridiculous advertisement</a> by Microsoft.</p><p>This ad deserves no attention and only ridicule. I responded to his criticism and mostly agree with his points, but I found myself thinking, if this is the future, the future will suck. He wrote a <a href="http://www.terminally-incoherent.com/blog/2011/11/21/the-ultimate-ui/" target="_blank">response to his own article</a> detailing what his vision of the future would be, but this too left me thinking there wasn&#8217;t enough description of his ideas to grasp the vision.</p><p>I&#8217;ll start by giving a run-down of the Microsoft future, then Mr. Luke&#8217;s future, and then tear it all down and describe the only future worth striving towards.</p><p>Microsoft basically envisioned everything as a mobile phone. Regular desktops, mobile devices, books, and even refrigerators use the typical swipe mechanics. Every surface is capable of selectively allowing light to pass through, being opaque or translucent upon command. Every display is paper thin, even paper displays and mobile phones. Books are as thin as paper but are really just computers with &#8220;pages&#8221;, similar to two-sided business cards. And most annoyingly, every device employs a 3D display for mundane uses such as bar graphs.</p><p>Luke goes on to initially describe something that is vaguely similar to the Star Trek computer. Talk to your house, car, or anything else and it talks back. He then goes on to describe a system where people don&#8217;t need to look up their appointments, they just know them like a bird knows which way north points. This concept is referred to as an &#8220;exo-cortex&#8221; and is a device used to describe how &#8220;Bob&#8221; just seems to know everything. Communication is done by reaching out within one&#8217;s mind and contacting them. It&#8217;s all sci-fi but it doesn&#8217;t really describe how the future works any better than the Microsoft ad.</p><p>So, where did Microsoft go wrong? Almost everywhere. They employed the same devices currently available and made them smaller and added other current technologies on top, such as <a href="http://www.nintendo.com/3ds/" target="_blank">3D displays</a> (which oddly work not as stereoscopic images and do no use glasses). Nearly every element in the video is something that can be done today. Automatically translating eyewear, though small in form factor, can <a href="https://www.youtube.com/watch?v=h2OfQdYrHRs" target="_blank" class="broken_link">already be done</a> (albeit in a phone). Phones, tablets, and now some desktop interfaces already employ the ridiculously annoying swipe interaction for everything. The poly-translucent surfaces (business card and fridge door) is semi-novel and would be extremely useful in more than just a cheesy computer display (think invisibility suit that can manipulate visible light waves to bend them around the object).</p><p>Where did Luke go wrong? Well, his first vision of the future is depressingly boring. In fact, this idea started back in the early 90s as &#8220;<a href="http://en.wikipedia.org/wiki/Smarthome" target="_blank">SmartHome</a>&#8220;, which Microsoft expanded upon. The interaction mechanism of speech is pretty basic and really doable right now. Most of the things people would use it for are the type of basic <a href="http://en.wikipedia.org/wiki/Machine_translation" target="_blank">Machine Translation</a> problems <a href="http://www.apple.com/iphone/features/siri.html" target="_blank">Siri</a> has demonstrated as an <a href="http://gigaom.com/2011/11/16/misconceptions-in-ai-or-why-watson-cant-talk-to-siri/" target="_blank">academically complete topic</a> (my initial adviser described it to me as &#8220;boring and was completed 2 decades ago&#8221;). The &#8220;exo-brain&#8221; idea was better, but really, it doesn&#8217;t go far enough; it&#8217;s like the half-way vision of where human nature will ultimately gravitate.</p><p>If you haven&#8217;t ever watched <a href="http://www.ghostintheshell.tv/" target="_blank">Ghost in the Shell: Stand-Alone Complex</a>, you should. See, while it&#8217;s just anime, the writers have an amazing ability to create a probable future. The original movie proposed the idea of the human brain getting an electronic implant that allowed them to connect to &#8220;the net&#8221; and communicate, perform tasks, and gather information by connecting to the futuristic USB port on the back of the head (a decade before The Matrix employed this idea).</p><p>The basic principle of the show is that mankind has embraces robotics and made them a part of their body, becoming a race of mostly cyborgs. Not the normal cyborgs we currently think of, but rather regular humans with electronics to enhance our already human attributes. For example, some characters have robotic eyes to provide better vision, telescoping abilities, built-in HUDs, and more. Not possessing implants of any kind is considered alien to most humans and one such character is labeled as a luddite.</p><p>There was one particular episode that struck me as remarkable, the very <a href="http://en.wikipedia.org/wiki/List_of_Ghost_in_the_Shell:_Stand_Alone_Complex_episodes" target="_blank">first episode</a>. The human brain itself became obsolete and some people have opted to download their brain into a &#8220;cyberbrain&#8221;. This gives them all the computing abilities you expect out of a supercomputer and all of the intelligence seen out of even the most basic human brains. To read a heavy volume of text, the cyberbrain can either download it and process it or scan a barcode like book via the eyes (probably robotic as well). Interaction can be done wirelessly to &#8220;the net&#8221;, so basically, anything is possible.</p><p>Much like the biological brain, it has to process and perform complex tasks, but it can be upgraded, expanded, and improved. Imagine the learning possibilities. Given a more powerful cyberbrain geared for processing physics, the greatest works of Einstein and Feynman would be easily mastered. The open market could sell cyberbrains that specialize in certain tasks. Combined with other cybernetics, the limitations of mankind would know no bounds.</p><p>I see the future as one in which the biological human body as the next device to be crafted, mastered, and obsoleted by technology. The only major obstacle: the human nature to be adverse to replacing itself with robotics and <a href="http://cbhd.org/content/whose-image-remaking-humanity-through-cybernetics-and-nanotechnology" target="_blank">ethical challenges</a>. If you need proof that we are the only thing stopping ourselves from adopting concepts like robotic eyes, ears, limbs, and brains, look into the story of <a href="http://en.wikipedia.org/wiki/Oscar_Pistorius" target="_blank">Oscar Pistorius</a>.</p><p>Me? I look forward to never having to wear glasses, forget a phone number, or deal with an aging brain that can no longer learn.</p> ]]></content:encoded> <wfw:commentRss>http://voidreturn.com/index.php/2011/11/22/vision-of-the-future/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Google Font Directory and You</title><link>http://voidreturn.com/index.php/2011/09/17/google-font-directory-and-you/</link> <comments>http://voidreturn.com/index.php/2011/09/17/google-font-directory-and-you/#comments</comments> <pubDate>Sat, 17 Sep 2011 17:31:25 +0000</pubDate> <dc:creator>s1n</dc:creator> <category><![CDATA[01100011]]></category> <category><![CDATA[code]]></category> <category><![CDATA[fonts]]></category> <category><![CDATA[latex]]></category> <category><![CDATA[linux]]></category><guid isPermaLink="false">http://voidreturn.com/?p=6312</guid> <description><![CDATA[With my recent excursion into LaTeX, I found myself very fascinated with fonts. After looking around in the open source community, I found the Linux Libertine fonts to be amazing but I was still looking for something else. I sifted around for other professional fonts and found Hoefler Text to be the most aesthetically appealing [...]]]></description> <content:encoded><![CDATA[<p>With my <a href="http://voidreturn.com/index.php/2011/08/30/its-pronouched-la-tech/" target="_blank">recent excursion into LaTeX</a>, I found myself very fascinated with fonts. After looking around in the open source community, I found the <a href="http://www.linuxlibertine.org/" target="_blank">Linux Libertine</a> fonts to be amazing but I was still looking for something else. I sifted around for other professional fonts and found Hoefler Text to be the most aesthetically appealing font, professional, beautiful, and complete (unfortunately also $300 for 1 computer license). I wanted a better font for this site and for my desktop.</p><p>This is when I discovered the <a href="http://www.google.com/webfonts#ChoosePlace:select" target="_blank">Google Font Directory</a>.</p><p>What Google is offering are freely available fonts, even hosted by Google, that you can use on your website. For example, you can use these fonts to improve the appearance of your <a href="http://wpmu.org/how-to-use-the-google-font-directory-with-wordpress-and-buddypress/" target="_blank">WordPress theme</a>. Google provides links and instructions for each font listed in the directory. To use, you will need to add a CSS &#8220;link&#8221; tag in your HTML and reference it in your CSS via the &#8220;font-family&#8221; property. For example, you would add the following:</p><p>[code lang="html"]<br /> &lt;link href='http://fonts.googleapis.com/css?family=Droid+Serif'<br /> rel='stylesheet'<br /> type='text/css'\&gt;<br /> [/code]</p><p>Then in your CSS, you would have something similar to this:</p><p>[code lang="css"]<br /> body {<br /> font-family: 'Droid Serif', serif;<br /> }<br /> [/code]</p><p>That basically turns the Droid Serif font on using a <a href="http://www.w3schools.com/cssref/pr_font_font-family.asp">font-family</a>. Font families allow you to specify a set of fonts, and if the browser supports the CSS property, it will try the fonts in succession until it finds one that it can use.</p><p>This is pretty great and allows you to do the same in WordPress; simply add the link in your header.php and the font-family in your stylesheet.css.</p><p>But what if you want to use these fonts on your (Linux) desktop? Good question. Clearly, sifting through the font directory and downloading all 250+ fonts (at the time of writing) would take too long and scraping the site would probably violate some TOS. Fortunately, Google has made sure that <a href="http://www.google.com/webfonts#AboutPlace:about" target="_blank">all fonts uploaded are open source</a>. To make grabbing every font easier, you can grab the entire repository <a href="http://code.google.com/p/googlefontdirectory/" target="_blank">right here</a>.</p><p>Now we need to <a href="http://duganchen.ca/writings/slackware/fonts" target="_blank">install these for Xorg</a> so that we may use them on our desktop applications. We would basically do the following:</p><p>[code lang="text"]<br /> hg clone https://code.google.com/p/googlefontdirectory/<br /> find googlefontdirecory | egrep '\.(ttf|otf)$' | xargs -I{} cp {} ~/.fonts/<br /> fc-cache -f -v<br /> [/code]</p><p>What that does is check out the GFD repository, finds all TrueType fonts (TTF) and all OpenType fonts (OTF) and copies them to your own font directory. Afterwards, it uses fc-cache to scan directories and updates the Xorg font server.</p><p>That&#8217;s it. You can now use them freely in your desktop. Now that these fonts are available to your desktop, you can now use them with your XeTeX documents as well:</p><p>[code lang="tex"]<br /> \usepackage{fontspec}<br /> \setmainfont[Mapping=tex-text]{Droid Serif}<br /> [/code]</p><p>After playing around with fonts, I&#8217;ve come to appreciate a good looking font. I&#8217;m pretty happy with how <a href="https://github.com/s1n/credentials/blob/master/resume.tex" target="_blank" class="broken_link">my resume</a> turned out and how this blog looks (notice the title is a vt100 font). When you&#8217;re done checking out the Google Font Directory, check out <a href="http://www.fontsquirrel.com/" target="_blank">Font Squirrel</a> as well (all free, though not necessarily open source).</p><p>Happy fonting!</p> ]]></content:encoded> <wfw:commentRss>http://voidreturn.com/index.php/2011/09/17/google-font-directory-and-you/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>It&#8217;s Pronouched La-Tech</title><link>http://voidreturn.com/index.php/2011/08/30/its-pronouched-la-tech/</link> <comments>http://voidreturn.com/index.php/2011/08/30/its-pronouched-la-tech/#comments</comments> <pubDate>Wed, 31 Aug 2011 00:42:31 +0000</pubDate> <dc:creator>s1n</dc:creator> <category><![CDATA[01100011]]></category> <category><![CDATA[Treeware]]></category> <category><![CDATA[code]]></category> <category><![CDATA[open source]]></category> <category><![CDATA[tex]]></category><guid isPermaLink="false">http://voidreturn.com/?p=6254</guid> <description><![CDATA[About 2 months ago, I decided I wanted to learn a new (to me) technology and expand my repertoire. I had finished school only a few months ago (I count the time I spent trying to get published, more on that later). The first thing that felt appropriate was to update my resume, so I [...]]]></description> <content:encoded><![CDATA[<p>About 2 months ago, I decided I wanted to learn a new (to me) technology and expand my repertoire. I had finished school only a few months ago (I count the time I spent trying to get published, more on that later). The first thing that felt appropriate was to update my resume, so I wanted to learn something to that I can use to produce a stellar document. I narrowed my choices down and finally decided on LaTeX. I&#8217;ll skip the how-to and introductions and refer you to the <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=man-latex">TeX</a> <a href="http://theoval.cmp.uea.ac.uk/~nlct/latex/novices/">tutorials</a>.</p><p>I started out looking for online documentation and justification for this decision. The first thing I found was the <a href="http://en.wikibooks.org/wiki/LaTeX/">WikiBook</a>. I read Andrew Roberts&#8217; <a href="http://www.andy-roberts.net/writing/latex/benefits">Benefits of LaTeX Typesetting</a>. I found a <a href="http://oestrem.com/thingstwice/2007/05/latex-vs-word-vs-writer/">comparison between TeX and word processors</a>; the comments there are valuable as well. The best article, by a long shot, that I found was Dario Taraborelli&#8217;s <a href="http://nitens.org/taraborelli/latex">Beauty of LaTeX</a>. His direct comparison of <a href="http://en.wikipedia.org/wiki/Kerning">kerning</a> made me immediately appreciate TeX. I actually had no idea what kerning was until I read that article.</p><p>Now, I needed to know how to build a PDF from a LaTeX file. I first installed every texlive package available on my distro (Gentoo) and then set out to find a GUI editor. I wanted to learn LaTeX in a WYSIWYG editor until I felt comfortable with the tool. The only tools that looked promising were <a href="http://www.lyx.org">LyX</a> and <a href="http://gummi.midnightcoding.org/">Gummi</a>. Initially, LyX looked like the best of both worlds; it promised a WYSIWYG editor and access to the generated TeX code. The interface was clumsy at interacting with the typeset objects (i.e. setting table width never seemed to work), the produced TeX was spread out over several files and unintuitive to the uninitiated, and it produced PDFs that did not match the designed file (big problem). Gummi, on the other hand, provides a plain text editor (with syntax highlighting) and a <a href="http://poppler.freedesktop.org/">poppler</a> viewer of the generated PDF in a split pane. Periodically (configurable), it would regenerate the PDF and the poppler viewer would refresh. This seemed like the best feasible tool.</p><p>Then, I set out to look for existing packages to make things easy at first. I sifted through <a href="http://www.ctan.org">CTAN</a> (TeX&#8217;s CPAN equivalent) but didn&#8217;t like <a href="http://ctan.org/characterization/primary/document-types/curriculum-vita/">any of the packages</a> there. I found <a href="http://www.iro.umontreal.ca/~csuros/latex.html">Miklos Csuros</a> resume (I apologize for the ASCII-ization of that name) and decided to start with that. He provides a <a href="http://www.iro.umontreal.ca/~csuros/source/resume.cls">class file</a> that makes things easier so I wiped out his details and filled in mine. It produced a resume that looked decent but it didn&#8217;t look stellar and I still didn&#8217;t know what was going on. Being a programmer, I decided to start hacking through his class file to slowly add things I wanted, eventually improving it to my satisfaction.</p><p>After a week of fudging around with it and still not knowing what I was doing in LaTeX or what I even wanted with my resume. I hopped on Amazon and decided to buy <a href="http://www.amazon.com/LaTeX-Companion-Techniques-Computer-Typesetting/dp/0201362996">a LaTeX book</a> and invest a week or so reading it and getting up to speed. I read a better part of the first 7 chapters or so and skimmed other sections that piqued my interest. I started to get a feeling for how LaTeX documents were structured and about many of the common packages. At this point, I decided to venture out any write my resume from scratch in pure LaTeX.</p><p>While I was waiting on the book to arrive, I scoured Google looking for a resume format that appealed my sense of style: clean, professional, efficient use of space, and beautifully typeset. I looked at hundreds of resumes, everything from resumes for graphics designers to CVs of tenured professors. I stumbled across <a href="http://benjlipchak.com/cv.html">Benj Lipchak&#8217;s resume</a> and was impressed. It&#8217;s clean, stylish, and well organized (though I disagree with his section ordering).</p><p>It took several weeks to get something close to what I wanted. The end result still has a few quirks that I intend on ironing out. The text bullets separating the parts of middle section isn&#8217;t graphically appealing, but I wasn&#8217;t able to figure out how to demarcate the entries. The font, Linux Libertine, is also not my favorite.</p><p>After spending a couple of months with LaTeX, I think it makes a wonderful typesetter. Unfortunately, TeX makes for a crappy programming language. I couldn&#8217;t help but think the entire time that it would be far more easily laid out and styled in HTML and CSS. I had to pour over the companion book I bought non-stop and still couldn&#8217;t always find the answer I sought. Debugging the output from <a href="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&#038;id=xetex">xelex</a> or <a href="http://www.tug.org/applications/pdftex/">pdflatex</a> when you have an error proved to be a hair removing experience.</p><p>I eventually learned that LaTeX is mostly a bunch of packages with predefined defaults, most of which have copious amounts of wasted whitespace. I found the <a href="http://ctan.org/tex-archive/macros/latex/contrib/savetrees">savetrees</a> and <a href="http://ctan.org/tex-archive/macros/latex/contrib/layouts">layouts</a> packages to be extremely helpful in cutting down waste and visualizing my current page layout. LaTeX allows for some truly interesting tools and uses; such as an <a href="http://www.texample.net/weblog/2008/oct/24/embedding-python-latex/">embedded python</a> package, <a href="http://jedidiah.stuff.gen.nz/lpd.html" class="broken_link">presentations made with inkscape</a>, and <a href="http://www.tlhiv.org/ltxpreview/" class="broken_link">live previewers</a>. My main wish is for modern document types that represented document styles that people have <a href="http://books.google.com/books?id=wFAEAAAAMBAJ&#038;lpg=PA1&#038;pg=PA50#v=onepage&#038;q&#038;f=false">grown to expect</a>.</p><p>I really like LaTeX. Actually, I really like XeTeX and <a href="http://www.luatex.org/">LuaTeX</a>. Most people think TeX is for academics only, but I would challenge that assertion. While TeX is an interesting language, the documents that can be produced from most of the TeX processors is simply unmatched when compared to word processors. I&#8217;m proud to add this quirky but highly useful tool to my resume.</p> ]]></content:encoded> <wfw:commentRss>http://voidreturn.com/index.php/2011/08/30/its-pronouched-la-tech/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Here&#8217;s Johnny!</title><link>http://voidreturn.com/index.php/2010/08/14/heres-johnny/</link> <comments>http://voidreturn.com/index.php/2010/08/14/heres-johnny/#comments</comments> <pubDate>Sat, 14 Aug 2010 23:50:27 +0000</pubDate> <dc:creator>s1n</dc:creator> <category><![CDATA[01100011]]></category> <category><![CDATA[Project Bootstrap]]></category> <category><![CDATA[Runner's Log]]></category> <category><![CDATA[Sector 7G]]></category> <category><![CDATA[c++]]></category> <category><![CDATA[dayjob]]></category> <category><![CDATA[hardware]]></category> <category><![CDATA[mia]]></category> <category><![CDATA[running]]></category> <category><![CDATA[thesis]]></category><guid isPermaLink="false">http://voidreturn.com/?p=4090</guid> <description><![CDATA[Well, it&#8217;s been a long summer. I hate those &#8220;I&#8217;ve been busy&#8221; posts, so I&#8217;ll explain why I&#8217;ve been MIA. First, I&#8217;ve been working overtime to finish a work project. I missed the estimate by about 280 hours, or 50%. It&#8217;s a large Qt application to read, write, and validate highly complex configuration files. In [...]]]></description> <content:encoded><![CDATA[<p>Well, it&#8217;s been a long summer. I hate those &#8220;I&#8217;ve been busy&#8221; posts, so I&#8217;ll explain why I&#8217;ve been MIA.</p><p>First, I&#8217;ve been working overtime to finish a work project. I missed the estimate by about 280 hours, or 50%. It&#8217;s a large <a href="http://qt.nokia.com/products/">Qt</a> application to read, write, and validate highly complex configuration files. In the small subproject that I work on, 300K lines of C++, this added 50K and changed countless thousands of others. It turned out to be much more work than I originally thought. It&#8217;s not a lot of code as it only represents 4 months worth of work. We will be integrating our product soon, so it should slow down for 6 months.</p><p>Then, I started working on my <a href="http://www.github.com/s1n/thesis">thesis</a>. Since everyone was on vacation over the summer, I was basically working alone. I ran into a few problems which I&#8217;ll talk about in a different post. I applied for my final tuition payment at work and verified with the graduate school advisor that I will be able to defend my thesis and graduate in December. I&#8217;m super excited about that.</p><p>I also decided to start training for an ultra marathon. My weekly mileage went from 20 miles to 40-50 miles a week. I&#8217;m aiming for a 50K in February and a 50 miler in 2011. You can follow my training on <a href="http://www.dailymile.com/people/s1n">Daily Mile</a>.</p><p>Then my fileserver and router hardware has started failing. If you tried to access this site earlier in the week, it was unavailable due to a failing harddrive. To make matters worse, when I tried copying to another drive, the system crashed. I learned then that <a href="https://btrfs.wiki.kernel.org/index.php/Main_Page" class="broken_link">btrfs</a> has no fsck and no means of recovery; I wouldn&#8217;t recommend it until an fsck exists. Over the next few months, I&#8217;ll be updating various machines (it&#8217;s been 4 years since I rebuilt my desktop).</p><p>It&#8217;s good to be back.</p> ]]></content:encoded> <wfw:commentRss>http://voidreturn.com/index.php/2010/08/14/heres-johnny/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>The 10PM Test</title><link>http://voidreturn.com/index.php/2010/03/08/the-10pm-test/</link> <comments>http://voidreturn.com/index.php/2010/03/08/the-10pm-test/#comments</comments> <pubDate>Tue, 09 Mar 2010 04:04:25 +0000</pubDate> <dc:creator>s1n</dc:creator> <category><![CDATA[01100011]]></category> <category><![CDATA[Project Bootstrap]]></category> <category><![CDATA[data mining]]></category> <category><![CDATA[here be dragons]]></category> <category><![CDATA[khan]]></category> <category><![CDATA[rest when you're dead]]></category> <category><![CDATA[thesis]]></category><guid isPermaLink="false">http://voidreturn.com/?p=1121</guid> <description><![CDATA[So after months of uncertainty, it looks fairly solid that I now have a new advisor. I have been struggling to decide what to do while I pleaded, prodded, and pondered about my situation. Apparently, my last advisor all but abandoned me, but I wasn&#8217;t the only one. He almost abandoned other PhD students and [...]]]></description> <content:encoded><![CDATA[<p>So after months of uncertainty, it looks fairly solid that I now have a new advisor. I have been struggling to decide what to do while I pleaded, prodded, and pondered about my situation.</p><p>Apparently, <a href="http://voidreturn.com/index.php/2009/10/25/thesis-in-frustration/">my last advisor all but abandoned me</a>, but I wasn&#8217;t the only one. He almost abandoned other PhD students and has apparently done this to other students too. His other 2 PhD students reported success in getting him to respond after complaining to the Dean. I did the same but met with different results.</p><p>Some of you may be reading this and wondering more details about what happened, what you can do to avoid what happened to me, and how to identify it might happen. I agreed to work with an advisor but not schedule the thesis hours until the last minute because I needed the flexibility (due to my day job). After a year, this advisor stopped responding to my email or phone calls, was never in his office, and only appeared to teach 1 class twice a week. I saw the signs of this happening earlier when I had to start meeting him outside of the lecture hall after his class was over. Then he disappeared for 2 months around Christmas and 3 months over the summer (did not respond to any correspondence). If he ever responded to any of my attempts to contact him, it would be days or weeks late (he missed reviewing papers for his other students for publication).</p><p>My recommendation is to just how fast they respond to an email at 10PM on Monday. The most active professors will respond almost immediately, followed by the professors that will respond within 2 days (give time for lectures/tests), and the least active professors will not respond within a week without a really good excuse (on leave, sick, technology failure that can be verified). If you want to work with a professor and are worried they are not active enough, give them the 10PM test.</p><p>I will be working with <a href="http://www.utdallas.edu/~lkhan/">Dr. Latifur Khan</a> on <a href="http://en.wikipedia.org/wiki/Data_mining">Datamining</a>. When I originally sent him an email, I sent it at 10:21PM and he responded before I could finish sending another professor an email. I met with 2 of his other students and I now have 2 topics to pick from to assist them in their work (typical for Masters). I even learned that he is technically on sabatical yet is on campus every day from 10AM to 6PM to continue research without having to teach any courses.</p><p>Now that it looks like I can actually start on real work, rather than <a href="http://voidreturn.com/index.php/2009/10/04/falling-behind/">scratching an idea together</a> only to see the focus change with every meeting, I am seeing the finish line. I am slated to graduate this Fall, which means I have to be ready to defend by December.</p> ]]></content:encoded> <wfw:commentRss>http://voidreturn.com/index.php/2010/03/08/the-10pm-test/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>21st Century Digital Boy</title><link>http://voidreturn.com/index.php/2010/02/24/21st-century-digital-boy/</link> <comments>http://voidreturn.com/index.php/2010/02/24/21st-century-digital-boy/#comments</comments> <pubDate>Wed, 24 Feb 2010 08:11:10 +0000</pubDate> <dc:creator>s1n</dc:creator> <category><![CDATA[01100011]]></category> <category><![CDATA[Gadgets]]></category> <category><![CDATA[Grinds My Gears]]></category> <category><![CDATA[Mumbo Jumbo]]></category> <category><![CDATA[android]]></category> <category><![CDATA[code]]></category> <category><![CDATA[frustration]]></category> <category><![CDATA[linux]]></category> <category><![CDATA[open source]]></category><guid isPermaLink="false">http://voidreturn.com/?p=1006</guid> <description><![CDATA[So I&#8217;m a software engineer by trade and passion. Generally, people of my profession and inclination are drawn to all things digital, but I often find myself apathetic. This is mostly due to my high expectations of other engineers and partly because so many mass market technologies fail shortly after release that I find it [...]]]></description> <content:encoded><![CDATA[<p>So I&#8217;m a software engineer by trade and passion. Generally, people of my profession and inclination are drawn to all things digital, but I often find myself apathetic. This is mostly due to my high expectations of other engineers and partly because so many mass market technologies fail shortly after release that I find it hard to really get excited. That&#8217;s ironic considering I started this blog as a series of perl scripts and SSI files on my Sparc machine running <a href="http://www.debian.org">Debian</a> for a <a href="http://s1n.dyndns.org" class="broken_link">webserver</a>, with a domain name on one of the earliest <a href="http://dyndns.org">dynamic DNS services</a>.</p><p>It wasn&#8217;t until last November that I finally became motivated to buy a cell phone. You read that right, I bought my first cell phone 1 month from the end of the first decade after 2000. What motivated me? <a href="http://www.android.com/">Android</a>. In fact, the idea that it was <a href="http://android.git.kernel.org/">built on Linux</a>, which I have been running since 2000, only sweetened the deal. I wanted to develop my own applications and I had read that they were just <a href="http://java.sun.com">Java</a> applications.</p><p>It turns out that was <a href="http://www.freedom-to-tinker.com/blog/sjs/android-open-source-model-has-short-circuit">sort of a red herring</a>. <a href="http://source.android.com/download" class="broken_link">Android itself is open source</a>. That&#8217;s already a big improvement over the iPhone (I bet Apple would dispatch assasains to protect their code). On the surface, Android is a platform built for openness and flexibility; precisely why I love Linux. I immediately wanted to download the SDK, which I assumed was just a JAR file. <a href="http://developer.android.com/guide/index.html">Wrong</a> <a href="http://developer.android.com/guide/developing/other-ide.html">again</a>. Those instructions are a bit intimidating, especially considering that I generally prefer not to use Eclipse (can someone tell me what Eclipse is anyways; it&#8217;s goal to be a platform to build platforms seems vague). I&#8217;m no stranger to writing Java; I personally have authored a framework in Java and JNI, that measured in the 6 figure SLOC range, that has made permanent employment for 3 people. Those instructions almost look worse than your typical automake project. <del datetime="2010-02-24T01:47:48+00:00">My motivation all but vanished when the Android Scripting Environment abandoned 1.5, which my phone runs.</del> It seems the <a href="http://code.google.com/p/android-scripting/">Android Scripting Environment</a> has been fixed to run for 1.5, so it has renewed my interest.</p><p>I noticed that I immediately gravitated to the free apps. After a while, I grew frustrated with most applications, providing little motivation to pay for the &#8220;pro&#8221; version. I started looking for open source versions of some of the applications I would like to improve and found that there are surprisingly few. They are out there, such as <a href="http://macno.org/mustard/">Mustard</a> <a href="http://code.google.com/p/shelves/">Shelves</a>, and <a href="http://wubbahed.com/2007/11/10/zxing-googles-open-source-barcode-reader-for-android/">ZXing</a>. There are plenty of apps that feign openness by providing an API for building applications on top of them, such as <a href="http://twidroid.com/" class="broken_link">Twidroid</a>, <a href="http://www.last.fm/api">Last.fm</a>, and <a href="http://groups.google.com/group/pingfm-developers/web/api-documentation?pli=1">Ping.fm</a>. That&#8217;s like giving me the instructions on how to drive but not telling me how to tinker under the hood; <a href="http://makezine.com/04/ownyourown/">if you can&#8217;t open it, you don&#8217;t own it</a>.</p><p>I would love to be wrong. Everytime I try to Google for open source applications, it&#8217;s usually Google&#8217;s keyword matching to the association of Android itself being open source, not about an open source application for Android. If you know of any such applications, please post a comment so that others may find what I could not.</p> ]]></content:encoded> <wfw:commentRss>http://voidreturn.com/index.php/2010/02/24/21st-century-digital-boy/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Git Going</title><link>http://voidreturn.com/index.php/2010/01/17/git-going/</link> <comments>http://voidreturn.com/index.php/2010/01/17/git-going/#comments</comments> <pubDate>Sun, 17 Jan 2010 22:54:59 +0000</pubDate> <dc:creator>s1n</dc:creator> <category><![CDATA[01100011]]></category> <category><![CDATA[Zero-blog]]></category> <category><![CDATA[git]]></category> <category><![CDATA[snippet]]></category> <category><![CDATA[tinker]]></category><guid isPermaLink="false">http://voidreturn.com/?p=1002</guid> <description><![CDATA[In my spare time, I like to write code snippets and samples. I like to test an idea here and there without writing something all the way to fruition. It gives me the freedom to tinker and and let my imagination wander. Once I start working through a complete solution that will eventually need support [...]]]></description> <content:encoded><![CDATA[<p>In my spare time, I like to write <a href="http://en.wikipedia.org/wiki/Snippet_(programming)">code snippets</a> and samples. I like to test an idea here and there without writing something all the way to fruition. It gives me the freedom to tinker and and let my imagination wander. Once I start working through a complete solution that will eventually need support for a growing community, I start to lose interest. It&#8217;s the act of discovery that is what entertains me.</p><p>So I&#8217;ve collected some useful snippets and some garbage snippets. I&#8217;ve never bothered to put them in a repository because they were just small bits of code that were not intended to retain a long lifespan. When I got my Dell Mini10, I started writing snippets on that machine as well. Since I did this away from home, I couldn&#8217;t rely on my fileserver to be always available. I needed an easy way to organize my codebits so that I can see them on multiple machines.</p><p>I decided it was time to <a href="http://en.gentoo-wiki.com/wiki/Git#Setting_up_repositories">set up a repository</a>, which will go nicely with my new domain. I set out to setup a server similar to <a href="http://www.github.com">GitHub</a> but found that wasn&#8217;t as straight-forward as I had hoped. I asked a few questions in #git (irc.freenode.net) and received a few mixed answers. I ultimately was getting the following error:</p><blockquote><p> Initialized empty Git repository in /tmp/test/.git/<br /> Enter passphrase for key &#8216;/home/s1n/.ssh/id_rsa&#8217;:<br /> fatal: &#8216;/test.git&#8217; does not appear to be a git repository<br /> fatal: The remote end hung up unexpectedly</p></blockquote><p>No matter what I tried, I always ended up with an error along those lines. Then I found <a href="http://toolmantim.com/articles/setting_up_a_new_remote_git_repository">this guide</a>, which has a great rundown for &#8220;impatient&#8221; users. Turns out, that path after git&#8217;s ssh:// URL is the path. That is ssh://someuser@server/path/to/repo.git has the repo.git in the /path/to/ folder on the server hostname available as someuser. I made a symlink in / to the repository folder and everything was <a href="http://www.kernel.org/pub/software/scm/git/docs/everyday.html" class="broken_link">ready to go</a>.</p><p>Now I should be able to run my own git-daemon for my miscellaneous codebits and thoughts without having to publish them in a public repo. Maybe in the future, I&#8217;ll install a GitWeb browser, but right now, these are really considered private thoughts and I don&#8217;t think I want to share them.</p> ]]></content:encoded> <wfw:commentRss>http://voidreturn.com/index.php/2010/01/17/git-going/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Unmonger</title><link>http://voidreturn.com/index.php/2009/11/18/unmonger/</link> <comments>http://voidreturn.com/index.php/2009/11/18/unmonger/#comments</comments> <pubDate>Wed, 18 Nov 2009 09:44:48 +0000</pubDate> <dc:creator>s1n</dc:creator> <category><![CDATA[01100011]]></category> <category><![CDATA[Meat Space]]></category> <category><![CDATA[Sector 7G]]></category> <category><![CDATA[dallas.p6m]]></category> <category><![CDATA[frustration]]></category> <category><![CDATA[misery]]></category> <category><![CDATA[overtime]]></category> <category><![CDATA[perl]]></category> <category><![CDATA[perl6]]></category> <category><![CDATA[school]]></category><guid isPermaLink="false">http://voidreturn.com/?p=937</guid> <description><![CDATA[I&#8217;ve often wondered what places someone in an open source community. Is it advocating the software? Openly contributing source code? Are users members of the community? I&#8217;m not sure if the definition of membership is clear to me. You&#8217;re probably reading this entry on the Perl Ironman Blogging challenge. I joined the challenge over the [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;ve often wondered what places someone in an open source community. Is it advocating the software? Openly contributing source code? Are users members of the community? I&#8217;m not sure if the definition of membership is clear to me.</p><p>You&#8217;re probably reading this entry on the <a href="http://ironman.enlightenedperl.org/">Perl Ironman Blogging challenge</a>. I joined the challenge over the summer when I had much more time to devote to active participation (no classes). I have failed to leave <a href="http://ironman.enlightenedperl.org/munger/mybadge/male/Jason%20Switzer.png">Paperman status</a> since the semester started.</p><p>I haven&#8217;t contributed much. I haven&#8217;t been able to clean-up and upload <a href="http://search.cpan.org/~jswitzer/">my lingering perl projects</a> to CPAN yet. I haven&#8217;t contributed to fixing bugs in CPAN modules or perl5 itself. I have flirted with contributing to <a href="http://rakudo.org/">Rakudo</a> over the last 18 months but have become consumed with my graduate work as of late. <a href="http://voidreturn.com/index.php/tag/yapc/">I have been to only 1 YAPC::NA event</a>, which was this summer at <a href="http://yapc10.org/yn2009/">YAPC::NA 2009</a>.</p><p>I don&#8217;t write gobs of professional code using Perl; 95% of my professional code is <a href="http://en.wikipedia.org/wiki/C%2B%2B0x">C++</a>. The last professional Perl project was to recreate <a href="http://search.cpan.org/perldoc?Test::Harness">Test::Harness</a> and <a href="http://search.cpan.org/perldoc?TAP::Formatter::Base">TAP::Formatter</a> to meet my needs, which turned out to vary widely. I&#8217;m not a sysadmin, so I don&#8217;t get to use Perl as a glue to hold my universe together. I don&#8217;t have <a href="http://stackoverflow.com/users/8817/brian-d-foy">14 million repuation points for Perl</a> on <a href="http://www.stackoverflow.com">StackOverflow.com</a>.</p><p>I don&#8217;t wax philosophically about the <a href="http://use.perl.org/~masak/journal/39912?from=rss" class="broken_link">Great Divide</a> between <a href="http://www.shadowcat.co.uk/blog/matt-s-trout/f_ck-perl-6/">Perl 5 and Perl 6 developers</a>; I am both, so that would be weird to argue with myself. I love Perl, both 5 and 6. I love <a href="http://search.cpan.org">all the great things</a> people have contributed over the many years.</p><p>To put it bluntly, <a href="http://voidreturn.com/index.php/2007/04/23/dear-john/">my graduate degree greatly eclipses anything</a> I would like to contribute to the open source community, Perl included. I take a few hours a week to run and that&#8217;s about all I get for free time.</p><p>I did restart DFW.pm, now referred to as Dallas.p6m. Dallas is blessed to have a few significant community members, so I at least try to bring them together for coffee once a month. I&#8217;ve held a few mini-hackathons, though attendance has dropped, likely due to the time of the year.</p><p>So where would I fit in this Community Ball of Mud?</p> ]]></content:encoded> <wfw:commentRss>http://voidreturn.com/index.php/2009/11/18/unmonger/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Thesis In Frustration</title><link>http://voidreturn.com/index.php/2009/10/25/thesis-in-frustration/</link> <comments>http://voidreturn.com/index.php/2009/10/25/thesis-in-frustration/#comments</comments> <pubDate>Sun, 25 Oct 2009 07:52:02 +0000</pubDate> <dc:creator>s1n</dc:creator> <category><![CDATA[01100011]]></category> <category><![CDATA[Grinds My Gears]]></category> <category><![CDATA[Project Bootstrap]]></category> <category><![CDATA[perl]]></category> <category><![CDATA[perl6]]></category> <category><![CDATA[school]]></category> <category><![CDATA[street-rat-crazy]]></category> <category><![CDATA[thesis]]></category><guid isPermaLink="false">http://voidreturn.com/?p=904</guid> <description><![CDATA[So this semester I have been investigating and working on my thesis. Right now, my focus is in Statistical Natural Language Processing. I don&#8217;t want to discuss the specifics of the research just yet, but it has the potential of completely up-ending the entire search industry. I have been investigating how to build a large [...]]]></description> <content:encoded><![CDATA[<p>So this semester I have been investigating and working on my thesis. Right now, my focus is in <a href="http://en.wikipedia.org/wiki/Natural_language_processing#Statistical_NLP">Statistical Natural Language Processing</a>. I don&#8217;t want to discuss the specifics of the research just yet, but it has the potential of completely <a href="http://en.wikipedia.org/wiki/MapReduce">up-ending the entire search industry</a>.</p><p>I have been investigating how to build a large corpus from the web. My advisor favors using <a href="http://www.google.com">Google</a> directly since they already exist and provide their search for free.</p><p>The first thing I did was investigate the Google SOAP API only to find out that they deprecated it when they introduced the <a href="http://search.cpan.org/perldoc?Google::Search">AJAX API</a>. The new API only allows for about 60 results with no paging. Then I looked into the <a href="http://search.cpan.org/perldoc?REST::Google">REST::Google</a> API, but that only returns 10 results. Neither of those options seem feasible. I checked Yahoo&#8217;s <a href="http://search.cpan.org/perldoc?Yahoo::Search">Yahoo::Search</a> interface and it only seemed to return 10 results (paging, if possible, was not obvious). I could write a direct scraper but that would take a good deal of effort and I am not sure it would be worth it.</p><p>Then I even started looking at writing my own spider using <a href="http://search.cpan.org/dist/WWW-Robot/">WWW::Robot</a>. This is a fairly complex module that does a ton of grunt work for you. The downside is that it behaves and follows the robots.txt protocol; that&#8217;s a problem for someone who wants to scrape everything with no regard for such a protocol.</p><p>I spent maybe about 20-30 hours flipping over this in the last 6 weeks, I finally made the effort to meet with my advisor. Since he is no longer answering email or his phone, I met him after his late class and talked it over with him while he ate dinner in the campus restaurant. We talked and waffled back and forth about our approach. In the end, we decided to investigate <a href="http://lucene.apache.org/">Lucene&#8217;s</a> capabilities.</p><p>Frustrated and lost, I went about my week until I talked with a PhD student currently being advised by <a href="http://www.hlt.utdallas.edu/~vh" class="broken_link">my advisor</a> as well. Her patience for our advisor has been continually declining. She missed a publication deadline because he failed to review a paper of hers. She also divulged that she intended on switching advisors because she is not making progress. I have been contemplaing this myself, so it was good to hear that I am not the only one at their wits&#8217; end.</p><p>I am not making progress and I am not willing to sacrifice my graduation. If I change advisors, hopefully I will find an advisor that provides much more support and direction yet gives me the option to continue developing in perl. <a href="http://utdallas.edu/~gupta/">One of the professors</a> I want to speak with runs a programming language lab.</p><p>Maybe I can merge my interest with <a href="http://www.perl6.org">Perl 6</a> with my thesis!</p> ]]></content:encoded> <wfw:commentRss>http://voidreturn.com/index.php/2009/10/25/thesis-in-frustration/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Falling Behind</title><link>http://voidreturn.com/index.php/2009/10/04/falling-behind/</link> <comments>http://voidreturn.com/index.php/2009/10/04/falling-behind/#comments</comments> <pubDate>Sun, 04 Oct 2009 23:21:14 +0000</pubDate> <dc:creator>s1n</dc:creator> <category><![CDATA[01100011]]></category> <category><![CDATA[Project Bootstrap]]></category> <category><![CDATA[perl]]></category> <category><![CDATA[thesis]]></category><guid isPermaLink="false">http://voidreturn.com/?p=895</guid> <description><![CDATA[I dropped off the Perl Ironman blogging challenge again. This time it wasn&#8217;t due to a date miscalculation; I took a midterm exam on Thursday. My current class has taken up most of my time in the past 6 weeks. There haven&#8217;t been any chances for coding just yet. I did want to talk about [...]]]></description> <content:encoded><![CDATA[<p>I dropped off the Perl Ironman blogging challenge again. This time it wasn&#8217;t due to a date miscalculation; I took a midterm exam on Thursday. My current class has taken up most of my time in the past 6 weeks. There haven&#8217;t been any chances for coding just yet. I did want to talk about something I have been looking into lately for my thesis.</p><p>First, I want to post a lazyweb question: has anyone worked with <a href="http://search.cpan.org/dist/REST-Google/">REST::Google</a>? My first question is if anyone knows how to advance the page cursor with this module. I tried reading the code itself, but it uses Class::Accessor and Class::Data. I&#8217;m a bit unfamiliar with those modules (are they popular anymore?), and it looks like the cursor is read-only. I don&#8217;t really see the use for the module if it returns 10 results and cannot paginate.</p><p>So from that question, I took the sample and <a href="http://github.com/s1n/thesis/blob/master/google/exp/rest.pl">tried playing with it</a>. This is just experimental to exercise the module&#8217;s capabilities. This is fairly boring, so I want to see if I can get some code working that can paginate through Google results using their REST API (if that&#8217;s even possible).</p><p>The author of this module probably feels very clever; he <a href="http://cpansearch.perl.org/src/EJS/REST-Google-1.0.8/lib/REST/Google/Search.pm">hid subpackages from CPAN</a> by putting the package name on a new line from the package keyword. They also used <code>__PACKAGE__->mk_ro_accessors</code>, which looks like it will generate attribute accessors at runtime. I&#8217;m guessing <a href="http://search.cpan.org">CPAN</a> cannot index that as well. What&#8217;s the point of uploading your code to a public repository if you take measures to hide it from the repository?</p><p>Anyways, I&#8217;m soliciting ideas for paginating Google&#8217;s REST API results. Note: the <a href="http://www.seroundtable.com/archives/006996.html">SOAP API has been terminated</a>, so that avenue is closed.</p> ]]></content:encoded> <wfw:commentRss>http://voidreturn.com/index.php/2009/10/04/falling-behind/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: basic (Requested URI is rejected)
Database Caching 19/35 queries in 0.023 seconds using disk: basic

Served from: voidreturn.com @ 2012-05-22 00:53:20 -->
