Thursday, December 8, 2011

Python CSV Parsing

If you haven't realized already, I live and breathe in a command-line world. That's not even just talking about my work-related things; even when helping out helping out someone who is running Windows I will do majority of the things I need to do in the cmd prompt. Anyhow, I'm starting to ramble...

I also sporadically get some data sent to me in csv (or I will convert it to csv format). Now, if you have done this enough times, you'll obviously want to have some sort of csv parser. And what do you know, voila! I've got a simple one here for all of my command-line junkies out there!

csvreader.py is short enough to be available as a short gist on github. --My first activity on github by the way!

I'm sure you'll all find a nice way to use that. If you were curious what I ended up doing, well here's a generic code snippet: for f in `python csvreader.py tmp/b.20111208_1042.csv 0`; do echo $f; php postInfo.php /mnt/$f; done;

Cheers!

Sunday, October 2, 2011

Decoding the "Ghost in the Wires": Chapter 01

Quick Intro

I recently just finished Kevin Mitnick's Ghost in the Wires. Excellent read! I highly recommend! The cryptic text got my attention and I decided I wanted to give a crack at them. Let's see how far I can get before I give up.

01 Yjcv ku vjg pcog qh vjg uauvgo wugf da jco qrgtcvqtu vq ocmg htgg rjqpg ecnnu?

I wrote a simple Caesar cipher C program, called rotn that I can pipe in some text.

for n in {1..26}; do cat ~/tmp/ghost01 | rotn $n; done
Zkdw lv wkh qdph ri wkh vbvwhp xvhg eb kdp rshudwruv wr pdnh iuhh skrqh fdoov?
Alex mw xli reqi sj xli wcwxiq ywih fc leq stivexsvw xs qeoi jvii tlsri geppw?
Bmfy nx ymj sfrj tk ymj xdxyjr zxji gd mfr tujwfytwx yt rfpj kwjj umtsj hfqqx?
Cngz oy znk tgsk ul znk yeyzks aykj he ngs uvkxgzuxy zu sgqk lxkk vnutk igrry?
Doha pz aol uhtl vm aol zfzalt bzlk if oht vwlyhavyz av thrl myll wovul jhssz?
Epib qa bpm vium wn bpm agabmu caml jg piu wxmzibwza bw uism nzmm xpwvm kitta?
Fqjc rb cqn wjvn xo cqn bhbcnv dbnm kh qjv xynajcxab cx vjtn oann yqxwn ljuub?
Grkd sc dro xkwo yp dro cicdow econ li rkw yzobkdybc dy wkuo pboo zryxo mkvvc?
Hsle td esp ylxp zq esp djdepx fdpo mj slx zapclezcd ez xlvp qcpp aszyp nlwwd?
Itmf ue ftq zmyq ar ftq ekefqy geqp nk tmy abqdmfade fa ymwq rdqq btazq omxxe?
Jung vf gur anzr bs gur flfgrz hfrq ol unz bcrengbef gb znxr serr cubar pnyyf?
Kvoh wg hvs boas ct hvs gmghsa igsr pm voa cdsfohcfg hc aoys tfss dvcbs qozzg?
Lwpi xh iwt cpbt du iwt hnhitb jhts qn wpb detgpidgh id bpzt ugtt ewdct rpaah?
Mxqj yi jxu dqcu ev jxu ioijuc kiut ro xqc efuhqjehi je cqau vhuu fxedu sqbbi?
Nyrk zj kyv erdv fw kyv jpjkvd ljvu sp yrd fgvirkfij kf drbv wivv gyfev trccj?
Ozsl ak lzw fsew gx lzw kqklwe mkwv tq zse ghwjslgjk lg escw xjww hzgfw usddk?
Patm bl max gtfx hy max lrlmxf nlxw ur atf hixktmhkl mh ftdx ykxx iahgx vteel?
Qbun cm nby hugy iz nby msmnyg omyx vs bug ijylunilm ni guey zlyy jbihy wuffm?
Rcvo dn ocz ivhz ja ocz ntnozh pnzy wt cvh jkzmvojmn oj hvfz amzz kcjiz xvggn?
Sdwp eo pda jwia kb pda ouopai qoaz xu dwi klanwpkno pk iwga bnaa ldkja ywhho?
Texq fp qeb kxjb lc qeb pvpqbj rpba yv exj lmboxqlop ql jxhb cobb melkb zxiip?
Ufyr gq rfc lykc md rfc qwqrck sqcb zw fyk mncpyrmpq rm kyic dpcc nfmlc ayjjq?
Vgzs hr sgd mzld ne sgd rxrsdl trdc ax gzl nodqzsnqr sn lzjd eqdd ognmd bzkkr?
What is the name of the system used by ham operators to make free phone calls?
Xibu jt uif obnf pg uif tztufn vtfe cz ibn pqfsbupst up nblf gsff qipof dbmmt?
Yjcv ku vjg pcog qh vjg uauvgo wugf da jco qrgtcvqtu vq ocmg htgg rjqpg ecnnu?

