Google AdSense

Sunday, January 10, 2010

New Posts, The nexus one, and hyperlocal.

Nexus One


I haven't posted in a little bit so I posted twice today for you guys, below is a little robot I coded while at the coffee shop. But I also wanted to talk about google's neww phone the nexus one. This is the one google is really throwing there weight behind. They had a press conference and since then this thing is on almost everybody's adsense, including this blog and my employers. I read somewhere that they were having a little copyright trouble with the name as the Phillip K. Dick estate was a little mad about the Bladerunner refrence. There's only one reason I don't like the nexus and that's because it doesn't have a keyboard. If I was a patient person I myself might have gotten The Droid over The Moment, however I'm not patient and though there are things that irritate me about my phone, I still love it.
I think google maps has really changed the way I live. If I need something in particular I always hit google maps first to make sure that the place I am going is the closest. I really use it a lot now that I have moved to West Nashville, and am not as familiar with the area as I would like to be. As someone who works in the "hyper local" space, I appreciate this apps and the one's like it. I also like foursquare,sort of a venue tagging phone app for hipsters or something, and will probably be making use of that shortly.(I hope I can become mayor of cafe coco). The blog is almost 2 years old, last year I had a huge announcemnt....I have one of those coming but don't know if I will make the deadline of doing it exactly on the year mark. But let's check the two years of analytics we have so far:

Google Analytics for bsdpunk

The picture is only impressive if you click on it.


Have a Happy Twenty-Ten, and if you have any suggestions for the blog feel free to comment.

BeerBot Prime Here to save the day. Or maybe get you a free beer and a date.

This @beerbotprime



I made this robot, at and for coffe shops or other public places with wifi. You can take him there and whenever anyone tweets his name, it will read the message from your laptops speakers...yes yes I know, ignore the man behind the curtains. This will only work on mac os x right now, as it uses the say command. If there is an equivelent on linux you can just plug the command name in $say near the bottom. If you have windows you can execute a little vbscript here that will do the same thing. So what I do is tweet things like "I want a coffee" for places like the coffeshop down the road and for places like cafe coco I crank it up with, "Will you buy me a beer". As always make sure any modules you don't have are install via cpan or activestate's ppm utility if you have trouble with cpan.


i.e. A tweet like this:
@beerbotprime Buy me a beer

will make beerbotprime say buy me a beer, no matter what account it is tweeted from
he also moves his hand


use Sys::Hostname;
use strict;
use warnings;
use LEGO::NXT;
use LEGO::NXT::Constants qw(:DEFAULT);
use LEGO::NXT::MacBlueComm;
use Net::Twitter;
use Date::Format;
my $dev = new LEGO::NXT::MacBlueComm('/dev/tty.NXT-DevB');
my $bt = new LEGO::NXT( $dev );
my $speed = 100;
my $tachoticks = 360;
my $tailFtac = 100;
my $tailBtac = 100;
my $tailSpeed = 100;
my $tailBSpeed = 100;
my $backSpeed = 100;
my @names = ('New Tweet');
my $bob = "test";
my $tail = "tail";
my $retract = "retract";
my $say;

my $tweet = Net::Twitter->new( username=>'beerbotprime', password=>'insertyourpassword' );
print "logged in? \n";
my $last_id = undef;
my $switch = 0;

while(1){
my @tt = ();

if($last_id){
@tt = $tweet->friends_timeline({count => 5, since_id => $last_id });
}else{
@tt = $tweet->friends_timeline({count => 5 });
}

foreach my $t (@{$tt[0]}){
my $target = $t->{text};

if($target =~ m/beerbotprime/i){
$say = `say $'`;
$bt->set_output_state( $NXT_NORET, $NXT_MOTOR_A, $speed, $NXT_MOTOR_ON|$NXT_REGULATED, $NXT_REGULATION_MODE_MOTOR_SPEED, 0, $NXT_MOTOR_RUN_STATE_RUNNING, $tachoticks );
$bt->keep_alive($NXT_NORET);

printf("%s: %s\n", $t->{user}{screen_name}, $t->{text});
print "sleep 4\n";

sleep(4);
}

$switch = 0;
print "sleep 4\n";
sleep(4);
}
}
exit;

Wednesday, December 23, 2009

A note to perl enthusiasts trying to get Lego::NXT installed on their machines

If you keep getting cpan errors trying to install Net::Bluetooth or LEGO::NXT...

You need to first install Device::SerialPort first.

Save you many headaches.

Friday, December 18, 2009

Weirdnes on the nettertubes

