I didn't try a recruiter, maybe I should have. I applied to approx 60 different positions.
>where you live
Greater Seattle area.
>able to learn on your own and figure out complex problems with no experience
Yes, generally. I'm comfortable with software and hardware, mechanical things, electronics, etc.
I did a randomly-selected code challenge on the Sup Forums thread the other day. It took me about 3 hrs.
#!/usr/bin/perl
# Syntax: ipcalc.pl
use strict;
use experimental 'bitwise';
my $ip_number = deconvolute($ARGV[0]);
my $mask_number = deconvolute_mask($ARGV[1]);
print "IP address: " . convolute(deconvolute($ARGV[0])) ."\n";
print "Netmask: " . convolute_mask(deconvolute_mask($ARGV[1])) ."\n";
my $network_address_number = $ip_number-(($ip_number % ($mask_number+1)));
my $first_host_number = $network_address_number+1;
my $last_host_number = $network_address_number+$mask_number-1;
my $broadcast_number = $network_address_number+$mask_number;
print "Network address: " . convolute($network_address_number) . "\n";
print "Broadcast: " . convolute($broadcast_number) . "\n";
print "First host: " . convolute($first_host_number) . "\n";
print "Last host: " . convolute($last_host_number) . "\n";
sub deconvolute {
my @ip = split(/\./,$_[0]);
return ($ip[0]*16777216 + $ip[1]*65536 + $ip[2]*256 + $ip[3]);
}
sub deconvolute_mask {
my @mask = split(/\./,$_[0]);
return (255-$mask[0])*16777216 + (255-$mask[1])*65536 + (255-$mask[2])*256 + (255-$mask[3]);
}
sub convolute {
use integer;
return join(".",($_[0]/16777216,($_[0]%16777216)/65536,(($_[0]%16777216)%65536)/256,(($_[0]%16777216)%65536)%256));
}
sub convolute_mask {
use integer;
my $i = 4294967295-$_[0];
return join(".",($i/16777216,($i%16777216)/65536,(($i%16777216)%65536)/256,(($i%16777216)%65536)%256));
}