Did you see the decrypted text? These should be fun. Let's see how long it will take for me to crack the next chapter. 8)

Oh, and yes I will publish the code for my Caesar cipher program for those curious. Just give me some time, I've been fighting to not open a github account, but I think that's a decent option as of now.

Sunday, September 18, 2011

Pyweek Post Mortem

Pyweek Was Brutal

Pyweek: a week long contest to develop a game in python. Sounds fun right? I thought it did. I'll tell you right now, that it was brutal; but ultimately, even though I didn't even submit my code for review, I think I accomplished a lot.

Pyweek Objectives

You have one week to develop a game in python. The contest's theme is voted on one week before the contest starts. This keeps things fair so there is nobody working on their projects before the contest starts. You are allowed to use any libraries specified on pyweek's rules page. All graphics and music must be created by you for the contest. That's about it in a nutshell, there's a lot more detail on the pyweek site.

My Objectives

  • Learn a python game library.
    Yes, that's right, I entered a contest to learn. I like challenges and feel like I needed something like this to push me to learn.
  • Survive.

You really need to use the entire week

One week. That's all you get. From 00:00 UTC September 11 until 23:59 UTC September 17 is all the time you will get. Now, to paint a picture of my week, here was what my schedule looked like:
Sunday: housework all day, ~10pm EST start some pyweek work write up some game ideas
Monday: work -- start getting sick, though a little bit of pygame learning
Tuesday: work -- still sick
Wednesday: work --still sick
Thursday: work --still sick, but able to do a little bit of pygame tutorials to keep learning
Friday: work - pyweek work
Saturday: pyweek work
Fighting a cold for time is seriously an uphill struggle. If you're sick, stay in bed to rest up.

A Failure at Pyweek, A Success At Learning

So as I stated earlier, I never even submitted my code for review. I was not able to get as far as I would have liked to, though for my objectives, I think I did well. The theme for Pyweek was "mutate"; I had a basic idea and I tried to keep things simple, but apparently not simple enough. Well, not simple for someone who is just learning the pygame library.
I learned a lot in this short time and I am ultimately happy that I at least have something a little bit playable. Crappy, yes. But hey, I made it and I made every piece of it; from code to background music, to little character gifs, I made them all. And for that reason, if someone ever asks me if I've ever created a game, "why yes! yes, I did!" You can checkout my Pyweek diaries here and check out all of the entries here. There are some really awesome games out there, go check them out! Congrats to all Pyweek contestants!

Wednesday, August 3, 2011

Python: Reading and Running Commands From A File

So I recently came across a broken process that needed some manual re-running. I was able to search through the log files and then see what part needed to be re-run. I ended up with a new data file (that I modified) to be a list of each command that failed for each iteration. So, the file looked something like this:
/path/to/program -option x -site a
/path/to/program -option x -site b
...
/path/to/program -option x -site z



Using a bash for line in `cat command.file`; do $line; done would not work since I would end up with a
-bash: -option: command not found
-bash: x: command not found
-bash: -site: command not found
error. So, here's some quick Python that can get the job done:

import os

f = open('/tmp/tmp-fix.commands')
for line in f:
    print line.rstrip()
    os.system(line.rstrip())


Yay for saving me some time! Cheers!

