spechal.com | [spesh-uhl]

205 views
Jan/10

21

What is the IQ of a Raccoon?

This question was posed on WikiAnswers and I couldn’t resist answering…

It depends on which raccoon you select for testing. Raccoons like shiny objects, so you should build traps using silver and gold. You will obviously want to test the raccoon that selects the gold since gold bullion is worth more. The other raccoon is typical as it went for the more shiny object.

No tags

340 views

Recently Fox was almost dropped from the Time Warner Cable line up. Why? Fox wanted an additional $1.00 per cable subscriber. Time Warner and Fox came to an undisclosed deal, but if they had not, over 6 million people would have lost about 20 channels.

What’s my solution? Internet Televisions. If our televisions were able to communicate with the broadcasting company, as opposed to the providers (i.e. cable and satellite), the broadcasters could charge the public whatever they want and the public would only pay for what they want. Isn’t that what both ends really want? The only thing stopping this are the current providers. Sure, they own the cable lines, fiber lines and satellites already in use, but why can’t broadcasters provide this as an alternative service? The providers could and should be punished for blocking such communications. There is already precedence, see Comcast Port Blocking, that sides with the public when an ISP eavesdrops.

Imagine only paying for the 20 channels you watch, maybe even only for the shows you want to watch.

No tags

433 views
Dec/09

30

Python Beale Cipher Decoder

Here is a slimmed down version of my PHP Beale Cipher Decoder script using Python.  Usage is pretty straight forward.

#
#   Beale Decoder using Python
#   Copyright 2009 Travis Crowder
#   Published under the MIT License
#

