Monday, October 31, 2011

Upcoming Kinect Development Kit Could Change In-Store Shopping

The Xbox Kinect is Microsoft’s big push into motion-controlled gaming. You don’t even need a controller to play. Just move your hands and feet with gestures that the Kinect understands, and — voilĂ ! — you’re kicking footballs, competing in dance challenges, and shooting down bad guys.
But now, one year since its launch, the Kinect has gone way beyond video games. It could change our retail buying experiences, and reinvent the way we shop.
A commercial version of the Kinect software development kit will be made available in early 2012, Microsoft announced on Monday, opening the door for businesses to create new applications for the popular platform.
“With the Kinect for Windows commercial program, Microsoft hopes that visionaries all over the globe will continue to transform the way we do things with new Kinect-enabled tools,” a Microsoft spokesperson told in a statement. Microsoft is currently running a pilot program with more than 200 businesses across more than 20 countries, including partners like Toyota, textbook publisher Houghton Mifflin Harcourt, and digital advertising agency Razorfish.
If all goes as planned, we could see Kinect-based interactions show up at retailers, banks, automotive dealers and other commercial environments. Razorfish, for example, is looking at building kiosks in which customers’ bodies would be scanned in order to try on digital outfits without needing to take off any clothes — so said Razorfish VP of emerging tech Jonathan Hull in an interview with Kotaku. Other applications could include simpler tasks, such as waving one’s hands to navigate an ATM’s menu screens.
Microsoft previously released a non-commercial version of its Kinect SDK in June, encouraging hackers and open software enthusiasts to create off-beat, innovative applications that take advantage of the platform’s motion-sensing capabilities. From gimmicky motion controls for banking software to NSF grant-backed medical research, the non-commercial SDK spurred creative uses of the platform beyond what Microsoft expected.
Kinect first debuted in November of 2010 to much fanfare. The system eschews the traditional button-and-joystick controller scheme, and instead lets users navigate and play games via hands-free motion capture. The system was an instant hit, setting a Guinness World Record for the fastest-selling consumer device ever in the first few days after its release. In March, Microsoft announced it had sold more than 10 million Kinect devices.
Though the hands-free controller has been a fun novelty for gaming enthusiasts, the Kinect’s utility for hardware-modding enthusiasts has been more compelling. The Xbox peripheral is packed with a bevy of sophisticated motion-capturing instruments, including an infrared light emitter to capture the surfaces of items in a room, and a depth camera that builds a 3D model of all the objects captured by infrared.
The Kinect’s relatively low $150 price tag has been even more attractive for budding DIY-ers. Willow Garage — the Silicon Valley robotics outfit known for its robot control operating system — now offers a $500 open-source robotics kit that incorporates the Kinect. The company’s previous version (also pre-Kinect) cost $280,000.
The initial forays into Kinect modification began with the homebrew modding community, spurring a wave of creative software hacks that ranged from Street Fighter games to the intricacies of “boob physics.” (Yes, really.)
Instead of taking action against the hackers or trying to bar hardware nerds from further Kinect mods, Microsoft encouraged development, promising to eventually release SDKs to new segments of would-be Kinect hackers. “Kinect represents the first incarnation of the next big thing in computing — a world where computing is becoming more natural and intuitive,” a Microsoft spokesperson told Bloomberg Businessweek in a statement.
Kinect’s natural progression is to move into the commercial realm. Much like app developers for Apple’s iOS and Google’s Android, the release of the commercial SDK allows third parties to use Microsoft’s technology in bolstering their own brands and services. Partners, however, would use Microsoft’s hardware to augment their own businesses — this rather than providing content to a centralized store. In return, Microsoft would open itself up to untold numbers of potential new hardware purchasing partners.
David Dennis, group program manager of Microsoft’s Xbox team, told Kotaku that Kinect devices could be sold in bulk numbers — the “tens of thousands” — to partner businesses.
Microsoft hasn’t released any hard details on the commercial SDK’s release date beyond “early next year.” So don’t expect to start waving on digital fashion accessories right away.


