April 26th, 2010 by Daniel Herman
No comments »
Google Code Jam – Get to Work
The problem:
For anyone looking at this problem, here’s something that you should know about this problem. Although it’s not explicitly stated that I saw, the sample data implies that if an employee is in the office hometown, that person does not need to commute via a vehicle and can be excluded.
Other than that, it’s relatively simple. Create a list of employees with their hometown and commuter capacity, then just iterate through that list (sorted by commuter capacity) for each hometown. You should be able to either determine that minimum number of cars needed or that it’s impossible relatively quickly.
» Read more: Get to Work – March 2010
April 25th, 2010 by Daniel Herman
1 comment »
Google Code Jam – Odd Man Out
The problem:
This problem is pretty easy. Basically, we have N number of integers with one of them being unique. It’s easy enough to simply search through a list of the provided integers until you run across one that has only 1 match in the list – that’s your answer.
And yes, I know I can break the loop after I’ve found the lone integer – since this is so quick running and it’s nothing important, I didn’t bother going back to fix that.
» Read more: Odd Man Out – March 2010
March 26th, 2010 by Daniel Herman
1 comment »
Challenge Lab #2 – EIGRPv6/OSPFv3 Redistribution
.
Overview:
Coke and Pepsi are finally merging after so many decades once people realized that the separation in drinks was stupid, they taste exactly the same. Anyway, Coke utilizes an EIGRP based IPv6 network while Pepsi chose to go with IPv6 and OSPF because well, the coin landed on tails. You have been tasked with establishing connectivity between these two corporations. Luckily, we found a router in a janitor’s closet that randomly happened to be connecting the two companies, so that made it easy.
» Read more: EIGRPv6/OSPFv3 Redistribution
February 13th, 2010 by Daniel Herman
No comments »
Google Code Jam – Alien Numbers
The problem:
This problem is basically asking us to do conversions from base-X to base-Y. To do that, we’re going to do 2 conversions: one from base-X to base-10, then one from base-10 to base Y.
The conversion for base-10 is pretty simple. If we have a number in base-3 such as 201, then that can be represented in base-10 by the following: (2 * 3^2) + (0 * 3^1) + (1 * 3^0) = 19.
To convert to base-Y, we’re going to use the following method (using base-5 for our conversion and 19 (base-10) as our example).
19 / 5 = 3 R 4
3 / 5 = 0 R 3
We then take those remainders and write them down in reverse, so 19 (base-10) = 34 (base 5). Converting the numbers to the “Alien” numbers is a simple process of matching up the digits with their corresponding index in the given alien numbers.
» Read more: Alien Numbers – April 2008
March 15th, 2009 by Daniel Herman
No comments »
Challenge Lab #3 – IPv6 to IPv6 – Tunneling through IPv4
(Note: Please complete Challenge Lab #2 – EIGRPv6 / OSPFv3 Redistribution prior to this if you are not already familiar with IPv6 terms and concepts.)
Overview:
A small business owner in your local town has contacted your consulting company request someone to change them to an entirely IPv6 network. Although you know that it is kind of pointless for a small shop to be spending money on the transition at this time, you are more than willing to let them write you as many checks as they want. One of the issues you will be facing is how to maintain connectivity between their two locations when you only have access to the IPv4 internet.
» Read more: IPv6 to IPv6 – Tunneling through IPv4
December 31st, 2008 by Daniel Herman
No comments »
At a recent conference, it was announced that a group of researchers have been successful in creating bogus SSL certificates that will look legitimate to your browser. They did this through something known as md5 collisions. When SSL certificates are made, part of the process is creating an md5 hash associated with that certificate. Then, when you visit say amazon.com, your browser (the client) can check a locally generated hash against the certificate to confirm validity.
The problem with that is these hashes are NOT unique. There are “collisions” that can occur; two completely different files or strings or in this case certificates can have identical hashes. Through some massive computing power, researchers were able to create certificates that mimic the valid hash of certain websites which to say the least is dangerous for anyone visiting a compromised website. You could be redirected to a phishing website for your local bank and it would still look completely legitimate, SSL certificate and all.
People, this is why we have advancements in security. MD5 is a very old technology, and though still a good technology, it has been replaced by newer and better hash functions such as SHA-1 and SHA-2 to name a couple. Using MD5 to me is like saying that DES-56 encryption is good enough when you have AES-256 available to you. It is insanity for the websites that are dealing with the very security of our personal and financial information to not be using the latest and greatest technology.
To check out the presentation given at this conference, go here.
December 30th, 2008 by Daniel Herman
No comments »
So a couple of months ago, the company I work for was interested in using a domain controller at a fairly large and important event that we conduct yearly. The idea was that rather than having to do last minute changes on about 120 laptops to accommodate various groups or needs, we could just push out any changes needed via group policy and save oodles of time. To keep things nice and mobile, we decided that a ThinkPad T61 would make an awfully nice mobile domain controller. We even threw in a second SATA drive into a removable tray so that we could have RAID-1 on our mobile DC. And that is when we hit the first snag.
Apparently, Microsoft deems it dangerous to be able to create dynamic disks and/or RAID arrays on laptops due to the “removable” nature of the media. In all fairness, I don’t really blame them – who in their right mind would set up a RAID array using a removable drive on a laptop? Well, that’s exactly what we needed to do. » Read more: Dynamic Disks on a Laptop
December 30th, 2008 by Daniel Herman
No comments »
Challenge Lab #1 – MPLS VPN
.
Overview:
.
A customer at XYZ corporation has just asked you, an engineer at HyperGlobalMegaCorp Regional ISP, to set him up a tunneled VPN connection between two of their sites. The problem is that somehow both XYZ and ABC corporations use the same exact IP addressing scheme, so they need to somehow accommodate that. You’ve been tasked with researching and implementing MPLS VPNs and VRF in order to accommodate both their security and IP addressing needs.
» Read more: Multi Protocol Label Switching (MPLS) VPN
December 29th, 2008 by Daniel Herman
No comments »
So over the past few days, I’ve been trying to hack together a setup at my home for this website using an old Thinkpad T41 on my cable modem connection (yea…I didn’t think I’d need a ton of bandwidth…yet!). Of course port 80 and 443 are blocked by default since Optimum Online doesn’t want us hosting servers on a non-business account, so I was running this on port 85 and 886 for HTTP and HTTPS respectively. Simple right? Yes, up until you try to make DNS work all nice and pretty (a.k.a. no port numbers needed in the address).
An absolutely perfect solution to this dilemma would have been DNS SRV entries. Or they would have been if any browser in existence supported them. I can’t really fathom why they aren’t supported either.
» Read more: DNS SRV Entries