Transform Css images into Data Streams ( base64)

Hi All,

Things were quite busy in last few days and due to that I couldn’t get time to update anything on the blog. But during this period I was able to save some time to write a free tool which converts web images into data streams(base64 data).

Here is the link:

http://bakemycss.mypathforpython.appspot.com/

Please find some time to give your comments. It will help me to write some more good tools in near future.


Thanks

Generating Random strings using Python

Hi,

Just wanted to share a very small implementation of generating random string values for a range of 6 chars, I am actually working on creating a hashing of the keys for some authentication module. I will share the same implementation soon for that Keep watching :).

Just for now have a look on this. Hope this helps some one out there.

import random
import string

def genearateRandomStrings():

//creates a combination of chars
chars=string.ascii_lowercase + string.ascii_uppercase

//now using the random module functions and list comprehension generate a set of random strings.
return ”.join(random.choice(chars) for x in range(6))

print genearateRandomStrings()

//OUTPUT
HjuKLY

Custom Sorting of List using Tuple python

from collections import namedtuple

# make a basic Link class
Link = namedtuple(‘Link’, [‘id’, ‘submitter_id’, ‘submitted_time’, ‘votes’,
‘title’, ‘url’])

# list of Links to work with
links = [
Link(0, 60398, 1334014208.0, 109,
“C overtakes Java as the No. 1 programming language in the TIOBE index.”,
http://pixelstech.net/article/index.php?id=1333969280”),
Link(1, 60254, 1333962645.0, 891,
“This explains why technical books are all ridiculously thick and overpriced”,
http://prog21.dadgum.com/65.html”),
Link(23, 62945, 1333894106.0, 351,
“Learn Haskell Fast and Hard”,
http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/”),
Link(2, 6084, 1333996166.0, 81,
“Announcing Yesod 1.0- a robust, developer friendly, high performance web framework for Haskell”,
http://www.yesodweb.com/blog/2012/04/announcing-yesod-1-0”),
Link(3, 30305, 1333968061.0, 270,
“TIL about the Lisp Curse”,
http://www.winestockwebdesign.com/Essays/Lisp_Curse.html”),
Link(4, 59008, 1334016506.0, 19,
“The Downfall of Imperative Programming. Functional Programming and the Multicore Revolution”,
http://fpcomplete.com/the-downfall-of-imperative-programming/”),
Link(5, 8712, 1333993676.0, 26,
“Open Source – Twitter Stock Market Game – “,
http://www.twitstreet.com/”),
Link(6, 48626, 1333975127.0, 63,
“First look: Qt 5 makes JavaScript a first-class citizen for app development”,
http://arstechnica.com/business/news/2012/04/an-in-depth-look-at-qt-5-making-javascript-a-first-class-citizen-for-native-cross-platform-developme.ars”),
Link(7, 30172, 1334017294.0, 5,
“Benchmark of Dictionary Structures”, “http://lh3lh3.users.sourceforge.net/udb.shtml”),
Link(8, 678, 1334014446.0, 7,
“If It’s Not on Prod, It Doesn’t Count: The Value of Frequent Releases”,
http://bits.shutterstock.com/?p=165”),
Link(9, 29168, 1334006443.0, 18,
“Language proposal: dave”,
http://davelang.github.com/”),
Link(17, 48626, 1334020271.0, 1,
“LispNYC and EmacsNYC meetup Tuesday Night: Large Scale Development with Elisp “,
http://www.meetup.com/LispNYC/events/47373722/”),
Link(101, 62443, 1334018620.0, 4,
“research!rsc: Zip Files All The Way Down”,
http://research.swtch.com/zip”),
Link(12, 10262, 1334018169.0, 5,
“The Tyranny of the Diff”,
http://michaelfeathers.typepad.com/michael_feathers_blog/2012/04/the-tyranny-of-the-diff.html”),
Link(13, 20831, 1333996529.0, 14,
“Understanding NIO.2 File Channels in Java 7”,
http://java.dzone.com/articles/understanding-nio2-file”),
Link(15, 62443, 1333900877.0, 1244,
“Why vector icons don’t work”,
http://www.pushing-pixels.org/2011/11/04/about-those-vector-icons.html”),
Link(14, 30650, 1334013659.0, 3,
“Python – Getting Data Into Graphite – Code Examples”,
http://coreygoldberg.blogspot.com/2012/04/python-getting-data-into-graphite-code.html”),
Link(16, 15330, 1333985877.0, 9,
“Mozilla: The Web as the Platform and The Kilimanjaro Event”,
https://groups.google.com/forum/?fromgroups#!topic/mozilla.dev.planning/Y9v46wFeejA”),
Link(18, 62443, 1333939389.0, 104,
“github is making me feel stupid(er)”,
http://www.serpentine.com/blog/2012/04/08/github-is-making-me-feel-stupider/”),
Link(19, 6937, 1333949857.0, 39,
“BitC Retrospective: The Issues with Type Classes”,
http://www.bitc-lang.org/pipermail/bitc-dev/2012-April/003315.html”),
Link(20, 51067, 1333974585.0, 14,
“Object Oriented C: Class-like Structures”,
http://cecilsunkure.blogspot.com/2012/04/object-oriented-c-class-like-structures.html”),
Link(10, 23944, 1333943632.0, 188,
“The LOVE game framework version 0.8.0 has been released – with GLSL shader support!”,
https://love2d.org/forums/viewtopic.php?f=3&t=8750”),
Link(22, 39191, 1334005674.0, 11,
“An open letter to language designers: Please kill your sacred cows. (megarant)”,
http://joshondesign.com/2012/03/09/open-letter-language-designers”),
Link(21, 3777, 1333996565.0, 2,
“Developers guide to Garage48 hackatron”,
http://martingryner.com/developers-guide-to-garage48-hackatron/”),
Link(24, 48626, 1333934004.0, 17,
“An R programmer looks at Julia”,
http://www.r-bloggers.com/an-r-programmer-looks-at-julia/”)]

 

 

def query():
c = 62443
lst =[]
for l in links:
if l.submitter_id == 62443:
lst.append(l)
return sorted(lst, key=lambda Link: Link.submitted_time)
print query()

ROT13 Algorithm Using Python

ROT13 (“rotate by 13 places”, sometimes hyphenated ROT-13) is a simple letter substitution cipher that replaces a letter with the letter 13 letters after it in the alphabet. ROT13 is an example of the Caesar cipher, developed in ancient Rome.(Source Wiki). Here Is the new version I have written to apply ROT 13 for alphabets only, special characters are not touched they will remain as it is.

I have tried to implement this Algorithm Using Python. Here it goes..

# ROT13 Algorithm

def rot(text):
arr = list(text)
for i in range(len(arr)):
if (ord(arr[i]) > 64 and ord(arr[i]) <91) or (ord(arr[i])>96 and ord(arr[i])<123): #check for alphabets only
nextCharValue = (ord(arr[i]) + 13) #sum
asciValue = ord(arr[i]) #ascii value
# print “ascii “,asci, ” sum”, sum
if asciValue > 64 and asciValue < 91:
if nextCharValue > 90:
newValue = ord(arr[i]) – 13
else:
newValue = ord(arr[i]) + 13
elif asciValue> 96 and asciValue < 123:
if nextCharvalue > 122:
newValue = ord(arr[i]) – 13
else:
newValue = ord(arr[i]) + 13

arr[i] = chr(newValue)

return ”.join(arr)

 

str = rot(‘How can you tell an extrovert from an introvert at NSA? ‘)
print “ROT13:-“, str
print “Back to original:- “, rot(str)

Please share your feedback, I am open for any suggestions.(you can also have a look on the code where I have tested this http://www.codeskulptor.org/#user16_LTWEIBBe36nu7xC.py)

Cheers!!


Thanks
R Vashi

Pattern search in String using Python

For fun I just thought about writing an algorithm on using pattern search in any given string using python, Lets assume you have a string with a value of “SSDDFFEERRTTYYSS” and a character array [‘D’,’D’], Now use the values of character array as a pattern and search for the maximum character occurrence of match in the string value. in plain words, we have a ..

value : “SSDDFFEERRTTDDDSS

pattern : [‘D’,’D’] i.e DD

Expected output is :3 (as DD pattern appears thrice [XXDDXXXXXDDDXXX).

Also assume the Char array can be dynamic, I mean could be of any limit of characters.

#!/usr/bin/python
#@Author :rvashisht

char =[‘D’,’D’]
string = “SSDDFFEERRTTDDDSS”
count = 0

i =0
j = 0
pattern = ”
charLength = len(char) # get the length of char array
for i in range(len(char)):
pattern += char[i]

for j in range(len(string)-1):
#extract the chars from string, it should match char pattern length
chars = string[ j : j+charLength] #search in string with pattern
if pattern == chars : #check if pattern match
print chars, “=”, pattern
count = count +1 # increase the counter

print “Total occurrence of pattern found”, count

Well this is just a try.. Please review and comment..

Cheers!

Thanks

RVashi

Bubble Sort using Python

I have recently started using Python basically Jython to use with Java applications. The love for python is growing, I kind of started liking code in Python. Though I am still looking for some more practical reasons where I can see the effective mixing of Java and Python. So I started with  very basic program of doing bubble sort on a collection. Here it goes.

#!/usr/bin/python
import time;

class BubbleSort() :

def __init__(self):
self.doSearch();

def doSearch(self):
list = [33,23, 13, 43, 63,53,73,83,93, 3]
found = 1 # assume there is at least one item to sort
while (found == 1): #set infinite loop
pos = 0; # start with initial pos
for i in range(len(list)-1):
next = list[i+1] #get the next element
if list[i] > next :
list[i+1] = list[i] #do a swap
list[i] = next
#print list
pos = i;

          if pos == 0:
found = 0 # all sorted, exit loop

print list

def getTime(self):
localtime = time.asctime( time.localtime(time.time()))
print localtime;

if __name__ == “__main__”:
obj = BubbleSort()

Keep watching for few more useful posts on Python/Jython.


Thanks
R Vashi