---------- Forwarded message ----------
From: CCTV Imports <>
Date: Mon, Oct 31, 2011 at 7:41 AM

Having trouble viewing this email? Click here
The current hard drive market is very unstable.  We have seen prices already jump 300% from last week and we are told it will continue to increase.
We are fortunate to have an unlimited supply of Seagate 7200rpm hard drives.
              1-5 drives   6-50 drive  51-500 drives
500gb     $109.00       $95.00        $89.00
1tb          $159.0         $149.00       $139.00
2tb           $189.00       $175.00       $165.00 

Call now to place your order


CCTV Imports | 600 Deer Cross Court East | Madisonville | LA | 70447

Sunday, October 30, 2011

Visopsys | Visual Operating System | Home

Ohloh, the open source network

CGI's in BASH: part 1

It's possible to write quick and dirty cgi scripts in Bash that quickly report information about a system.


echo Content-type: text/plain

Or you can expand this a little


echo Content-type: text/plain
if [ -x $UPTIME ];  then
        echo Cannot find uptime command on this system.

CGI's in BASH, Part 2: Conclusion of Domain report

This is the conclusion to
Checking Status of Domains hosted on a server. Advanced Bash

This CGI in bash take the data we harvested in check2 from the out directory and prints this output to the web in a clean format. 

It take the list of domains from "masterlist" and searches the output files to see if that domain is in the good or bad bucket. 

It then add the results to an HTML table being constructed. 


echo "Content-type: text/html"
echo "<html><body>"

cd /data/namedb/checkdomains

echo "<table border=2 cellpadding=2 cellspacing=2>"

for h in $( cat masterlist ); do

out="<tr><td>$h </td> "

for i in "extern" "local" "sokol" "whois" ; do

out="$out <td>`grep -l "^$h" $i.*`</td>"


out="$out <td>`grep -l "^$h" domains-from-httpd`</td>"
out="$out <td>`grep -l "^$h" domains-from-mail`</td>"
out="$out <td>`grep -l "^$h" available`</td>"
out="$out </tr>"

echo $out |\
sed -e 's/domains-from-httpd/Httpd/' |\
sed -e 's/domains-from-mail/E-Mail/' |\
sed -e 's/\.bad/<font color="red">\0<\/font>/g' |\
sed -e 's/\.good/<font color="green">\0<\/font>/g'

echo "</table>"
echo "</body></html>"

This second version save the first pass output to a file, then takes a second pass to sort the report before removing the index used to sort, and then displays it.


echo "Content-type: text/html"
echo "<html><body>"

echo "" > /tmp/domainreportout

cd /data/namedb/checkdomains

echo "<table border=1 cellpadding=2 cellspacing=2>"

for h in $( cat masterlist ); do

out="<td><a target="blank" href="http://$h">$h</a></td>"

for i in "extern" "local" "sokol" "whois" ; do

out="$out <td>`grep -l "^$h" $i.*`</td>"


out="$out <td>`grep -l "^$h" domains-from-httpd`</td>"
out="$out <td>`grep -l "^$h" domains-from-mail`</td>"
out="$out <td>`grep -l "^$h" available`</td>"
tally=`echo $out | tr '<' '\n' | grep -c "\.good"`
out="$tally ::$out"

echo $out |\
sed -e 's/domains-from-httpd/Httpd/' |\
sed -e 's/domains-from-mail/E-Mail/' |\
sed -e 's/\.bad/<font color="red">\0<\/font>/g' |\
sed -e 's/\.good/<font color="green">\0<\/font>/g' >> /tmp/domainreportout

sort -n -r /tmp/domainreportout | sed 's/.*:://'

echo "</table>"
echo "</body></html>"

Below is an example of the output.


Checking Status of Domains hosted on a server. Advanced Bash