Tuesday, August 2, 2011

ffmpeg: Creating A Single Image Video With Audio via CLI

Here's a nice quickie for you command line junkies. So say you wanted to share an audio file, but for sites like Facebook or Google+ you only have an option to upload a video. Okay sure, just create a video with the audio embedded.

My friend left me a hilarious voicemail a while back that I wanted to share with friends. I also wanted to set an image to constantly display just for viewing pleasure. So, bake the image to loop add in the mp3 voicemail and voila!


ffmpeg -loop_input -i Downloads/P1010155.png -i Downloads/30ad00fa24c1dcdf7479271f290c82252216718a.mp3 -shortest tmp/output.mp4

Friday, July 29, 2011

Google Music vs. Amazon MP3 (so far at least)

So Google Music finally built a linux-compatible music manager, so I finally got started playing with Google Music. Amazon MP3 has a similar gripe with linux, but they at least allow uploads via the Amazon Cloud Drive.


Side By Side

So far the breakdown goes as follows:
- Google Music does not have a web-based way to upload my music
+ Amazon MP3 (though through Amazon Cloud Drive) can do web-based uploads
- Google Music does not have a way for me to download my music (really?! but, they're my files!)
+ Amazon MP3 has a download ability (a little buggy for linux users it seems, but it's there)
- Google Music capped my music library (is this just for beta?)
+ Amazon MP3 [so far] has given me unlimited storage for music. (this is basically paid for though, since I have purchased Amazon MP3 music)


I still can't eliminate carrying around local mp3 files on my phone since NYC subways don't have internet access [yet]. But, having the ability to stream through my albums is super helpful whether at work, home, at a friend's house, etc.


Cheers!

Tuesday, July 26, 2011

Python: Getting Line Counts of Files and Reading Directories

I have a bunch of little scripts to help out with day-to-day tasks (don't we all?). For some reason, (probably because I've been busy) I never posted anything tagged with "python". Whoa! Sharing is caring, so here it is.


import sys
import os

def lines_in_file(f):
    return len(open(f).readlines())

files = os.listdir(sys.argv[1])
totalcount = 0
for f in files:
    totalcount += lines_in_file(sys.argv[1] + f)

print totalcount

Why would this be helpful?

Well, it may or may not to you, but maybe you're just looking for a python example on how to get a line count of a file:
def lines_in_file(f):
    return len(open(f).readlines())

Or maybe, you're just looking for a python example to list files in a directory:
files = os.listdir(sys.argv[1])
for f in files:
    print f ## modified from the original script, to show you an example

How I Use It In Case You Were Curious...

So, we have this one cron job that parses through a directory that contains CSV files. So essentially, each line is a python run. Or I can also think of it as, X number of accounts are participating in Job Y.

That's it! Cheers!

Wednesday, July 20, 2011

Google+ Blurb: After I Logged Into Facebook

So I had to log in to facebook for some fun app debugging today (code rolled out today btw, yay!) and decided to poke around and see what's going on there and...not missing much at all! I've heard some chatter about Google+ being too noisy, but I seriously think facebook is noisier. Yes, the "main" stream on Google+ is definitely noisy, but you gotta remember that's all of your circles! To be honest, I pretty much only check my circle streams to filter out cruft. "What are my friends up to?": friends circle; simple. Doing the equivalent in facebook... I technically can do that, but that's only in those fb groups; otherwise, I need to go to each of my friends' pages and stalk see their recent activity, etc. but even in doing that, I'm already seeing too much. I could really care less if my friend likes "Nose-picking" or "I leveled up in Farmville". I can probably go on, but i won't. Just my $0.02. 8-)


P.S. I do, however, miss one thing: band/musician updates. I started following bands on facebook to get updates on new shows, albums, etc. here, it's all technology (for now).

Tuesday, July 5, 2011

There's a Bikeshed In The Forest

Into The Forest We Go

So lately I've been inundated with a (IMHO) very aggressive project schedule; and when I say "project", I mean projects plural since the ending of the first one overlapped with some of the discovery & design portion of the second one. Which is fine, since I've done that many of times. Though, somewhere along the schedule of the second project I started having more and more bikeshed'ing talks. Be it that I was busy or if I wasn't completely focused due to personal reasons, I fed into these bikeshed'ing talks and they kept coming and I sunk like quicksand.


Painting the Bikeshed

For those of you who come from a BSD background, you all have probably heard the "painting the bikeshed" phrase. If not, go and give it a read; even if you aren't part of the *nix scene or even if you're not an engineer; the thread will shed some light on managing projects whether personal or work-related.

Anyhow, in a brief summation: somewhere, somehow, I got sidetracked with tasks of changing certain language of front-end and etc. design-related issues as opposed to working on core-code functionality. In turn, the project needed to delay a bit.

Lesson learned: Be more vocal. Yes, let the PM know that there are bigger issues at hand and you'll get back to the miniscule issues at a later time.


Forest? Huh?

So what's the bikeshed have to do with the forest? Well, another phrase has been echoing in my brain a lot lately, and that's "can't see the forrest for the trees". It has a similar premise behind it and I thought it was very fitting, being that I've caught myself (twice now), wasting time debugging code to only later see that there was a simple error that was causing issues; the more recent issue was actually a human error and not code-related at all.

Lesson learned here: it's okay to step away for a bit to rest your brain (and your eyes!) from code.


Cheers! Code. Debug. Repeat.


Post Script

* My one delayed project was only delayed three days. We are now just maintaining code and debugging small bugs.

Monday, May 2, 2011

Nginx's Rewrite Rules for WordPress MS In a Subdirectory

Nginx's rewrite rules have been giving me a headache lately. Okay, cool so it doesn't support .htaccess files; that's fine. WordPress' Codex Nginx Page gives me some great information on how to do the rewrites.


Ah but I'm running WordPress in a subdirectory! My site URI for WordPress is something like, http://mydomain.com/subdir/. Okay? Yea should be fine as long as you rewrite the rewrite rules a little bit like so:

if (!-e $request_filename) {
rewrite ^/subdir/[_0-9a-zA-Z-]+(/wp-.*) /subdir$1 last;
rewrite ^/subdir/[_0-9a-zA-Z-]+.*(/wp-admin/.*\.php)$ /subdir$1 last;
rewrite ^/subdir/[_0-9a-zA-Z-]+(/.*\.php)$ /subdir$1 last;
}


That wasn't so bad right? Yea, it confused the heck out of me though at first! So hopefully the next person won't have the same headaches! Cheers!

Thursday, April 28, 2011

Nginx: Running FastCGI Under an Alias

So yay, Nginx has been a new playground for me here. It's awesome thus far and I love the process management! I've still got a bunch of exploring to do and I'm super busy, so excuse the brevity!


FastCGI Issues With Aliases

I've scoured the web for help on this one and it seems like a common issue that people have had. Check out the comment section on this post for a good starting point on this issue. But the usual trial and error was what ultimately got everything working for me.


Here's what I got working for me below:

location /dir/ {
alias /usr/local/www/foo/;
index index.php;
}

location ~ /dir/.*\.php$ {
if ($fastcgi_script_name ~ /dir(/.*\.php)$) {
set $valid_fastcgi_script_name $1;
}
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/www/foo$valid_fastcgi_script_name;
include fastcgi_params;
}


The problem I was running into was here:
location ~ /dir/.*\.php$ {
if ($fastcgi_script_name ~ /dir(/.*\.php)$) {
set $valid_fastcgi_script_name $1;
}

I assumed $fastcgi_script_name was going to be from /foo but it was already being passed the alias (/dir).


I suppose I'm just writing this to remind me in the future, but in case this helps anyone else, hope it makes sense!


Cheers!

Tuesday, April 12, 2011

PHP: Encode Text Into Numeric HTML Entities While Keeping HTML

If for whatever reason you need to have some text with special characters encoded into numeric HTML entities, but you also have HTML that you do not want to encode, well here you have it!


Why Numeric HTML Entities?

If you've worked with RSS before I'm sure you understand the dilemma. For those of you that don't know, RSS has a problem with validating if there are non-numeric HTML entities (the normal output you get from htmlentities()). More headaches, more XML fun!


Why Keep HTML?

Well, to be honest, it's just because we have a special scenario right now. But, I'm sure some people may find this helpful.



*Note* The numeric HTML entities foreach loop is based off of Michael Krenz's xml_character_encode function. Thank you sir!


function htmlentities_keephtml($text) {
$entities = get_html_translation_table(HTML_ENTITIES);
unset($entities['"']);
unset($entities['<']); unset($entities['>']);
unset($entities['&']);
foreach ($entities as $k=>$v)
$entities[$k] = "&#" . ord($k) . ";";
$s = array_keys($entities);
$r = array_values($entities);

$text = html_entity_decode($text, ENT_NOQUOTES); // decode the named entities
$text = str_replace($s, $r, $text); // now encode to numeric entities

return $text;
}

Saturday, April 9, 2011

Amazon Cloud Drive Now Doesn't Support Multiple Downloads?!


Wait, what?!

This change must be recent because I downloaded the only two albums I purchased from Amazon already and I definitely did NOT download them one at a time. I just so happen to have downloaded those files on my laptop and now I'm on my desktop. Yes, I can simply power on my laptop, but what's the point of having my files in the Amazon Cloud Drive anyway then?!


So now, 99 files for me to download one at a time?! (Yes, that's right classical music!) Not cool Amazon. Fail on you...


Update: Okay, between sometime after this post and now (April 19, 2011), Amazon has made multiple downloads possible again. Thank you Amazon!

Thursday, April 7, 2011

Thursday, March 31, 2011

New Blogger Views

Five New Blogger Views

Google introduced five new blogger designs this morning. If you are browsing a blogger site, simply append "/view" to see the available ones.

I personally think I like the "slider" view. The other views probably won't work as well for news-like sites that user experience is based off of chronological posts.

Still very cool!

Cheers!

Friday, March 25, 2011

Printing a Specific Range With sed

Issue

You want to print only a specific range of lines from a file/input.

Solution

Use sed! Say for example you want to print out lines 15 through 30, you can do that like so:
sed -n '15,30p' [file]

Real World Scenario

Okay, so here's how I actually ended up using it; I have a process to publish files across hundreds of sites. I have a PHP script that prints out site information (one site per line). I also have another PHP script that handles publishing that takes in the site name as an argument. See where I'm going here? ;)

So what I need to do is loosely pseudo-coded as follows:

for site in siteinfo.php
publish.php $site

Where does the sed command come in handy? Well, like I said I have hundreds of sites to publish to, so a sleep comes in handy to give the servers a little break. So, I ended up breaking it up as follows:
for s in `/usr/local/bin/php sites.php|sed -n '1,100p'`; do /usr/local/bin/php publish.php $s; done | tee -a $log;
sleep 300;

for s in `/usr/local/bin/php sites.php|sed -n '101,200p'`; do /usr/local/bin/php publish.php $s; done | tee -a $log;
sleep 300;

etc...
etc...

Wednesday, March 23, 2011

CR-48: Dev Channel Users Are Down

So, if you happen to be on the dev channel, the nightly build two nights ago has a serious issue. There's word that a fix will be out soon, but if you wanted to get back up online sooner, try jumping back on the beta channel.

Just the usual struggles with being on the dev channel...

Cheers!

Thursday, March 17, 2011

Google Bookmarks --Really, Bookmarks! (I think)

I just got these and thought they were pretty rad. But are they bookmarks? If they are, isn't it a bit counterintuitive if we're supposed to be supporting ebooks in lieu of traditional books? ;)

I thought I would share anyway. I think I'll end up hanging these up. Now where to put them? In the office? In the home office? In the man cave? Decisions decisions...

But thanks Google! These made my day!

Cheers!

Monday, March 14, 2011

Pi Day or Half-Tau Day?

Pi Day or Half-Tau Day?


I've been happily celebrating pi day for quite some time now and it seems to have been gaining in popularity; perhaps due to the rise of geek culture (or lack thereof)? Tau is awesome, but it's base is pi nonetheless. I'm a pi fan and probably always will be. Though, tau does make good weather for a lovely BBQ. I smell a tau BBQ celebration in the making!


Auspicious numbers are awesome to have, another day sounds even better. I welcome tau day with open arms and hopefully a BBQ pit.


Unfortunately, I forgot to wear my pi shirt today.

Thursday, March 10, 2011

Google Chrome 10.0.648.127

Chrome in my status panel?

I noticed recently that Google Chrome, even when not started is already in my status panel. Interesting. Is this to speed something up? No complaints as of now, but hey what's it for?



Anyhow, I'll find out later. Off to fill myself up with caffeine!

Tuesday, March 8, 2011

Google Voice SIP Is Out In the Wild

Google Voice Offering SIP

Well, word is finally out about Google Voice's SIP availability. I for one am happy, sad, and scared all at the same time...

Well, I love it! I've been using Google Voice ever since I got the invite (early adopter). But as you can see as the details get out, the more attention this gets and that's when the cellular companies start thinking about ways to disable this feature since they'll be losing money on their precious minutes!


All You Really Need Is Data Service

Cellular plans are convoluted with plans that really benefit the cellular companies themselves. All companies do that for their services, and that is so irritating! You are forced to purchase minutes because the old (but current) model revolved around minutes. In the future, I'm hoping that you can purchase data-only plans since that is really what any person needs.


I really hope things all pan out for the best. I don't want to spend any more money than I need to.


How We Save Money On Our Phone Bills

All of our phone calls ("home phone" and cellular) go through Google Voice on a data line. At home, we typically just send/receive phone calls via our computers (that's why I said "home phone"). The same thing goes for our cellular phones except instead of Google Voice (GMail) we have a SIP client (csipsimple) installed on both of our phones and that handles the incoming/outgoing calls. The important piece is the routing via pbxes to have calls go through Google Voice. The tough part was that Google initially didn't have a SIP protocol, instead they used XMPP. This change should make things easier now.
The formula generally goes like this: Google Voice + http://pbxes.org


Post Script

No wonder I got an email about Google discontinuing Gizmo5!

Saturday, February 19, 2011

Google Knows That "He's Dead Jim"

Okay, this was cute.


Annoying that the page broke, but this made me smile. Cheers!

Is this just a Chromium OS thing? Or do we get the same message in the Chrome browser? The wording is definitely different than the usual crash page I've seen.

Thursday, February 17, 2011

HTML Entities The HTML Entities

So I was changing some documentation earlier and it had some UTF-8 characters grabbed from a database that I needed to encode and show the HTML entities. For example, I want to display the HTML entities of "básico" (excluding the quotes). I was already doing an htmlentities, but the string was displaying the encoded version on the site.

Five Minutes of Scratching My Head...

Duh! htmlentities(htmlentities()) Tada! "b&aacute;sico".

My ID:10T moment of the day that I figured I would share!

Cheers!

Saturday, February 12, 2011

Holy Spam CR-48 List!

Hi all. We wanted to apologize for the emails that were sent to this group tonight.
A bug in our script to invite users to a Chrome notebook discussion group accidentally signed everyone up to receive email by default. We have turned off all posting to the group for now while we try to see what happened.

From the Chrome Notebook Pilor Users Group

I, like the rest of the CR48 testers, was added to the CR-48 Google Group and got emailed a good ~68 or so emails. It's Saturday morning and I usually just catch up with sleep on the weekends so I slept through all ~68 or so CR-48 Google Groups spam. So though my G1 battery is in need of charging (I'm used to it since the G1 battery is horrible), I now know that there's an official Google Groups for the CR-48 users!

Next time, one email and a heads up would suffice. ;)

Cheers!

P.S. I like the redesign of Google Groups!

Tuesday, February 8, 2011

CR-48: Sound Not Working

This may be fixed now that I've updated to the latest Chromium build, but if anyone else has this issue, please do chime in.

So occasionally when I have a video up or even streaming music, the sound will just be static and fuzz. The quick fix (yet annoying) is to close the laptop and re-open it, then the sound will work just fine.

I'll post an update if this happens again with this latest build.

Cheers!

Tuesday, February 1, 2011

Geek Culture Will Never Die...or Be Popular | Will Greenwald | PCMag.com

Popular Geek Culture

So this article PCMag has about "Geek Culture" was in my feed this morning on Slashdot. If you've got the five to ten minutes, I suggest you give it a quick read.

The article dives into another view on geeks and how some may argue that it has hit the mainstream. This is a similar topic I wrote about a little while back.

Get It Right

More or less, I have to agree with the article; a lot of the "geek culture" that is dramatized in popular television shows or movies is really just ridiculous!

Take for example the popular television show, 24. I was a fan, and I was very sad to see it go, but I would always laugh at their usage of technical terms. It would sound more or less like, "they've subnet'd our firewall and ping'd our VPN!" Which, if you're a technologist like myself, you would probably laugh, shake your head in disgust, and shrug it off. But on the other hand, 24 was a very successful show and entertained millions of viewers.

Geek Credentials

Okay sure, the term "geek" is up for debate. I'm not here to define what a geek really is or how you can determine if you are one or not. The term "geek" just seems to have become less offensive over the years and has become part of our culture.

In response to Will Greenwald's view on the topic, I for one am not a gamer, though I can build a computer (actually, just installed a new video card on my parents' PC two days ago), I've written code on VAX, et cetera, et cetera. Am I a geek? I do believe so. But because a small percentage of people know what I'm talking about, that's why geek culture is truly not in the mainstream.