So no one is officially posting anything but engadget and tmonews, but T-mobiles network was down for at least 4.5 hours yesterday, the only official thing I saw here http://www.tmonews.com/2009/12/oh-no-another-t-mobile-nationwide-outage/. Tmobile said it was only 5% of customers affected but the outage covered NYC so that doesn't sound right. I heard reports of att internet down as well. And the Iranians took down twitter for a bit. I doubt any of these things are related but if you get any actuall facts on this stuff please comment. Sounds like scary shit to me. I don't mean to cause a panic, because I don't believe any of it's related I just want more info.

Wednesday, December 9, 2009

OGDI Python tutorial, or why OGDI is awesome.

The open government data initiative is a program started by Obama. It is so, that the US government can make easily available to the public, data that the public normally has the right to see, but it allows it to be accessed in a programmable way. It is sponsored by microsoft. And at first that sounds bad. Like to much information. And that microsoft has the data. But I gotta say this thing is shaping up to be pretty spiffy. And though it seems like it is more geared toward microsoft's .net, it has JSON and XML plugged into it as well, and grabbing the data with python is easy as pi.

Ok so the below, is an example of Juvenile Arrest Charges in DC if you just want to start with that use this url:
http://ogdi.cloudapp.net/v1/dc/JuvenileArrestsCharges/
instead of
http://ogdi.cloudapp.net/v1/dc/JuvenileArrestsCharges/?$filter=gender%20eq%20'F

What I have done is add a query of gender eq 'F' to the filter which automagically filters the results. So now you only see juvenile's arrested that are Female.


import urllib
from xml.dom import minidom
from xml.dom.minidom import parse, parseString

def GetData():
url = "http://ogdi.cloudapp.net/v1/dc/JuvenileArrestsCharges/?$filter=gender%20eq%20'F'"
xmldoc = minidom.parse(urllib.urlopen(url))
contentNodes = xmldoc.getElementsByTagName("content")
for contentNode in contentNodes:
partitionKeyNodes = contentNode.getElementsByTagName("d:PartitionKey")
for node in partitionKeyNodes:
print node.childNodes[0].nodeValue

rowKeyNodes = contentNode.getElementsByTagName("d:RowKey")
for node in rowKeyNodes:
print node.childNodes[0].nodeValue

timestampNodes = contentNode.getElementsByTagName("d:TimeStamp")
for node in timestampNodes:
print node.childNodes[0].nodeValue

entityidNodes = contentNode.getElementsByTagName("d:entityid")
for node in entityidNodes:
print node.childNodes[0].nodeValue

nameNodes = contentNode.getElementsByTagName("d:name")
for node in nameNodes:
print node.childNodes[0].nodeValue

addressNodes = contentNode.getElementsByTagName("d:address")
for node in addressNodes:
print node.childNodes[0].nodeValue

weburlNodes = contentNode.getElementsByTagName("d:weburl")
for node in weburlNodes:
print node.childNodes[0].nodeValue

gis_idNodes = contentNode.getElementsByTagName("d:gis_id")
for node in gis_idNodes:
print node.childNodes[0].nodeValue

genderNodes = contentNode.getElementsByTagName("d:gender")
for node in genderNodes:
print node.childNodes[0].nodeValue

offense_descriptionNodes = contentNode.getElementsByTagName("d:offensedescription")
for node in offense_descriptionNodes:
print node.childNodes[0].nodeValue



Your output will look something like this:

2009-03-0915:40:00
1926986
1de0bb1f-688a-4fd8-bc38-e2d76a42f83d
F
OTHER MISDEMEANOR OFFENSE
2009-03-2920:20:00
1927070
fa3139e8-8c03-43d6-babc-96837f625645
F
ADW -- OTHER DANGEROUS WEAPON/ASSAULT W/INTENT TO COMMIT SODOMY WHILE ARMED
2009-03-2921:40:00
1927071
620134cd-d136-4d83-80dc-da5bfa3580d6
F
ASSAULT SIMPLE IN MENACING MANNER

If you just want the output you can actually load a link up in excel. The website shows you how to do this with code samples in various .net languages, ruby, python, php etc..
http://ogdisdk.cloudapp.net/Default.aspx
The video and sample code on the site are very useful.


Information is only available in DC right now it seems...Though it seems while I was doing research on this there was a map showing michigan had finished as well as some other states...though I don't know how to get to that data...hmmm.

For more information there is a microsoft site here:
http://www.microsoft.com/industry/government/opengovdata/