This is a 2 pass system to report of domain status of domains hosted on a server.

I have a domains file I use to automatically generate DNS entries.
   Part 2 here, output reports to the web

PASS1 - Harvest list of domains, and gather whois records and DNS lookups.

# Harvest Domains from QMAIL
sort -u /var/qmail/control/locals /var/qmail/control/plusdomain /var/qmail/control/rcpthosts > domains-from-mail

# Harvest Domains from Apache Config
grep -E "ServerName|ServerAlias" /conf/sites-enabled/*  |\
 awk '{print $NF}' |\
 awk -F "." '{print $(-1 + NF)"."$NF}' |\
 sort -u > domains-from-httpd

# Copy over other sources of Domains on the host,  may want to harvest DNS records too.

# Consolidate all domains know to the system from all domains* files in to masterlist of domains to perform checks.
cat domains* | awk '{ print $NF }' | sort -u > masterlist

# This version supports comments, change out with line above to do that.
#cat domains* | grep -v "^#" | awk '{ print $NF }' | sort -u > masterlist

# Make sure there is an out directory

# clean out bad entries in out Directory
grep -l "LIMIT EXCEEDED" out/*.whois | xargs rm

# Harvest data from local and external DNS & whois
for h in $( cat masterlist ); do

host $h > out/$h.local &
host $h  > out/$h.extern &

#ls -l out/$h.whois
if [ ! -s out/$h.whois ]; then
#echo "Running whois on out/$h.whois"
whois $h > out/$h.whois &

sleep 2
grep -l "LIMIT EXCEEDED" out/*.whois | xargs rm

For each domain we generate 3 files, the external DNS lookup, the Internal lookup and the whois lookup.

-rw-r--r-- 1 sokol sokol 148 Oct 28 20:32
-rw-r--r-- 1 sokol sokol 82 Oct 28 20:32
-rw-r--r-- 1 sokol sokol 4388 Oct 28 20:08
-rw-r--r-- 1 sokol sokol 148 Oct 28 20:32
-rw-r--r-- 1 sokol sokol 82 Oct 28 20:32
-rw-r--r-- 1 sokol sokol 4388 Oct 28 20:08

Before we generate a report we need to harvest the useful information from the data we just gathered.

This is done with simple grep searches and depositing the output in to a good or bad bucket.

PASS2 - this organized the data we just harvested.


grep address out/*.extern | grep -v $MYDNS | sed -e 's/.*://' > extern.bad
grep address out/*.extern | grep $MYDNS | sed -e 's/.*://' | awk '{print $1}' > extern.good

grep address out/*.local | grep -v $MYDNS | sed -e 's/.*://' > local.bad
grep address out/*.local | grep $MYDNS | sed -e 's/.*://' | awk '{print $1}' > local.good

grep -L -i $MYHOST out/*.whois | sed -e 's/\.whois//' -e 's/.*\///' > whois.bad
grep -l -i $MYHOST out/*.whois | sed -e 's/\.whois//' -e 's/.*\///' > whois.good

grep -L -i $MYNAME out/*.whois | sed -e 's/\.whois//' -e 's/.*\///' > sokol.bad
grep -l -i $MYNAME out/*.whois | sed -e 's/\.whois//' -e 's/.*\///' > sokol.good

grep -l "No match for" out/*.whois | sed -e 's/\.whois//' -e 's/.*\///' > available

for h in $( cat masterlist ); do

out="$h: "

for i in "extern" "local" "sokol" "whois" ; do
out="$out `grep -l "^$h" $i.*`"

out="$out `grep -l "^$h" domains-from-httpd`"

echo $out |\
sed -e 's/domains-from-httpd/httpd/' |\
sed -e 's/\.bad/\d27[32;41m\0\d27[m/g' |\
sed -e 's/\.good/\d27[30;42m\0\d27[m/g'
Read the next article to see this in CGI form.

Wednesday, October 26, 2011

The Yocto Project

The Yocto Project is an open source collaboration project that provides templates, tools and methods to help you create custom Linux-based systems for embedded products regardless of the hardware architecture.

Tuesday, October 25, 2011

Fwd: [svlug] BayPIGies Meeting Thursday 10/27, 7:30 PM, "YouTube for Your Business", JJ Behrens

---------- Forwarded message ----------
From: jim <>
Date: Tue, Oct 25, 2011 at 10:50 AM
Subject: [svlug] BayPIGies Meeting Thursday 10/27, 7:30 PM, "YouTube for Your Business", JJ Behrens

"YouTube for Your Business", JJ Behrens, 7:30 PM Thursday 20111027

JJ Behrens will give an introduction to YouTube and YouTube APIs with an
emphasis on how you can use them for your business.  He'll also give
some information about how Python is used at YouTube.

JJ Behrens is a developer advocate at Google specializing in YouTube
APIs. He's a long-time member of BayPiggies.  He blogs at

on topics such as Python, Ruby, Linux, open source software, the Web,
and lesser-known programming languages.

Symantec Corporation
Symantec Vcafe
350 Ellis Street
Mountain View, CA 94043,-122.053707&spn=0.002902,0.004828&z=18

BayPIGgies meeting information is available at

svlug mailing list

Bash & shell trick

This is a rehash of some old notes I had on the wiki.

Wiki tricks
Move heading in a level deeper
sed -e 's/\(=\+\)/=\1/g' infile > outfile

An HTML to Wiki syntax converter
Convert Word doc or Webpage to wiki

Sed tricks

Bash Tricks


Harvest host memory profile
/usr/sbin/dmidecode > /tmp/DMIDECODE
LLIST=`grep -n "Memory Device" /tmp/DMIDECODE | grep -v "Address" | sed 's/:.*//'`
for i in $LLIST; do
MEMSIZE=`tail -n +$i /tmp/DMIDECODE | head -13 | grep "Size:" | sed 's/No/0/' | awk '{print $2}'`