I think Greenwald got it pretty accurately when he said, "There is no thin line between geek culture and pop culture. There's a big, thick wall between the two". Geek culture never really was popular, a few things here and there are a bit more popular, but nothing in depth.

Geek Culture Will Never Die...or Be Popular | Will Greenwald | PCMag.com

Tuesday, January 25, 2011

Fiabee: Files In the Cloud

I just wanted to drop a quick line about Fiabee. If you haven't messed around with storing files in the cloud yet, check these guys out.

Files On All Devices

They support Android devices (which I haven't tried yet, but will) and [obviously] Chrome (perhaps other browsers too, but they're in the Chrome Web Store). I previously found out I can upload videos in Google Docs, so that is wonderful, but Fiabee gave me 15gb of space (early adopters only; apparently it's only 1gb of space now) and that is a wonderful amount for me to play with.

Online Streaming

I uploaded a couple of MP3s to test around and awesome, I can stream them online! I can't seem to build a playlist, so that's kind of lame, but this site has a lot of potential.


There is a 7mb upload limit which is horribly low. So, I'm searching for a small video to test.

Buggy

When I first installed this on my CR48, I had some odd layout issues after installing it, but I ended up installing it on my other computers and it is working fine.
Like I said, I uploaded MP3s; I only see one listed under "Music". Though, I do see all of my files in "My Files". Odd.

Anyhow, not bad for cloud storage. By the way, the AJAX on that site is phenomenal! Cheers!

Saturday, January 15, 2011

Google Docs Supports Video Uploads Now

Videos in the Cloud

I logged in to Google Docs yesterday and a nice little pop-up had notified me that I can now upload and watch videos in the cloud!


Now this is all good and fine, but with such a limited amount of space on Google Docs, is Google going to give me an increase of space? How does copyright permissions affect this? I wouldn't mind putting up some DVR videos so I could watch it wherever I would like instead of wherever the file is.

This is definitely a helpful thing on my CR-48. It is also something that can possibly support my [lack of] DLNA issue. Maybe I'll try and upload a movie or tv show that I have to see if Google Docs supports it (and/or if I'll get in trouble for doing so).

