Showing posts with label Geek. Show all posts
Showing posts with label Geek. Show all posts

Jun 11, 2011

The Guide to Geek Love


I happen to think of myself as a computer enthusiast, or as the society describes it: having geek tendencies (did you know that roots for the word geek mean freak or crazy?). It is a general consensus that "we" are not meant to participate in human relationships, and I am no exception to this rule considering my personal disastrous dating history. Being a faithful listener of the Buzz Out Loud tech podcast, I wanted to share the guidelines to finding geek love posted by a listener, in the Computer Love section of episode 1487 of the show (this has been a little modified and I added some comments, the original can be found here).

Based on my experience, this is my guide to finding geek love:

1. Get Real. I had a couple of internet dates, and while my wife and I met in real life, we did most of our early flirtation via email. The problem with that is that I did a very plausible online impression of someone with his life in gear, but in real life I was much more messed up. You really have to meet me in person to realize how annoying this can be. But I found someone who kind of likes it.
Comment: Yeah, this is totally me, online I am a serious, funny and well organized kid....In real life, not so much :(.

2. Hope for Failure. The percentage of the general population who will intentionally date a geek is probably in the low teens. Add to that your own criteria (weight, height, hair color, Star Trek vs. Star Wars, has a job, bathes) and your pool starts shrinking. This is not a bug, it's a feature. A bad date or a rejected pickup is not a disaster, it's just another iteration in your own personal sorting algorithm (Comment: I love this line). 

3. Define Success. I knew I was in love because my happiness had become contingent on hers, and when I was with her, I was a better version of myself than when I wasn't. Of course, I'm kind of an idiot, so it took me a long time after falling in love to even realize that it had happened. I almost drew charts, but even I recognized that would be a bit much. Instead, I proposed. Ineptly. But she said yes anyway.
We've been married 5 years. We have a 4 month old who just outgrew his first Star Wars onesie and a three year old who starts most of her sentences with ""Well actually..."" Love is good.
Comment: This is the mushy part that I hate when others talk about the love thing.


All in all, if you know a geek, just give him/her some Love. It may not look like it, but "we" always have a lot to offer.

May 13, 2011

Breaking Out of "Jail" : Restricted Shell

No, I am not writing a sequel for the show "Prison Break", though I would love to see it come back to the screens :).

If you have never used a Linux or Unix-like terminal to administer a computer (yeah, it's a geeky post), you better stop reading now. The purpose of this post is to give some ideas on ways to get out of restricted shells on Linux systems.

- "But what is this restricted shell thing you are talking about?".
I assume as a Linux user (if you are not, you should have stopped reading by now :D), you know that each time a terminal is launched, a special program is started to read your commands: The Shell. There exist many shells (Boune shell or bash, Korne Shell or kshell, and more) and they are very powerful as you might expect. However, mostly in production environments where multiple users can remotely access a shell of a machine, it is good practice for administrators to apply restrictions on the commands that a normal user can execute on the host with the help of restricted shells (a good example is rbash and this post How to restrict access with rbash describe a way to implement it).

- "So how do I break out of this restrictive "prison"?", two words: Shell Escapes.
Many command-line applications provide a way to fall back into a shell, restrictive or not. The one I will mostly talk about is offered by vi/vim the text editor, since it can permit you to access an unrestricted shell following these instructions:

1. Once in vi/vim, type ESC, then:
  • Type “:set shell=/bin/bash
  • Type “:shell” and VOILA!!!!! 

Unfortunately, vi/vim also has a restricted version rvi/rvim in which this trick will not work. If you are stuck with rvi, you can try the following methods to access vi with other applications:

2. Using the text-based browser lynx:
  • open a local file with lynx (e.g.: $ lynx /etc/passwd)
  • type “o” to open the options; change the second option (Editor) to “/bin/vi” and save the changes to go back at the main page.
  • Type “e” to edit the file with vi
  • Follow instructions in 1.
3. Using the mail (local email client) command:
  • $ set VISUAL=/bin/vi
  • $ mail -s "subject" "destination email"
  • Type "~v" on the next line to edit the mail with vi.
  • Follow the instructions in 1.
There are various other ways to obtain the same result, this was just a the tip of the iceberg.
ENJOY YOUR FREEDOM!!!


UPDATE: Guess what?? The browser Elinks is also vulnerable to shell escapes. This is based on the feature (hacking feature?) allowing users to edit the contents of text boxes on a webpage using external editors (i.e. using other applications on the machine... Yayyy vi/vim). All you have to do is setup the $EDITOR environment variable with "/bin/vi" and the rest is history... Wait you need more details?? OK:

  • $ set EDITOR=/bin/vi
  • Open a webpage containing a text box (should be easy to find on the Internet. If you can not, well lmgtfy!!!).
  • Navigate to the text-box area and Enter to edit, the press F4 (or whatever is used in the configurations) to edit the text box externally, and you should see something familiar :=)

Search This Blog