PNAME=`grep "Product Name" /tmp/DMIDECODE |  sed  -e 's/.*: //' -e 's/ /_/g' -e '1 q' `
HNAME=`hostname | sed 's/\.xyzcompany.*//'`

OSINFO=`uname -n -m -r`
#SPEEDINFO=`grep "Current Speed:" /tmp/DMIDECODE | sed  -e 's/.*: //' -e 's/000 MHz/ GHz/' -e '1 q' `
NUMCORES=`grep "^processor" /proc/cpuinfo |  sed  -e 's/.*: //'   | tail -1`

CPUINFO=`grep "model name" /proc/cpuinfo |  sed  -e 's/.*: *//' -e 's/\s\+/_/g' -e '1 q' `
RAMSIZE=`echo "$TOTSIZE MB" | sed -e 's/1024 MB/1 GB/' -e 's/2048 MB/2 GB/' -e 's/4096 MB/4 GB/' -e 's/6144 MB/6 GB/' -e 's/8192 MB/8 GB/' -e 's/12288 MB/12 GB/' -e 's/16384 MB/16 GB/' `



sudo tcpdump -i bond0:6 -s 0 -x host and port 8080
sudo tcpdump -i bond0:6 -s 0
sudo tcpdump -i bond0:6 -s 0 -X port 8080 -w /tmp/tdump1
output file tdump1 can be read in using WireShark


Pulls files off remote and delete's then after verified transfer.
sudo rsync -auvlz  --remove-sent-files jsokol@xyzhost:tmp/xyx* .

