Island Abduction

Some stuff I have been working on recently to practice some new techniques creating geometric shapes, and working with mood, lighting, and texture.

Posted in General | Tagged , , , , | Leave a comment

Christmas

Rawr ChirstmasMerry Christmas.

Posted in General | Tagged , , , , | Leave a comment

The Greatest Speech Ever Made

Because this video deserves to be spread far and wide.

Posted in Uncategorized | Leave a comment

Thank you Mr. Jobs.

Thank you for doing things like the image above.

Thank you for teaching the business world that design matters.

Thank you for believing in/being one of the initial investors in Pixar.

Thank you for making those crazy colorful and transparent iMac’s in 1998 that blew my mind as a kid.

Thank you for making the endless entertainment that is PhotoBooth.

Thank you for making it so my mom can avoid getting stressed out scanning for viruses/defragging HD’s/fixing registries and can focus on doing what she wants.

Thank you for making it easy for my 7 year old nephew to discover and teach me things I didn’t know.

Thank you for making this ok.

Thank you for letting my sister rediscover technology by creating a computer that she would say worked with her rather than against her.

And thank you for making the beautiful noise that is the Mac startup sound.

For those of you that know my technical preferences, I have never purchased and Apple product for myself. I have actively avoided everything Apple over the past 12 years and I don’t see that changing anytime soon. However,  it is not my opinion here that matters.

Steve, you know you have done something amazing when you can get someone who has never even owned one of your products to see the impact you have had on everything around them.

Posted in General | Tagged , , , | Leave a comment

Software > Apps

What the hell? Who said that? I sound like an old person.
Recently I have found I am consistently frustrated with my Android phone and my iPad and I’m going to throw out some ideas why.

Look at Adobe’s website, now look at Autodesk’s website. Between the two huge companies they make some of the most amazing top of the line software that multiple industries depend on every single day to make things we enjoy and depend on. These programs are commonly called industry standards.

Why are industry standards important?
Look at the world around you. The device you’re reading this on, before it was ever manufactured, it was modeled and designed with a 3D program like Cinema4D or Inventor. The latest and greatest cinematic special FX are the handy work of programs like Maya and After Effects. Every 3D game you play touched 3DS Max or Unity. All your favorite TV shows were edited with Premiere or Final Cut Pro. And pretty much everything you see digitally has touched Photoshop or Illustrator.

If that isn’t enough, simply having experience in any of these programs can get you hired. Industry Standards are made to set a common knowledge base and toolset across and industry. They are taught at Universities, and the best Universities teach the latest industry standards. Beyond universities there are people who make a living posting tutorials and selling plugins for these applications. There are booming companies that create marketplaces for users to sell their .PSD’s, .Ai’s, and .3DS’s. There are economies upon economies that build of the fact that these programs exist.

But here is the huge problem and where the initial frustration comes from, none of these programs work on iOS or Android. I often find myself browsing the app store and marketplace with heaps of useless apps begging for my single dollar. This is what everyone is getting exciting about? This is getting old fast. Hmmm.

You may be saying, what about Photoshop Express or Autodesk Sketchbook? These apps are a great start, but quite frankly they are nothing like their desktop counterparts. They are a great companion programs, but should not be looked at as replacements.

Apple has made it pretty clear that they are abandoning the pro market. Between the release of Lion and the clear focus on iOS integration and user friendly features, the reboot of the Final Cut Pro suite, and the tension with Adobe, Apple really isn’t making friends among the professional crowd. Apple really doesn’t have much to worry however because this is probably a smart choice for them as they dominate the consumer market and can focus on their strengths.

As far as Google/Android goes, this is not their market to being with and is fine just waiting it out to see how these applications can make use of the ever expanding web and the cloud.

This leaves us with Microsoft. Yes, Microsoft and Windows 8. Come launch time in 2012 I think Windows will have the only operating system that can run these industry standard programs on the tablet form factor. This is a big deal for the people and companies that use these programs. I (and many others) would pay obscene amounts of money for a quality form factor tablet with pen input that ran full Windows and all the industry standard programs.

The entire blogging industry loves killing things. iPad killer! Flash killer! And most recently their target is the PC and the decline of PC sales. PC’s are not dead, they are not going anywhere. They are indeed morphing however, and this morph is incredibly important time. Apple is taking the bottom up approach while Microsoft is building top down, all while software makers are patiently waiting to see the next platform they will be building for. All in all no one knows how this transition period will play out but one thing is clear, platform creators should not underestimate the power of industry standard software.

Posted in General | Tagged , , , , | Leave a comment