This is still a cool idea. Thanks Google! Cheers!

Friday, January 14, 2011

No Screen?! Ok, Run Processes In The Background

I would hate for this post to become a rant (even though it kind of is), so I will just call this a "quick tip".

A Security Issue, But A New Headache For Screen Users

So, we implemented this new policy in our network where we cannot store our ssh keys on any server, they must be stored on your local computer only. Okay, that's fine, except for the fact that I like to take my laptop home and occasionally I need to run scripts that take a really long time to finish.

I used to be able to use this one server as a "gateway" to all of the other servers in our network. Luckily, screen is installed and I can just have a screen session open, run a process or two on any server, and then detach from the session, shutdown my laptop, go home, and check on it later.

But now with my laptop being the "gateway" I would either need to stay and wait for these processes to finish or risk aborting them when I log out.

nohup To the Rescue

Just a reminder, if you can't screen, there is always nohup and sending that process to the background!

Example: nohup some_process_or_script.sh &

I won't get into details, but here are some related/helpful commands to use along with this:
jobs, bg, fg

Check out their man pages and I'm sure you'll be happy that you can still be able to run processes before leaving the office and then check back on them later!

Cheers!

Saturday, January 8, 2011

CR-48 Content Browser Bug and Multitouch Support!

Update: If you check out the comment thread below, you can see how to get rid of this "Scanning Device..." message.