search and kill processes
This was for finding and killing XYZ processes on servers, (it's assumed) they will restart themselves.

[jsokol]$ more bouncehosts
if [ -s $1 ] ; then
 awk '{ print $1 }' $1 > /tmp/hostlist1

        for h in $(cat /tmp/hostlist1 );do
        echo ID $h
TMP1=`ps ax | grep xyz | grep Builds | grep "com_$h "`

#         ps ax | grep xyz | grep Builds | grep "com_$h "
        if [ "$?" -eq 1 ] ; then

            TMP2=`grep "^$h " $1`
            echo No XYZ Running for $TMP2

            TMP2=`echo $TMP1 | awk '{print $1}'`
            echo Killing Pid $TMP2
            kill $TMP2
            sleep 30

#        grep "$h " x2 | awk '{print "'$h' " $1}' | sed 's/XYZ=/ /' | sed 's/%2C/  /g' | sed 's/ /g'


        echo "file $1 doesn't exist, or you didn't enter a filename"

if [ "$UID" -ne "0" ];then echo "please sUd0 this.."; exit
ssh -q "$3"@hostdb.corp "sudo mysql -e \"select hostname,productname from host where productname like '%$1' and hostname like '%$2%' \" noc";
for i in $(cat XYZ.all); do echo "edit" | ssh sokol@$i 'sudo sed s/34/37/g -i /etc/app/configfile' ;done >> xyz.log

[jsokol@xyz.sjc ~]$ ZZ=6
[jsokol@xyz.sjc ~]$ echo $[4 + $ZZ]

echo xyzhost(3..6}.sjc,|sed s/", "/","/g

running average

# example of how to get running average.
if [ ! -s "runaveragedata-last" ] ; then
  echo 0 > runaveragedata-last

NEWVAL=`cat newdata`
RUNAVR=`cat runaveragedata-last`

# doing work in fixpoint numbers  
NEWAVR=$[ $NEWVAL * 1000 + $[ $RUNAVR * 9 ] ]
RUNAVR=$[ $NEWAVR / 10 ]
echo $RUNAVR > runaveragedata-last
echo $[ RUNAVR / 1000 ]

Bash loops

for h in 07 08 09 10 11 12 13 18; do scp host:/path /xyc$h.log .;done

for h in $(cat file ); do echo $h |tee -a outputlog; rsync -auvlz host:$h $h; done

rpm -qa | egrep -i 'egw|logfs' | xargs sudo rpm -e


for h in $(grep -vE ^# $1  | grep -vE ^$ | awk {'print $1'} | sort | uniq -d )
        grep -n $h $1


[jsokol]$ cat

#!/usr/bin/perl -w
#  tiny tool meant to mimic a device profile.  It should take ports, or service names,
#  and mimic the open ports epected for that type of machine

use IO::Socket;
use Sys::Hostname;

my $proto = "udp";
my $port = "8080";
my $hostname = hostname;
my $persist = 0;
my $server = "localhost";

my $socket = IO::Socket::INET->new(PeerAddr     => $server,

                                PeerPort        => $port,
                                Proto           => $proto,
                                Type            => SOCK_STREAM)
                        or die "Couldn't talk to $server on $port \n\n";

print $socket "GET  \n";
@answer = <$socket>;
print "@answer \n\n";

[jsokol]$ cat

#!/usr/bin/perl -w
#  tiny tool meant to mimic a device profile.  It should take ports, or service names,
#  and mimic the open ports epected for that type of machine

use IO::Socket;
use Sys::Hostname;

my $proto = "udp";
my $port = "8080";
my $hostname = hostname;
my $persist = 0;

my $server = IO::Socket::INET->new(     LocalPort       => $port,

                #                       Type            => SOCK_STREAM,
                                        Proto           => $proto,
                #                       Reuse           => 1,
                #                       Listen          => 10

                                        ) or die
                "\tCouldn't generate new server socket on port $port\n\n";

print "starting server\n\n";
while ($server->recv($msg, 255)) {

        print "Got message $msg from $server->peername \n";



# comm-hack.  Use this to send multiple commands to multiple hosts.  
# Usage: ./scriptname [hostlist filename] [user]

x=$1 #host list
y=$2 #username


echo -n "Enter password: "
read -s PASS
echo -n "Enter commands: "


#for i in $(cat $x ); do echo -e "$PASS" | ssh '$y'@$i $COMMANDS; done

for i in $(cat $x ); do echo "$PASS"| ssh "$y"@$i $COMMANDS;
echo "Executed on host: $i @ `date '+%m/%d/%y%t'` "


Monday, October 24, 2011

ARM TechCon

---------- Forwarded message ----------
From: ARM TechCon <>
Date: Mon, Oct 24, 2011 at 4:30 PM
Subject: Tuesday Digital Daily

ARM Techcon
Digital Daily - Tuesday, Chip Design Day

DesignCon 2011

Get ready for ARM TechCon, Chip Design Day. Don't forget your FREE Expo Pass - ($75 onsite) or upgrade your expo pass with the free One-Class Pass - Do you have friends or colleagues who would like to attend? Pass along this $150 gift! Online registration is closed, so print the passes and bring onsite to redeem your upgrades.

Check out the agenda-at-a-glance for Tuesday October 25th.

  • 7:30 am - Registration Opens
  • 8:30 am - Keynote Dr. Shang-Yi Chiang SVP, Research & Development, TSMC
  • 9:00 am - Keynote Walden C. Rhines Chairman and CEO, Mentor Graphics
  • 9:30 am - Industry Address Chi-Ping Hsu, SVP, R&D, Cadence Design Systems
  • 10:15 am - 7:00 pm- Chip Design Expo Floor Opens
  • 10:30 am - TechCon Gift Bag giveaway on the expo floor (Booth #15)
  • 11:00 am - 12:50 pm - Conference and Sponsored Sessions
  • 12:50 pm - 2:10 pm - Lunch served on the expo floor
  • 2:00 pm - TechCon Gift Bag Giveaway on the expo floor (Booth #15)
  • 2:10 pm - 5:00 pm - Conference and Sponsored Sessions
  • 5:00 pm - 6:00 pm - Fireside Chat with Cadence (2nd Floor Theater)
  • 6:00 pm - 7:00 pm - Expo Floor Party - Free drinks and snacks.

DesignCon 2011

DesignCon 2011



All paid conference attendees get access to class presentations via the 2011 ARM TechCon application. Click Here to view the proceedings. This is for paid conference attendees. If you like to upgrade an purchase the online proceedings, Click Here.

Check out all the key highlights and reminders for ARM TechCon this week:

  • Product & Exhibitor Directory - Updates, Exhibitor Information and New Products!
  • App Developers Conference & Hackathon ARM TechCon attendees get FREE access to the App Developers Expo (October 26 - 27)
  • Hopeline - Bring your old cell phones and give back to Verizon foundation that helps families affected by domestic violence. Donation bins are going to be located in the registration area at the event.
  • Parking - Parking is FREE, but we are anticipating a packed house. Overflow parking available at the Hyatt.

We are anticipating the biggest ARM TechCon ever. Get ready, start planning and we will see you tomorrow!

Kind Regards,

The ARM TechCon Team


Follow ARM TechCon on Twitter Share this email:facebooklinkedintwitterdigg


This email was sent to:
To opt-out of receiving promotions from ARM TechCon, please click here.
UBM Electronics, a UBM Company, 303 2nd Street, Suite 900 South Tower, San Francisco, CA 94107 USA

ARM is a registered trademark of ARM Limited. AMBA, ARM-Powered, Artisan, Connected Community, Cortex, SecurCore and TrustZone are registered trademarks of ARM.  ActiveAssist, CoreLink, CoreSight, Mali, MPCore and POPs are trademarks of ARM Limited. All other brands or product names are the property of their respective holders.

Friday, October 21, 2011

Time up update your Rootkit's.

If your not getting the idea yet, there is an actual commercial enterprises dedicated to your insecurity.  There full time job is just breaking in to systems, stealing your data and in the process possibly destroying your businesses.

Some are as benign as adding links to your web pages, and inserting annoying advertizing, or just hosting Muslim extremist video's or pirated content.  Other's want to turn your system in to a Zombie,  which means turn it in to a node of a cloud for distributed nefarious activities.  This could be like overloading an IRC channel to take it over, or as part of a DDOS attack.  Other's are to SPAM, or crack captcha.  Even worse to highjack your customers, steal data or passwords that may work on yet other systems.

Bottom line,  There is money in your insecurity!

The current Model's of Operating systems are just broken.  I mean it just wasn't designed for it and were overloading, trying to pile on more and more without redesigning the foundation.

The end result is many of one off efforts, reinventing the wheel over and over, and competing libraries when a more generalized solutions are now long overdue.

From Slashdot:

Most Sophisticated Rootkit Getting an Overhaul

"TDL4, a rootkit that helps build a powerful botnet, is pegged by security vendor ESET as one of the most sophisticated pieces of malware in the world. But its creators aren't resting on their laurels; they're rewriting some of the code from the ground up to make it difficult for antimalware to detect it, creating a hidden boot partition that guarantees malware code will be loaded even before the operating system is. It's part of a plan to turn TDL4 into a turnkey product that can be sold to other criminal operations."

VI, the TV Show?!?!

Vi is the main default Unix Editor. 

So did you know there was a TV show that that name. Well I guess it's a character in a TV Show, still. 

Vi (or Violet) is a Vampire Slayer who is first introduced in the episode "Showtime", portrayed by Felicia Day. As a Potential Slayer, Vi's Watcher sent her under Buffy's protection in Sunnydale during the war with The First Evil. She first appeared timid, often naive about the supernatural. However, when she was imbued with the Slayer power, Vi displayed remarkable skill with a knife inside the Hellmouth against the Turok-Hans ("Chosen"). A couple of years later, she and Andrew Wells produced a television commercial informing recently activated Slayers about the new Watchers' Council run by Buffy ("The Chain"). Vi currently leads the New York Slayer squadron ("Time of Your Life").

read-eval-print loop (REPL)

The first time I have ever heard of "REPL" was in the previous Microsoft article.

I think it's a Lisp Terminology.

This is basically a fancy way to say a Command Interpreter.  Nothing more fancy then any Boot load such as U-boot does, or Bash, DOS, BC, Basic, Lisp, Smalltalk, Standard ML, Perl, Prolog, Scala, Python, Ruby's IRB, Haskell, APL, BASIC, J, Tcl or the many other interpreters available.

C and C++
  • BeanShell, not really Java syntax (Good for making sure the classes do what you want),
  • Groovy

If you have anything else to include please add a comment below.

Microsoft Roslyn: Reinventing the Compiler As We Know It

From Slashdot:
"Fatal Exception's Neil McAllister sees Microsoft's Project Roslyn potentially reinventing how we view compilers and compiled languages. 'Roslyn is a complete reengineering of Microsoft's .NET compiler toolchain in a new way, such that each phase of the code compilation process is exposed as a service that can be consumed by other applications,' McAllister writes. 'The most obvious advantage of this kind of "deconstructed" compiler is that it allows the entire compile-execute process to be invoked from within .NET applications. With the Roslyn technology, C# may still be a compiled language, but it effectively gains all the flexibility and expressiveness that dynamic languages such as Python and Ruby have to offer.'"

Saturday, October 15, 2011

What constitutes Unix?

Unix is not an acronym; it is a pun on "Multics". Multics is a large multi-user operating system that was being developed at Bell Labs shortly before Unix was created in the early '70s. Brian Kernighan is credited with the name.

"The main standard defining what constitutes a Unix OS is POSIX, an acronym for: Portable Operating System Interface for UniX" -

But this isn't completely agreed upon. 

"Unix is a powerful, multi-user environment that has been implemented on a variety of platforms. Once the domain of servers and advanced users, it has become accessible to novices as well through the popularity of Linux and Mac OS X. With the notable exception of Microsoft Windows, all current major operating systems have some kind of Unix at their cores."

Read also:

But Windows may indeed be considered Unix because since NT it does support POSIX.   And it called Interix 
To get it all you need to do is install Services for Unix (SFU).

So what this means is ALL major OS's today support POSIX and could be considered flavors of UNIX. 

But I have some friends that fervently disagree. They don't even consider Linux to be UNIX because the code was not directly derived from the UNIX code, But most flavors of UNIX today can't directly trace there code back to the original Bell Labs code and yet there are no doubts when calling these OS's a UNIX variant. 
Solaris, Mac OS for example. 

Thursday, October 13, 2011

Dennis Ritchie Passed Away 8 Oct 2011

Dennis Ritchie - the co-inventor of UNIX and C - has passed away at the age of 70.

In addition to his work on UNIX and C, Dennis contributed to the Plan 9 operating system (1995), and the Inferno operating system, which was announced in April 1996. 

Witout Unix and C, every major Operating systems today wouldn't be the same. The Internet may not even exist without Unix and C that is the bases for every web server, Router, and desktop OS today. Most smart phones are based on Linux which is a work alike version of Unix and on several occasions been accused of using Unix code it's so similar in functionality.

His book the C Programming Language has never been far from me since I have first picked it up back in the 80's. It's been my Bible. My whole life, my career, my businesses, most of my accomplishments were based on C, Unix and the Internet. When I first ran in to them as a Hacker, they came together as a natural package , a collection of Technologies along with many more. Technologies that were refined from years of college students screwing about trying to do "Cool things" . The result was cool. And more over Practical. So much code these days is just people getting caught up in testing every aspect of a language rather then the simplest cleanest way to get the job done.

The Unix Source code was brilliant. It was the first time I had ever seen well written code beside the little short basic programs floating around.
It was overwhelming at the time the amount of code. We spent month, no years, trying to download and store the 40 megabytes of source code. We started at 300 baud, and 360K floppies off a hacked phone company computer. Eventually I ended up working at Stanford and got it at 10 Mbps from a VAX server down the hall. First thing I did was try to get it to run on a PC. I can't tell you how precious that Source code was. How much risk and trouble I could get in to just for having it. How much I tried to learn all I could from it.

Mr. Ritchie, I owe you so much. I can't thank you enough. You are missed and will be remembered.

See my that talks about the C programming Language Book.


Writing A Compiler In Haskell that outputs to LLVM

 Bryan Bell a Graphic Driver Developer at Intel, spoke at the ACCU last night  10/12/2011 about creating a compiler using Lex and Yacc in Haskell, that uses LLVM for output. 

Haskell Compiler Series

Haskell & LLVM Talk

Writing A Compiler In Haskell (Compiler Series Part I)

Playing with Alex (Compiler Series Part II)

Having Fun with Happy (Compiler Series Part III)

Wednesday, October 12, 2011

Common Language Runtime - Wikipedia, the free encyclopedia

Fwd: New Meetup: Free: HTML5 training offered by Microsoft

---------- Forwarded message ----------
From: "Silicon Valley HTML5 User Group" <>
Date: Oct 12, 2011 12:42 PM
Subject: New Meetup: Free: HTML5 training offered by Microsoft
To: <>

Announcing a new Meetup!
Silicon Valley HTML5 User Group
When: Where: RSVP:
Saturday, November 12, 2011
9:00 AM
Needs a location
Coming soon!
This is a Microsoft Event. Register at the Microsoft website !
Upcoming HTML5 WebCamp (FREE) on Nov 12 (Sat.) in Mountain View, CA
HTML5 Web Camp is a completely free event, and will start with demos and presentations, and will end with hands on-...
Learn more

Sponsors & Perks:

Add to your address book to receive all Meetup emails

To manage your email settings, click here

Meetup, PO Box 4668 #37895 New York, New York 10163-4668

Meetup HQ in NYC is hiring!