continue reading hover preload topbar hover preload widget hover preload

Building a Better CAPTCHA

Categories: Computers & Technology, Software, Usability, Web Development  |   No Comments

CAPTCHAs can be good for stopping SPAM, but the last thing most of them are are usable. Don’t take my word for it, it’s a fact. One of the coolest ideas I ever saw was a HotOrNot mashup where you had to pick the three best looking ladies to prove you are a human. It was both usable and easy for a normal person, like my Grandparents, to use. That’s pretty unique and hard to come by, and that’s why I liked it.

One of the other easier CAPTCHAs I’ve used at work is a little dynamic images that asks you to do a little simple math. It’s an idea I saw on another site so I thought I would give it a try and it’s been extremely effective despite it’s ease of being broken. Surprisingly, it has completely stopped all SPAM coming through our contact form.

Another one I tried, much less effectively, is a colored word and a dropdown with a number of colors to choose from. It literally asks “What color is this text?” and offers a number of possibilities. This, however, was not effective for more than a week or so. The form still sees about one or two SPAM messages a day, which is especially strange because it’s a site that sees far less traffic. I think if I added more colors that weren’t even valid selections and changed the order it might be more effective, but I still need to find something better.

I’m thinking a system that would show three images and ask which one doesn’t belong could be usable, but it’s a little more difficult to implement; where do I get the images, how do I randomize the data, etc. I really like the HotOrNot CAPTCHA because the images always change and all of the images and data are crowdsourced, nothing for you to manage.

So, what can one do? Sadly, I don’t have an answer, but there is a lot of work being done on the topic. I think I need to just keep looking and mull this all over for a bit. We’ll see what I can find or come up with.

Media Playback in Ubuntu

Categories: Computers & Technology, Linux, Open Source, Software  |   No Comments

So, I had some Real Media (rm) videos that I wanted to view in Linux. But, like so many other sane people out there, I didn’t want anything to do with the official Real Player for Linux. I’ve never been a fan of Real and I’ve always thought their software was a bloated mess. Plus, why install yet another media player when I know I can get the job done with the mighty Mplayer?!

A quick search on Ubuntu Forums yielded this post. Following the link posted, here’s how I got it working from the command line:

$ sudo wget http://www.medibuntu.org/sources.list.d/hardy.list -O /etc/apt/sources.list.d medibuntu.list
$ wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add - && sudo apt-get update
$ sudo apt-get install non-free-codecs w32codecs

After that, the videos fired right up without a hitch. Brilliant! One thing to note: these codecs may be illegal in the US. I’ve read warning about them in the past anyway, though I didn’t happen to see any this time around. It’s kind of a legal gray area I guess, and while you’re not likely to get in trouble for using them, it’s something you should probably know. In any event, if you’re having problems playing videos in Linux (especially rm files), give this a shot.

My History of Coding and Computers

Categories: Computers & Technology, Software, Web Development  |   No Comments

Apparently one of the people Aaron works with called him out on his programming and computer use history and he posted his response on his blog. In that blog, he took the liberty of calling out a few of his friends, myself included. I put off responding because my computer crapped out on me again. Now that I’m back up and running, here is my response. Enjoy.

Skirting ISP Torrent Filtering Reset Requests

Categories: Computers & Technology, Linux, Software  |   No Comments

Many ISPs these days employ traffic shaping to make their networks run smoother. In the most basic sense, they give priority to more critical traffic, like VoIP for instance, and slow down less important traffic, like HTTP and Torrents. Lately, many ISPs have been doing their best to slap down any peer-to-peer (p2p) traffic, especially Bittorrent, because users are are consuming more bandwidth than the ISPs can handle. This is a result of the ISPs grossly overselling their networks and expecting most consumers to use a tiny fraction of their connection, a practice that worked great until more and more users became heavy consumers thanks to sites like YouTube and technologies like BitTorrent.

Now, I’m not saying that ISPs are doing anything wrong in overselling per se, but I do have a problem with them not properly planning for the future. Now that they have this bandwidth problem, instead of expending their networks to try and meet demands, they are using more and more restrictive filtering, sometimes even resorting to hacker-style packet injection in their traffic, nearly crippling whatever technology it is that people would like to use (and pay to use). Not only is this a very shady thing to do on their part, but in nearly all cases, they hide this fact from consumers and outright deny that anything is going on. They get away with all of this thanks to their monopolies in their select markets. But I won’t get in to all of that.

As in any other situation where one party tries to control another party, people are finding that there are many ways to get around this type of filtering.

I’ll Have One of Your Finest Arduinos, Please

Categories: Arduino, Computers & Technology, Hardware, Linux, Open Source, Software  |   No Comments

I’ve seen all kinds of really cool projects that use the fancy new Arduino microcontroller. I’m not the biggest fan of C or C++ (to be honest, I hate them both), but the Wiring model and the Processing environment seems interesting. So much so that I decided over this long weekend that I wanted to get in on the fun on purchased a kit from Adafruit. Sure I could have gotten it cheaper and ditched all the extras, but it seemed reasonable given that it comes with the Protoshield, breadboard, a couple power options, USB cable and some extra goodies to get me started out of the box. I figured it was all worth it.

I have some ideas for the normal automated plant watering, temperature-based fan controls and email and chat LED alerts, but I don’t have any revolutionary plans for the device. Talking to Jason, he gave me the idea of controlling motors with the unit which got me thinking back to the Assembly-based cars we coded for in college. I can see putting together a little car that can sense and route around obstacles and he suggested mounting some IR transmitters to turn TVs in the area on and off at random, which would be pretty fun too. I caught this “Large scale DOT Matric printer” on Hackaday too, which made me think about feeding images into the device and having it drive motors to actually create them on a large scale either like a DOT Matrix printer or a planer.