Ok....so, why is this the bees knees? Why am I so hyped about this? Everyone has those horror stories of how they didn't get a job because of drunk photos on facebook or something. I honestly believe that with public information sources like these, there will be so much crap on everybody. So much of bad things that people do...usually in the comfort of their own home. That people are going to forget this silly nonsense, of you did something I don't approve of, and I'm not going to hire you. I think with this really open sources of information a day will come when you don't have to be Jesus to get a job. I write a lot of shit down on the intarwebs, and post pictures etc... I know what posting my opinion or general malfeasentry can cost me. But in the end I think this big ol' goofy world is just going to have to accept imperfect big ol' goofy people.

This does make a bold assumption that things like people's personal arrest records will be available online.

Plus the world needs an app that pairs dates based on similar criminal interests, lulz.

Friday, December 4, 2009

Script for installing rpmforge repo on CentOS

At work we were battling with out of date packages and packages that just simply weren't in the repos. To solve this we added rpm forge to our centOS boxes.

These are two simple scripts that add based on your architecture.
64 Bit Version of RPMForge on Centos


#!/bin/bash
mkdir repo
cd repo
yum -y install yum-priorities
wget http://apt.sw.be/redhat/el5/en/x86_64/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm
rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm
yum check-update
echo "priority = 99" >> /etc/yum.repos.d/rpmforge.repo


32 Bit Version of RPMForge on Centos

#!/bin/bash
mkdir repo
cd repo
yum -y install yum-priorities
wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm
rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm
yum check-update
echo "priority = 99" >> /etc/yum.repos.d/rpmforge.repo

Saturday, November 28, 2009

QC, Questionable Content Meetup in Nashville last night

Me and  Jeph Jacques

That's Questionable Content for the uninitiated.

This is me and Jeph. This meet up was neat and really approachable. I think anyone who asked, would have gotten a drawing. I didn't want a drawing I just wanted my friends and I to get pictures.

Here, are some of the people that showed up:

qc meetup people

Some were more enthused than others to have their picture taken.

But the main reason I am blogging this is because, one person, home grown in the big TN, was ,pre than hospitable. She made sure I got my picture taken with Jeph, and really left me walking away with a great view topatoco, her name was Christy or Kristy, or some other spelling, I didn't get the spelling, I apologize. Regardless she help make the evening memorable for my friends and myself:

DSCF0699


***She's the cute one in the back***

More pictures at my flickr
My flickr

Tuesday, November 24, 2009

Microsoft VS Apple, Google grows

In 1975 Microsoft began selling BASIC interpreters, what we might consider a computer language today. Back then OS's weren't really a part of the computing scene, you wrote your own programs or copied them from a book. But that's not really what I want to talk about, there are thousands of texts on this subject. Microsoft started empire building from then on, trying to dominate the market in all ways. One major move they made was to corner IBM to distribute their OS.They put their Internet browser that was not standards compliant on there OS, not just to obliterate the Netscape browser, but to obliterate the server market that Netscape was a part of. By having a browser that was incompatible with there server, they were taking the bread and butter of Netscape. This is key part of what happened, this is when Microsoft truly started empire-building. A sort of allegory, in which Microsoft began building castles. Companies like Apple tried to compete, but they were competing on the same terms, and in the early days they thought that simply having a better product would win the war. However this didn't work. Apple and Microsoft were the equivalents of warring nations, and though Apple (debatably) provided better products, it was simply out gunned. Even after Steve Jobs came back in coup like glory, they were still fighting the same war. They did take a step forward in making a remarkable phone, with a good profit markup. Even though Microsoft had a mobile platform, it wasn't that good, and it certainly wasn't a complete solution.
Despite this Apple and Microsoft are still fighting the same war. Apple has taken to use some guerrilla tactics, which while that has helped it hasn't really brought them to equal market share.

Enter Google. "Don't be evil"
Google does not sell computers, or phones, or languages. Googles sells ads. It leases various platforms such as AndroidOS for phones, eventually ChromeOS for netbooks(and maybe more). Google offers applications....for free. Most of the code for these products are freely available. The quality of it's mail app, is in my opinion comparable to Outlook, and while I wouldn't say the other google doc apps are perfect, or are as feature rich as Microsoft's apps, I would say that they are a replacement, I wouldn't scoff at, and what's more, they are free. So I wanted to leave with one metaphor, if Apple and Microsoft are nation building empires, filled with castles and war machines, this is not what google is. Google is a form of ivy. And while ivy in general will not do any damage to a well mortared wall, it will however tear down, walls with imperfections, walls of castles that have been fighting each other for years.

Sunday, November 22, 2009

Who doesn't love a little voyeurism...or How to grab some pics from http://grab.by/