class Beale(object):

    def __init__(self):
        self.__ciphers = []
        self.__ciphers.append([71, 194, 38, 1701, 89, 76, 11, 83, 1629, 48, 94, 63, 132, 16, 111,
                95, 84, 341, 975,14, 40, 64, 27, 81, 139, 213, 63, 90, 1120, 8, 15,
                3, 126, 2018, 40, 74, 758, 485,604, 230, 436, 664, 582, 150, 251,
                284, 308, 231, 124, 211, 486, 225, 401, 370,11, 101, 305, 139, 189,
                17, 33, 88, 208, 193, 145, 1, 94, 73, 416, 918, 263, 28, 500,538,
                356, 117, 136, 219, 27, 176, 130, 10, 460, 25, 485, 18, 436, 65,
                84, 200, 283,118, 320, 138, 36, 416, 280, 15, 71, 224, 961, 44, 16,
                401, 39, 88, 61, 304, 12, 21,24, 283, 134, 92, 63, 246, 486, 682,
                7, 219, 184, 360, 780, 18, 64, 463, 474, 131,160, 79, 73, 440, 95,
                18, 64, 581, 34, 69, 128, 367, 460, 17, 81, 12, 103, 820, 62,116,
                97, 103, 862, 70, 60, 1317, 471, 540, 208, 121, 890, 346, 36, 150,
                59, 568,614, 13, 120, 63, 219, 812, 2160, 1780, 99, 35, 18, 21,
                136, 872, 15, 28, 170, 88, 4,30, 44, 112, 18, 147, 436, 195, 320,
                37, 122, 113, 6, 140, 8, 120, 305, 42, 58, 461,44, 106, 301, 13,
                408, 680, 93, 86, 116, 530, 82, 568, 9, 102, 38, 416, 89, 71, 216,
                728, 965, 818, 2, 38, 121, 195, 14, 326, 148, 234, 18, 55, 131,
                234, 361, 824, 5,81, 623, 48, 961, 19, 26, 33, 10, 1101, 365, 92,
                88, 181, 275, 346, 201, 206, 86,36, 219, 324, 829, 840, 64, 326,
                19, 48, 122, 85, 216, 284, 919, 861, 326, 985,233, 64, 68, 232,
                431, 960, 50, 29, 81, 216, 321, 603, 14, 612, 81, 360, 36, 51, 62,
                194, 78, 60, 200, 314, 676, 112, 4, 28, 18, 61, 136, 247, 819, 921,
                1060, 464, 895,10, 6, 66, 119, 38, 41, 49, 602, 423, 962, 302, 294,
                875, 78, 14, 23, 111, 109, 62,31, 501, 823, 216, 280, 34, 24, 150,
                1000, 162, 286, 19, 21, 17, 340, 19, 242, 31,86, 234, 140, 607,
                115, 33, 191, 67, 104, 86, 52, 88, 16, 80, 121, 67, 95, 122, 216,
                548, 96, 11, 201, 77, 364, 218, 65, 667, 890, 236, 154, 211, 10,
                98, 34, 119, 56,216, 119, 71, 218, 1164, 1496, 1817, 51, 39, 210,
                36, 3, 19, 540, 232, 22, 141, 617,84, 290, 80, 46, 207, 411, 150,
                29, 38, 46, 172, 85, 194, 39, 261, 543, 897, 624, 18,212, 416, 127,
                931, 19, 4, 63, 96, 12, 101, 418, 16, 140, 230, 460, 538, 19, 27,
                88,612, 1431, 90, 716, 275, 74, 83, 11, 426, 89, 72, 84, 1300,
                1706, 814, 221, 132,40, 102, 34, 868, 975, 1101, 84, 16, 79, 23,
                16, 81, 122, 324, 403, 912, 227, 936,447, 55, 86, 34, 43, 212, 107,
                96, 314, 264, 1065, 323, 428, 601, 203, 124, 95, 216,814, 2906,
                654, 820, 2, 301, 112, 176, 213, 71, 87, 96, 202, 35, 10, 2, 41,
                17, 84,221, 736, 820, 214, 11, 60, 760])
        self.__ciphers.append([115, 73, 24, 807, 37, 52, 49, 17, 31, 62, 647, 22, 7, 15, 140, 47,
               29, 107, 79, 84, 56, 239, 10, 26, 811, 5, 196, 308, 85, 52, 160,
               136, 59, 211, 36, 9, 46, 316, 554, 122, 106, 95, 53, 58, 2, 42, 7,
               35, 122, 53, 31, 82, 77, 250, 196, 56, 96, 118, 71, 140, 287, 28,
               353, 37, 1005, 65, 147, 807, 24, 3, 8, 12, 47, 43, 59, 807, 45, 316,
               101, 41, 78, 154, 1005, 122, 138, 191, 16, 77, 49, 102, 57, 72, 34,
               73, 85, 35, 371, 59, 196, 81, 92, 191, 106, 273, 60, 394, 620, 270,
               220, 106, 388, 287, 63, 3, 191, 122, 43,  234, 400, 106, 290, 314,
               47, 48, 81, 96, 26, 115, 92, 158, 191, 110, 77, 85, 197, 46, 10,
               113, 140, 353, 48, 120, 106, 2, 607, 61, 420, 811, 29, 125, 14, 20,
               37, 105, 28, 248, 16, 159, 7, 35, 19, 301, 125, 110, 486, 287, 98,
               117, 511, 62, 51, 220, 37, 113, 140, 807, 138, 540, 8, 44, 287, 388,
               117, 18, 79, 344, 34, 20, 59, 511, 548, 107, 603, 220, 7, 66, 154,
               41, 20, 50, 6, 575, 122, 154, 248, 110, 61, 52, 33, 30, 5, 38, 8,
               14, 84, 57, 540, 217, 115, 71, 29, 84, 63, 43, 131, 29, 138, 47, 73,
               239, 540, 52, 53, 79, 118, 51, 44, 63, 196, 12, 239, 112, 3, 49, 79,
               353, 105, 56, 371, 557, 211, 515, 125, 360, 133, 143, 101, 15, 284,
               540, 252, 14, 205, 140, 344, 26, 811, 138, 115, 48, 73, 34, 205,
               316, 607, 63, 220, 7, 52, 150, 44, 52, 16, 40, 37, 158, 807, 37,
               121, 12, 95, 10, 15, 35, 12, 131, 62, 115, 102, 807, 49, 53, 135,
               138, 30, 31, 62, 67, 41,  85, 63, 10, 106, 807, 138, 8, 113, 20, 32,
               33, 37, 353, 287, 140, 47, 85, 50, 37, 49, 47, 64, 6, 7, 71, 33, 4,
               43, 47, 63, 1, 27, 600, 208, 230, 15, 191, 246, 85, 94, 511, 2270,
               20, 39, 7, 33, 44, 22, 40, 7, 10, 3, 811, 106, 44, 486, 230, 353,
               211, 200, 31, 10, 38, 140, 297, 61, 603, 320, 302, 666, 287, 2, 44,
               33, 32, 511, 548, 10, 6, 250, 557, 246, 53, 37, 52, 83, 47, 320, 38,
               33, 807, 7, 44, 30, 31, 250, 10, 15, 35, 106, 160, 113, 31, 102,
               406, 230, 540, 320, 29, 66, 33, 101, 807, 138, 301, 316, 353, 320,
               220, 37, 52, 28, 540, 320, 33, 8, 48, 107, 50, 811, 7, 2, 113, 73,
               16, 125, 11, 110, 67, 102, 807, 33, 59, 81, 158, 38, 43, 581, 138,
               19, 85, 400, 38, 43, 77, 14, 27, 8, 47, 138, 63, 140, 44, 35, 22,
               177, 106, 250, 314, 217, 2, 10, 7, 1005, 4, 20, 25, 44, 48, 7, 26,
               46, 110, 230, 807, 191, 34, 112, 147, 44, 110, 121, 125, 96, 41, 51,
               50, 140, 56, 47, 152, 540, 63, 807, 28, 42, 250, 138, 582, 98, 643,
               32, 107, 140, 112, 26, 85, 138, 540, 53, 20, 125, 371, 38, 36, 10,
               52, 118, 136, 102, 420, 150, 112, 71, 14, 20, 7, 24, 18, 12, 807,
               37, 67, 110, 62, 33, 21, 95, 220, 511, 102, 811, 30, 83, 84, 305,
               620, 15, 2, 108, 220, 106, 353, 105, 106, 60, 275, 72, 8, 50, 205,
               185, 112, 125, 540, 65, 106, 807, 188, 96, 110, 16, 73, 33, 807,
               150, 409, 400, 50, 154, 285, 96, 106, 316, 270, 205, 101, 811, 400,
               8, 44, 37, 52, 40, 241, 34, 205, 38, 16, 46, 47, 85, 24, 44, 15, 64,
               73, 138, 807, 85, 78, 110, 33, 420, 505, 53, 37, 38, 22, 31, 10,
               110, 106, 101, 140, 15, 38, 3, 5, 44, 7, 98, 287, 135, 150, 96, 33,
               84, 125, 807, 191, 96, 511, 118, 440, 370, 643, 466, 106, 41, 107,
               603, 220, 275, 30, 150, 105, 49, 53, 287, 250, 208, 134, 7, 53, 12,
               47, 85, 63, 138, 110, 21, 112, 140, 485, 486, 505, 14, 73, 84, 575,
               1005, 150, 200, 16, 42, 5, 4, 25, 42, 8, 16, 811, 125, 160, 32, 205,
               603, 807, 81, 96, 405, 41, 600, 136, 14, 20, 28, 26, 353, 302, 246,
               8, 131, 160, 140, 84, 440, 42, 16, 811, 40, 67, 101, 102, 194, 138,
               205, 51, 63, 241, 540, 122, 8, 10, 63, 140, 47, 48, 140, 288])
        self.__ciphers.append([317, 8, 92, 73, 112, 89, 67, 318, 28, 96, 107, 41, 631, 78, 146,
                397, 118, 98, 114, 246, 348, 116, 74, 88, 12, 65, 32, 14, 81, 19,
                76, 121, 216, 85, 33, 66, 15, 108, 68, 77, 43, 24, 122, 96, 117, 36,
                211, 301, 15, 44, 11, 46, 89, 18, 136, 68, 317, 28, 90, 82, 304, 71,
                43, 221, 198, 176, 310, 319, 81, 99, 264, 380, 56, 37, 319, 2, 44,
                53, 28, 44, 75, 98, 102, 37, 85, 107, 117, 64, 88, 136, 48, 154, 99,
                175, 89, 315, 326, 78, 96, 214, 218, 311, 43, 89, 51, 90, 75, 128,
                96, 33, 28, 103, 84, 65, 26, 41, 246, 84, 270, 98, 116, 32, 59, 74,
                66, 69, 240, 15, 8, 121, 20, 77, 89, 31, 11, 106, 81, 191, 224, 328,
                18, 75, 52, 82, 117, 201, 39, 23, 217, 27, 21, 84, 35, 54, 109, 128,
                49, 77, 88, 1, 81, 217, 64, 55, 83, 116, 251, 269, 311, 96, 54, 32,
                120, 18, 132, 102, 219, 211, 84, 150, 219, 275, 312, 64, 10, 106,
                87, 75, 47, 21, 29, 37, 81, 44, 18, 126, 115, 132, 160, 181, 203,
                76, 81, 299, 314, 337, 351, 96, 11, 28, 97, 318, 238, 106, 24, 93,
                3, 19, 17, 26, 60, 73, 88, 14, 126, 138, 234, 286, 297, 321, 365,
                264, 19, 22, 84, 56, 107, 98, 123, 111, 214, 136, 7, 33, 45, 40, 13,
                28, 46, 42, 107, 196, 227, 344, 198, 203, 247, 116, 19, 8, 212, 230,
                31, 6, 328, 65, 48, 52, 59, 41, 122, 33, 117, 11, 18, 25, 71, 36,
                45, 83, 76, 89, 92, 31, 65, 70, 83, 96, 27, 33, 44, 50, 61, 24, 112,
                136, 149, 176, 180, 194, 143, 171, 205, 296, 87, 12, 44, 51, 89, 98,
                34, 41, 208, 173, 66, 9, 35, 16, 95, 8, 113, 175, 90, 56, 203, 19,
                177, 183, 206, 157, 200, 218, 260, 291, 305, 618, 951, 320, 18, 124,
                78, 65, 19, 32, 124, 48, 53, 57, 84, 96, 207, 244, 66, 82, 119, 71,
                11, 86, 77, 213, 54, 82, 316, 245, 303, 86, 97, 106, 212, 18, 37,
                15, 81, 89, 16, 7, 81, 39, 96, 14, 43, 216, 118, 29, 55, 109, 136,
                172, 213, 64, 8, 227, 304, 611, 221, 364, 819, 375, 128, 296, 1, 18,
                53, 76, 10, 15, 23, 19, 71, 84, 120, 134, 66, 73, 89, 96, 230, 48,
                77, 26, 101, 127, 936, 218, 439, 178, 171, 61, 226, 313, 215, 102,
                18, 167, 262, 114, 218, 66, 59, 48, 27, 19, 13, 82, 48, 162, 119,
                34, 127, 139, 34, 128, 129, 74, 63, 120, 11, 54, 61, 73, 92, 180,
                66, 75, 101, 124, 265, 89, 96, 126, 274, 896, 917, 434, 461, 235,
                890, 312, 413, 328, 381, 96, 105, 217, 66, 118, 22, 77, 64, 42, 12,
                7, 55, 24, 83, 67, 97, 109, 121, 135, 181, 203, 219, 228, 256, 21,
                34, 77, 319, 374, 382, 675, 684, 717, 864, 203, 4, 18, 92, 16, 63,
                82, 22, 46, 55, 69, 74, 112, 134, 186, 175, 119, 213, 416, 312, 343,
                264, 119, 186, 218, 343, 417, 845, 951, 124, 209, 49, 617, 856, 924,
                936, 72, 19, 28, 11, 35, 42, 40, 66, 85, 94, 112, 65, 82, 115, 119,
                236, 244, 186, 172, 112, 85, 6, 56, 38, 44, 85, 72, 32, 47, 73, 96,
                124, 217, 314, 319, 221, 644, 817, 821, 934, 922, 416, 975, 10, 22,
                18, 46, 137, 181, 101, 39, 86, 103, 116, 138, 164, 212, 218, 296,
                815, 380, 412, 460, 495, 675, 820, 952])

    def decode(self, text, cipher):
        cipher = self.__ciphers[cipher]
        for cipherKey in cipher:
            try:
                print text[cipherKey],
            except Exception, e:
                pass # out of range