Anyway, we’ll see how much I do with this thing and how far I get. If nothing else, it’s an excuse to get back into hardware hacking. And if things go well, I can actually start posting projects up here. If you have any ideas for cool things to try out or questions about the unit, please post in the comments.

My Foray Into Data Recovery

Categories: Computers & Technology, Linux, Software  |   No Comments

I’ve been growing increasingly concerned with the quality of hard drives being made today. It used to be that a hard drive would last you many years before you’d see a failure out of it. In fact, I still have hard drives that date back to the early 90′s that continue to work to this day. I can’t say the same for more recent drives, especially those that have been made in the last year or two, as I’ve just been constantly dealing with failed hard drives on my machines. I’ll preface my most recent experience with a little history first.

The Preface

I recently upgraded my raid machine, which is simply a low-power PC in a large case with four hard drives in it all set up as a Linux software RAID-5 array. Previously, I had used four 160GB IDE drives hooked up in the machine using a PCI controller card. That was fine for storage a few years ago when I built it, but recently I’ve managed to fill the thing, so it was clearly time for an upgrade. Considering that the entire array was less than a single 500GB drive, it’s not too surprising.

My plan was to buy four 500GB drives and increase the array to 1.5TB, but before the planned migration, I decided to buy a new 500GB drive on which to back up the current array. Sure I could have replaced the drives one by one, rebuilding the array each time and expending the partition when I was all done, but the machine was never quite set up the way I wanted it to be, and since I wanted to switch from IDE to SATA, I would have had a lot of tweaking to do. I also wasn’t sure how far I was stretching the PSU in the machine, because while it was running a low power VIA CPU, it was still powering five hard drives (the array and the main system drive). Backing everything up to another drive and starting a new array from scratch just made more sense, so that’s exactly what I did.

Rolling Your Own .deb Package, Getting Secure VPN Tunneling on Ubuntu

Categories: Computers & Technology, Linux, Software  |   No Comments

As you may or may not know, Ubuntu doesn’t include a build environment by default. What this means is that in order to compile program from source, you’ll need to get the build environment on your own. This is simple enough though, as outlined below:

sudo apt-get install build-essential checkinstall

This will install 2 things, the build environment (build-essential) and a program that will allow you to install your compiled code as a .deb package (checkinstall). Installing your code as a deb means that you can easily remove it on your own using apt instead of hunting down files and removing them by hand. Instead you just issue apt-get remove PACKAGE as root and it’s gone.

I learned this while getting a VPN tunnel through Torrent Freedom working. In order to use their service, you have to be running a Beta build of OpenVPN. Since the version in the Ubuntu repository is NOT the Beta, it won’t work with that version. So, you have to roll your own, but it’s easier than you might think.

Choosing Default Sound Card in Ubuntu

Categories: Computers & Technology, Linux  |   No Comments

This may not only apply to Ubuntu, but it’s the only Linux distro I tried it in (since it’s what I run). I think any distro using ALSA will work the same.

The problem is that I have a SoundBlaster Live card as well as an onboard VIA sound chip. Since Linux ignores the system BIOS, disabling the onboard sound doesn’t do anything. Obviously I don’t want to use the onboard sound card or I wouldn’t have bothered putting the SBLive card in in the first place. Simple fix; we’re going to change the default card to the SBLive card!

$ asoundconf list

Names of available sound cards:
V8237
Live

Your list may differ, but you should be able to find the card you want. In my case, it’s the Live card. So….

$ asoundconf set-default-card Live

Note that I did not use sudo to list or change anything, it’s a user setting. Now, restart any sound applications and you should be up and running. This should live through reboot as well.

Ubuntu, Firefox, Flash and Sound

Categories: Computers & Technology, Linux, Software  |   Comments(2)

If you Google “ubuntu flash sound” you’ll find a LOT of information about flash sound problems and how to fix them. The consensus seems to be installing alsa-oss and configuring Firefox to use it. However, try as I may, I couldn’t get it to work. Then I read somewhere that you needed to set other programs to use Alsa instead of OSS, and that did the trick. YouTube seems to lock up Firefox from time to time so I’m still waiting on a more permanent fix, but this works well enough for now.

USB Devices in VirtualBox

Categories: Computers & Technology, Linux, Software, Virtualization  |   No Comments

I’ve been using VirtualBox for a while now after finding it in Automatix in Ubuntu. Anyway, until now, I’ve been perfectly happy not using USB devices with it. For the most part, I still am, but I was curious how hard it was to set up, so I looked it up. Here’s what I found (originally posted here)

-Install the other OS

-Create a group called “usbfs” and add yourself to it.

groupadd usbfs
usermod -aG usbfs 

-Edit /etc/fstab and add the following, changing the group ID to match that of the usbfs group you just added (tail /etc/group)

# 1002 is the USB group ID
none /proc/bus/usb usbfs devgid=1002,devmode=664 0 0

-In terminal, issue the following command to see available USB devices

VBoxManage list usbhost

-Use the output of this command to set up the filters for USB devices under VirtualBox.

-Reboot your machine. This is required to both recognize the new group and new mounting options

*USB DEVICES HAVE TO BE UNMOUNTED BEFORE VIRTUAL MACHINE CAN RECOGNIZE THEM*

There it is. Now, simply unmount the USB device from the host OS before booting the guest and you’re good to go.