In response to Scoble

Robert Scoble has a post that has everyone up in arms about how Google+ makes Twitter look boring http://scobleizer.com/2011/07/17/google-has-made-twitter-boring-heres-what-twitter-should-do-about-thatThere are many words I would use to describe Twitter, boring is definitely not one of them. Scoble goes in depth about all the killer features that Google+ has, yet there’s one thing Scoble forgot that Twitter has going for it.

Simplicity.

And that’s the end of this blog post.

Posted in Uncategorized | Leave a comment

Monsters and Pianos

This is how I feel today. I don’t know who drew this so I can’t credit them, but thank you for drawing this. Happy 4th of July weekend everybody.

Posted in Uncategorized | Tagged , , | Leave a comment

Useful PHP, Javascript, CSS cheat sheet

So after realizing I had been searching for the same answers over and over on StackOverflow, I decided to make a cheat sheet with some super basic references and useful scripts. I now use this file every time I start a new project and its pretty helpful to have it all in once place. I thought I would post the code to my blog incase its helpful to anyone else. Note that I didn’t take the time to generalize all the variables and make it easy for learning. So just pretend all those variables are whatever you want them to be. Also feel free to let me know if any of this code is bad practice. Hope this helps.

You can download the file here http://dl.dropbox.com/u/255297/masterCode.php

<?php
session_start();
include('php/config.php');


// config.php usually has something like this to connect to your DB
$connect=mysql_connect("localhost","your_db_username","password");
mysql_select_db("your_db_name",$connect) or die (mysql_errno().":<b> ".mysql_error()."</b>");

//if you want the page to be private or some combination of public and private
if (isset($_SESSION['username'])) {
include 'header_private.php';
$loggedIn = true;
}
else {
include 'header_public.php';
$loggedIn = false;
//or you can redirect them to a different page here
header ("Location: failpage.php");
}


//if you arent using ajax all the time, it can bee useful (not sure if this is good practice) to keep the current page in a session variable, that way you can easily redirect back to it
//this finds the current URL and stores it in a session variable
$siteURL = "http://" . $_SERVER['HTTP_HOST']  . $_SERVER['REQUEST_URI'];
$_SESSION['siteURL']= $siteURL;

//how I name my sessions for pretty much everything, sesh____
$seshThumb = $_SESSION['image'];
$seshID = $_SESSION['id'];


//this turns a raw UNIX timestamp into a readable date
$TimeStamp = date("F j, g:i a", strtotime($TimeStamp));

// if you have a string that needs modifying. This removes ../ from the string.
$remove_this  = "../";
$correctedString = str_replace($remove_this, "", $String);


//make links clickable
$texts = trim($texts);
while ($texts != stripslashes($texts)) { $texts = stripslashes($texts); }    
$texts = strip_tags($texts,"<b><i><u>");
$texts = preg_replace("/(?<!http://)www./","http://www.",$texts);
$texts = preg_replace( "/((http|ftp)+(s)?://[^<>s]+)/i", "<a href="\0" target="_blank">\0</a>",$texts);


// this very useful function displays line breaks in your displyed text, the same way it was typed in the text area
echo nl2br($text);

// get hold old something is (using a post timestamp) in raw hours (goood for algorithm usage)
$date1 = date('m/d/Y h:i:s a', time());
$date2 = date("m/d/Y h:i:s a", strtotime($TimeStamp));
$diff = abs(strtotime($date2) - strtotime($date1));
$hoursOld = $diff / ( 60 * 60 );
print "    | $hoursOld";


///// FOR SECURITY
$actID = stripslashes($actID);
$comContent = mysql_real_escape_string($comContent);


// Json Array for sending things back to javascript
$response_array = array();
$response_array['status'] = 'success';
$response_array['var'] = 'some varaibles probably';  
echo json_encode($response_array);


// send an email
 $to = "$user";
 $subject = "hey dude";
 $body = "whats cracking?nThis is a new line.nndouble new line";
 $headers = "From: [email protected]" .
     "X-Mailer: php";
 if (mail($to, $subject, $body, $headers)) {
   echo("Message successfully sent!");
  } else {
   echo("Message delivery failed...");
  }
?>
									

<?php
/////////////////////// SQL//////////////////////

//These are from all different projects and none of the variables are standardized, but its useful to see the syntax of each for reference.

// Intense Select Query
"SELECT STARTUPS.stupID, STARTUPS.stupName, STARTUPS.stupThumb, COUNT(ACTIVITY.stupID) AS activity_count
FROM STARTUPS
LEFT JOIN ACTIVITY ON STARTUPS.stupID = ACTIVITY.stupID
WHERE stupClass='stup'
GROUP BY STARTUPS.stupID
ORDER BY activity_count DESC
LIMIT 25";