I love lookin' at random people's pictures. Don't know why always have. Back in the days of DC++ I used to just grab gigs and gigs of peoples My Pictures. Sometimes awesome (Transformer Cosplay), sometimes not so awesome(Weird amateur porn). But anyways, it's still a hobby. I came across a tiny screen shot grabber site called http://grab.by/ , now grab by allows you to easily allow you to upload screen shots...coincidentally it allows you to easily download them to. So I devised a tiny script to get quite a few, if you know what your doing you can tweek it and get a bit more, but this should get you about 2600 pics for your viewing pleasure. Here's the script, and it should work on linux or mac:


#!/usr/bin/perl
use strict;
use warnings;

my $variable = 1;
my @letters = ("a", "b", "c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
while($variable < 100){
foreach(@letters){
print $_;
my $wgetc = "wget http://grab.by/"."$_"."$variable";
`$wgetc`;
}
++$variable
}




Oh and if you liked this you might also like my flickr post: about having an imaginary girlfriend on flickr
or stalking...or soemthing..whatever you call it.

PS it looks like the letters got cut off in the array so if you don't copy it, you will have to finish the leters r-z by yourself ending them in a ");"

no quotes

Oh and if you have linux, you should be all set, if you have mac you need to get wget and put it in your system path. Oh and if you have windows....why the hell are you reading this blog...err I mean get cygwin and wget and perl, and hack you some shit together.

Thursday, November 19, 2009

ChromeOS thoughts

The ChromeOS demo was today. I'm going to zoom through the negatives first. Oh and here's a simplified video:





Negatives:
Hardware
DIY Computing

ChromeOS will only use specified hardware components and will be primarily for netbooks(the story so far). DIY computers, like building your own device for chrome os, is going to be hard and a hack. I feel that these things suck...but now for the good news.

Paradigm shift:
Everything is a web app. Everything. Editing video is a web app. Someone I work with suggested that they would make javascript that had system calls. But it seems to me, that now you just build your web app to work, and Chrome and ChromeOS do all the hardware stuff for you. The browser will have access to the GPU etc.

Only SSD drives.

Everything is in the cloud...WTF EVERYTHING. It's like the last suit you are ever going to wear. All your stuff will be in the cloud so you can download it when you get a new machine, even saves custom settings like wallpaper. You can use the hardrive to store stuff, and it is natively encrypted. But for the most part everything will live in the cloud.

I think this is a great step forward from the traditional computer paradigm, I'm excited and can't wait until I can buy a chromeOS device.


Bonus: Chrome Browser should come out for linux and mac very soon. I have been using the nightly build script found here:
http://www.macosxhints.com/article.php?story=20090604081030791

The marketting video is the one at the top of the page.

Wednesday, November 18, 2009

I HAZ A NEW PAGE!!1! wereboobs.com


I decided to make a new page for all of my on going projects. It probably looks awful in your browser and resolution....but being that very few people are going to actually look at it, I'm not fixing it. However, it has links to some programming stuff and some other projects I am working on, that I haven't mentioned on the blog, so feel free to check it out....

wereboobs.com

Sunday, November 15, 2009

This guy is a fucking joke



The worst part of this, is this guy was on Modern Marvels. What the fuck?

I guess I can't watch Modern Marvels anymore. le sigh.

Friday, November 13, 2009

The Samsung Moment An android phone

Engadget kind of slammed this phone, but I bought it anyways. They said:


On that level, we applaud Sprint for staying on the ball and recognizing that the keyboardless Hero wasn't enough to satisfy every last subscriber who'd like to get in on Android. Thing is, the Moment still feels like a first-generation device -- and for a platform that launched commercially a solid year ago, that's not really acceptable.

Engadget Review

I haven't really owned a smartphone since my sidekick 2(if you even consider that a smart phone), so maybe I'm not the guy to make judgement. But I love this phone. The pictures it takes are acceptable quality:



***To see full size photo click, then on the flickr page click all sizes, then click original***

The videos it takes are the same:


And the fact that I can listen to last.fm from and to work makes me happy. The only thing I think that feels first generation about this device, is that it's a little thick. But with an 800Mhz processor which is one of the faster chips in the android phone, and a full qwerty keyboard, the thickness doesn't bother me. I used an iPod touch as my PDA before I got my Moment, however the moment has completely replaced this device. The only real criticism I have of this device is that it came with android 1.5, rather than 1.6 or 2.0....What up with that? But really that hasn't affected my experience, all the apps I wanted are there...with the exception of a kindle app, which I REALLY enjoyed on my ipod touch. But there are no kindle apps on any android. But I have heard that they are making a kindle app for the mac...one day in the far future. So I guess I'll wait for that.

Tuesday, November 10, 2009

Having an imaginary relationship with a flickr person. (Stalking ?)

This tutorial/manual will go over the very basics of stalking someone on flickr. It's simple, and you can't get herpes from flickr. I have lots of reasons for doing what I do, but I figured it's more interesting, how I do what I do. There is only one strict rule to this "game", DO NOT MAKE CONTACT - YOU ARE DOING SOMETHING MOST PEOPLE CONSIDER CREEPY AND UNNACCEPTABLE. No matter how endearing you believe you are, you aren't. You're just a creep. It's best to be a happy alone creep. Or a broken depressed alone creep....without a restraining order.

Look through flickr for a subject, you might want to start on the Most Recent Photo page. It's best to choose someone with at least 1000 photos. Don't watch the videos at first, I'll talk about videos in closing. Look through every photo, and extract information. Sometimes it will be blatant, like a skyline you recognize revealing the place they are at. Sometimes things will be subtle, always look for writing in the background. Any sort of information that might reveal more about there personality, habits, hobbies, medications, and work(More about medications below). Pay attention to things like, what tv shows and books are in the background, or what programs are running on there computer, and if you get a picture of the dock or the task bar, study it for things you can figure out about them, like creative programs, like photoshop or Reason. Often times you will get pictures of food, a good indication of diet, let's you know if there vegan or on a macrobiotic diet or whatever. Are they messy, are they neat? Keep notes in a notepad/TextEdit.app/gedit file, if you have a bad memory.


Adding them as a contact on flickr, or favoriting a photo, is probably okay, just for your convience of finding their page...however, favoriting 500 of their photos is not ok. Dead give away you're a weirdo. You don't want to be on the radar, no matter how much you think you do.

If you divine there real name from the photos, or account info, use pipl.com to do a search this will reveal all there other online accounts. If you don't have there name use there flickr screen name to search on other social networks. Last.fm is my favorite because I can compare musical tastes. Some social networks, like facebook, etc are to revealing about the person to have an idealic imaginary relationship with them, so stay away from these.

The best place to look up what medications is always google, just don't go to the pharmaceutical companie's website about the drug, that's never interesting, you want a wikipedia site or medical site. By the way, if you just get a shot of the pill imprint code, the best place to look that up on is rxlist.com. Of course the best way to glean information from medications is just being familiar with drugs in general, and if you're reading this you probably have a pharmocopia your self, so that shouldn't be an issue.

If you see that they have a boyfriend, or girlfriend, just innundate that person with horrible qualities, and pay particular attention to shots, were they are together but unhappy.

FAQ:

Ok this guide was awesome...so awesome in fact now I'm madly passionately in love with this person, what the fuck did you do to me? FIX IT!

Ok so this is what the videos are for, video's are the fastest thing to help you find faults in someone. Like a horrible southern drawl you didn't expect. Go through the pictures one more time and look for things that just annoy the piss out of you. Like something they wrote that was incredibly unclever, or conji tattoos. Or look at that endearing picture of her crying, and think "That's just a crazy crying bitch, would hate to deal with her shit all the time". It helps

Is this healthy?
Probably not, no.

Are there advanced techniques not included in this manual/tutorial?
Yes, but it's probably unethical to post them on the intarwebs.

Why the focus on Medications?
Usually people who have thousands of pictures of themselves publically available online, have a screw loose. I mean look at me for fuck's sake.

Any practical applications for this "game" ?
I guess if one were so inclined, by building scenarios in your head, like seeing your subject at a fair and then implanting yourself at the fair and thinking about the fun you would have would be it's own reward. Ok not really, but something it would help with, is if you had to lie on the spot about a whole day or thing that happened. With the memory of pictures you can add a level of detail and complexity to your lies that make them very believable.

Why would I do that?
You're reading a post on a hacker culture blog, about having a fake relationship with someone who has a flickr account....I'm pretty sure fucked up shit happens to you a lot, and some of that probably involves lieing.

Why do you do this?
I have problems...lots and lots of problems, and it's pretty much a good thing I never meet these people.

You're a fucking psychopath.
That's not a question.

Monday, November 9, 2009

I see what you did there.....with my childhood

Friday, October 30, 2009

woot PhreakNIC, see you guys around 4:00

http://www.phreaknic.info/pn13/ woot Hometown Hacker con

Wednesday, October 28, 2009

Script for finding servers of a particular kind. IIS Apache or Otherwise.

For this script you need to have nmap installed. In the example script I made I am search for IIS servers but you can use it to search for any kind, just search for them in the format that nmap saves them as. So apache servers would change the variable to this:
my $webserver_type = qr!(Apache)!;

So this script saves all open servers to one file, all servers of a particular type to another file, and it saves all results to a file. You can cahnge where those files are by editing these variables:
my $hunt = "/root/serverhunt";
my $found = "/root/found";
my $open_file = "/root/open";

**Oh and it just appends to the file, so you can run it and it will never overwrite your progress, just add to it.**


This does scans randomly in increments of 100, you can change how many times you want it to loop by changing this variable:
my $howmanyloops = "1";
So if you wanted to do it twice you would put:
my $howmanyloops = "2";

Ok so before you get going with this you probably need to be aware of the legality of port scanning. Port scanning may attract unwanted attention. Talk to a lawyer before port scanning. I'm not liable for you using this script. Etc Etc....



use strict;
use warnings;

my $webserver_type = qr!(IIS)!;
my $open = qr!(open)!;
my $howmanyloops = "1";

my $hunt = "/root/serverhunt";
my $found = "/root/found";
my $open_file = "/root/open";

my $nmap_scan;
my @hunt_file;
my $line;
my $iter = 0;

while($iter < $howmanyloops){
$nmap_scan = `nmap -sV -iR 100 -P0 -p 80 -oG $hunt`;
open HUNT, $hunt;
@hunt_file = ;
close(HUNT);
open FOUND, ">>", $found;
open OPENFILE, ">>", $open_file;
foreach(@hunt_file){
$line = $_;
if($line =~ $webserver_type){
print FOUND $line;
}
if($line =~ $open){
print OPENFILE $line;
}
}
++$iter;
}
close(FOUND);

Saturday, October 24, 2009

Installing SuperCollider3 on Fedora 11

So I went to install supercollider on Fedora and I was using the standard instructions:
http://swiki.hfbk-hamburg.de:8888/MusicTechnology/479

But I had some extra problems and solutions I would like to share:
Most of the dependencies I already had installed:
See Here

So basically install all the dependencies from the normal instruction sheet tells you to with yum, plus to be on the same side do them all again with -devel tagged on the end.

I compiled fftw from scratch because when I did a search for it in yum it wasn't there(I had searched for fftw3f), and so I was looking for the solution to get it to show up in scons,(when you ran scons it said Checking for fftw3f... no ) and someone on OpenSuse said compiling with the --enable-float option helped them(./configure --enable-float). This didn't help me in Fedora, however I did another search and realized that it WAS in yum, so I installed it and the devel package:
yum -y install fftw
yum -y install fftw-devel

After you build with scons you can launch, supercollider with this:
/usr/local/bin/sclang

However I wanted to add the SwingOSC to mine, so I downloaded that tar:
http://sourceforge.net/projects/swingosc/
After you download that, in terminal navigate to the dir and run
sh install_linux_system.sh /usr/local
(The /usr/local is because of the way supercollider was installed)

Create a file called .sclang.sc in your user folder with these options:

GUI.swing;
SwingOSC.java = "/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/java";
SwingOSC.program = ("/usr/bin/SwingOSC.jar").standardizePath;
SwingOSC.default.boot;

So that file would be, /home/user/.sclang.sc or /root/.sclang.sc, and these paths are Fedora specefic.

Wednesday, October 21, 2009

Setting up JACKD (Ardour) with your M-Audio Delta 1010lt on fedora 11

First thing make sure jack is installed. Next check your alsamixer by typing:
alsamixer
Press f6 to see what your m-audio sound card is, mine was one, as opposed to 0, which was the default so I'll start jackd like this:
/usr/bin/jackd -d alsa --device hw:1

Start ardour or whatever you are routing too.

Then use your favorite graphical jack tool to set up the routing, I use:

qjackctl


***You may have some problems, if you start any of these as different users, so if your just selecting some things out of the menu, and doing other things in the terminal, don't change to root in terminal.***

Installing all the shit you need on fedora core

So I just built a new fedora box...woot. But the problem is I set it all up by hand which is stupid. So I wrote a script in bash for everything I did, so next time I don't have to. First I did it with bash and then I did it with perl. Make sure, your root if you choose to run these scripts, they should be easy to edit to install what you want, becuase there pretty simple, in the perl one you just need to replace the stuff in @yum_installs. Also run yum update, before you run.(The bash one includes two tar balls, not in the perl one)


RUN AS ROOT
RUN YUM UPDATE FIRST


Bash:


#!/bin/bash
#run as root
#prep
cd /root
mkdir /root/tar
#Necessities for existence/development
yum -y install xchat
yum -y install screen
yum -y install cpan
yum -y install wget
yum -y install PCRE
yum -y install cmake
yum -y install gtk+
yum -y install pygame
yum -y install python-devel
yum -y install cmake
yum -y install cmake-devel
yum -y install liblo
yum -y install liblo-devel
yum -y install gcc-c++-devel
yum -y install cmake-gui
#robotics
yum -y install nxt_python
yum -y install pybluez
#Audio programs setup
yum -y install libsndfile
yum -y install libsndfile-devel
yum -y install qjackctl
yum -y install zynaddsubfx
yum -y install vkeybd
yum -y install qtjack-devel
yum -y install csound
yum -y install csound-devel
yum -y install portmidi
yum -y install rosegarden4
yum -y install jamin
yum -y install jack-audio-connection-kit-devel
yum -y install ctapi-cyberjack-devel
yum -y install zynjacku
yum -y install ardour
#installs of utilities through tar balls
#Yes, you can get nmap through yum, however Fyodor reccommends a source install
#and to be honest, it isn't that hard
cd /root/tar
wget http://nmap.org/dist/nmap-5.00.tar.bz2
tar -xvf nmap-5.00.tar.bz2
cd /root/tar/nmap-5.00
./configure
make
make install
cd /root/tar
wget http://download.gna.org/algoscore/AlgoScore-081112.tar.bz2
tar -xvf AlgoScore-081112.tar.bz2
cd /root/tar/AlgoScore
./make_build



Perl version:


#!/usr/bin/perl
use strict;
use warnings;

my $yum;

my @yum_installs = qw(
xchat screen cpan
wget pcre-devel cmake
gtk+ pygame python-devel
cmake cmake-devel liblo
liblo-devel gcc-c++-devel cmake-gui
libsndfile libsndfile-devel qjackctl
zynaddsubfx vkeybd qtjack-devel
csound csound-devel portmidi
rosegarden4 jamin jack-audio-connection-kit-devel
ctapi-cyberjack-devel zynjacku ardour
nxt_python pybluez
);

&array_cracker();

sub array_cracker(){
foreach(@yum_installs){
print $_;
$yum = `yum -y install $_`;
print $yum;
}
}

Monday, October 19, 2009

Had to Change ABSPATH after moving my wordpress blog fuckinfiction

I choose to move my wordpress blog, fuckinfiction from, wereboobs.com/fuckinfiction to fuckinfiction.wereboobs.com. Now I choose to do this to try to clean up server a little bit, and that required a directory move as well, however after the move I couldn't get to the admin interface because the ABSPATH or Absolute Path, within the database was still pointing to the old directory. To fix it this required two database changes. The recommendation that I read said to go in with phpMyAdmin, and to make the changes, I however had no interest in installing that on my server, so I could have done it by hand, However, I'm typically prone to error when doing that kind of stuff. So I did it with and app called Sequel Pro, which was really spiffy. It created the SSH port forwarding so I didn't have to.

Ok so if you need to do this, you should navigate to your wordpress database
Navigate to wp_options
change siteurl (row 1)
and home (row 39)
to your fqdn
for me that is http://fuckinfiction.wereboobs.com

Sunday, October 11, 2009

Some Bad photography of mine, and my nxt stuff

Suffer?


I took a couple shots of my NXT face I made. Video with functionality soon.

Blog News

The blog has been on a bit of a slow streak, But I should have some more over the robot stuff soon and I am reading some interesting security books right now as well, so some of that may leech there way here as well. There is a local( Nashville ) hacker con ( PhreakNIC ) at the end of October I will most likely go to, however, Electric Six is playing the 31st, and there is no way I am missing that. You should check and see if you have local hacker cons, if you're not in the Nashville area, there are probably more than you think. Check out the new update on wereboobs fuckin fiction ( http://wereboobs.com/fuckinfiction ), that would be my fiction blog for those of you uninitiated.
In other news:

Interesting Reboot Remix videos:
http://cyjon.net/videos.php

Hipster Please! has a very interesting review of Schaffer the Dark Lord's new album.

Thursday, October 8, 2009

Singularity Summit: a brief review

Singularity Summit: a brief review

This is a review by the guy that does Dresden Codak, of the Singularity Summit. This review is exactly what I wanted to know about the summit. I suggest you read it if you have any interest in the Singularity, or Artificial Intelligence.

Saturday, October 3, 2009

Very Simple Tutorial for pygame and arduino, to get started making a gui for arduino part 1



This is how to get started, with python and your arduino, brining up the begginings of a GUI. It's just a taste of what you can do and I hope to go further on the subject. You need pygame, and the python firmata installed(explained here), and your arduino must have the firmata software on it as explained here. Here is the code I stole/wrote for getting the arduino to blink when you click within pygame. This outline should get you started with fun stuff:


#! /usr/bin/env python

import pygame
from firmata import *

proArduino = Arduino('/dev/ttyUSB0')
proArduino.pin_mode(13, firmata.OUTPUT)
proArduino.delay(2)

LEFT = 1
x = y = 0
screen = pygame.display.set_mode((640, 480))
running = 1

def blinky(pin_n):
proArduino.digital_write(pin_n, firmata.LOW)
proArduino.delay(2)
proArduino.digital_write(pin_n, firmata.HIGH)
proArduino.delay(2)


while running:
event = pygame.event.poll()
if event.type == pygame.QUIT:
running = 0
elif event.type == pygame.MOUSEBUTTONDOWN and event.button == LEFT:
blinky(13)

screen.fill((100,0,0))
pygame.display.flip()



Right now I am experimenting with a lot of diffrent things(forking etc.), to see how the arduino and pygame can best interoperate.

Prepping Fedora Core for NXT brick, and Arduino, to be used with pygame and mod_python, in a python environment

If you do a fresh install of Fedora 11, you just need to save this script and run it as root on your machine, once you have saved it with a .sh extenstion, open the terminal, use the command su to become root, then navigate to the directory you have saved it in. Change the permissions, before you try to run it, so it is executable. Run it by typing dot then slash the the script name: ./scriptname.sh

Before the script:
su
chmod 777 scriptname.sh


#! /bin/bash
yum -y install mod_python
mkdir -p /var/www/html/test
cat <<-EOF >/etc/httpd/conf.d/pythonTwo.conf
<Directory /var/www/html/test>
AddHandler python-program .py
PythonHandler mptest
PythonDebug On
</Directory>
EOF
cat <<-EOF >/var/www/html/test/mptest.py
#!/usr/bin/python
from mod_python import apache

def handler(req):
req.send_http_header()
req.write("Hello World!")
return apache.OK
EOF
yum -y install python-devel
yum -y install git
git clone http://github.com/lupeke/python-firmata.git
cd python-firmata
python setup.py install
yum -y install gcc
yum -y install pybluez
yum -y install nxt_python
yum -y install pygame
/usr/sbin/apachectl restart


**caveat**
Be careful where you save it, it will create a directory for the python-firmata in that directory. If you use this right when your machine boots, there is a possibility the yum updater will start using yum, if the script will pause until the updater is finished using yum then continue, or you can run it before you start the script.

Thursday, October 1, 2009

Hackforums.net was purchased

It appears that hackforums will be back up shortly, under new managment.

Malvager is down, my fault

I put a bad iptables command into it. It will be up and running soon.

Tuesday, September 29, 2009

Omni has closed HF, malvager.com attempts to step up

Omni has closed hackforums.net, malvager.com is trying to fill that gap. So if you would like please join us at malvager.com.

Sunday, September 27, 2009

Blinking an LED over the web, with python firmata, php, and apache.



This was done on a mac, however it should be the same or very similar on a linux system as well. Either way you need a webserver with php running, and an arduino conneceted via ftdi(usb probably) to your computer. You will also need to install the python firmata module, which is pretty straight forward, and you can get that here: http://github.com/lupeke/python-firmata.

This is to show you how to make an led blink, using a web page you have coded, and an arduino. Why would I show you how to do something so insignificant? The idea, is that this would be a place to start, with any sort of, over the web arduino fun. There are a list of caveats at the end.

Open the arduino program, then select File->Examples->Firmata->Standard Firmata. Then upload this to your board. If you have problems uploading, be sure you have the right board and serial port selected under tools. My cpanel.php file looked like this:


<html>
<head>
</head>
<body>
<form action="cpanel2.php" method="post">
On <input type="radio" name="light" />Light
<input type="submit" />
</form>
<?php
$password = $_POST["password"];
$light_on = $_POST["light"];
if(isset($light_on)){
$execute_light = `/Users/dustycarver/python/led2.py`;
}
?></body>
</html>



$execute_light should equal the pathname to your python firmata file, and should be surrounded my backticks(`), not single quotes(').Your python file should look like this:


#! /usr/bin/env python
"""
Simple LED blinking example using Python Firmata
Copyright (C) 2008 laboratorio (info@laboratorio.us)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see .
"""

from firmata import *

a = Arduino('/dev/tty.usbserial-FTE4W74Q')
a.pin_mode(13, firmata.OUTPUT)
a.delay(2)

a.digital_write(13, firmata.HIGH)
a.delay(2)
a.digital_write(13, firmata.LOW)
a.delay(2)


You can see I stole the code from the python firmata example, however I took out the loop so it would do only one sequence of blinks. Your "a =" line should have the address of your Arduino device.

Caveats:
Obviously this has limitations, it has to negotiate the connection with the arduino each time and that's a lot of overhead, so this is probably a good way to get started on something like turning your lights on at home before you get there, and less real time stuff. I am working on a mod_python deal, so that the connection is ever present and will submit that, if it ever becomes fruitful.