<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://startup-something.com/rss/rss20.xsl" type="text/xsl"?>

<!-- generator="boastMachine v3.1" -->
<rss version="2.0">
 <channel>
	<title>Startup-Something</title>
	<link>http://startup-something.com/index.php</link>
	<description></description>
	<language>en</language>
	<docs>http://backend.userland.com/rss092</docs>
	<pubDate>Thu, 15 Sep 2011 12:02:30 +0000</pubDate>
	<managingEditor>admin@yoursite.com</managingEditor>
	<webMaster>admin@yoursite.com</webMaster>
    <item>
      <title><![CDATA[Zombie.js/Node.js login with Captcha to Drupal 7 for testing]]></title>
      <description><![CDATA[I've been building a site in Drupal... and while I *like* the built in drupal simpleTest module, it falls short on actually clicky-browser-behavior.  I'm not a huge fan of Selenium for just basic Use-Case testing, from a speed standpoint.  So some of the things I want to do fall in the middle. And then I realized I needed to be able to pass a cpatcha as part of my tests (first item<img src="http://startup-something.com/smilies/icon_exclaim.gif" alt="!)" />.... so a little node.js and zombie.js and hitting mysql on the backend to fetch the actual captcha value.

<br/>
NOTE - you will need to make a small change to drupal.js to prevent 'Drupal undefined on line 2' error from zombie.  For some reason v8 differs with most browser implementations and complains about the Drupal variable not being defined on line 1 (line 2 below).. so a quick fix and we're ready to roll.

<p>
<b>misc/drupal.js LINE 1:</b></p>
<div class="quotebody">
<pre>
if(typeof(Drupal) !== 'undefined'){ 
 var Drupal = Drupal || { 'settings': {}, 'behaviors': {}, 'locale': {} };
} else {
 var Drupal = { 'settings': {}, 'behaviors': {}, 'locale': {} };
}
</pre>
</div>

<p>
Now that node.js will be happy.. here is some code that gets you logged in with Captcha.  Yes, this is for testing, as the only way to get the captcha is to read mysql... this isn't for screen scraping someone elses site.
</p>


<p>
<b>drupal_login.js:</b></p>
<div class="quotebody">
<pre>

var zombie = require("zombie");
var assert = require("assert");

var Client = require('mysql').Client;
var db = new Client();
var browser = new zombie.Browser();
 
db.user = '*****YOUR_mysql_user';
db.password = '*****YOUR_mysql_pass';

var homeURL = "http://YOUR_DRUPAL_7_WEBSITE/"; 

function loginToWebsite(homeURL,callback){
  browser.visit(
     homeURL, 
     function (err, browser, status) { 
        browser.captcha_token = 
       browser.field('captcha_token').value;
  db.query(
    "select solution from Drupal.captcha_sessions"+
    " where token='" + browser.captcha_ ..]]></description>
      <link>http://startup-something.com/post/index/45/ZombiejsNodejs-login-with-Captcha-to-Drupal-7-for-testing</link>
      <pubDate>Thu, 15 Sep 2011 11:57:57 +0000</pubDate>
      <category>General</category>
      <comments>http://startup-something.com/post/index/45/ZombiejsNodejs-login-with-Captcha-to-Drupal-7-for-testing#cmt</comments>
    </item>
    <item>
      <title><![CDATA[Game Locator]]></title>
      <description><![CDATA[<img src="http://www.game-locator.net/d20.png" style="float:right"/><p>Yes, yes, yes.  It has been a VERY long time since I posted.</p>
<p>
One small project I've been playing with (to learn more about OAuth and facebook/twitter integration) is <a href="http://www.game-locator.net">A good way to find other people who want to play desktop roleplaying games, card games, etc.</a>
</p>
<p>
The premise is simple, and the site is VERY basic - it allows you to list your interests and to find people nearby who share those gaming interests.  I plan to create a similar site for pickup sports ("tennis, anyone?")... but not until I have twitter firnally integrated.
</p>]]></description>
      <link>http://startup-something.com/post/index/44/Game-Locator</link>
      <pubDate>Tue, 19 Jul 2011 10:58:13 +0000</pubDate>
      <category>General</category>
      <comments>http://startup-something.com/post/index/44/Game-Locator#cmt</comments>
    </item>
    <item>
      <title><![CDATA[Erlang Webmachine File Upload example]]></title>
      <description><![CDATA[So.. you're combing the internet for how the heck to do a simple file upload with webmachine?  You know - form enctype="multipart/form-data"   and a &lt;input type="file"&gt; ?  Easy enough in PHP.  Absolutely no info that google finds online.  The mail archive does not seemed to be reach by googles tentacles.
<br/><br/>
Here is is:<br/>
<a href="https://bitbucket.org/argv0/webmachine_examples/src/eeac8c49a47d/fileupload/src/fileupload_resource.erl">https://bitbucket.org/argv0/webmachine_examples/src/eeac8c49a47d/fileupload/src/fileupload_resource.erl</a>
<br/><br/><br/>
Also, comb the mailinglist archive:
<a href="http://lists.therestfulway.com/pipermail/webmachine_lists.therestfulway.com/">http://lists.therestfulway.com/pipermail/webmachine_lists.therestfulway.com/</a>
<br/><br/><br/>
You're welcome.]]></description>
      <link>http://startup-something.com/post/index/43/Erlang-Webmachine-File-Upload-example</link>
      <pubDate>Fri, 17 Dec 2010 09:58:13 +0000</pubDate>
      <category>General</category>
      <comments>http://startup-something.com/post/index/43/Erlang-Webmachine-File-Upload-example#cmt</comments>
    </item>
    <item>
      <title><![CDATA[PRODUCT: PHP script for logins, access, page and item level access/admin]]></title>
      <description><![CDATA[<p>I have a PHP script I've created, and used in production websites for several years now that I'm offering for sale.  A single PHP file, compatible with just about every PHP you're going to have on hand, as well as most flavors of MySQL.</p>

<p>I'm packaging the script up now, and will re-edit this page with purchase/download information when it is ready. If you'd like to purchase it via paypal ($15), <a href="mailto:father@bigattichouse.com">email me</a> and we'll discuss.</p>

<p>Save yourself hours and hours of work with something you can just drop into your project and start using.</p>

<ul>Features: 
<li>SHA-1 encrypted passwords in the database</li>
<li>Can be used to define mailing list and other automated email groups</li>
<li>Simple method call to determine if user is logged in, and redirect to the appropriate login page if not.</li>
<li>Page and Item Level access, so you can do things like :  
       <div class="quotebody">
<pre>
 &lt;? if(HasAccess("MainMenu.SecretStuff")){?&gt;
        &lt;div&gt;This DIV only shows if the user has access.&lt;/div&gt;
 &lt;?}?&gt;
</pre>
</div>
</li>

<li>GUID-based keys to prevent guessing.</li>
<li>An integration guide with nice steps to help you install and use the software.</li>
<li>Single method calls to display and edit user access: (you get a nice tree like what is shown below)
<table style="width:300px;font-size:10px;border:1px solid black;margin-left:40px">
<tbody><tr><th><font style="width:300px;font-size:10px">Website Capabilities:</font></th></tr>
<tr><td> 
  <table border="0" cellpadding="0" cellspacing="0" style="width:300px;font-size:10px;margin-left:10px">
  <tbody><tr><td colspan="2"><input name="af68b8c58f9ce3d466eff761b5432ca4" value="Y" checked="checked" type="CHECKBOX">Payroll</td>
 </tr><tr><td width="20">&nbsp;</td><td> <table border="0" cellpadding="0" cellspacing="0" style="width:300px;font-size:10px;margin-left:10px">

  <tbody><tr><td colspan="2"><input name="26 ..]]></description>
      <link>http://startup-something.com/post/index/42/PRODUCT-PHP-script-for-logins-access-page-and-item-level-accessadmin</link>
      <pubDate>Tue, 26 Jan 2010 13:51:42 +0000</pubDate>
      <category>General</category>
      <comments>http://startup-something.com/post/index/42/PRODUCT-PHP-script-for-logins-access-page-and-item-level-accessadmin#cmt</comments>
    </item>
    <item>
      <title><![CDATA[Resolved to weave the network]]></title>
      <description><![CDATA[<p>Last year I made a post about <a href="http://startup-something.com/post/index/13/New-Years-Resolution--Start-Something"> my new years resolution to talk to a new person, and possibly help them out</a>.  I helped 3 people find employment of one flavor or another, several gigs for myself, and passed around a LOT of needs and wants to my network.  While not an amazing force for change in the world, it helped a few people - so I'm doing it again.
</p>
<p>
Everyone, needs something - professionally, personally, what-have-you.  Send me an <a href="mailto:father@bigattichouse.com">Email</a> and let me know what or who I can find for you.
</p>]]></description>
      <link>http://startup-something.com/post/index/41/Resolved-to-weave-the-network</link>
      <pubDate>Tue, 26 Jan 2010 09:11:45 +0000</pubDate>
      <category>General</category>
      <comments>http://startup-something.com/post/index/41/Resolved-to-weave-the-network#cmt</comments>
    </item>
    <item>
      <title><![CDATA[Certificated Actions - One Click Only]]></title>
      <description><![CDATA[<p style="color:red">01/14/2009 Updated CanProcessAction - left out where it creates an ID!</p><p>
Here's something that comes up periodically, <i>"how do you prevent the dreaded double-click?"</i>  From something as common as a banking or purchasing transaction getting run twice or more because of overzealous clicking, to batch processing for the night - to pushing items through workflow.  How do you prevent it?
</p>
<p>A typical strategy is to disable the button in javascript.  This works, somewhat, but doesn't prevent someone from hitting refresh once they get to the next page.</p>
<p>My strategy, <b>certificated submits</b>:</p>
<ol>
<li><b>A Table (in MySQL here):</b>
<div class="quotebody">
<pre> 
CREATE TABLE CLICK_CERTIFICATES (
  certificate_id varchar(40) not null,
  primary key (certificate_id)
)
</pre>
</div>
</li>
<li><b>A way to create a GUID or unqiue id:</b>
<div class="quotebody">
<pre> 
function CreateGUID(){
 srand((double)microtime()*1000000);
 $r = rand ;
 $u = uniqid($r);
 $m = md5 ($u);
 return($m);
}
</pre>
</div>
</li>
<li><b>A function that tells us if we can process the action:</b>
<div class="quotebody">
<pre>  
function CanProcessAction($certificate_id){
  $certificate_id = addslashes($certificate_id);
if(trim($certificate_id)!=""){
  $fetch = mysql_query("select count(*) from CLICK_CERTIFICATES where certificate_id='$certificate_id'");
  $row = mysql_fetch_row($fetch);
  $exists =  ($row[0]!=0);
} else { $exists = false; $certificate_id=CreateGUID();}
  if(!exists){
    mysql_unbuffered_query("insert into CLICK_CERTIFICATES (certificate_id) values ('$certificate_id')");
  }
  return !$exists;
} 
</pre>
</div>
</li>
<li><b>Now, just use a hidden variable on your form that creates the value of the certificate:</b>
<div class="quotebody">
<pre> 
&lt;input type="hidden" name="certificate_id" value="&lt;? echo CreateGUID(); ?&gt;"&gt;
</pre>
</div>
</li>
<li><b>And then just wrap your act ..]]></description>
      <link>http://startup-something.com/post/index/40/Certificated-Actions--One-Click-Only</link>
      <pubDate>Thu, 31 Dec 2009 09:26:57 +0000</pubDate>
      <category>General</category>
      <comments>http://startup-something.com/post/index/40/Certificated-Actions--One-Click-Only#cmt</comments>
    </item>
    <item>
      <title><![CDATA[Cloud Experiments]]></title>
      <description><![CDATA[<p>A recent project I was on was written in Erlang, which I now find extremely interesting as a programming tool.  I do, however, have <a href="http://www.bigattichouse.com">a software business focusing on small and medium sized businesses</a>, which should come as no suprise has very few opportunities to use something like Erlang without a lot of explanations up front.</p>
<p>So, a little here, a little there I started trying to pull out the interesting cloud-like capabilities of that might be useful in other languages... and seeing if I might be able to apply them to some of the tools I currently use.  I've come up with two moderately successful prototypes:  1)  Distributed Javascript processing  and 2) Distributed PHP processing </p>
<h2>Javascript</h2>
<p>As reviled (and revered) a tool as Javascript is, I believe that Web 2.0 has pretty much cemented Javascript as a language of the future. So, my reasoning says, since computing is moving "into the cloud" (insert random definition) and requires massive parallelization, I believe good old JS could learn a thing or two from Erlang.  Spawning processes on a lightweight thread, clouds of machines working together, a message queue per process, a signalling system, copy-on-write (or on call) ... lots of little things that would make Javascript automatically distribute into a cloud.
</p>
<p>But is it possible?  Yes, Javascript showed me it has one great little feature that I never expected.  By referring to a function, you can actually get the source to the call:   
</p>
<div class="quotebody">
<pre> 
var X = function(A){ alert(A);}

document.write(X);
X('woo!'); 
</pre>
</div>
<p>
Drop this code into a blank html page, and you'll see it call the function X, as well as dump the source.  This was an eye opener.  I have a working prototype, using PHP as a "marshall" to push code, and accompanying data, out to multiple servers to be processed.  This isn't quite the way Erlang does it, but definitely offers ..]]></description>
      <link>http://startup-something.com/post/index/39/Cloud-Experiments</link>
      <pubDate>Fri, 18 Dec 2009 20:27:25 +0000</pubDate>
      <category>General</category>
      <comments>http://startup-something.com/post/index/39/Cloud-Experiments#cmt</comments>
    </item>
    <item>
      <title><![CDATA[Netbooks - ask the network]]></title>
      <description><![CDATA[<p>I have a business client who, since I happen to live and breathe in the computing world, ask me a very simple question: For someone who travels a lot, a huge laptop is just a big pain - what is out there in the world of netbooks? I popped over to <a href="http://www.linkedin.com/in/bigattichouse">Linked-In</a> and figured I'd ask my network - which actually includes a lot more people than I thought.</p>
<p>This opened the floodgates.  I thought I'd share some of the results.</p>
<p>My goal here was actually even simpler than some of the replies.  Email, Web, and an office suite are really all we're looking for - but I'll post everything I could find.</p>

<p>While I don't any super clear winners, it looks like HP and Dell take the cake for support and compatability, and the Asus, Acer, and MSI Wind products for general appeal.  Hope this helps someone looking for hardware</p>

<ul>The results:
<li><a href="http://www.amazon.com/gp/product/B0026FCIBG?ie=UTF8&tag=bigattichouse-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=B0026FCIBG">MSI Wind</a>  2 direct good experience (light, wonderful)</li>
<li><a href="http://www.amazon.com/gp/product/B002MRS5BU?ie=UTF8&tag=bigattichouse-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=B002MRS5BU">Acer Aspire</a> (11.6") 2 people like - easy to upgrade memory and HD, great keyboard , 1 person Acer Inspire "sleek like crazy"</li>
<li>Acer 1420P - 1 liked (special edition), great battery life and touch screen look for PDC version on ebay.</li>
<li><a href="http://www.amazon.com/gp/product/B002P3KMXA?ie=UTF8&tag=bigattichouse-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=B002P3KMXA">Asus eee</a>  - 2 Heard Good,
            2 Liked (900 series and 1005HA),  
            1 experience Bad connection w/ AT&T built-in, worked with Sprint stick.
            1 Worse service than HP</li>
<li><a href="http://www.amazon.com/gp/product/B001QTXL82?ie=UTF8&tag=bigattichouse-20&linkCode=as2&camp=1789&creative= ..]]></description>
      <link>http://startup-something.com/post/index/38/Netbooks--ask-the-network</link>
      <pubDate>Tue, 15 Dec 2009 06:55:53 +0000</pubDate>
      <category>General</category>
      <comments>http://startup-something.com/post/index/38/Netbooks--ask-the-network#cmt</comments>
    </item>
    <item>
      <title><![CDATA[Ubuntu 9.10 Missing Sound on Intel HDA Solved]]></title>
      <description><![CDATA[<p>I have a Dell D620 laptop - whose sound died immediately after installing Ubuntu 9.10 Karmic Koala.</p>

<p>After much difficulty here was the fix:   <b>sudo apt-get install gnome-alsamixer</b></p>

<p>Then go Applications > Sound & Video > GNOME ALSA Mixer , and turn the sound back on - WHEW!</p>

<p>So if you have intel HDA onboard audio (snd_hda_intel) that died on upgrade - try it out!</p>
]]></description>
      <link>http://startup-something.com/post/index/37/Ubuntu-910-Missing-Sound-on-Intel-HDA-Solved</link>
      <pubDate>Mon, 30 Nov 2009 15:04:46 +0000</pubDate>
      <category>General</category>
      <comments>http://startup-something.com/post/index/37/Ubuntu-910-Missing-Sound-on-Intel-HDA-Solved#cmt</comments>
    </item>
    <item>
      <title><![CDATA[Open Source Javascript Crossword code]]></title>
      <description><![CDATA[<p>Sometimes someone asks you to build something for them, and you discover that it's a bit more challenging of a problem than you thought.  So, you feel, that your work really just needs to go out and be free among all the code floating around the internet.</p>
<p>Plus, after finishing this code, I'm not even too embarrassed about how it turned out.  So, if you want to see the kind of thing I can create - click over to <a href="http://www.startup-something.com/files/cross.html">Sample Crossword Generator in Javascript</a> and take a look.</p>
<p>Yes, I realize this *ISN'T* a playable crossword - BUT, programatically - all the hard work is done, you just need to add your own word list, set the little numbers, and put in your clues.  The array on the bottom gives you an idea of where things should go.</p>
<p>There, Internet, don't say I haven't done anything for you in a while. <img src="http://startup-something.com/smilies/icon_smile.gif" alt=":)" /> - Mike</p>]]></description>
      <link>http://startup-something.com/post/index/36/Open-Source-Javascript-Crossword-code</link>
      <pubDate>Thu, 19 Nov 2009 20:48:18 +0000</pubDate>
      <category>General</category>
      <comments>http://startup-something.com/post/index/36/Open-Source-Javascript-Crossword-code#cmt</comments>
    </item>
  </channel>
</rss>