//Insert
"INSERT INTO COMMENTS (stupID,actID,comContent,comTimeStamp) VALUES ('$seshID','$actID','$comContent', NOW())";


//Delete
"DELETE FROM LIKES WHERE actID='$actID' and stupID='$seshID'";

//Update
"UPDATE posts SET algoScore='$algoScore' WHERE postID='$postID'";


// query format
$query = "query";
$result = mysql_query($query) or die (mysql_error()."We got problems");
$numRows = mysql_num_rows($result); // get the num of rows returned if you need that
while($row = mysql_fetch_array($result)){
  // do stuff
  
}
?>
									

<!--////// JAVASCRIPT /////// -->

<script src="http://code.jquery.com/jquery-1.5.js"></script>



<!-- this script auti resizes a text area when typing -->
<script type="text/javascript"src="js/autoresize.js"></script>
<script type="text/javascript">
    $('textarea#textareaName').autoResize({
        // On resize:
        onResize : function() {
            $(this).css({opacity:0.8});
        },
        // After resize:
        animateCallback : function() {
            $(this).css({opacity:1});
        },
        // Quite slow animation:
        animateDuration : 300,
        // More extra space:
        extraSpace : 20
    });
</script>


<!-- this script toggles the visibility of a DIV whne you press the button with ID of toggle -->
<a id="toggle"href="javascript:void(0);"> Toggle Button </a> 
<script>    
$("#toggle").live("click", function () {
  if( $("#a_comment").is(":visible") ) {
    $("#a_comment").hide();
  } else {
    $("#a_comment").show();
    $("#a_comment textarea#comContent").focus();
  }
});
</script>



<!-- background color change on rollover-->
<script>
$(document).ready(function(){  ;
  //this function brings up the thumbs up and thumbs down on rollover
  $('.div').live('mouseenter',function() {
    $(this).css("background-color","#f5f5f5");
  });
  //this clears it on rollout
  $('.div').live('mouseleave',function() {
    $(this).css("background-color","transparent");
  });
});
</script>




<!-- this is a super condensed AJAX function -->
<script>
$(document).ready(function() {
  //the LIVE is very important if you want it to work more than once
  $(".form").live("submit", function(){
    var comContent = $(this).find("textarea[id^=comContent]").val();
    var actID = $(this).attr("id");
    
   //emptyness validation 
  if (comContent == "") {
      $("label#comContent_error").show();
      $("textarea#comContent").focus();
      return false;
    }
    
  //what we send to the php file
  var dataString = 'comContent='+ comContent + '&actID=' + actID;  
    
  $.ajax({
      type: "POST",
      url: "php/addComment.php",
      data: dataString,
    dataType: "json",
    success: function(msg){ 
          //if it worked
        $("#other-comments" + actID).load("/secrets/index.php #other-comments"+ actID);
        $('textarea#comContent').val("");
            },  
            error: function(){  
        //if it didnt work 
                $("#commentForm").addClass('error');  
                $("#commentForm").html("There was an error submitting the form. Please try again.");  
            }
       });
    return false;
  });
});
</script>
									

You can download the file here http://dl.dropbox.com/u/255297/masterCode.php

Posted in Coding | Tagged , , , , , , | Leave a comment

The current state of my laptop

So a few weeks ago my laptop decided it was tired of staying in one piece and the hinge on the right side broke. This had been the second time the laptop hinge had broke within a year (say what!?). The first time MSI replaced it for free, however the second time I was not interested in waiting 3+ weeks for the shipping process of getting it repaired.

I looked closely at why this was happening and found that the hinges were in fact very strong (maybe a bit too strong), because all of the pressure was being put on a 1mm thick piece of a aluminum directly above the hinge. It was a poor design to say the least. I figured I didn’t want the screen frame to ever break again, so why not make it out of steel. Right?… Right?

A quick trip to the local NYC hardware store for some steel and screws and this is what I came up with. A fellow member at GA exclaimed it was “totally techno steam-punk”.

Homebuilt laptop screen cornerSteel Laptop ScreenHomebrew Laptop no coverHomebult laptop screen

More pics of the process in action http://www.flickr.com/photos/63809151@N04/?saved=1

Posted in General | Tagged , , , , , | Leave a comment

Old School” Super 8″ poster

This throwback Super 8 poster was blog worthy.

Posted in General | Tagged , , , | Leave a comment