text = "This is a test of the emergency broadcast system.  If this were an actual warning, something else would be said right about ... now!"

obj = Beale()
obj.decode(text, 0)

, , ,

218 views
Dec/09

29

What do you want to read?

So I am pretty much out of ideas for blogging as you can see from my last post being almost a month ago.

What do you want me to write about?

No tags

337 views
Dec/09

6

phpize not found

This error is typically generated when you don’t have the PHP development libraries installed.

Installing the libraries via repository is the easiest and quickest fix.

For Fedora/Red Hat:
yum install php5-dev

For Ubuntu/Debian:
apt-get install php5-dev

, , ,

412 views
Dec/09

2

Python Button Command Parameter

Here is a crude example of how to pass a parameter to the command of your Tkinter Button.

import Tkinter

def command(text):
    ButtonText.set(text)

root = Tkinter.Tk()

ButtonText = Tkinter.StringVar()
ButtonText.set("Do Callback")
Tkinter.Button(root, textvariable=ButtonText, command=lambda x="Hello World!": command(x)).pack()

root.mainloop()

, ,

331 views
Nov/09

30

Epic Self Documenting Code

switch (mIntegrationDirection)
{
   case InventoryIntegrationDirection.DoTheSameChangeInShop:
      DoTheSameChangeInShop(GetChangedDataFromInventory(mLastSynchDate));
      break;

   case InventoryIntegrationDirection.DoTheSameChangeInInventory:
      DoTheSameChangeInInventory(GetChangedDataFromShop(mLastSynchDate));
      break;

   case InventoryIntegrationDirection.DoTheSameChangeInShopThenDoTheSameChangeInInventoryForNotChangedDataInInventory:
      DoTheSameChangeInShopThenDoTheSameChangeInInventoryForNotChangedDataInInventory(
	   GetChangedDataFromInventory(mLastSynchDate),
	   GetChangedDataFromShop(mLastSynchDate));
      break;

   case InventoryIntegrationDirection.DoTheSameChangeInInventoryThenDoTheSameChangeInShopForNotChangedData:
      DoTheSameChangeInInventoryThenDoTheSameChangeInShopForNotChangedData(
	   GetChangedDataFromShop(mLastSynchDate),
	   GetChangedDataFromInventory(mLastSynchDate));
      break;

   default:
      break;
}