Content Browser Bug

I plugged in a digital video recorder device the other day to upload some files. The Content Browser acknowledged the device immediately and all went well. However, I now get this "Scanning Device.." message with an opened Content Browser every time I wake up the notebook or log in. It just sits there and all I do is close it. It keeps popping up now though. No, the device is not connected any longer.

Weird eh? Anyone else having this issue? --yes, I sent in a bug report to Google.


Multitouch w00t!

I just played with AudioTool (pretty cool so far!) and while playing around noticed the multi-touch support for the trackpad! Apparently, you can zoom in and out [in that app] just as you would in Android or an iphone.

So technically, I was trying to scroll in that app with two fingers on the trackpad like it said to do in the "Get Started" walkthrough. But hey, nice find for me!

Cheers!

Tuesday, January 4, 2011

CR-48 Flags Are Fun

Alas, I've found some new fun!




Since this "Advanced File System" seems to allow me more access to the local disk and sdcard, I can now post photos to Picassa! Yay!



Today was a good day.

Finally, another day of good testing with the CR-48.

CR-48's Right Click Is Alt Click

Right-Click Ahoy!

Aha! So alas I've found an easier (IMHO) right-click. Ladies and gentlemen, it is a Alt + click

Now my frustrations from a missing Ctrl + click type of right click have now been eased!

This wonderful quick tip is brought to you by Joey Izzo. Cheers!

Monday, January 3, 2011

CR-48: Cloudy Cloud Computing

Holidays are done and gone; it's time to start beta-testing this CR-48 again. This post's rants and raves are brought to you by the Cloud...

In The Cloud

Is everyone ready for everything to be Cloud-based? Do people really store that much data on servers that they do not own that they would be okay with a basic OS? I suppose, if you look passed the privacy and security issues anyone would surely be okay with this idea right?

Well, as my wife told me yesterday that she "loves" this netbook, I asked her to explain a little bit on why. It basically came down to this, it's great for just sitting down and surfing the net; and that's it right there! She really just loved the ability to be on anything web-based. There was no work-related things being done, no photo uploading, just reading the news on the web and assisting with recipes in the kitchen.

You really need to be committed to using Cloud-based apps if you want to appreciate the Chromium OS.

The Files Are Inside The Computer

Okay, as a technologist (and an ex-helpdesk support technician), I know that majority of people still store precious data on their hard drives; and with that model comes the "hard drive died, how can I get my data back?" scenario. Okay, so in the Cloud I can save documents and such but what about my media files? (I still haven't found an easy way to upload images to Picassa via CR-48!)

Okay, I know we all want to be like that guy in the Google CR-48 commercial, but some of us want more than just writing documents. My rants from this CR-48 have mainly stemmed off of not being able to access local files whether it is me trying to upload photos or play videos that I have locally.

Updates

I recently wrote about the CR-48 being a nice little HTPC. Well, since I had my friend from out-of-town staying with us during the holidays and we needed some entertainment, Clicker.TV came in handy as we searched each other's names and saw what came up, but ultimately watching dog-related videos to see if it could please my dog. Perhaps we should've searched "Kevin Bacon".
As an update to my finding of Aviary's Audio Editor, well, I decided to give it try and lay down some tracks. There seems to be a short recording time (2 minutes) per recording, so you either need to have a short song or record at 2-minute or less intervals. My friends and I set up an impromptu jam session and recorded a song, but was irritated that the end was cut off!
Also, there isn't a way to listen to your tracks while recording. Ouch!