From The Daily WTF … http://thedailywtf.com/Articles/CodeThatDocumentsItselfSoWellItDoesNotNeedComments.aspx

No tags

460 views
Nov/09

27

Python MySQL Associative Array

By default, the MySQLdb module to access a MySQL database returns the data as an integer indexed array. Sometimes this is not desirable and an associative array is preferred, such as the mysql_fetch_assoc function in PHP. In addition, we will be using the pprint module which is similar PHP’s print_r

Here is the Python equivalent:

import MySQLdb
import pprint
# connect to the database here
db = MySQLdb.connect(...)
c = db.cursor(cursorclass=MySQLdb.cursors.DictCursor)
query = "SELECT `name`, `address` FROM `table`"
c.execute(query)
rows = c.fetchall()
c.close()
pprint.pprint(rows) # i.e. print_r($rows)

Hope that helps someone.

, ,

441 views

The following bit of code goes in your .htaccess file and forces users to use your sub-domain as opposed to your sub-folder. In example, it forces users to use example.spechal.com and does not allow them to use spechal.com/example

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?spechal\.com
RewriteRule (.*) http://example.spechal.com/$1 [L]

,

378 views
Nov/09

20

Reset lost MySQL root password

So you’ve forgotten your MySQL root password have you? As long as you have command line access to the MySQL server, never fear! Execute the following bit of code from your MySQL bin directory, replacing YOURPASSWORD with your new password.

mysqladmin -u root password YOURPASSWORD

Easy as pie!

Older posts >>

Find it!

Theme Design by devolux.org