<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
        <id>urn:www-lesvosblogs-gr:feeds:atom</id>
	<title>Lesvos Blogs &#187; Digital Hardcore</title>
	<subtitle>Lesvos Blogs &#187; Digital Hardcore</subtitle>      
        <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/" />
        <link rel="self" type="text/xml" href="http://www.lesvosblogs.gr/?media=atom"/>
        <updated>2010-09-09T06:10:55-04:00</updated>
	<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2010/08/03/python:_integer_to_roman</id>
		<author><name>Dimitris</name></author>
		<title>Digital Hardcore: python: integer to roman</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2010/08/03/python:_integer_to_roman"/>		
		<updated>2010-08-03T09:44:46-04:00</updated>
		<published>2010-08-03T09:44:46-04:00</published>
		<content type="html"><![CDATA[	<p>
  This function converts an integer to a roman numeral.
</p>def intToRoman(num):<br />
&nbsp; n = int(num)<br />
&nbsp; rv = ""<br />
&nbsp; for dec, rom in ((1000, 'M'), (900, 'CM', ),(500, 'D'), (400, 'CD'), (100, 'C'),(90, 'XC'),(50, 'L'), (40, 'XL'),(10, 'X'), (9, 'IX'), (5, 'V'),(4, 'IV'), (1, 'I') ):<br />
&nbsp; &nbsp; while (n &gt;= dec):<br />
&nbsp; &nbsp; &nbsp; n -= dec;<br />
&nbsp; &nbsp; &nbsp; rv += rom;<br />
&nbsp; return rv
<p>
  from <a href="http://savannah.gnu.org/projects/gnue/">GNU Enterprise</a>
</p><img src="http://feeds.feedburner.com/~r/DigitalHardcore/~4/dAT-wNYhHcM" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2010/07/28/python:_distance_of_points_in_.kmz</id>
		<author><name>Dimitris</name></author>
		<title>Digital Hardcore: python: distance of points in .kmz</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2010/07/28/python:_distance_of_points_in_.kmz"/>		
		<updated>2010-07-28T08:02:08-04:00</updated>
		<published>2010-07-28T08:02:08-04:00</published>
		<content type="html"><![CDATA[	<p>
  This code calculates distance in kilometers from points saved in .kmz file. Such files can be created by Google Earth.<br />
  by Michal Niklas on Thu, 28 May 2009 (MIT)
</p>#!/usr/bin/env python<br />
# -*- coding: utf8 -*-<br />
<br />
__version__ = '$Id: kmz2dist.py 609 2009-06-01 05:04:52Z mn $'<br />
# author: Michal Niklas<br />
<br />
"""<br />
Calculates distance in kilometers from points saved in .kmz file.<br />
Such files can be created by Google Earth<br />
look at:<br /> <a href="http://code.google.com/intl/pl-PL/apis/kml/documentation/kmlreference.html"""">[code.google.com]</a> <br />
<br />
import sys<br />
import zipfile<br />
import glob<br />
from xml.dom import minidom<br />
import distance<br />
<br />
<br />
def get_distance(coordinates_str):<br />
&nbsp; &nbsp; """gets distance of one path from coordinates string in form of:<br />
&nbsp; &nbsp; 14.81363432237944,53.57016581501523,0 14.81411766813742,53.56923005549378,0 14.81880340335202,53.56879451890311 ...<br />
&nbsp; &nbsp; look at:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://code.google.com/intl/pl-PL/apis/kml/documentation/kmlreference.html#coordinates">[code.google.com]</a> <br />
&nbsp; &nbsp; """<br />
&nbsp; &nbsp; sum_distance = 0.0<br />
&nbsp; &nbsp; arr = []<br />
&nbsp; &nbsp; coordinates = []<br />
&nbsp; &nbsp; if ' ' in coordinates_str:<br />
&nbsp; &nbsp; &nbsp; &nbsp; arr = coordinates_str.split(' ')<br />
&nbsp; &nbsp; if len(arr) &gt; 1:<br />
&nbsp; &nbsp; &nbsp; &nbsp; for s in arr:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if ',' in s:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pt = s.split(',')<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pos_latt = (float(pt[0].strip()), 0, 0)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pos_long = (float(pt[1].strip()), 0, 0)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; position = (pos_latt, pos_long)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; coordinates.append(position)<br />
&nbsp; &nbsp; if coordinates:<br />
&nbsp; &nbsp; &nbsp; &nbsp; for i in range(len(coordinates) - 1):<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; start = coordinates[i]<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stop = coordinates[i + 1]<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sum_distance += distance.points2distance(start, stop)<br />
&nbsp; &nbsp; return sum_distance<br />
<br />
def show_distance(fname):<br />
&nbsp; &nbsp; """calculates distance from points saved in doc.kml which is part of .kmz<br />
&nbsp; &nbsp; &nbsp; &nbsp;zip archive file"""<br />
&nbsp; &nbsp; path_cnt = 0<br />
&nbsp; &nbsp; zf = zipfile.ZipFile(fname, 'r')<br />
&nbsp; &nbsp; for fn in zf.namelist():<br />
&nbsp; &nbsp; &nbsp; &nbsp; if fn.endswith('.kml'):<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; content = zf.read(fn)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmldoc = minidom.parseString(content)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; placemarks = xmldoc.getElementsByTagName('Placemark')<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for placemark in placemarks:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; name = placemark.getElementsByTagName('name')<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if name:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; name = name[0].firstChild.data.strip()<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; coordinates = placemark.getElementsByTagName('coordinates')<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if coordinates:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; coordinates = coordinates[0].firstChild.data.strip()<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if coordinates:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; distance_km = get_distance(coordinates)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if distance_km &gt; 0.0:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if path_cnt == 0:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print '\n%s:' % (fname)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; path_cnt += 1<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print('\t%s\t%5.2f' % (name, distance_km))<br />
&nbsp; &nbsp; return path_cnt<br />
<br />
def main():<br />
&nbsp; &nbsp; """show .kmz file name and distance in kilometers"""<br />
&nbsp; &nbsp; fnames = glob.glob('*.kmz')<br />
&nbsp; &nbsp; if not fnames:<br />
&nbsp; &nbsp; &nbsp; &nbsp; print('No *.kmz files found')<br />
&nbsp; &nbsp; else:<br />
&nbsp; &nbsp; &nbsp; &nbsp; for fname in fnames:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; show_distance(fname)<br />
<br />
if __name__ == '__main__':<br />
&nbsp; &nbsp; if '--version' in sys.argv:<br />
&nbsp; &nbsp; &nbsp; &nbsp; print(__version__)<br />
&nbsp; &nbsp; else:<br />
&nbsp; &nbsp; &nbsp; &nbsp; main() <img src="http://feeds.feedburner.com/~r/DigitalHardcore/~4/gSpBwTUNiPU" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2010/07/26/python:_Find_unique_emails_in_a_file</id>
		<author><name>Dimitris</name></author>
		<title>Digital Hardcore: python: Find unique emails in a file</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2010/07/26/python:_Find_unique_emails_in_a_file"/>		
		<updated>2010-07-26T08:00:29-04:00</updated>
		<published>2010-07-26T08:00:29-04:00</published>
		<content type="html"><![CDATA[	def grab_email(files = []):<br />
"""if passed a list of text files, will return a list of<br />
email addresses found in the files, matched according to<br />
basic address conventions. Note: supports most possible<br />
&nbsp;names, but not all valid ones."""<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp; found = []<br />
&nbsp; &nbsp; if files != None:<br />
&nbsp; &nbsp; &nbsp; &nbsp; mailsrch = re.compile(r'[\w\-][\w\-\.]+@[\w\-][\w\-\.]+[a-zA-Z]{1,4}')<br />
&nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; for file in files: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for line in open(file,'r'): &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; found.extend(mailsrch.findall(line)) &nbsp; &nbsp;<br />
<br />
&nbsp; &nbsp; # remove duplicate elements<br />
&nbsp; &nbsp; # borrowed from Tim Peters' algorithm on ASPN Cookbook<br />
&nbsp; &nbsp; u = {}<br />
&nbsp; &nbsp; for item in found:<br />
&nbsp; &nbsp; &nbsp; &nbsp; u[item] = 1<br />
<br />
&nbsp; &nbsp; # return list of unique email addresses<br />
&nbsp; &nbsp; return u.keys() <img src="http://feeds.feedburner.com/~r/DigitalHardcore/~4/KTGSqJmCkus" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2010/07/24/python-OpenOffice:_export_text</id>
		<author><name>Dimitris</name></author>
		<title>Digital Hardcore: python-OpenOffice: export text</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2010/07/24/python-OpenOffice:_export_text"/>		
		<updated>2010-07-24T08:00:56-04:00</updated>
		<published>2010-07-24T08:00:56-04:00</published>
		<content type="html"><![CDATA[	<p>
  By using the library <a href="http://ooopy.sourceforge.net/">ooopy</a> we could export the text contents of a .odt file directly to a plain text file.
</p>from ooopy.OOoPy import OOoPy<br />
def as_text (node, out) :<br />
&nbsp; &nbsp; if node.text is not None :<br />
&nbsp; &nbsp; &nbsp; &nbsp; print &gt;&gt; out, node.text.encode ('utf-8'),<br />
&nbsp; &nbsp; for subnode in node :<br />
&nbsp; &nbsp; &nbsp; &nbsp; as_text (subnode, out)<br />
&nbsp; &nbsp; if node.tail is not None :<br />
&nbsp; &nbsp; &nbsp; &nbsp; print &gt;&gt; out, node.tail.encode ('utf-8'),<br />
<br />
if __name__ == '__main__' :<br />
&nbsp; &nbsp; outfile = open ("out.txt", "w")<br />
&nbsp; &nbsp; o = OOoPy &nbsp;("test.odt")<br />
&nbsp; &nbsp; e = o.read ('content.xml')<br />
&nbsp; &nbsp; as_text (e.getroot (), outfile) <img src="http://feeds.feedburner.com/~r/DigitalHardcore/~4/NAutD7Hah4w" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2010/07/22/python:_read_.por_files_(SPSS)</id>
		<author><name>Dimitris</name></author>
		<title>Digital Hardcore: python: read .por files (SPSS)</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2010/07/22/python:_read_.por_files_(SPSS)"/>		
		<updated>2010-07-22T08:00:52-04:00</updated>
		<published>2010-07-22T08:00:52-04:00</published>
		<content type="html"><![CDATA[	<p>
  The following code, reads .por files (<a href="http://www.spss.com/">SPSS</a>)
</p>DEL = '/'<br />
class PorReader(object):<br />
def __init__(self, file):<br />
if type(file) in (str, unicode): file = open(file)<br />
self.file = file<br />
self.pos = -1<br />
self.buffer = ""<br />
def consumeOne(self, skip=False):<br />
p = self.buffer.find(DEL, self.pos+1)<br />
output = ""<br />
while p == -1:<br />
if not skip: output += self.buffer[self.pos+1:]<br />
self.buffer = self.file.read(1024)<br />
self.pos = -1<br />
p = self.buffer.find(DEL, self.pos+1)<br />
if not self.buffer: break<br />
if not skip: output += self.buffer[self.pos+1:p]<br />
self.pos = p<br />
if not skip:<br />
output = output.replace("\r\n", "")<br />
return output<br />
def consume(self, n=1):<br />
return [self.consumeOne() for i in range(n)]<br />
def skip(self, n=1):<br />
for i in range(n):<br />
self.consumeOne(skip=True)<br />
<br />
HEAD = 'SPSS for Microsoft Windows Release 15.04'<br />
<br />
FLOAT, STR, INT = 0,1,2<br />
<br />
class SPSSVariable(object):<br />
def __init__(self, name, label=None, numeric=True, decimals=0):<br />
self.name = name<br />
self.label = label<br />
self.numeric = numeric<br />
self.decimals = decimals<br />
self.valuelabels = None<br />
self.index = None<br />
def __str__(self):<br />
t = 'S'<br />
if self.numeric: t = 'I'<br />
if self.numeric and self.decimals: t = 'F'<br />
return "%s%s%s" % (self.name, (' "%s" ' % self.label if self.label else ''),t)<br />
<br />
def splitstring(slen=None, s=None, reader=None):<br />
if slen is None:<br />
slen = reader.consume(2)<br />
if s is None: slen, s = slen<br />
if type(slen) == str: slen = readnum(slen)<br />
while slen &amp;gt; len(s):<br />
if reader:<br />
s += "/"+reader.consumeOne()<br />
else:<br />
raise Exception("!")<br />
keep = s[slen:]<br />
s = s[:slen]<br />
return s, keep<br />
<br />
class SPSSFile(object):<br />
def __init__(self, file):<br />
self.variables = []<br />
self.vardict = {}<br />
self.data = []<br />
self.init(file)<br />
def addvar(self, var):<br />
var.index = len(self.variables)<br />
self.variables.append(var)<br />
self.vardict[var.name] = var<br />
def getvar(self, varname):<br />
return self.vardict[varname]<br />
def get(self, var, row):<br />
if type(var) in (str, unicode):<br />
var = self.vardict[var]<br />
return row[var.index]<br />
def init(self, file):<br />
r = PorReader(file)<br />
r.skip(5)<br />
h = r.consumeOne()<br />
if not h.startswith(HEAD): raise Exception("Cannot read .por")<br />
numvars = readnum(h[len(HEAD):])<br />
h = r.skip(1)<br />
keep = r.consumeOne()<br />
while True:<br />
action = keep[0]<br />
#print "ACTION: %s" % action<br />
if action == '7':<br />
data = r.consume(8)<br />
while data[-2][0] &amp;lt;&amp;gt; 'C': data += r.consume()<br />
decimals = readnum(data[4])<br />
numeric = keep[1:] == '0'<br />
name, dummy = splitstring(data[:2])<br />
labellen, label = data[-2:]<br />
label, keep = splitstring(labellen[1:], label, r)<br />
v = SPSSVariable(name, label, numeric, decimals)<br />
self.addvar(v)<br />
#print "ADDED VAR ", v, data, `keep`, labellen[1:]<br />
if action == 'D': # value labels<br />
numvars = readnum(keep[1:])<br />
varnames = []<br />
keep = r.consumeOne()<br />
for i in range(numvars):<br />
name, keep = splitstring(keep, r.consumeOne(), reader=r)<br />
varnames.append(name)<br />
numlabels = readnum(keep)<br />
keep = r.consumeOne()<br />
labels = {}<br />
numeric = self.getvar(varnames[0]).numeric<br />
for i in range(numlabels):<br />
if numeric:<br />
val = readnum(keep)<br />
name, keep = splitstring(reader=r)<br />
else:<br />
val, keep = splitstring(keep, r.consumeOne(), reader=r)<br />
name, keep = splitstring(keep, r.consumeOne(), reader=r)<br />
labels[val] = name<br />
#print "VALUE LABELS", varnames, labels<br />
for varname in varnames:<br />
self.getvar(varname).valuelabels = labels<br />
if action == 'F': # data<br />
keep = keep[1:]<br />
while True:<br />
row = []<br />
for var in self.variables:<br />
if not keep: keep = r.consumeOne()<br />
if keep.startswith("Z"):<br />
return<br />
if var.numeric:<br />
if keep.startswith("*."):<br />
row.append(None)<br />
keep = keep[2:]<br />
else:<br />
try:<br />
row.append(readnum(keep))<br />
except Exception, e:<br />
print row<br />
print "Exception on %s" % var<br />
raise e<br />
keep = ""<br />
else:<br />
slen = keep<br />
x, keep = splitstring(slen, r.consumeOne())<br />
row.append(x)<br />
self.data.append(tuple(row))<br />
if action == 'Z': # data<br />
print "Done!"<br />
return<br />
<br />
def _codec(str_in, base_from=36, base_to=10):<br />
"""<br />
Base36 Encoder/Decoder<br />
by Mike Crute (mcrute@gmail.com) on August 26, 2008<br />
This code has been placed in the public domain.<br />
"""<br />
ASCII = { "0": 48, "9": 57, "A": 65, "Z": 90 }<br />
# There are 8 characters between 9 and A<br />
from_digits = [chr(x) for x in range(ASCII["0"], ASCII["9"] + 8 + base_from)<br />
if (x &amp;gt;= ASCII["0"] and x &amp;lt;= ASCII["9"]) or &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(x &amp;gt;= ASCII["A"] and x &amp;lt;= ASCII["Z"])][:base_from] &nbsp; &nbsp; to_digits = [chr(x) for x in range(ASCII["0"], ASCII["9"] + 8 + base_to) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (x &amp;gt;= ASCII["0"] and x &amp;lt;= ASCII["9"]) or &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(x &amp;gt;= ASCII["A"] and x &amp;lt;= ASCII["Z"])][:base_to] &nbsp; &nbsp; x = long(0) &nbsp; &nbsp; for digit in str(str_in).upper(): &nbsp; &nbsp; &nbsp; &nbsp; x = x * len(from_digits) + from_digits.index(digit) &nbsp; &nbsp; result = "" &nbsp; &nbsp; # This is going to assemble our number in reverse order &nbsp; &nbsp; # so we'll have to fix it before we return it &nbsp; &nbsp; while x &amp;gt; 0:<br />
result += to_digits[x % len(to_digits)]<br />
x /= len(to_digits)<br />
return result[::-1]<br />
def decode(s):<br />
while s.startswith("0"): s = s[1:]<br />
if not s: return 0<br />
try:<br />
return int(_codec(s, 30, 10))<br />
except ValueError, e:<br />
raise ValueError("Cannot decode %r: %s" % (s, e))<br />
def readnum(s):<br />
neg = s.startswith("-")<br />
if neg: s = s[1:]<br />
if "+" in s:<br />
num, exp = map(decode, s.split("+"))<br />
result = 30**exp<br />
elif "-" in s:<br />
num, exp = map(decode, s.split("-"))<br />
result = 1. / (30**exp)<br />
else:<br />
if "." in s:<br />
i, d = s.split(".")<br />
else:<br />
i, d = s, None<br />
result = decode(i)<br />
if d:<br />
for j, digit in enumerate(d):<br />
result += decode(digit) / 30.**(j+1)<br />
return result * (-1 if neg else 1)<br />
<br />
if __name__ == '__main__':<br />
import sys<br />
fn = sys.argv[1]<br />
f = SPSSFile(fn)<br />
print len(f.variables), len(f.data) <img src="http://feeds.feedburner.com/~r/DigitalHardcore/~4/4Na-Ej989oQ" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2010/07/20/python:_show_file_size_in_Mb</id>
		<author><name>Dimitris</name></author>
		<title>Digital Hardcore: python: show file size in Mb</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2010/07/20/python:_show_file_size_in_Mb"/>		
		<updated>2010-07-20T08:00:16-04:00</updated>
		<published>2010-07-20T08:00:16-04:00</published>
		<content type="html"><![CDATA[	<p>
  The following code displays a string of the filesize of a file in Megabytes.
</p>import os<br />
def file_size_mb(filePath):<br />
&nbsp; &nbsp; return float(os.path.getsize(filePath)) / (1024 * 1024)<br />
<br />
print str(file_size_mb("file.txt")) + " MB"
<p>
  The result would be:
</p>1.34 MB <img src="http://feeds.feedburner.com/~r/DigitalHardcore/~4/5WjAAVxQAQw" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2010/07/18/python:_word_frequency</id>
		<author><name>Dimitris</name></author>
		<title>Digital Hardcore: python: word frequency</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2010/07/18/python:_word_frequency"/>		
		<updated>2010-07-18T08:00:09-04:00</updated>
		<published>2010-07-18T08:00:09-04:00</published>
		<content type="html"><![CDATA[	<p>
  The following code, determines
</p>
<ul>
  <li>the number of words in a text file
  </li>
  <li>the number of unique words
  </li>
  <li>and provides a list with unique words, shorted by frequency
  </li>
</ul>import re<br />
<br />
filename = 'phd.txt'<br />
<br />
# create list of lower case words, \s+ --&gt; match any whitespace(s)<br />
word_list = re.split('\s+', file(filename).read().lower())<br />
print 'Words in text:', len(word_list)<br />
<br />
# create dictionary of word:frequency pairs<br />
freq_dic = {}<br />
# punctuation marks to be removed<br />
punctuation = re.compile(r'[.?!,":;]')<br />
for word in word_list:<br />
&nbsp; &nbsp; # remove punctuation marks<br />
&nbsp; &nbsp; word = punctuation.sub("", word)<br />
&nbsp; &nbsp; try:<br />
&nbsp; &nbsp; &nbsp; &nbsp; freq_dic[word] += 1<br />
&nbsp; &nbsp; except:<br />
&nbsp; &nbsp; &nbsp; &nbsp; freq_dic[word] = 1<br />
<br />
print 'Unique words:', len(freq_dic)<br />
<br />
# create list of (key, val) tuple pairs<br />
freq_list = [(val, key) for key, val in freq_dic.items()]<br />
# sort by key or word<br />
freq_list.sort(reverse=True)<br />
# display result<br />
for word, freq in freq_list:<br />
&nbsp; &nbsp; print word, freq
<p>
  And the results would be:
</p>Words in text: 81860<br />
Unique words: 8454<br />
5195 the<br />
4140 of<br />
2350 and<br />
1747 in<br />
1670 to<br />
1393 a<br />
1136 for<br />
835 this<br />
756 is <img src="http://feeds.feedburner.com/~r/DigitalHardcore/~4/ZMPgNPyIT1E" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2010/07/15/Multi-Thread_SQLite_in_python</id>
		<author><name>Dimitris</name></author>
		<title>Digital Hardcore: Multi-Thread SQLite in python</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2010/07/15/Multi-Thread_SQLite_in_python"/>		
		<updated>2010-07-15T12:22:58-04:00</updated>
		<published>2010-07-15T12:22:58-04:00</published>
		<content type="html"><![CDATA[	<p>
  Using multiple threads to read/write data from SQLite in python, could sometimes be a painful process. This is because SQLite drops errors whenever a Thread tries to access a “connection” created by other Thread. In order to solve this concurrency problem, I use the following code to enable multiple Threads to access the very same SQLite file for data-processing.
</p>import sqlite3<br />
<br />
class datastore:<br />
&nbsp; &nbsp; def __init__(self,inFile):<br />
&nbsp; &nbsp; &nbsp; &nbsp; self.data_file = inFile<br />
&nbsp;<br />
&nbsp; &nbsp; def connect(self):<br />
&nbsp; &nbsp; &nbsp; &nbsp; self.conn = sqlite3.connect(self.data_file)<br />
&nbsp; &nbsp; &nbsp; &nbsp; return self.conn.cursor()<br />
&nbsp;<br />
&nbsp; &nbsp; def disconnect(self):<br />
&nbsp; &nbsp; &nbsp; &nbsp; self.cursor.close()<br />
&nbsp;<br />
&nbsp; &nbsp; def free(self, cursor):<br />
&nbsp; &nbsp; &nbsp; &nbsp; cursor.close()<br />
&nbsp;<br />
&nbsp; &nbsp; def write(self, query, values = ''):<br />
&nbsp; &nbsp; &nbsp; &nbsp; cursor = self.connect()<br />
&nbsp; &nbsp; &nbsp; &nbsp; if values != '':<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cursor.execute(query, values)<br />
&nbsp; &nbsp; &nbsp; &nbsp; else:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cursor.execute(query)<br />
&nbsp; &nbsp; &nbsp; &nbsp; self.conn.commit()<br />
&nbsp; &nbsp; &nbsp; &nbsp; return cursor<br />
&nbsp;<br />
&nbsp; &nbsp; def read(self, query, values = ''):<br />
&nbsp; &nbsp; &nbsp; &nbsp; cursor = self.connect()<br />
&nbsp; &nbsp; &nbsp; &nbsp; if values != '':<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cursor.execute(query, values)<br />
&nbsp; &nbsp; &nbsp; &nbsp; else:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cursor.execute(query)<br />
&nbsp; &nbsp; &nbsp; &nbsp; return cursor
<p>
  Then on each Thread call it:
</p>from datastore import *<br />
<br />
manager=datastore("test.sqlite")<br />
manager.connect()<br />
sql="SELECT * FROM '%s'" % (table)<br />
cursor=manager.read(sql)<br />
for i in cursor:<br />
&nbsp; &nbsp;print i <img src="http://feeds.feedburner.com/~r/DigitalHardcore/~4/_v3MSDCQjbc" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/10/15/%ce%b5%ce%be%ce%b1%ce%b3%cf%89%ce%b3%ce%ae_%e2%80%93_%ce%b5%ce%b9%cf%83%ce%b1%ce%b3%cf%89%ce%b3%ce%ae_%ce%bb%ce%b9%cf%83%cf%84%ce%b1%cf%82_%ce%bc%ce%b5_%ce%b5%ce%b3%ce%ba%ce%b1%cf%84%ce%b5%cf%83%cf%84%ce%b7%ce%bc%ce%ad%ce%bd%ce%b1_%cf%80%ce%b1%ce%ba%ce%ad%cf%84%ce%b1</id>
		<author><name>Dimitris</name></author>
		<title>Digital Hardcore: εξαγωγή – εισαγωγή λιστας με εγκατεστημένα πακέτα</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/10/15/%ce%b5%ce%be%ce%b1%ce%b3%cf%89%ce%b3%ce%ae_%e2%80%93_%ce%b5%ce%b9%cf%83%ce%b1%ce%b3%cf%89%ce%b3%ce%ae_%ce%bb%ce%b9%cf%83%cf%84%ce%b1%cf%82_%ce%bc%ce%b5_%ce%b5%ce%b3%ce%ba%ce%b1%cf%84%ce%b5%cf%83%cf%84%ce%b7%ce%bc%ce%ad%ce%bd%ce%b1_%cf%80%ce%b1%ce%ba%ce%ad%cf%84%ce%b1"/>		
		<updated>2009-10-15T11:15:54-04:00</updated>
		<published>2009-10-15T11:15:54-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://www.resorthottubsupply.com/accessory/aromatherapy/Packets3.jpg" alt="-" /><br />
  Μπορούμε να εξάγουμε μια λίστα με όλα τα επιλεγμένα πακέτα του συστήματος μας με την εντολή:
</p>$ dpkg --get-selections | grep -v deinstall &gt; paketa.txt
<p>
  στην συνέχεια, αν θέλουμε να χρησιμοποιήσουμε την λίστα αυτή σε κάποιο άλλο μηχάνημα για να επιλεγούν προς εγκατάσταση αυτά τα πακέτα, τότε εκτελούμε την εντολή:
</p>$ sudo dpkg --set-selections &lt; paketa.txt
<p>
  οπου paketa.txt είναι το αρχείο που σώσαμε την λίστα μας.
</p><img src="http://feeds.feedburner.com/~r/DigitalHardcore/~4/8WTdObGuXDU" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/10/13/%ce%91%cf%80%ce%bf%ce%b8%ce%b5%cf%84%ce%ae%cf%81%ce%b9%ce%bf_%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%cf%8e%ce%bd_%ce%b3%ce%b5%cf%89%ce%b3%cf%81%ce%b1%cf%86%ce%b9%ce%ba%cf%8e%ce%bd_%ce%b4%ce%b5%ce%b4%ce%bf%ce%bc%ce%ad%ce%bd%cf%89%ce%bd</id>
		<author><name>Dimitris</name></author>
		<title>Digital Hardcore: Αποθετήριο ελληνικών γεωγραφικών δεδομένων</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/10/13/%ce%91%cf%80%ce%bf%ce%b8%ce%b5%cf%84%ce%ae%cf%81%ce%b9%ce%bf_%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%cf%8e%ce%bd_%ce%b3%ce%b5%cf%89%ce%b3%cf%81%ce%b1%cf%86%ce%b9%ce%ba%cf%8e%ce%bd_%ce%b4%ce%b5%ce%b4%ce%bf%ce%bc%ce%ad%ce%bd%cf%89%ce%bd"/>		
		<updated>2009-10-13T11:45:38-04:00</updated>
		<published>2009-10-13T11:45:38-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://img355.imageshack.us/img355/245/popularzoning.jpg" alt="-" /><br />
  Οι πιο πολλές χώρες στην Ευρωπαϊκή Ένωση αλλά και παγκοσμίως, έχουν ιστοσελίδες οι οποίες λειτουργούν ως αποθετήρια γεωγραφικών δεδομένων. Αυτά χρησιμοποιούνται για την διάθεση και παρουσίαση Γεωγραφικών δεδομένων σε διάφορα formats έτσι ώστε οι ενδιαφερόμενοι να μπορούν εύκολα να ψάξουν για δεδομένα που τους ενδιαφέρουν και να τα κατεβάσουν. Θα ήταν χρήσιμο στην κοινωνία της πληροφορίας να μπορούσε ο πολίτης να έχει πρόσβαση σε γεωγραφικά ψηφιακά δεδομένα ή έτοιμους θεματικούς χάρτες όπως:
</p>
<ul>
  <li>διευθύνσεις υπηρεσιών
  </li>
  <li>χάρτες απογραφών
  </li>
  <li>οικολογικές περιοχές
  </li>
  <li>τουριστικές περιοχές
  </li>
  <li>οδικό δίκτυο
  </li>
  <li>ταχυδρομικοί κώδικες
  </li>
  <li>λιμάνια και αεροδρόμια
  </li>
  <li>διοικητική διαστρωμάτωση χώρας (νομός, περιφέρεια)
  </li>
  <li>μεταφορικό δίκτυο (τραίνα, μετρό, ακτοπλοϊκά)
  </li>
</ul>
<p>
  Κάποια από αυτά τα δεδομένα πωλούνται ήδη στο εμπόριο και ίσως η ελεύθερη διάθεση τους να εμπεριέχει κίνδυνο για κάποιες εταιρίες καθώς δεν θα έχουν πια αξία τα προϊόντα που πουλάνε. Ωστόσο είναι αναμφισβήτητα δημόσια δεδομένα και μπορούν να χρησιμοποιηθούν για να κάνουν την καθημερινή μας ζωή πιο εύκολη μιας και βοηθάν στο να παραχθούν χρήσιμες εφαρμογές πληροφόρησης. Μήπως όμως ζητάω πολλά? Μόλις γύρισα στην ελληνική πραγματικότητα ύστερα από μια απουσία 5 ετών και δυσκολεύομαι να αντιληφθώ πως δεν υπάρχουν βήματα προς την ελεύθερη διάθεση της πληροφορίας του ελληνικού γεωγραφικού χώρου.
</p><img src="http://feeds.feedburner.com/~r/DigitalHardcore/~4/FcoHowstWk0" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/18/difference_between_dates_with_php</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: difference between dates with php</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/18/difference_between_dates_with_php"/>		
		<updated>2009-05-18T08:19:32-04:00</updated>
		<published>2009-05-18T08:19:32-04:00</published>
		<content type="html"><![CDATA[	<p>
  Αν θέλουμε να βρούμε την διαφορά μεταξύ δυο ημερομηνιών τότε δεν έχουμε παρά να ετοιμάσουμε:
</p>function daysBetweenDates($dateStart,$dateEnd) {<br />
// dateStart kai dateEnd se morfi 'YYYY-MM-DD'<br />
$dateStartArray = <a href="http://www.php.net/explode">explode</a>("-",$dateStart);//kovoume se komatia tin arxiki date<br />
$dateEndArray = <a href="http://www.php.net/explode">explode</a>("-",$dateEnd);//kovoume se komatia tin teliki date<br />
<br />
//pairnoume ta epimerous komatia<br />
$startYear = $dateStartArray[0];<br />
$startMonth = $dateStartArray[1];<br />
$startDay = $dateStartArray[2];<br />
<br />
$endYear = $dateEndArray[0];<br />
$endMonth = $dateEndArray[1];<br />
$endDay = $dateEndArray[2];<br />
<br />
//Metatrepoume se unix timestamp<br />
$init_date = <a href="http://www.php.net/mktime">mktime</a>(12,0,0,$startMonth,$startDay,$startYear);<br />
$dest_date = <a href="http://www.php.net/mktime">mktime</a>(12,0,0,$endMonth,$endDay,$endYear);<br />
<br />
//Vriskoume tin diafora tous<br />
$offset = $dest_date-$init_date;<br />
<br />
//kai metrame posses meres exoun mesa tous<br />
$days = <a href="http://www.php.net/floor">floor</a>($offset/60/60/24);<br />
return $days;<br />
}
<p>
  και ύστερα, καλούμε είτε από την ίδια σελίδα, είτε από άλλη την μέθοδο μας:
</p>echo daysBetweenDates("2009-05-10","2010-05-19"); <img src="http://feeds.feedburner.com/~r/DigitalHardcore/~4/ku6jokQmyok" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/17/Csv_to_XML_with_php</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Csv to XML with php</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/17/Csv_to_XML_with_php"/>		
		<updated>2009-05-17T08:16:40-04:00</updated>
		<published>2009-05-17T08:16:40-04:00</published>
		<content type="html"><![CDATA[	&lt;?php<br />
/**<br />
&nbsp;* Metatrepoume ena CSV arxeio se XML<br />
&nbsp;* kai to deixnoume stin selida mas.<br />
&nbsp;*<br />
&nbsp;* @param string $file<br />
&nbsp;* @param string $container<br />
&nbsp;* @param string $rows<br />
&nbsp;* @return string<br />
&nbsp;*/<br />
function csv2xml($file, $container = 'data', $rows = 'row'){<br />
&nbsp; &nbsp; &nbsp; &nbsp; $r = "&lt;{$container}&gt;\n";<br />
&nbsp; &nbsp; &nbsp; &nbsp; $row = 0;<br />
&nbsp; &nbsp; &nbsp; &nbsp; $cols = 0;<br />
&nbsp; &nbsp; &nbsp; &nbsp; $titles = <a href="http://www.php.net/array">array</a>();<br />
&nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; $handle = @<a href="http://www.php.net/fopen">fopen</a>($file, 'r');//anoigoume to arxeio<br />
&nbsp; &nbsp; &nbsp; &nbsp; if (!$handle) return $handle;//an anoixe to arxeio<br />
&nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; while (($data = <a href="http://www.php.net/fgetcsv">fgetcsv</a>($handle, 1000, ',')) !== FALSE){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ($row &gt; 0) $r .= "\t&lt;{$rows}&gt;\n";<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!$cols) $cols = <a href="http://www.php.net/count">count</a>($data);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for ($i = 0; $i &lt; $cols; $i++) {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if ($row == 0){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$titles[$i] = $data[$i];<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;continue;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $r .= "\t\t&lt;{$titles[$i]}&gt;";<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $r .= $data[$i];<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $r .= "&lt;/{$titles[$i]}&gt;\n";<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ($row &gt; 0) $r .= "\t&lt;/{$rows}&gt;\n";<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$row++;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/fclose">fclose</a>($handle);<br />
&nbsp; &nbsp; &nbsp; &nbsp; $r .= "&lt;/{$container}&gt;";<br />
&nbsp; &nbsp; &nbsp; &nbsp; return $r;<br />
}<br />
?&gt;
<p>
  και ύστερα, καλούμε είτε από την ίδια σελίδα, είτε από άλλη την μέθοδο μας:
</p>&lt;?php<br />
$xml = csv2xml('data.csv');<br />
echo $xml;<br />
?&gt; <img src="http://feeds.feedburner.com/~r/DigitalHardcore/~4/3xQdioyS630" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/16/Kernel_Density_Estimation_%cf%83%cf%84%ce%bf_R</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Kernel Density Estimation στο R</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/16/Kernel_Density_Estimation_%cf%83%cf%84%ce%bf_R"/>		
		<updated>2009-05-16T09:05:51-04:00</updated>
		<published>2009-05-16T09:05:51-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://img517.imageshack.us/img517/567/grafima.jpg" alt="-" /><br />
  Η μέθοδος εκτίμησης πυρήνα είναι ένας τρόπος να υπολογίσουμε την πιθανότητα της πυκνότητας των παρατηρήσεων μας. Γραφικά μπορούμε δηλαδή να προεκτείνουμε τις παρατηρήσεις των δεδομένων μας και έτσι να γενικεύσουμε (οπτικά) για όλα τον πληθυσμό των παρατηρήσεων μας. Για να δούμε ένα παράδειγμα, κατεβάστε τα δεδομένα από <a href="http://dimitrisk-gis.googlecode.com/files/data.csv">εδώ</a> και τρέξτε σε R:
</p>
<table>
  <tr>
    <td>
      area
    </td>
    <td>
      male
    </td>
    <td>
      female
    </td>
  </tr>
  <tr>
    <td>
      area01
    </td>
    <td>
      5
    </td>
    <td>
      8
    </td>
  </tr>
  <tr>
    <td>
      area02
    </td>
    <td>
      12
    </td>
    <td>
      4
    </td>
  </tr>
  <tr>
    <td>
      area03
    </td>
    <td>
      10
    </td>
    <td>
      13
    </td>
  </tr>
  <tr>
    <td>
      area04
    </td>
    <td>
      9
    </td>
    <td>
      11
    </td>
  </tr>
  <tr>
    <td>
      area05
    </td>
    <td>
      17
    </td>
    <td>
      18
    </td>
  </tr>
  <tr>
    <td>
      area06
    </td>
    <td>
      3
    </td>
    <td>
      16
    </td>
  </tr>
  <tr>
    <td>
      area07
    </td>
    <td>
      11
    </td>
    <td>
      12
    </td>
  </tr>
  <tr>
    <td>
      area08
    </td>
    <td>
      18
    </td>
    <td>
      15
    </td>
  </tr>
</table>#Διαβάζουμε τα δεδομένα μας απο το αρχειο .csv<br />
jim &lt;- read.csv(file="data.csv",head=TRUE,sep=",")<br />
# Προετοιμάζουμε την png εικόνα μας<br />
png(file="Grafima.png")<br />
# Επιλέγουμε μόνο τις περιοχές οπυ έχουμε τιμές ("Omit None Available")<br />
f=na.omit(jim$female)<br />
m=na.omit(jim$male)<br />
# Υπολογίζουμε τα density estimations<br />
denf=density(f)<br />
denm=density(m)<br />
# Φτιάχνουμε μια συλλογή με τα χρώματα μας<br />
xromata &lt;- c("blue","red")<br />
# Σχεδιάζουμε την Kernel Density των τιμών μας (males, females)<br />
plot(den1,col=xromata[1],<br />
xlab="number of individuals",<br />
main="Kernel Density of Males/Females")<br />
lines(den2,col=xromata[2])<br />
# Βάζουμε και ένα υπόμνημα πάνω αριστερά, με ονόματα.<br />
#Χρώματα παίρνει από την συλλογή που ετοιμάσαμε παραπάνω.<br />
# και το είδος των γραμμών ειναι 1 και για τις δυο κατηγορίες μας.<br />
legend("topleft",c("Male","Female"),col=xromata,,lty=1:1)<br />
# Σχεδιάζουμε και τις τιμές μας στον οριζόντιο άξονα.<br />
rug(c(m,f))<br />
# Εξάγουμε την εικόνα μας που ειχαμε προετοιμάσει στην αρχή.<br />
dev.off() μοίρασε και εσύ: <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D387&amp;t=Kernel%20Density%20Estimation%20%CF%83%CF%84%CE%BF%20R"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://twitter.com/home?status=Kernel%20Density%20Estimation%20%CF%83%CF%84%CE%BF%20R%20-%2 <a href="http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D387">">[http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D387">]</a> <img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/twitter.png" alt="-" /></a> <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D387&amp;title=Kernel%20Density%20Estimation%20%CF%83%CF%84%CE%BF%20R&amp;annotation=%0D%0A%CE%97%20%CE%BC%CE%AD%CE%B8%CE%BF%CE%B4%CE%BF%CF%82%20%CE%B5%CE%BA%CF%84%CE%AF%CE%BC%CE%B7%CF%83%CE%B7%CF%82%20%CF%80%CF%85%CF%81%CE%AE%CE%BD%CE%B1%20%CE%B5%CE%AF%CE%BD%CE%B1%CE%B9%20%CE%AD%CE%BD%CE%B1%CF%82%20%CF%84%CF%81%CF%8C%CF%80%CE%BF%CF%82%20%CE%BD%CE%B1%20%CF%85%CF%80%CE%BF%CE%BB%CE%BF%CE%B3%CE%AF%CF%83%CE%BF%CF%85%CE%BC%CE%B5%20%CF%84%CE%B7%CE%BD%20%CF%80%CE%B9%CE%B8%CE%B1%CE%BD%CF%8C%CF%84%CE%B7%CF%84%CE%B1%20%CF%84%CE%B7%CF%82%20%CF%80%CF%85%CE%BA%CE%BD%CF%8C%CF%84%CE%B7%CF%84%CE%B1%CF%82%20%CF%84%CF%89%CE%BD%20%CF%80%CE%B1%CF%81%CE%B1%CF%84%CE%B7%CF%81%CE%AE%CF%83%CE%B5%CF%89%CE%BD%20%CE%BC%CE%B1%CF%82.%20%CE%93%CF%81%CE%B1%CF%86%CE%B9%CE%BA%CE%AC%20%CE%BC%CF%80%CE%BF%CF%81%CE%BF%CF%8D%CE%BC%CE%B5%20%CE%B4%CE%B7%CE%BB%CE"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/14/%ce%94%ce%b9%ce%ac%ce%b3%cf%81%ce%b1%ce%bc%ce%bc%ce%b1_Radar_%ce%bc%ce%b5_R</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Διάγραμμα Radar με R</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/14/%ce%94%ce%b9%ce%ac%ce%b3%cf%81%ce%b1%ce%bc%ce%bc%ce%b1_Radar_%ce%bc%ce%b5_R"/>		
		<updated>2009-05-14T08:20:51-04:00</updated>
		<published>2009-05-14T08:20:51-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://img55.imageshack.us/img55/21/diagramma.jpg" alt="-" />
</p>
<p>
  Μπορεί να χρησιμοποιηθεί σε σύγκριση μεταβλητών μεταξύ περιοχών. Κατεβάστε τα δεδομένα:<a href="http://dimitrisk-gis.googlecode.com/files/data.csv">data.csv</a>
</p>require(plotrix)&lt;p style="text-align: center;"&gt;#eisagogi dedomenon apo to csv<br />
jim &lt;- read.csv(file="data.csv",head=TRUE,sep=",")<br />
#megethos gramatoseiras<br />
#par(ps=1)<br />
#Sxediasi tou jim$male<br />
radial.plot(jim$male,labels=jim$area,<br />
rp.type="p",<br />
main="Diagrama Radar",<br />
radial.lim=c(0,20),<br />
line.col="blue") μοίρασε και εσύ: <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D363&amp;t=%CE%94%CE%B9%CE%AC%CE%B3%CF%81%CE%B1%CE%BC%CE%BC%CE%B1%20Radar%20%CE%BC%CE%B5%20R"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://twitter.com/home?status=%CE%94%CE%B9%CE%AC%CE%B3%CF%81%CE%B1%CE%BC%CE%BC%CE%B1%20Radar%20%CE%BC%CE%B5%20R%20-%2 <a href="http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D363">">[http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D363">]</a> <img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/twitter.png" alt="-" /></a> <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D363&amp;title=%CE%94%CE%B9%CE%AC%CE%B3%CF%81%CE%B1%CE%BC%CE%BC%CE%B1%20Radar%20%CE%BC%CE%B5%20R&amp;annotation=%0D%0A%CE%9C%CF%80%CE%BF%CF%81%CE%B5%CE%AF%20%CE%BD%CE%B1%20%CF%87%CF%81%CE%B7%CF%83%CE%B9%CE%BC%CE%BF%CF%80%CE%BF%CE%B9%CE%B7%CE%B8%CE%B5%CE%AF%20%CF%83%CE%B5%20%CF%83%CF%8D%CE%B3%CE%BA%CF%81%CE%B9%CF%83%CE%B7%20%CE%BC%CE%B5%CF%84%CE%B1%CE%B2%CE%BB%CE%B7%CF%84%CF%8E%CE%BD%20%CE%BC%CE%B5%CF%84%CE%B1%CE%BE%CF%8D%20%CF%80%CE%B5%CF%81%CE%B9%CE%BF%CF%87%CF%8E%CE%BD.%20%CE%9A%CE%B1%CF%84%CE%B5%CE%B2%CE%AC%CF%83%CF%84%CE%B5%20%CF%84%CE%B1%20%CE%B4%CE%B5%CE%B4%CE%BF%CE%BC%CE%AD%CE%BD%CE%B1%3Adata.csv%0D%0Arequire%28plotrix%29%23eisagogi%20dedomenon%20apo%20to%20csv%0D%0Ajim%20"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/12/R_%cf%83%cf%84%ce%bf_Notepad__</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: R στο Notepad++</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/12/R_%cf%83%cf%84%ce%bf_Notepad__"/>		
		<updated>2009-05-12T07:41:52-04:00</updated>
		<published>2009-05-12T07:41:52-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://img76.imageshack.us/img76/8936/notepad2b2b20portable20.jpg" alt="-" />
</p>
<p>
  Αν τρέχετε R&nbsp; για τις στατιστικές σας αναλύσεις, τότε μπορείτε να κάνετε το Notepad++ έναν πολύ καλό R Editor για να γράφετε κώδικα. Το NppToR είναι ένα extension που παρέχει δυνατότητες ενσωμάτωσης R μέσα στο Noptepad++. Πιο αναλυτικά, προσφέρει:
</p>
<ul>
  <li>syntax highlighting
  </li>
  <li>code folding
  </li>
  <li>auto-completion
  </li>
  <li>Rgui style code passing between Notepad++ and the Rgui
  </li>
</ul>
<p>
  <a href="http://sourceforge.net/projects/npptor/">σελίδα του NppToR</a> και <a href="http://notepad-plus.sourceforge.net/uk/site.htm">σελίδα του Notepad++</a>
</p>μοίρασε και εσύ: <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D355&amp;t=R%20%CF%83%CF%84%CE%BF%20Notepad%2B%2B"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://twitter.com/home?status=R%20%CF%83%CF%84%CE%BF%20Notepad%2B%2B%20-%2 <a href="http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D355">">[http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D355">]</a> <img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/twitter.png" alt="-" /></a> <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D355&amp;title=R%20%CF%83%CF%84%CE%BF%20Notepad%2B%2B&amp;annotation=%0D%0A%CE%91%CE%BD%20%CF%84%CF%81%CE%AD%CF%87%CE%B5%CF%84%CE%B5%20R%C2%A0%20%CE%B3%CE%B9%CE%B1%20%CF%84%CE%B9%CF%82%20%CF%83%CF%84%CE%B1%CF%84%CE%B9%CF%83%CF%84%CE%B9%CE%BA%CE%AD%CF%82%20%CF%83%CE%B1%CF%82%20%CE%B1%CE%BD%CE%B1%CE%BB%CF%8D%CF%83%CE%B5%CE%B9%CF%82%2C%20%CF%84%CF%8C%CF%84%CE%B5%20%CE%BC%CF%80%CE%BF%CF%81%CE%B5%CE%AF%CF%84%CE%B5%20%CE%BD%CE%B1%20%CE%BA%CE%AC%CE%BD%CE%B5%CF%84%CE%B5%20%CF%84%CE%BF%20Notepad%2B%2B%20%CE%AD%CE%BD%CE%B1%CE%BD%20%CF%80%CE%BF%CE%BB%CF%8D%20%CE%BA%CE%B1%CE%BB%CF%8C%20R%20Editor%20%CE%B3%CE%B9%CE%B1%20%CE%BD%CE%B1%20%CE%B3%CF%81%CE%AC%CF%86%CE%B5%CF%84%CE%B5%20%CE%BA%CF%8E%CE%B4%CE%B9%CE%BA%CE%B1.%20%CE%A4%CE%BF%20NppToR%20%CE%B5%CE%AF%CE%BD%CE%B1%CE%B9%20%CE"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/11/%ce%a7%ce%ac%cf%81%cf%84%ce%b7%cf%82_%ce%b4%ce%b9%ce%ac%cf%87%cf%85%cf%83%ce%b7%cf%82_%ce%b1%ce%bd%ce%bf%ce%b9%cf%87%cf%84%ce%bf%cf%8d_%ce%ba%cf%8e%ce%b4%ce%b9%ce%ba%ce%b1</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Χάρτης διάχυσης ανοιχτού κώδικα</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/11/%ce%a7%ce%ac%cf%81%cf%84%ce%b7%cf%82_%ce%b4%ce%b9%ce%ac%cf%87%cf%85%cf%83%ce%b7%cf%82_%ce%b1%ce%bd%ce%bf%ce%b9%cf%87%cf%84%ce%bf%cf%8d_%ce%ba%cf%8e%ce%b4%ce%b9%ce%ba%ce%b1"/>		
		<updated>2009-05-11T07:33:16-04:00</updated>
		<published>2009-05-11T07:33:16-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://img24.imageshack.us/img24/5531/opensourcemap.png" alt="-" />
</p>
<p>
  Η redhat ετοίμασε ένα χάρτη που μας δείχνει την διάχυση των τεχνολογιών ανοιχτού κώδικα παγκοσμίως. Μπορείτε να το βρείτε <a href="http://www.redhat.com/about/where-is-open-source/activity/">εδώ</a>.
</p>μοίρασε και εσύ: <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D340&amp;t=%CE%A7%CE%AC%CF%81%CF%84%CE%B7%CF%82%20%CE%B4%CE%B9%CE%AC%CF%87%CF%85%CF%83%CE%B7%CF%82%20%CE%B1%CE%BD%CE%BF%CE%B9%CF%87%CF%84%CE%BF%CF%8D%20%CE%BA%CF%8E%CE%B4%CE%B9%CE%BA%CE%B1"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://twitter.com/home?status=%CE%A7%CE%AC%CF%81%CF%84%CE%B7%CF%82%20%CE%B4%CE%B9%CE%AC%CF%87%CF%85%CF%83%CE%B7%CF%82%20%CE%B1%CE%BD%CE%BF%CE%B9%CF%87%CF%84%CE%BF%CF%8D%20%CE%BA%CF%8E%CE%B4%CE%B9%CE%BA%CE%B1%20-%2 <a href="http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D340">">[http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D340">]</a> <img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/twitter.png" alt="-" /></a> <img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/10/%ce%94%cf%89%cf%81%ce%b5%ce%ac%ce%bd_%ce%93%ce%b5%cf%89%ce%b3%cf%81%ce%b1%cf%86%ce%b9%ce%ba%ce%ac_%ce%94%ce%b5%ce%b4%ce%bf%ce%bc%ce%ad%ce%bd%ce%b1</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Δωρεάν Γεωγραφικά Δεδομένα</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/10/%ce%94%cf%89%cf%81%ce%b5%ce%ac%ce%bd_%ce%93%ce%b5%cf%89%ce%b3%cf%81%ce%b1%cf%86%ce%b9%ce%ba%ce%ac_%ce%94%ce%b5%ce%b4%ce%bf%ce%bc%ce%ad%ce%bd%ce%b1"/>		
		<updated>2009-05-10T07:49:09-04:00</updated>
		<published>2009-05-10T07:49:09-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://img26.imageshack.us/img26/8545/image3rpj.png" alt="-" />
</p>
<p>
  Συγκέντρωσα εδώ κάποια link όπου μπορείτε να βρείτε και να κατεβάσετε δωρεάν γεωγραφικά δεδομένα.
</p>
<ul>
  <li>Portal
    <ul>
      <li>ΗΠΑ/Καναδάς
        <ul>
          <li>
            <a href="http://www.nationalatlas.gov/atlasftp.html">Map Layers Warehouse</a>: Αεροδρόμια, πόλεις, χώρες, σύνορα, δίκτυα τραίνων και δρόμων.
          </li>
          <li>
            <a href="http://www.census.gov/geo/www/cob/index.html">Cartographic Boundary Files</a>: Όρια, σύνορα (shp), πληθυσμιακά ΗΠΑ.
          </li>
          <li>
            <a href="http://www.bts.gov/programs/geographic_information_services/ntatlas/index.html">National Transportation Atlas Data Shapefile Download Center</a> (ΗΠΑ)
          </li>
          <li>
            <a href="http://casil.ucdavis.edu/casil/gis.ca.gov/">The California Spatial Data Library</a> (ΗΠΑ)
          </li>
          <li>
            <a href="http://www.geobase.ca/">GeoBase</a> (Καναδάς)
          </li>
        </ul>
      </li>
      <li>Παγκόσμια
        <ul>
          <li>
            <a href="http://biogeo.berkeley.edu/bgm/gdata.php">Πανεπιστήμιο Berkley</a> <img src='http://www.dimitrisk.gr/blog/wp-includes/images/smilies/icon_sad.gif' alt="-" /> Αφρική, Ασία, Ν.Αμερική)
          </li>
          <li>
            <a href="http://www.state.ma.us/mgis/dwn-vect.htm">MassGIS</a>
          </li>
          <li>
            <a href="http://climchange.cr.usgs.gov/rio_puerco/library/carto_layers.html">Rio Puerco Data Library</a>:Χαρτογραφικές Βάσεις
          </li>
          <li>
            <a href="http://www.gisdatadepot.com/">GIS Data Depot</a>
          </li>
          <li>
            <a href="http://arcdata.esri.com/data_downloader/DataDownloader?part=10200">World Basemap Data</a>: Σύνορα χωρών, σημεία πόλεων, ποταμοί, δίκτυα δρόμων και τραίνων.
          </li>
        </ul>
      </li>
    </ul>
  </li>
  <li>Shapefiles
    <ul>
      <li>Παγκόσμια
        <ul>
          <li>
            <a href="http://www.vdstech.com/mapdata/world.zip">world.zip</a> (224 Kb)
          </li>
        </ul>
      </li>
      <li>Β. Αμερική
        <ul>
          <li>ΗΠΑ (states) <a href="http://www.vdstech.com/mapdata/usstates.zip">usstates.zip</a> (110 Kb)
          </li>
          <li>ΗΠΑ (counties) <a href="http://www.vdstech.com/mapdata/uscounties.zip">uscounties.zip</a>(512 Kb)
          </li>
          <li>ΗΠΑ (counties by states) <a href="http://www.vdstech.com/mapdata/uscntstate.zip">uscntstate.zip</a> (516 Kb)
          </li>
          <li>ΗΠΑ (ZIP5 boundaries) <a href="http://www.vdstech.com/mapdata/zip5.zip">zip5.zip</a> (5.4 Mb)
          </li>
          <li>ΗΠΑ (ZIP3 boundaries) <a href="http://www.vdstech.com/mapdata/zip3.zip">zip3.zip</a> (576 Kb)
          </li>
          <li>ΗΠΑ <a href="http://www.vdstech.com/mapdata/canada.zip">canada.zip</a>(372 Kb)
          </li>
          <li>Μεξικό <a href="http://www.vdstech.com/mapdata/mexico.zip">mexico.zip</a> (21 Kb)
          </li>
        </ul>
      </li>
      <li>Νότια Αμερική
        <ul>
          <li>Αργεντινή <a href="http://www.vdstech.com/mapdata/argentina.zip">argentina.zip</a> (53 Kb)
          </li>
          <li>Βραζιλία <a href="http://www.vdstech.com/mapdata/brazil.zip">brazil.zip</a> (129 Kb)
          </li>
        </ul>
      </li>
      <li>Ευρώπη
        <ul>
          <li>Ευρώπη <a href="http://www.vdstech.com/mapdata/europe.zip">europe.zip</a> (23 Kb)
          </li>
          <li>Ευρωπαϊκές Χώρες <a href="http://www.vdstech.com/mapdata/eurocntr.zip">eurocntr.zip</a> (359 Kb)
          </li>
        </ul>
      </li>
      <li>Ασία
        <ul>
          <li>Ιαπωνία <a href="http://www.vdstech.com/mapdata/japan.zip">japan.zip</a> (31 Kb)
          </li>
          <li>Ινδία (states,districts) <a href="http://www.vdstech.com/mapdata/india.zip">india.zip</a> (124 Kb)
          </li>
        </ul>
      </li>
      <li>Αυστραλία
        <ul>
          <li>Αυστραλία <a href="http://www.vdstech.com/mapdata/australia.zip">australia.zip</a> (62 Kb)
          </li>
        </ul>
      </li>
    </ul>
  </li>
</ul>
<p>
  πηγή: <a href="http://www.vdstech.com/">vds Technologies</a>
</p>μοίρασε και εσύ: <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D334&amp;t=%CE%94%CF%89%CF%81%CE%B5%CE%AC%CE%BD%20%CE%93%CE%B5%CF%89%CE%B3%CF%81%CE%B1%CF%86%CE%B9%CE%BA%CE%AC%20%CE%94%CE%B5%CE%B4%CE%BF%CE%BC%CE%AD%CE%BD%CE%B1"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://twitter.com/home?status=%CE%94%CF%89%CF%81%CE%B5%CE%AC%CE%BD%20%CE%93%CE%B5%CF%89%CE%B3%CF%81%CE%B1%CF%86%CE%B9%CE%BA%CE%AC%20%CE%94%CE%B5%CE%B4%CE%BF%CE%BC%CE%AD%CE%BD%CE%B1%20-%2 <a href="http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D334">">[http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D334">]</a> <img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/twitter.png" alt="-" /></a> <img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/09/Twitter___GoogleMaps_=_GeoTwitter</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Twitter + GoogleMaps = GeoTwitter</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/09/Twitter___GoogleMaps_=_GeoTwitter"/>		
		<updated>2009-05-09T07:30:46-04:00</updated>
		<published>2009-05-09T07:30:46-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://assets3.twitter.com/images/twitter.png?1173331264" alt="-" /><img src="http://www.google.com/intl/en_us/images/maps_results_logo.gif" alt="-" />
</p>
<p>
  <img src="http://img18.imageshack.us/img18/6588/twittermap.png" alt="-" />
</p>
<p>
  Ως γεωγράφος εκτιμώ την έννοια της τοποθεσίας, <a href="http://geotwitter.org/">εδώ</a> μπορείτε να βρείτε ένα live χάρτη που οπτικοποιεί τα public posts που γίνονται κάθε λεπτό στο twitter. Συλλέγει πληροφορίες από τα προφίλ των χριστών και τα τοποθετεί σε έναν GoogleMap χάρτη. Χρησιμοποιεί τα API των <a href="http://www.twitter.com/help/api">Twitter</a> και&nbsp; <a href="http://www.google.com/apis/maps/">Google Maps</a>
</p>μοίρασε και εσύ: <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D324&amp;t=Twitter%20%2B%20GoogleMaps%20%3D%20GeoTwitter"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://twitter.com/home?status=Twitter%20%2B%20GoogleMaps%20%3D%20GeoTwitter%20-%2 <a href="http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D324">">[http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D324">]</a> <img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/twitter.png" alt="-" /></a> <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D324&amp;title=Twitter%20%2B%20GoogleMaps%20%3D%20GeoTwitter&amp;annotation=%0D%0A%0D%0A%CE%A9%CF%82%20%CE%B3%CE%B5%CF%89%CE%B3%CF%81%CE%AC%CF%86%CE%BF%CF%82%20%CE%B5%CE%BA%CF%84%CE%B9%CE%BC%CF%8E%20%CF%84%CE%B7%CE%BD%20%CE%AD%CE%BD%CE%BD%CE%BF%CE%B9%CE%B1%20%CF%84%CE%B7%CF%82%20%CF%84%CE%BF%CF%80%CE%BF%CE%B8%CE%B5%CF%83%CE%AF%CE%B1%CF%82%2C%20%CE%B5%CE%B4%CF%8E%20%CE%BC%CF%80%CE%BF%CF%81%CE%B5%CE%AF%CF%84%CE%B5%20%CE%BD%CE%B1%20%CE%B2%CF%81%CE%B5%CE%AF%CF%84%CE%B5%20%CE%AD%CE%BD%CE%B1%20live%20%CF%87%CE%AC%CF%81%CF%84%CE%B7%20%CF%80%CE%BF%CF%85%20%CE%BF%CF%80%CF%84%CE%B9%CE%BA%CE%BF%CF%80%CE%BF%CE%B9%CE%B5%CE%AF%20%CF%84%CE%B1%20public%20posts%20%CF%80%CE%BF%CF%85%20%CE%B3%CE%AF%CE%BD%CE%BF%CE%BD%CF%84%CE%B1%CE%B9%20%CE%BA%CE%AC%CE%B8%CE%B5%20%CE%BB%CE%B5%CF%80%CF%84%CF%8C%20%CF%83%CF"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/08/Qgis_python_Plugin_Creator</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Qgis python Plugin Creator</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/08/Qgis_python_Plugin_Creator"/>		
		<updated>2009-05-08T08:01:35-04:00</updated>
		<published>2009-05-08T08:01:35-04:00</published>
		<content type="html"><![CDATA[	<img src="http://feeds.feedburner.com/~r/DigitalHardcore/~4/uUcejn-x3cI" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/07/Java_visualization_toolkits</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Java visualization toolkits</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/05/07/Java_visualization_toolkits"/>		
		<updated>2009-05-07T07:43:11-04:00</updated>
		<published>2009-05-07T07:43:11-04:00</published>
		<content type="html"><![CDATA[	<img src="http://feeds.feedburner.com/~r/DigitalHardcore/~4/whNN_0S8l04" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/04/15/Qgis_repository</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Qgis repository</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/04/15/Qgis_repository"/>		
		<updated>2009-04-15T10:10:08-04:00</updated>
		<published>2009-04-15T10:10:08-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://img3.imageshack.us/img3/9397/qgisrasteraligned.jpg" alt="-" /><br />
  Το Qgis είναι ένα από τα διαμάντια του ανοιχτού λογισμικού (ειδικά για την επιστήμη της Γεωγραφίας και των GIS). Είναι ένα ανοιχτού λογισμικού Γεωγραφικό Σύστημα Πληροφοριών το οποίο είναι ικανό να φέρει εις πέρας αρκετές λειτουργίες ενός σύγχρονου εμπορικού πακέτου (ArcGis, ArcInfo, κτλ). Το Qgis είναι γραμμένο σε C++ αλλά περιέχει bindings σε python. Έτσι μπορούμε να γράφουμε plug-ins ώστε να διευκολύνουμε διάφορες λειτουργίες.
</p>
<p>
  <a href="http://wiki.qgis.org/qgiswiki/DevelopingPluginsWithPython">Εδώ</a> αλλά και <a href="http://wiki.qgis.org/qgiswiki/PythonBindings">εκεί</a> μπορείτε να βρείτε ένα how-to για να γράψετε το πρώτο σας plugin. Ακόμα, <a href="http://pyqgis.org/builder/plugin_builder.py">εδώ</a> μπορείτε να βρείτε ένα εργαλείο το οποίο διευκολύνει την δημιουργία των plugin.
</p>
<p>
  Τέλος, έχω ετοιμάσει ένα δικό μου repository για plugins (σύντομα θα ανεβάσω πολύ υλικό) ώστε να μπορείτε να κατεβάζετε αυτόματα τα plugins. Απλά προσθέστε την διεύθυνση, μέσα στο Qgis Python Plugin Installer:<br />
   <a href="http://www.dimitrisk.gr/qgis/plugins.xml">[www.dimitrisk.gr]</a> 
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D242&amp;title=Qgis%20repository"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://twitter.com/home?status=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D242"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/twitter.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D242&amp;t=Qgis%20repository"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a><br />
<br />
<img src="http://feeds2.feedburner.com/~r/DigitalHardcore/~4/jdG0IBJi-Hk" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/04/03/Lyx___Zotero_=_Lytero_Plugin</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Lyx + Zotero = Lytero Plugin</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/04/03/Lyx___Zotero_=_Lytero_Plugin"/>		
		<updated>2009-04-03T09:05:49-04:00</updated>
		<published>2009-04-03T09:05:49-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://img509.imageshack.us/img509/4993/writing1228511911.gif" alt="-" />
</p>
<p>
  Το γνωστό μας <a href="http://www.zotero.org/">Zotero</a> είναι το πλέον εύχρηστο και αξιόπιστο πρόγραμμα διαχείρισης και ενσωμάτωσης βιβλιογραφικών αναφορών σε κείμενα.Το <a href="http://www.lyx.org/">Lyx</a> είναι η πλέον εύχρηστη και δυνατή λύση για Latex (ο πιο δυνατός κειμενογράφος Open Source). Αν θέλουμε να τα ενώσουμε και να μπορούμε να χρησιμοποιούμε βιβλιογραφικές αναφορές κατευθείαν από το zotero, μέσα στο Lyx τότε δεν έχουμε παρά να κατεβάσουμε το <a href="http://groups.google.com/group/zotero-dev/attach/24ff076ccf8e41b4/lytero.xpi?part=2">Lytero</a>. Ένα Firefox Plugin το οποίο αυξάνει τις δυνατότητες ενσωμάτωσης του Zotero.
</p>
<p>
  Καλό γράψιμο…
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D297&amp;title=Lyx%20%2B%20Zotero%20%3D%20Lytero%20Plugin"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://twitter.com/home?status=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D297"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/twitter.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D297&amp;t=Lyx%20%2B%20Zotero%20%3D%20Lytero%20Plugin"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a><br />
<br />
<img src="http://feeds2.feedburner.com/~r/DigitalHardcore/~4/sGJVHAUMsC8" alt="-" /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/03/27/postgresql_%e2%80%9cerror.installing.runtimes%e2%80%9d</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: postgresql “error.installing.runtimes”</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/03/27/postgresql_%e2%80%9cerror.installing.runtimes%e2%80%9d"/>		
		<updated>2009-03-27T09:10:20-04:00</updated>
		<published>2009-03-27T09:10:20-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://www.anchor.com.au/images/logos/postgresql-logo-48x48.gif" alt="-" /><br />
  Κατεβάζοντας το setup αρχείου της PostgreSQL και προσπαθώντας να το εγκαταστήσω (σε μηχάνημα Win-XP) έλαβα μηνημα σφάλματος: error.installing.runtimes
</p>
<p>
  Είναι ένα σφάλμα που σχετίζετε με το “Windows Scripting Host” και ουσιαστικά μας λέει ότι ο host είναι αδρανής.<br />
  Για να μπορεσετε να εγκαταστήσετε την PostgreSQL, κατεβάστε απο <a href="http://www.postgresql.org/ftp/binary/">εδώ</a> την τελεύταια εκδοση ( postgresql-x.x.x-x.zip) και τρέξτε το αρχείο με όνομα: postgresql-x.x.msi μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D290&amp;title=postgresql%20%22error.installing.runtimes%22"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://twitter.com/home?status=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D290"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/twitter.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D290&amp;t=postgresql%20%22error.installing.runtimes%22"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a><br />
  <br />
  <img src="http://feeds2.feedburner.com/~r/DigitalHardcore/~4/Jfngr7UD5Zk" alt="-" />
</p> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/03/25/%ce%9f_%ce%b8%ce%ac%ce%bd%ce%b1%cf%84%ce%bf%cf%82_%cf%84%ce%bf%cf%85_Desktop_%ce%ba%ce%b1%ce%b9_%cf%84%cf%89%ce%bd_Operating_Systems</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Ο θάνατος του Desktop και των Operating Systems</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/03/25/%ce%9f_%ce%b8%ce%ac%ce%bd%ce%b1%cf%84%ce%bf%cf%82_%cf%84%ce%bf%cf%85_Desktop_%ce%ba%ce%b1%ce%b9_%cf%84%cf%89%ce%bd_Operating_Systems"/>		
		<updated>2009-03-25T19:35:37-04:00</updated>
		<published>2009-03-25T19:35:37-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://img106.imageshack.us/img106/9218/greece.png" alt="-" /><br />
  Ubuntu Greece - Win Greece
</p><img src="http://img136.imageshack.us/img136/2199/world.png" alt="-" /><br />
Ubuntu Worldwide - Win Worldwide
<p>
  Με μια απλή αναζήτηση στο trends.google.com (Για την Ελλάδα), και συγκριτική γραφική αναπαράσταση μπορούμε να δούμε πως σιγά σιγά η αυτοκρατορία WinDows αρχίζει να υποχωρεί ενώ σημειώνετε μια αργά αναπτυσσόμενη άνοδο μικρής κλίμακας για Ubuntu. Οι αριθμού αναφέρονται σε “search terms” και “news references”.
</p>
<p>
  <img src="http://img217.imageshack.us/img217/965/linuxwindows.png" alt="-" /><br />
  Linux Greece - Win Greece
</p><img src="http://img106.imageshack.us/img106/907/linuxwindowsworld.png" alt="-" /><br />
Linux WorldWide - Win WorldWide
<p>
  Σε παγκόσμιο επίπεδο υπάρχει μια πτώση της αναζήτησης για λειτουργικό σύστημα και αυτό διότι έχει επέλθει το τέλος των λειτουργικών συστημάτων και του Desktop. Η διεισδυτικότητα και ικανότητα του Internet καθιστά εύκολη την αντικατάσταση του τοπικού λειτουργικού συστήματος (είτε Win, είτε Linux) και μπορεί να αντικαταστήσει αν όχι εξ ολοκλήρου, τότε σχεδόν ένα πολύ μεγάλο μέρος της καθημερινής χρίσης ενός τοπικού συστήματος ενός μέσου χρήστη.<br />
  ίδη εχουν αρχίσει να αναπτυσονται εφαρμογες που φέρνουν το desktop μας πιο κοντα στο ιντερνετ, και το internet πιο κοντα στο desktop μας. Αρκει να ρίξουμε μια ματιά στα <a href="http://labs.mozilla.com/">labs της mozilla</a> αλλα και τα <a href="http://labs.google.com/">labs της Google</a>. Εκει αναπτυσονται εφαρμογες οπως τα <a href="http://docs.google.com/">Google-Docs</a> και το <a href="http://labs.mozilla.com/projects/prism/">Prism</a>.<br />
  Τα ερωτηματα που θέτω ειναι:
</p>
<ol>
  <li>Πόσο έτοιμα είναι τα υπάρχοντα λειτουργικά συστήματα ώστε να επαναπροσδιορίσουν των χαρακτήρα τους?
  </li>
  <li>Πόσο έτοιμοι είναι οι χρήστες ώστε να επαναπροσδιορίσουν τις ενοιες του local και του online, διοτι τα ορια αρχιζουν να ειναι δισδιακριτα και οι&nbsp; δυο αυτες ενοιες αρχιζουν να γινονται το ιδιο πραγμα.
  </li>
  <li>Τι ασφάλεια θα παρέχετε στα δεδομενα μας ?
  </li>
</ol>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D270&amp;title=%CE%9F%20%CE%B8%CE%AC%CE%BD%CE%B1%CF%84%CE%BF%CF%82%20%CF%84%CE%BF%CF%85%20Desktop%20%CE%BA%CE%B1%CE%B9%20%CF%84%CF%89%CE%BD%20Operating%20Systems"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://twitter.com/home?status=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D270"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/twitter.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D270&amp;t=%CE%9F%20%CE%B8%CE%AC%CE%BD%CE%B1%CF%84%CE%BF%CF%82%20%CF%84%CE%BF%CF%85%20Desktop%20%CE%BA%CE%B1%CE%B9%20%CF%84%CF%89%CE%BD%20Operating%20Systems"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/03/25/%ce%91%cf%81%ce%b9%ce%b8%ce%bc%cf%8c%cf%82_%cf%83%ce%b5%ce%bb%ce%af%ce%b4%ce%b1%cf%82_%cf%83%ce%b5_Google_Docs</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Αριθμός σελίδας σε Google Docs</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/03/25/%ce%91%cf%81%ce%b9%ce%b8%ce%bc%cf%8c%cf%82_%cf%83%ce%b5%ce%bb%ce%af%ce%b4%ce%b1%cf%82_%cf%83%ce%b5_Google_Docs"/>		
		<updated>2009-03-25T09:01:53-04:00</updated>
		<published>2009-03-25T09:01:53-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://docs.google.com/images/editor_docsslogo.gif" alt="-" /><br />
  Αν θέλουμε να εισάγουμε τον αριθμό σελίδας σε κάποιο έγγραφο “Google Docs” μπορούμε να πάμε: Edit/Edit HTML και αφού δούμε την Html αναπαράσταση του εγγράφου μας, τότε εισάγουμε:
</p><a href="http://december.com/html/4/element/p.html">&lt;p</a> style="text-align: right;" class="google_header"&gt;Page <a href="http://december.com/html/4/element/span.html">&lt;span</a> class="google_pagenumber"&gt;1&lt;/span&gt; of <a href="http://december.com/html/4/element/span.html">&lt;span</a> class="google_pagecount"&gt;1&lt;/span&gt;&lt;/p&gt;
<p>
  …στο σημείο που επιθυμούμε. Συνήθως είθηστε να υπάρχει ο αριθμός σελίδας στο κάτω δεξιά μέρος κάθε σελίδας (footer, right allignment).
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D266&amp;title=%CE%91%CF%81%CE%B9%CE%B8%CE%BC%CF%8C%CF%82%20%CF%83%CE%B5%CE%BB%CE%AF%CE%B4%CE%B1%CF%82%20%CF%83%CE%B5%20Google%20Docs"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://twitter.com/home?status=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D266"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/twitter.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D266&amp;t=%CE%91%CF%81%CE%B9%CE%B8%CE%BC%CF%8C%CF%82%20%CF%83%CE%B5%CE%BB%CE%AF%CE%B4%CE%B1%CF%82%20%CF%83%CE%B5%20Google%20Docs"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/03/11/read_write_shapefile_with_Java</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: read/write shapefile with Java</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/03/11/read_write_shapefile_with_Java"/>		
		<updated>2009-03-11T09:05:30-04:00</updated>
		<published>2009-03-11T09:05:30-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://img16.imageshack.us/img16/7013/worldcities.png" alt="-" />
</p>
<p>
  Με την χρήση της βιβλιοθήκης GeoTools μπορούμε να διαβάσουμε shapefiles στην Java. <a href="http://code.google.com/p/dimitrisk-gis/source/browse/trunk/geotools/Shapefile.java">Εδώ</a> μπορείτε να βρείτε μια κλάση για shapefile I/O (input/output)&nbsp; μέσα από Java. Απαιτείτε να βάλετε ως βιβλιοθήκη κάποια jar του <a href="http://geotools.codehaus.org/Downloads">GeoTools</a>.
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D258&amp;title=read%2Fwrite%20shapefile%20with%20Java"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://twitter.com/home?status=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D258"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/twitter.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D258&amp;t=read%2Fwrite%20shapefile%20with%20Java"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/03/09/Open_Source_GIS_%cf%83%cf%85%ce%b3%ce%ba%cf%81%ce%b9%cf%84%ce%b9%ce%ba%cf%8c%cf%82_%cf%80%ce%af%ce%bd%ce%b1%ce%ba%ce%b1%cf%82</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Open Source GIS συγκριτικός πίνακας</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/03/09/Open_Source_GIS_%cf%83%cf%85%ce%b3%ce%ba%cf%81%ce%b9%cf%84%ce%b9%ce%ba%cf%8c%cf%82_%cf%80%ce%af%ce%bd%ce%b1%ce%ba%ce%b1%cf%82"/>		
		<updated>2009-03-10T01:05:29-04:00</updated>
		<published>2009-03-10T01:05:29-04:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://img155.imageshack.us/img155/5609/gissolutionswheel.gif" alt="-" />
</p>
<p>
  <a href="http://www.spatialserver.net/osgis/Desktopgis_overview.htm">Εδώ</a> μπορείτε να βρείτε έναν γενικό συγκριτικό πίνακα των Γεωγραφικών Συστημάτων πληροφοριών (GIS) ανοιχτού λογισμικού.
</p>
<p>
  <a href="http://www.spatialserver.net/osgis/osgis_functionality.htm">Εδώ</a> υπάρχει και ενας συγκριτικός πίνακας των επιμέρους λειτουργιών που προσφέρουν.
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D252&amp;title=Open%20Source%20GIS%20%CF%83%CF%85%CE%B3%CE%BA%CF%81%CE%B9%CF%84%CE%B9%CE%BA%CF%8C%CF%82%20%CF%80%CE%AF%CE%BD%CE%B1%CE%BA%CE%B1%CF%82"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://twitter.com/home?status=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D252"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/twitter.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D252&amp;t=Open%20Source%20GIS%20%CF%83%CF%85%CE%B3%CE%BA%CF%81%CE%B9%CF%84%CE%B9%CE%BA%CF%8C%CF%82%20%CF%80%CE%AF%CE%BD%CE%B1%CE%BA%CE%B1%CF%82"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/22/%ce%a3%cf%85%ce%bc%ce%b2%ce%ac%ce%bb%ce%bb%ce%bf%ce%bd%cf%84%ce%b1%cf%82_%ce%bc%ce%b5_%cf%84%ce%bf_%ce%bb%ce%bf%ce%b3%ce%b9%cf%83%ce%bc%ce%b9%ce%ba%cf%8c_%ce%bc%ce%b1%cf%82</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Συμβάλλοντας με το λογισμικό μας</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/22/%ce%a3%cf%85%ce%bc%ce%b2%ce%ac%ce%bb%ce%bb%ce%bf%ce%bd%cf%84%ce%b1%cf%82_%ce%bc%ce%b5_%cf%84%ce%bf_%ce%bb%ce%bf%ce%b3%ce%b9%cf%83%ce%bc%ce%b9%ce%ba%cf%8c_%ce%bc%ce%b1%cf%82"/>		
		<updated>2009-02-23T00:20:25-05:00</updated>
		<published>2009-02-23T00:20:25-05:00</published>
		<content type="html"><![CDATA[	<p>
  Αν έχουμε γράψει κάποιο software το οποίο θέλουμε να δημοσιοποιήσουμε, μπορούμε να το πακετάρουμε και να το ανεβάσουμε online ώστε άλλοι χρήστες να μπορέσουν να το χρησιμοποιήσουν/ βελτιώσουν. Έξαλλου αυτή είναι και μια από τις κεντρικές ιδέες του ανοιχτού λογισμικού.
</p>
<p>
  Για αρχή θα πρέπει να <a href="https://wiki.ubuntu.com/PackagingGuide">πακετάρουμε το software σε μορφή αναγνωρίσιμη όπως το .deb</a>. Έτσι θα μπορούν οι άλλοι χρήστες να κάνουν εγκατάσταση και στην συνέχεια χρήση του.<br />
  Αν θέλουμε να το ανεβάσουμε στον λογαριασμό μας στο launchpad μπορούμε να ακολουθήσουμε <a href="https://help.launchpad.net/Packaging/PPA">αυτές τις οδηγίες</a> και να δημοσιοποιηθεί ώστε να μπορούν άλλοι χρήστες να το κατεβάσουν.<br />
  Τέλος αν θέλουμε να μπούμε στην διαδικασία να συμβάλουμε ενεργά στην επίσημη διάθεση του software μας στα επίσημα αποθετήρια του Ubuntu, τότε ακολουθούμε <a href="https://wiki.ubuntu.com/MOTU/">αυτές τις ενέργειες</a>.
</p>Οδηγοί για να φτιάξετε τα δικά σας Debian (.deb) πακέτα: <a href="https://wiki.ubuntu.com/PackagingGuide">PackagingGuide - Ubuntu Wiki</a> <a href="http://www.linux.com/articles/60383">Linux.com :: Make your own packages for Debian-based systems</a> <a href="http://www.ibm.com/developerworks/linux/library/l-debpkg.html">Create Debian Linux packages</a> <a href="http://tldp.org/HOWTO/html_single/Debian-Binary-Package-Building-HOWTO/">Debian Binary Package Building HOWTO</a> <a href="http://www.debian-administration.org/articles/336">Rolling your own Debian packages (part 1)</a> Γραφικά εργαλεία για deb building: <a href="https://launchpad.net/debcreator">debian package creator in Launchpad</a> <a href="https://launchpad.net/debomatic">Deb-o-Matic in Launchpad</a> <a href="https://launchpad.net/debianpackagemaker">Debian Package Maker in Launchpad</a> μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D218&amp;title=%CE%A3%CF%85%CE%BC%CE%B2%CE%AC%CE%BB%CE%BB%CE%BF%CE%BD%CF%84%CE%B1%CF%82%20%CE%BC%CE%B5%20%CF%84%CE%BF%20%CE%BB%CE%BF%CE%B3%CE%B9%CF%83%CE%BC%CE%B9%CE%BA%CF%8C%20%CE%BC%CE%B1%CF%82"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://twitter.com/home?status=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D218"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/twitter.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D218&amp;t=%CE%A3%CF%85%CE%BC%CE%B2%CE%AC%CE%BB%CE%BB%CE%BF%CE%BD%CF%84%CE%B1%CF%82%20%CE%BC%CE%B5%20%CF%84%CE%BF%20%CE%BB%CE%BF%CE%B3%CE%B9%CF%83%CE%BC%CE%B9%CE%BA%CF%8C%20%CE%BC%CE%B1%CF%82"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/19/R:_Random_Walk_(%cf%87%ce%ac%cf%81%ce%b1%ce%be%ce%b7_%cf%84%cf%85%cf%87%ce%b1%ce%af%ce%b1%cf%82_%ce%b4%ce%b9%ce%b1%ce%b4%cf%81%ce%bf%ce%bc%ce%ae%cf%82)</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: R: Random Walk (χάραξη τυχαίας διαδρομής)</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/19/R:_Random_Walk_(%cf%87%ce%ac%cf%81%ce%b1%ce%be%ce%b7_%cf%84%cf%85%cf%87%ce%b1%ce%af%ce%b1%cf%82_%ce%b4%ce%b9%ce%b1%ce%b4%cf%81%ce%bf%ce%bc%ce%ae%cf%82)"/>		
		<updated>2009-02-20T03:16:16-05:00</updated>
		<published>2009-02-20T03:16:16-05:00</published>
		<content type="html"><![CDATA[	<p>
  Η έννοια του Random Walk έχει να κάνει με την δημιουργία ενός τυχαίου τρόπου μεταφοράς από ένα σημείο Α σε ένα σημείο Β. Χρησιμοποιείτε από διάφορες επιστήμες για διαφορετικές κάθε φορά εφαρμογές. Στην επιστήμη της γεωγραφίας μια από τις πολλές χρήσης της είναι και η χάραξη εντελώς τυχαίων διαδρομών δειγματοληψίας σε έναν ορισμένο χώρο.<br />
  Κάνοντας χρήση του R μπορούμε να στοιχειοθετήσουμε τυχαια μονοπάτια με τον εξής τρόπο:
</p>library(adehabitat)<br />
library(CircStats)
<p>
  set.seed(876)<br />
  u &lt;- simm.crw(1:500, r = 0.99, burst = "r = 0.99")<br />
  v &lt;- simm.crw(1:500, r = 0.9, burst = "r = 0.9", h = 2)<br />
  w &lt;- simm.crw(1:500, r = 0.6, burst = "r = 0.6", h = 5)<br />
  x &lt;- simm.crw(1:500, r = 0, burst = "r = 0 (Asisxetisti diadromi)",<br />
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; h = 0.1)<br />
  z &lt;- c(u, v, w, x)<br />
  # perani: An tha ta valei ola sto idio diagramma (FALSE), i an tha kanei n ksexorista diagrammata (TRUE:default).<br />
  # addpoints: An tha apikonisei ta simia tis diadromis (TRUE:default)<br />
  plot(z, addpoints = FALSE, perani = FALSE)
</p>
<p>
  και το αποτέλεσμα:<br />
  <img src="http://img15.imageshack.us/img15/1486/randomwalkhz5.png" alt="-" />
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D206&amp;title=R%3A%20Random%20Walk%20%28%CF%87%CE%AC%CF%81%CE%B1%CE%BE%CE%B7%20%CF%84%CF%85%CF%87%CE%B1%CE%AF%CE%B1%CF%82%20%CE%B4%CE%B9%CE%B1%CE%B4%CF%81%CE%BF%CE%BC%CE%AE%CF%82%29"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D206&amp;t=R%3A%20Random%20Walk%20%28%CF%87%CE%AC%CF%81%CE%B1%CE%BE%CE%B7%20%CF%84%CF%85%CF%87%CE%B1%CE%AF%CE%B1%CF%82%20%CE%B4%CE%B9%CE%B1%CE%B4%CF%81%CE%BF%CE%BC%CE%AE%CF%82%29"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D206"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/18/R_%ce%ba%ce%bb%ce%af%ce%bc%ce%b1%ce%ba%ce%b5%cf%82_%ce%b1%ce%be%cf%8c%ce%bd%cf%89%ce%bd</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: R κλίμακες αξόνων</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/18/R_%ce%ba%ce%bb%ce%af%ce%bc%ce%b1%ce%ba%ce%b5%cf%82_%ce%b1%ce%be%cf%8c%ce%bd%cf%89%ce%bd"/>		
		<updated>2009-02-19T02:05:58-05:00</updated>
		<published>2009-02-19T02:05:58-05:00</published>
		<content type="html"><![CDATA[	<p>
  Πολλές φορές όταν οπτικοποιούμε δεδομένα με διαφορετικό εύρος τιμών αντιμετωπίζουμε το πρόβλημα οτι δεν μπορούμε να χρησιμοποιήσουμε διαφορετικές κλίμακες στους άξονες του γραφήματος μας. Υπάρχει λοιπόν ενας τρόπος να το αντιμετωπίσουμε αυτό:
</p>#tuxeoi arithmoi diaforetikou eurous timon<br />
ena=cumsum(rnorm(100))<br />
duo=cumsum(rnorm(100))+500<br />
plot(ena)<br />
plot(duo)<br />
par(mar=c(5,4,4,4))<br />
plot(ena,type=‘l’,col=1)<br />
usr=par(‘usr’)<br />
usr[3:4]=range(duo)+1.08*c(-1,1)*diff(range(duo))/2<br />
# extra epipleon xoros ston deutero katheto axona<br />
par(usr=usr)<br />
Axis(side=4)<br />
mtext("duo",side=4)<br />
lines(duo,type=‘l’,col=2)
<p>
  <a href="http://img252.imageshack.us/img252/2691/scaleaxespu0.png"><img src="http://img252.imageshack.us/img252/2691/scaleaxespu0.png" alt="-" /></a>
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D192&amp;title=R%20%CE%BA%CE%BB%CE%AF%CE%BC%CE%B1%CE%BA%CE%B5%CF%82%20%CE%B1%CE%BE%CF%8C%CE%BD%CF%89%CE%BD%20"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D192&amp;t=R%20%CE%BA%CE%BB%CE%AF%CE%BC%CE%B1%CE%BA%CE%B5%CF%82%20%CE%B1%CE%BE%CF%8C%CE%BD%CF%89%CE%BD%20"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D192"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/18/R_%ce%b1%cf%80%ce%bf%ce%b8%ce%ae%ce%ba%ce%b5%cf%85%cf%83%ce%b7_%cf%87%cf%8e%cf%81%ce%bf%cf%85_%ce%b5%cf%81%ce%b3%ce%b1%cf%83%ce%af%ce%b1%cf%82</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: R αποθήκευση χώρου εργασίας</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/18/R_%ce%b1%cf%80%ce%bf%ce%b8%ce%ae%ce%ba%ce%b5%cf%85%cf%83%ce%b7_%cf%87%cf%8e%cf%81%ce%bf%cf%85_%ce%b5%cf%81%ce%b3%ce%b1%cf%83%ce%af%ce%b1%cf%82"/>		
		<updated>2009-02-18T09:02:17-05:00</updated>
		<published>2009-02-18T09:02:17-05:00</published>
		<content type="html"><![CDATA[	<p>
  Στο R έχουμε την δυνατότητα να αποθηκεύσουμε τον χώρο εργασίας μας (settings, data, variables) έτσι ώστε να μπορούμε κάποια άλλη στιγμή να τα ανακτήσουμε και να συνεχίσουμε από εκεί που είχαμε σταματήσει.
</p>
<p>
  Η εντολή:
</p>save.image(file="onoma.RData")
<p>
  αποθηκεύει τον χώρο εργασίας μας σε ένα αρχείο με όνομα “onoma.RData”. Επίσης μπορούμε να βάλουμε την τρέχουσα ημερομηνία στο όνομα του αρχείου για να μην το μπερδεύουμε με άλλα παρόμοια αρχεία και να έχουμε έτσι μια πιο συνεπή αρχειοθέτηση:
</p>save.image(file=paste("onoma-",Sys.Date(),".RData") μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D184&amp;title=R%20%CE%B1%CF%80%CE%BF%CE%B8%CE%AE%CE%BA%CE%B5%CF%85%CF%83%CE%B7%20%CF%87%CF%8E%CF%81%CE%BF%CF%85%20%CE%B5%CF%81%CE%B3%CE%B1%CF%83%CE%AF%CE%B1%CF%82"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D184&amp;t=R%20%CE%B1%CF%80%CE%BF%CE%B8%CE%AE%CE%BA%CE%B5%CF%85%CF%83%CE%B7%20%CF%87%CF%8E%CF%81%CE%BF%CF%85%20%CE%B5%CF%81%CE%B3%CE%B1%CF%83%CE%AF%CE%B1%CF%82"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D184"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/15/%ce%a7%ce%ac%cf%81%cf%84%ce%b7%cf%82_%ce%91%ce%bb%cf%85%ce%ba%cf%8e%ce%bd_%ce%9a%ce%b1%ce%bb%ce%bb%ce%bf%ce%bd%ce%ae%cf%82_%ce%9b%ce%ad%cf%83%ce%b2%ce%bf%cf%85</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Χάρτης Αλυκών Καλλονής Λέσβου</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/15/%ce%a7%ce%ac%cf%81%cf%84%ce%b7%cf%82_%ce%91%ce%bb%cf%85%ce%ba%cf%8e%ce%bd_%ce%9a%ce%b1%ce%bb%ce%bb%ce%bf%ce%bd%ce%ae%cf%82_%ce%9b%ce%ad%cf%83%ce%b2%ce%bf%cf%85"/>		
		<updated>2009-02-16T00:04:42-05:00</updated>
		<published>2009-02-16T00:04:42-05:00</published>
		<content type="html"><![CDATA[	<p>
  Κοιτούσα προχτές τις διαστάσεις των Αλυκών Καλλονής Λέσβου. Είναι ένα μέρος που περνώντας δίπλα του δεν μπορείς να αντιληφθείς τις διαστάσεις του. Είναι αρκετά μεγάλο.&nbsp; Οι αλυκές υποδέχονται το νερό σε φυσικές δεξαμενές και το περνάν από διάφορα στάδια αλατότητας ώσπου να καταλήξει η απόθεση του άλατος. Αυτές οι δεξαμενές είναι ορατές στο χάρτη. (μεγάλα τετράγωνα οικόπεδα)
</p>
<p>
  <br />
  <a href="http://maps.google.com/maps/ms?hl=en&amp;ie=UTF8&amp;msa=0&amp;t=h&amp;lci=lmc:panoramio&amp;msid=115085812407783037049.000462c195a7ffc6ed2a5&amp;source=embed&amp;ll=39.215505,26.252518&amp;spn=0.023275,0.036478&amp;z=14">View Larger Map</a>
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D133&amp;title=%CE%A7%CE%AC%CF%81%CF%84%CE%B7%CF%82%20%CE%91%CE%BB%CF%85%CE%BA%CF%8E%CE%BD%20%CE%9A%CE%B1%CE%BB%CE%BB%CE%BF%CE%BD%CE%AE%CF%82%20%CE%9B%CE%AD%CF%83%CE%B2%CE%BF%CF%85%20"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D133&amp;t=%CE%A7%CE%AC%CF%81%CF%84%CE%B7%CF%82%20%CE%91%CE%BB%CF%85%CE%BA%CF%8E%CE%BD%20%CE%9A%CE%B1%CE%BB%CE%BB%CE%BF%CE%BD%CE%AE%CF%82%20%CE%9B%CE%AD%CF%83%CE%B2%CE%BF%CF%85%20"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D133"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/14/%ce%a7%cf%81%ce%ae%cf%83%ce%b9%ce%bc%ce%b5%cf%82_%ce%95%ce%bd%cf%84%ce%bf%ce%bb%ce%ad%cf%82_%e2%80%9cR%e2%80%9d_%ce%b3%ce%b9%ce%b1_GIS</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Χρήσιμες Εντολές “R” για GIS</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/14/%ce%a7%cf%81%ce%ae%cf%83%ce%b9%ce%bc%ce%b5%cf%82_%ce%95%ce%bd%cf%84%ce%bf%ce%bb%ce%ad%cf%82_%e2%80%9cR%e2%80%9d_%ce%b3%ce%b9%ce%b1_GIS"/>		
		<updated>2009-02-15T00:02:50-05:00</updated>
		<published>2009-02-15T00:02:50-05:00</published>
		<content type="html"><![CDATA[	<p>
  Διαβάζει ένα shapefile και το απεικονίζει library(maptools)<br />
  lesvos = readShapePoly("shp/lesvos.shp")<br />
  plot( lesvos )
</p>
<p>
  Απεικονίζουμε ένα shapefile με ξεχωριστό τιμές για κάθε πολύγωνο. library(maptools)<br />
  lesvos = readShapePoly("shp/lesvos.shp")<br />
  plot( lesvos )<br />
  invisible(text(getSpPPolygonsLabptSlots(lesvos), labels=as.character(lesvos$onoma), cex=0.4))
</p>
<p>
  <a href="http://img101.imageshack.us/img101/3821/lesvosoikismoica1.png"><img src="http://img101.imageshack.us/img101/3821/lesvosoikismoica1.png" alt="-" /></a>
</p>Απεικονίζουμε και συγκρίνουμε παράλληλα δυο μεταβλητές ενός shapefile:library(maptools)<br />
lesvos = readShapePoly("shp/lesvos.shp")<br />
spplot(lesvos, c("POP81","POP91") )
<p>
  <a href="http://img19.imageshack.us/img19/3341/spplotix4.png"><img src="http://img19.imageshack.us/img19/3341/spplotix4.png" alt="-" /></a>
</p>Απεικονίζουμε την διαφορά μεταξύ των απογραφών 1981 και 1991.library(maptools)<br />
lesvos = readShapePoly("shp/lesvos.shp")<br />
diafora= lesvos$POP91 - lesvos$POP81<br />
lesvos$dia=diafora<br />
spplot(lesvos, c("dia"), col.regions=colorRampPalette(brewer.pal(9,"Spectral")[1:9])(140)&nbsp; )
<p>
  <a href="http://img4.imageshack.us/img4/9529/diaforakn6.png"><img src="http://img4.imageshack.us/img4/9529/diaforakn6.png" alt="-" /></a>
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D117&amp;title=%CE%A7%CF%81%CE%AE%CF%83%CE%B9%CE%BC%CE%B5%CF%82%20%CE%95%CE%BD%CF%84%CE%BF%CE%BB%CE%AD%CF%82%20%22R%22%20%CE%B3%CE%B9%CE%B1%20GIS"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D117&amp;t=%CE%A7%CF%81%CE%AE%CF%83%CE%B9%CE%BC%CE%B5%CF%82%20%CE%95%CE%BD%CF%84%CE%BF%CE%BB%CE%AD%CF%82%20%22R%22%20%CE%B3%CE%B9%CE%B1%20GIS"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D117"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/14/%ce%a3%cf%80%ce%b9%cf%84%ce%b9%ce%ba%cf%8c%cf%82_Veoh_downloader_%ce%b3%ce%b9%ce%b1_Linux</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Σπιτικός Veoh downloader για Linux</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/14/%ce%a3%cf%80%ce%b9%cf%84%ce%b9%ce%ba%cf%8c%cf%82_Veoh_downloader_%ce%b3%ce%b9%ce%b1_Linux"/>		
		<updated>2009-02-14T09:47:46-05:00</updated>
		<published>2009-02-14T09:47:46-05:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://www.allthatscool.com/wp-content/uploads/2007/06/veohtv_screencast.jpg" alt="-" />
</p>
<p>
  Όπως θα γνωρίζετε δεν υπάρχει Veoh-player για Linux.<br />
  Έγραψα&nbsp; λοιπόν σε Java ένα προγραμματάκι το όποιο του δίνουμε την διεύθυνση της ταινίας, και μας την κατεβάζει σε .flv για να την δούμε με όποιο πρόγραμμα θέλουμε.
</p>
<p>
  Θα να το βρείτε <a href="http://code.google.com/p/veohgraber/downloads/list">εδώ</a>.
</p>
<p>
  <img src="http://img133.imageshack.us/img133/1006/screenshotveohgraberah5.png" alt="-" />
</p>
<p>
  Το ονόμασα VeohGraber. Είναι πολύ χαζό όνομα το ξέρω, αλλά δεν είχα όρεξη να ψάχνω…
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D89&amp;title=%CE%A3%CF%80%CE%B9%CF%84%CE%B9%CE%BA%CF%8C%CF%82%20Veoh%20downloader%20%CE%B3%CE%B9%CE%B1%20Linux"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D89&amp;t=%CE%A3%CF%80%CE%B9%CF%84%CE%B9%CE%BA%CF%8C%CF%82%20Veoh%20downloader%20%CE%B3%CE%B9%CE%B1%20Linux"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D89"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/13/%ce%a4%ce%bf%cf%85%cf%81%ce%b9%cf%83%ce%bc%cf%8c%cf%82_=_%ce%b5%cf%80%ce%ad%ce%bd%ce%b4%cf%85%cf%83%ce%b7_%cf%8c%cf%87%ce%b9_%ce%ba%ce%b1%cf%84%ce%b1%ce%bd%ce%ac%ce%bb%cf%89%cf%83%ce%b7</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Τουρισμός = επένδυση όχι κατανάλωση</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/13/%ce%a4%ce%bf%cf%85%cf%81%ce%b9%cf%83%ce%bc%cf%8c%cf%82_=_%ce%b5%cf%80%ce%ad%ce%bd%ce%b4%cf%85%cf%83%ce%b7_%cf%8c%cf%87%ce%b9_%ce%ba%ce%b1%cf%84%ce%b1%ce%bd%ce%ac%ce%bb%cf%89%cf%83%ce%b7"/>		
		<updated>2009-02-13T09:25:13-05:00</updated>
		<published>2009-02-13T09:25:13-05:00</published>
		<content type="html"><![CDATA[	<p>
  Επένδυση: Δέσμευση κεφαλαίου, η οποία αναμένεται να αποφέρει πρόσθετα κεφάλαια στο μέλλον.<br />
  Κατανάλωση: Χρήση πώρων για την ικανοποίηση αναγκών.<br />
  <img src="http://img443.imageshack.us/img443/2050/beach400x320vj8.jpg" alt="-" /><br />
  Ο τουριστικός τομέας της ελληνικής οικονομίας είναι αυτός που μας επιφέρει τα περισσότερα έσοδα κάθε χρόνια. Δεν είναι λίγες οι φορές όπου βλέπουμε φαινόμενα κερδοσκοπίας σε βάρος ανυποψίαστων τουριστών από εκμεταλλευτές ντόπιους οι οποίοι κοιτάνε να κονομίσουν για την σεζόν.
</p>
<p>
  Αυτή τη τακτική την ονομάζω καταναλωτική. Χρησιμοποιεί άμεσα όσο το δυνατών περισσότερο τους πόρους του (τουρίστας) για να ικανοποιήσει τις ανάγκες του (για να κονομίσει) για την σεζόν.
</p>
<p>
  Ο τουρισμός έχει χαρακτήρα&nbsp; προϊόντος πολυτελείας, εμπεριέχει το κριτήριο τις επιλογής και δεν είναι επιτακτική η χρήση του.&nbsp; Μπορεί δηλαδή ο τουρίστας την επόμενη χρονιά να μην διαλέξει τον τόπο μας για να παραθερίσει και να επιλέξει από δεκάδες άλλους προορισμούς (πιο φτηνούς).&nbsp; Οι επιλογές είναι πολλές και όλες διαθέσιμες στον ενδιαφερόμενο.<br />
</p>
<p>
  Η επενδυτική τακτική που προτείνω έχει να κάνει με την εξυπηρέτηση του τουρίστα έτσι ώστε να ξανά-αγοράσει το προϊόν (να ξανά έρθει στον τόπο). Αυτό έχει ως αποτέλεσμα σε μακρό-οικονομική κλίμακα να αποφέρει μεγαλύτερα κέρδη συνολικά στον τόπο απ’ οτι αν ερχόταν μια φορά και απλά τον ξεζούμισαν οι επιτήδειοι.&nbsp; Αυτό έχει πολλαπλά οφέλη προς ολους τους σχετιζομενους κλάδους.
</p>
<p>
  Ας μην ξεχνάμε πως η οικονομική χρονιά είναι δύσκολη και θα είναι ακόμα λιγότεροι οι επισκέπτες φέτος.&nbsp; Ας επενδύσουμε λοιπόν αντί να καταναλώσουμε.
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D124&amp;title=%CE%A4%CE%BF%CF%85%CF%81%CE%B9%CF%83%CE%BC%CF%8C%CF%82%20%3D%20%CE%B5%CF%80%CE%AD%CE%BD%CE%B4%CF%85%CF%83%CE%B7%20%CF%8C%CF%87%CE%B9%20%CE%BA%CE%B1%CF%84%CE%B1%CE%BD%CE%AC%CE%BB%CF%89%CF%83%CE%B7"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D124&amp;t=%CE%A4%CE%BF%CF%85%CF%81%CE%B9%CF%83%CE%BC%CF%8C%CF%82%20%3D%20%CE%B5%CF%80%CE%AD%CE%BD%CE%B4%CF%85%CF%83%CE%B7%20%CF%8C%CF%87%CE%B9%20%CE%BA%CE%B1%CF%84%CE%B1%CE%BD%CE%AC%CE%BB%CF%89%CF%83%CE%B7"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D124"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/12/%ce%95%ce%b3%ce%ba%ce%b1%cf%84%ce%ac%cf%83%cf%84%ce%b1%cf%83%ce%b7_%cf%80%ce%b1%ce%ba%ce%ad%cf%84%ce%bf%cf%85_.RPM_%cf%83%ce%b5_Ubuntu</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Εγκατάσταση πακέτου .RPM σε Ubuntu</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/12/%ce%95%ce%b3%ce%ba%ce%b1%cf%84%ce%ac%cf%83%cf%84%ce%b1%cf%83%ce%b7_%cf%80%ce%b1%ce%ba%ce%ad%cf%84%ce%bf%cf%85_.RPM_%cf%83%ce%b5_Ubuntu"/>		
		<updated>2009-02-13T00:01:52-05:00</updated>
		<published>2009-02-13T00:01:52-05:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://www.ruthnossek.com/thevolunteer/wp-content/Parcel.jpg" alt="-" />
</p>
<p>
  Εγκαθιστούμε το <a href="http://packages.ubuntu.com/feisty/admin/alien">Alien</a>
</p>$sudo apt-get update<br />
$sudo apt-get install alien
<p>
  Μετατρέπουμε σε .deb
</p>$sudo alien -k myRpmFile.rpm
<p>
  Εγκαθιστούμε το νέο .deb πακέτο
</p>$sudo dpkg -i myDebFile.deb μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D83&amp;title=%CE%95%CE%B3%CE%BA%CE%B1%CF%84%CE%AC%CF%83%CF%84%CE%B1%CF%83%CE%B7%20%CF%80%CE%B1%CE%BA%CE%AD%CF%84%CE%BF%CF%85%20.RPM%20%CF%83%CE%B5%20Ubuntu"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D83&amp;t=%CE%95%CE%B3%CE%BA%CE%B1%CF%84%CE%AC%CF%83%CF%84%CE%B1%CF%83%CE%B7%20%CF%80%CE%B1%CE%BA%CE%AD%CF%84%CE%BF%CF%85%20.RPM%20%CF%83%CE%B5%20Ubuntu"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D83"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/12/Exploits_of_Mom</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Exploits of Mom</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/12/Exploits_of_Mom"/>		
		<updated>2009-02-12T17:00:14-05:00</updated>
		<published>2009-02-12T17:00:14-05:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://img443.imageshack.us/img443/8241/exploitsofamommw7.png" alt="-" />
</p>
<p>
  Εδώ βλέπουμε μια κλασική περίπτωση διευθυντή σχολείου ο οποίος πήγε για μαλλί και βγήκε κουρεμένος.
</p>
<p>
  <a href="http://xkcd.com/">source</a>
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D99&amp;title=Exploits%20of%20Mom"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D99&amp;t=Exploits%20of%20Mom"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D99"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/12/Java_%ce%b5%cf%86%ce%b1%cf%81%ce%bc%ce%bf%ce%b3%ce%ad%cf%82_%cf%83%cf%84%ce%bf_GNOME_desktop</id>
		<author><name>Dimitris Kavroudakis</name></author>
		<title>Digital Hardcore: Java εφαρμογές στο GNOME desktop</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/12/Java_%ce%b5%cf%86%ce%b1%cf%81%ce%bc%ce%bf%ce%b3%ce%ad%cf%82_%cf%83%cf%84%ce%bf_GNOME_desktop"/>		
		<updated>2009-02-12T08:40:07-05:00</updated>
		<published>2009-02-12T08:40:07-05:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://java-gnome.sourceforge.net/images/cross-product.png" alt="-" />
</p>
<p>
  Από καιρό ήθελα να γράψω διάφορες εφαρμογές για τα Ubuntu ώστε να τις έχω εγκατεστημένες και να μου κάνουν την ζωή μου πιο εύκολη.
</p>
<p>
  Βρήκα λοιπόν την λύση!
</p>
<p>
  Ανακάλυψα ότι μπορώ με κάποια βιβλιοθήκη να έχω πρόσβαση στις διεργασίες του GNOME (σε GTK) μέσα από την Java. Επέλεξα να γράψω σε Java γιατί είναι η γλώσσα που έχω αφιερώσει τις πιο πολλές μου εφαρμογές τόσα χρόνια και θα είμαι πιο άνετος.
</p>
<p>
  <a href="http://java-gnome.sourceforge.net/">βιβλιοθηκη</a><br />
  <a href="http://java-gnome.sourceforge.net/4.0/doc/api/overview-summary.html">documentation</a><br />
  <a href="http://java-gnome.sourceforge.net/4.0/doc/examples/START.html">παραδείγματα</a>
</p>
<p>
  Τώρα το μόνο που μου μένει να διερευνήσω είναι πως να κάνω τις εφαρμογές… πακέτα για εύκολη διανομή και εγκατάσταση από φίλους/συναδέλφους μη-προγραμματιστές
</p>
<p>
  <img src="http://developers.sun.com/solaris/articles/java_gnome/images/java_gnome-figure2a.gif" alt="-" /><br />
  “Hello World” με θέμα Nimbus σε GNOME μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D81&amp;title=Java%20%CE%B5%CF%86%CE%B1%CF%81%CE%BC%CE%BF%CE%B3%CE%AD%CF%82%20%CF%83%CF%84%CE%BF%20GNOME%20desktop"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D81&amp;t=Java%20%CE%B5%CF%86%CE%B1%CF%81%CE%BC%CE%BF%CE%B3%CE%AD%CF%82%20%CF%83%CF%84%CE%BF%20GNOME%20desktop"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D81"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
  <br />
</p> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/11/%ce%97_%ce%b4%ce%b9%ce%ba%cf%84%ce%b1%cf%84%ce%bf%cf%81%ce%af%ce%b1_%cf%84%cf%89%ce%bd_Linux-%ce%ac%ce%ba%ce%b9%ce%b4%cf%89%ce%bd</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: Η δικτατορία των Linux-άκιδων</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/11/%ce%97_%ce%b4%ce%b9%ce%ba%cf%84%ce%b1%cf%84%ce%bf%cf%81%ce%af%ce%b1_%cf%84%cf%89%ce%bd_Linux-%ce%ac%ce%ba%ce%b9%ce%b4%cf%89%ce%bd"/>		
		<updated>2009-02-12T00:01:03-05:00</updated>
		<published>2009-02-12T00:01:03-05:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://i108.photobucket.com/albums/n4/RobertOak/billgatesdictator.jpg" alt="-" />
</p>
<p>
  Αναμφίβολα η εισαγωγή στον κόσμο του linux είναι μια δυνατή εμπειρία που σε κάνει να σκέφτεσαι με άλλο /διαφορετικό /νέο τρόπο και να εκτιμάς προσόντα του Λειτουργικού Συστήματος. Αυτή η νέα εμπειρία φαίνεται πολλές φορές και από τον τρόπο που αναφέρονται σε αυτό οι χρήστες του σε κουβέντες που κάνουν με μη-χρήστες του Linux. Είναι απόλυτοι, δυναμικοί, απαξιωτικοί και ελιτιστές.
</p>
<p>
  Από την άλλη οι μη-χρήστες Linux επειδή δεν μπορούν να εκτιμήσουν όλα τα προσόντα που έχουν ακούσει ότι έχει αυτό το Λειτουργικό Σύστημα και επειδή βλέπουν /ακούν μια τέτοια συμπεριφορά από τους Linux-τύπους , κάνουν ένα βήμα πίσω και αποστασιοποιούνται νομίζοντας ότι είναι κάτι δύσκολο και άκρος τεχνικό.
</p>
<p>
  Η συναναστροφή με μη-Linux χρήστες δεν πρέπει να εμπεριέχει δυνατές απαξιωτικές εκφράσεις και να μην μειώνει ούτε τις ικανότητες ούτε τις γνώσεις του άλλου, μόνο και μόνο επειδή έχει άλλο OS. “Αν” το Linux κάνει για σένα, εγκατέστησε το. Αν όχι, δεν πειράζει.
</p>
<p>
  Στην εποχή του ανοιχτού κώδικα και της κοινοτικής ανάπτυξης των εφαρμογών η δική μας στάση είναι ο καλύτερος πρεσβευτής του Linux. Ας μην γίνουμε απόλυτοι και ακραίοι σαν τον Richard Stallman αλλά ας αποδείξουμε ότι όχι μόνο τα Ubuntu αλλά και τα Linux γενικά, είναι λειτουργικό σύστημα για … ανθρώπους.
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D79&amp;title=%CE%97%20%CE%B4%CE%B9%CE%BA%CF%84%CE%B1%CF%84%CE%BF%CF%81%CE%AF%CE%B1%20%CF%84%CF%89%CE%BD%20Linux-%CE%AC%CE%BA%CE%B9%CE%B4%CF%89%CE%BD"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D79&amp;t=%CE%97%20%CE%B4%CE%B9%CE%BA%CF%84%CE%B1%CF%84%CE%BF%CF%81%CE%AF%CE%B1%20%CF%84%CF%89%CE%BD%20Linux-%CE%AC%CE%BA%CE%B9%CE%B4%CF%89%CE%BD"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D79"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/11/%ce%a0%cf%81%ce%bf%cf%83%ce%b4%cf%8c%ce%ba%ce%b9%ce%bc%ce%bf_%ce%b6%cf%89%ce%ae%cf%82_%cf%83%cf%84%ce%b7%ce%bd_%ce%95%ce%bb%ce%bb%ce%ac%ce%b4%ce%b1</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: Προσδόκιμο ζωής στην Ελλάδα</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/11/%ce%a0%cf%81%ce%bf%cf%83%ce%b4%cf%8c%ce%ba%ce%b9%ce%bc%ce%bf_%ce%b6%cf%89%ce%ae%cf%82_%cf%83%cf%84%ce%b7%ce%bd_%ce%95%ce%bb%ce%bb%ce%ac%ce%b4%ce%b1"/>		
		<updated>2009-02-11T19:38:51-05:00</updated>
		<published>2009-02-11T19:38:51-05:00</published>
		<content type="html"><![CDATA[	<p>
  Ύστερα από μια μικρή και γρήγορη ανάλυση των δεδομένων που μας προσφέρει ο ΟΗΕ,&nbsp; συσχέτισα το προσδόκιμο μέσο όρο ηλικίας ανά φύλλο για τα τελευταία χρόνια στην Ελλάδα, και να το αποτέλεσμα: <img src="http://img3.imageshack.us/img3/2048/30201121ar9.png" alt="-" />
</p>
<p>
  Με μια ματιά βλέπουμε πως ο γυναικείος πληθυσμός έχει μεγαλύτερο μέσο όρο ζωής τουλάχιστον τα τελευταία 28 χρόνια.
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D76&amp;title=%CE%A0%CF%81%CE%BF%CF%83%CE%B4%CF%8C%CE%BA%CE%B9%CE%BC%CE%BF%20%CE%B6%CF%89%CE%AE%CF%82%20%CF%83%CF%84%CE%B7%CE%BD%20%CE%95%CE%BB%CE%BB%CE%AC%CE%B4%CE%B1"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D76&amp;t=%CE%A0%CF%81%CE%BF%CF%83%CE%B4%CF%8C%CE%BA%CE%B9%CE%BC%CE%BF%20%CE%B6%CF%89%CE%AE%CF%82%20%CF%83%CF%84%CE%B7%CE%BD%20%CE%95%CE%BB%CE%BB%CE%AC%CE%B4%CE%B1"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D76"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/11/%ce%a6%cf%85%cf%84%ce%ac_%ce%b5%cf%83%cf%89%cf%84%ce%b5%cf%81%ce%b9%ce%ba%ce%bf%cf%8d_%cf%87%cf%8e%cf%81%ce%bf%cf%85_%ce%b3%ce%b9%ce%b1_%ce%ba%ce%b1%ce%bb%cf%8d%cf%84%ce%b5%cf%81%ce%bf_%ce%bf%ce%be%cf%85%ce%b3%cf%8c%ce%bd%ce%bf</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: Φυτά εσωτερικού χώρου για καλύτερο οξυγόνο</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/11/%ce%a6%cf%85%cf%84%ce%ac_%ce%b5%cf%83%cf%89%cf%84%ce%b5%cf%81%ce%b9%ce%ba%ce%bf%cf%8d_%cf%87%cf%8e%cf%81%ce%bf%cf%85_%ce%b3%ce%b9%ce%b1_%ce%ba%ce%b1%ce%bb%cf%8d%cf%84%ce%b5%cf%81%ce%bf_%ce%bf%ce%be%cf%85%ce%b3%cf%8c%ce%bd%ce%bf"/>		
		<updated>2009-02-11T11:23:04-05:00</updated>
		<published>2009-02-11T11:23:04-05:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://img212.imageshack.us/img212/3198/threeplantsgf7.png" alt="-" />
</p>
<p>
  Αυτά είναι τα πιο αξιόλογα από πλευράς ποσότητας οξυγόνου,φυτά για να έχουμε στους χώρους που ζούμε. Areca palm, Mother-in-law’s Tongue, και Money Plant.
</p>
<p>
  <a href="http://lifehacker.com">source</a>
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D70&amp;title=%CE%A6%CF%85%CF%84%CE%AC%20%CE%B5%CF%83%CF%89%CF%84%CE%B5%CF%81%CE%B9%CE%BA%CE%BF%CF%8D%20%CF%87%CF%8E%CF%81%CE%BF%CF%85%20%CE%B3%CE%B9%CE%B1%20%CE%BA%CE%B1%CE%BB%CF%8D%CF%84%CE%B5%CF%81%CE%BF%20%CE%BF%CE%BE%CF%85%CE%B3%CF%8C%CE%BD%CE%BF"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D70&amp;t=%CE%A6%CF%85%CF%84%CE%AC%20%CE%B5%CF%83%CF%89%CF%84%CE%B5%CF%81%CE%B9%CE%BA%CE%BF%CF%8D%20%CF%87%CF%8E%CF%81%CE%BF%CF%85%20%CE%B3%CE%B9%CE%B1%20%CE%BA%CE%B1%CE%BB%CF%8D%CF%84%CE%B5%CF%81%CE%BF%20%CE%BF%CE%BE%CF%85%CE%B3%CF%8C%CE%BD%CE%BF"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D70"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/09/Create_histogram_in_ArcView</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: Create histogram in ArcView</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/09/Create_histogram_in_ArcView"/>		
		<updated>2009-02-09T16:03:38-05:00</updated>
		<published>2009-02-09T16:03:38-05:00</published>
		<content type="html"><![CDATA[	<p>
  If you still use ArcView and avenue language to script things around, then you may consider this script to perform histogram representations of your data.
</p>‘ Name:&nbsp; Theme.Histogram<br />
‘ Title:&nbsp; Creates a histogram for the active theme<br />
‘ Topics:&nbsp; Analysis, Charts<br />
‘ Description:&nbsp; Generates a histogram for the active theme in the current<br />
‘ view. A new Chart document is created to display the histogram. A temporary<br />
‘ file is created to store interval counts and other information used to<br />
‘ create the histogram. The color scheme used to create the chart will be the<br />
‘ same as the legend of the active theme, i.e. there is direct correlation<br />
‘ between the theme classification colors and chart colors.<br />
‘<br />
‘ Should be associated with the Click property of a button on the View<br />
‘ DocGUI.&nbsp; An update script should be associated with the control to ensure<br />
‘ that this script can only be executed when there is at least one active<br />
‘ theme.<br />
‘ Requires:&nbsp; A View with an active theme.&nbsp; The theme must be classified.<br />
theView=av.GetActiveDoc<br />
theTheme=theView.GetActiveThemes.Get(0)
<p>
  ‘ Get the components of the Legend that will be used to create the chart…<br />
  theLegend=theTheme.GetLegend<br />
  theSymbols=theLegend.GetSymbols<br />
  theClasses=theLegend.GetClassifications<br />
  theFieldName=theLegend.GetFieldNames.Get(0)
</p>
<p>
  theVTab=theTheme.GetFTab<br />
  theField = theVTab.FindField(theFieldName)
</p>
<p>
  ‘ Create the new data file for the histogram…<br />
  outFName = av.GetProject.MakeFileName( theTheme.GetName, "dbf")<br />
  outFName = FileDialog.Put( outFName, "*.dbf", "Output Histogram File" )<br />
  if (outFName = Nil) then<br />
  &nbsp; exit<br />
  end<br />
  &nbsp;<br />
  newVTab=VTab.MakeNew( outFName, dBASE )<br />
  labelf=Field.Make( "Label", #FIELD_CHAR, 20, 0 )<br />
  countf=Field.Make( "Count", #FIELD_DECIMAL, 10, 0)<br />
  newVTab.AddFields( {labelf, countf} )
</p>
<p>
  ‘ Loop through the classes recording the ranges.<br />
  countlist = {}<br />
  for each c in theClasses<br />
  &nbsp; countlist.Add(0)<br />
  end<br />
  numClasses = theClasses.Count
</p>
<p>
  ‘ Loop through the records recording which class they fall in.<br />
  for each rec in theVTab<br />
  &nbsp; v = theVTab.ReturnValue(theField,rec)<br />
  &nbsp; for each i in 0..(numClasses - 1)<br />
  &nbsp; &nbsp; if (theClasses.Get(i).Contains(v)) then<br />
  &nbsp; &nbsp; &nbsp; countlist.Set(i,countlist.Get(i)+1)<br />
  &nbsp; &nbsp; &nbsp; break<br />
  &nbsp; &nbsp; end<br />
  &nbsp; end<br />
  end
</p>
<p>
  ‘ Loop through the classes writing the information to disk.<br />
  maxcount=0<br />
  for each i in 0..(numClasses-1)<br />
  &nbsp; rec=newVTab.AddRecord<br />
  &nbsp; newVTab.SetValue(labelf,rec,theClasses.Get(i).GetLabel)<br />
  &nbsp; newVTab.SetValue(countf,rec,countlist.Get(i))<br />
  &nbsp; maxcount=maxcount max countlist.Get(i)<br />
  end
</p>
<p>
  ‘ Create a chart and match the colors to the legend.<br />
  newChart=Chart.Make(newVTab,{countf})<br />
  newChart.SetRecordLabelField(labelf)<br />
  for each i in 0..(numClasses-1)<br />
  &nbsp; newChart.GetChartDisplay.SetSeriesColor(i,theSymbols.Get(i).GetColor)<br />
  end<br />
  newChart.GetTitle.SetName("Histogram of"++theTheme.GetName)<br />
  newChart.GetYAxis.SetBoundsUsed(true)<br />
  newChart.GetYAxis.SetBoundsMin(0)<br />
  newChart.GetYAxis.SetBoundsMax(maxcount)<br />
  newChart.GetWin.Open μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D60&amp;title=Create%20histogram%20in%20ArcView"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D60&amp;t=Create%20histogram%20in%20ArcView"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D60"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
  <br />
</p> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/09/R_code_competition</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: R code competition</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/09/R_code_competition"/>		
		<updated>2009-02-09T15:50:19-05:00</updated>
		<published>2009-02-09T15:50:19-05:00</published>
		<content type="html"><![CDATA[	<p>
  This tutorial show how we can have code competition for R statistical language. We use CompletePlus function in the svMisc package. This function uses the completion engine that comes with R, and looks in documentation files for additional information related to each finding.
</p>R&gt; require( svMisc )<br />
Loading required package: svMisc<br />
R&gt; CompletePlus( "rnorm(" )<br />
&nbsp; &nbsp; &nbsp;[,1]&nbsp; &nbsp; &nbsp; [,2]<br />
[1,] "n = "&nbsp; &nbsp; "rnorm"<br />
[2,] "mean = " "rnorm"<br />
[3,] "sd = "&nbsp; &nbsp;"rnorm"<br />
&nbsp; &nbsp; &nbsp;[,3]<br />
[1,] "number of observations. If ‘length(n) &gt; 1′, the length is taken to be the number required."<br />
[2,] "vector of means."<br />
[3,] "vector of standard deviations."
<p>
  The power editor plugin uses this information to display completion popups:<br />
  <img src="http://romainfrancois.blog.free.fr/public/posts/post3_completion/.argumentnames_or_function_names_m.jpg" alt="-" /><br />
  In special cases, instead of argument or function names, the engine will complete for colours using the current R palette :<br />
  <img src="http://romainfrancois.blog.free.fr/public/posts/post3_completion/.colors_palette_m.jpg" alt="-" /><br />
  or names of colors if you started to type a quote character<br />
  <img src="http://romainfrancois.blog.free.fr/public/posts/post3_completion/.colors_named_m.jpg" alt="-" /><br />
  here the user started to type gre so the completion engine looks for colors having a name that matches the pattern gre. This is basically obtained as follows:
</p>&gt; head( grep( "gre", colors(), value = T ) )<br />
[1] "darkgreen"&nbsp; &nbsp; &nbsp; &nbsp;"darkgrey"&nbsp; &nbsp; &nbsp; &nbsp; "darkolivegreen"&nbsp; "darkolivegreen1"<br />
[5] "darkolivegreen2" "darkolivegreen3"
<p>
  Usually the lty argument is associated with a line type, the completion engine suggests the basic line types as documented in ?par<br />
  <img src="http://romainfrancois.blog.free.fr/public/posts/post3_completion/.lty_m.jpg" alt="-" /><br />
  Same with the pch argument and the plotting character.<br />
  <img src="http://romainfrancois.blog.free.fr/public/posts/post3_completion/.pch_m.jpg" alt="-" /><br />
  <a href="http://romainfrancois.blog.free.fr/">source</a>
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D49&amp;title=R%20code%20completition%20"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D49&amp;t=R%20code%20completition%20"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D49"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/08/Automatically_Chart_Web_Based_Global_Temperature_Data_with_%e2%80%9cR%e2%80%9d</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: Automatically Chart Web Based Global Temperature Data with “R”</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/08/Automatically_Chart_Web_Based_Global_Temperature_Data_with_%e2%80%9cR%e2%80%9d"/>		
		<updated>2009-02-08T16:19:02-05:00</updated>
		<published>2009-02-08T16:19:02-05:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://img14.imageshack.us/img14/3880/temperaturedl5.png" alt="-" />
</p>## Get Monthly anomaly data<br />
link1&lt;- "http://www.remss.com/data/msu/monthly_time_series/RSS_Monthly_MSU_AMSU_Channel_TLT_Anomalies_Land_and_Ocean_v03_2.txt"<br />
mo_RSS_in &lt;- read.table(link1,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;skip = 3, sep = "", dec=".",<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;row.names = NULL, header = FALSE,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;as.is = T,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;colClasses = c(rep("numeric",3), rep("NULL", 8)),<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;comment.char = "#", na.strings = c("*", "-",-99.9, -999.9),<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;col.names = c("yr", "mo", "RSS_lo", rep("",8)))<br />
&nbsp; &nbsp; yr_frac &lt;- mo_RSS_in$yr + (mo_RSS_in$mo-1)/12&nbsp; &nbsp; &nbsp;# yr_frac simplifies calcs<br />
# Create new data frame&nbsp; &nbsp;&amp; attach<br />
&nbsp; mo_RSS_lo &lt;- data.frame(mo_RSS_in, yr_frac)<br />
&nbsp; attach(mo_RSS_lo)<br />
# Get last mo, yr and value<br />
&nbsp; c &lt;- nrow(mo_RSS_lo)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Find number of data rows<br />
&nbsp; &nbsp; lmo &lt;- mo_RSS_lo$mo[c]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# Fimd last month of data<br />
&nbsp; &nbsp; lyr &lt;- mo_RSS_lo$yr[c]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# Find last year of data<br />
&nbsp; &nbsp; lRSS &lt;- RSS_lo[c]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# Find last reading<br />
# Create plot<br />
&nbsp; &nbsp; # Set plot parameters<br />
&nbsp; &nbsp; &nbsp; par(las=1); par(ps = c(10)) ; par(bty="l")<br />
&nbsp; &nbsp; &nbsp; par(oma=c(0,0,0,0))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # no outer margin<br />
&nbsp;plooo=plot(RSS_lo ~ yr_frac,&nbsp; type="l",&nbsp; col ="grey60",&nbsp; xlab = "",<br />
&nbsp; &nbsp; &nbsp;ylab = expression(paste("RSS Temperature Anomaly - ",degree,"C")),<br />
&nbsp; &nbsp; &nbsp;xlim=c(1979, 2010), ylim=c(-0.6, 0.80),<br />
&nbsp; &nbsp; &nbsp;xaxs="i", yaxs="i",<br />
&nbsp; &nbsp; &nbsp;cex.axis = 0.95, cex.lab = 0.95)<br />
&nbsp; &nbsp; &nbsp;abline(h=0, col = "grey")<br />
# Calculate Linear Model for rate of change<br />
&nbsp; &nbsp; lm_fit &lt;- lm(RSS_lo ~ yr_frac)<br />
&nbsp; &nbsp; &nbsp; &nbsp; a &lt;- coef(lm_fit)[1]<br />
&nbsp; &nbsp; &nbsp; &nbsp; b &lt;- coef(lm_fit)[2]<br />
&nbsp; &nbsp;## Determine min &amp; max yr_frac<br />
&nbsp; &nbsp;yr1 &lt;- min(yr_frac)<br />
&nbsp; &nbsp;yr2 &lt;- max(yr_frac)<br />
&nbsp; &nbsp; &nbsp; &nbsp; y1 &lt;- a + b* yr1<br />
&nbsp; &nbsp; &nbsp; &nbsp; y2 &lt;- a + b *yr2<br />
&nbsp; &nbsp; &nbsp; &nbsp; x_val &lt;- c(yr1, yr2)<br />
&nbsp; &nbsp; &nbsp; &nbsp; y_val &lt;- c(y1, y2)<br />
&nbsp; &nbsp; &nbsp; lines(x_val,y_val, type = "l",&nbsp; col = "red")<br />
&nbsp; &nbsp; &nbsp; b &lt;- signif(b, 3)<br />
# Plot annotation<br />
&nbsp; n_text &lt;- 0.9&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# use to control note font size<br />
&nbsp; # Establish plot titles<br />
&nbsp; title_3 &lt;- expression(paste("RSS Land &amp; Ocean Temperature Anomalies - ",degree, "C"))<br />
&nbsp; title_2 &lt;- paste("Period: 1/1979&nbsp; to ",lmo,"/",lyr)<br />
&nbsp; &nbsp;mtext(title_3, side = 3, line = 3, adj = 0.5)<br />
&nbsp; &nbsp;mtext(title_2, side = 3, line = 2, adj = 0.5, cex = n_text)<br />
&nbsp; &nbsp;mtext( "RSS Version 3.2 - MSU/AMSU TLT", side = 3,line = 1, adj=.5, cex = n_text)<br />
&nbsp; # Establish plot notes<br />
&nbsp; &nbsp;text(1995,-0.4, "Overall slope = ", pos = 1, col = "red", cex = n_text)<br />
&nbsp; &nbsp;text(1998.7, -0.4, b, pos = 1, col ="red", cex = n_text)<br />
&nbsp; &nbsp;text(2002,-0.4,expression(paste(degree,"C/yr")), pos = 1,cex = n_text, col = "red")<br />
&nbsp; &nbsp;text(1980, 0.7, " Area: 70S to 82.5N", col = "black", pos =4, cex = n_text)<br />
&nbsp; # Highlight last reading<br />
&nbsp; &nbsp; &nbsp;points( yr2, lRSS, pch=19, col = "black")<br />
&nbsp; &nbsp; &nbsp;points(1996, -0.5, pch=19)<br />
&nbsp; &nbsp; &nbsp;note &lt;- paste(lmo, "/", lyr, " @ ", lRSS," C")<br />
&nbsp; &nbsp; &nbsp; text(1996, -0.5, note, pos = 4, col = "black", cex = n_text)<br />
&nbsp; # Add margin notes for name and plot date<br />
&nbsp; &nbsp; &nbsp; mtext("K O’Day, ChartsGraphs.WordPress.Com",side=1,line = 3,adj = 0,cex = 0.7)<br />
&nbsp; &nbsp; &nbsp; mtext(format(Sys.time(), "%m/%d/ %Y"), side = 1, line = 3, adj = 1, cex = 0.7)<br />
detach(mo_RSS_lo) μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D41&amp;title=Automatically%20Chart%20Web%20Based%20Global%20Temperature%20Data%20with%20%22R%22"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D41&amp;t=Automatically%20Chart%20Web%20Based%20Global%20Temperature%20Data%20with%20%22R%22"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D41"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/06/Mitilini_Linux_User_Group</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: Mitilini Linux User Group</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/06/Mitilini_Linux_User_Group"/>		
		<updated>2009-02-06T18:25:51-05:00</updated>
		<published>2009-02-06T18:25:51-05:00</published>
		<content type="html"><![CDATA[	<p>
  Είπα λοιπόν να ξεκινήσω και να κάνω το πρώτο βήμα για να φτιαχτεί ένα Linux User Group και στην πόλη της Μυτιλήνης.
</p>
<p>
  Μπορείτε να το βρείτε πατώντας τις παρακάτω εικόνες:
</p>
<p>
  <a href="http://www.facebook.com/group.php?gid=60370277525"><img src="http://groups.google.com/groups/img/3nb/groups_bar.gif" alt="-" /></a><br />
  <a href="http://www.facebook.com/group.php?gid=60370277525"><img src="http://www.thinkgeek.com/images/blog/icon_facebook.gif" alt="-" /></a>
</p>
<p>
  Είναι ένα εγχείρημα για να φέρουμε πιο κοντά στην κοινωνία της Μυτιλήνης το Linux αλλά και να αληλο-βοηθάμε χρήστες.
</p>μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D36&amp;title=Mitilini%20Linux%20User%20Group"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D36&amp;t=Mitilini%20Linux%20User%20Group"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D36"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
<br /> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/06/Search_a_directory_for_text</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: Search a directory for text</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/06/Search_a_directory_for_text"/>		
		<updated>2009-02-06T16:09:09-05:00</updated>
		<published>2009-02-06T16:09:09-05:00</published>
		<content type="html"><![CDATA[	<p>
  Search all text file in a directory, for specific text
</p># =========== dimitrisk.gr =============<br />
#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Dimitris Kavroudakis<br />
#<br />
# Search all text files in a directory, for a specific text.<br />
# eg.<br />
# #################################### run the program<br />
# search.py<br />
# #################################### Input the directory name<br />
# Directory: mydirectory<br />
# ################################### Input the text phrase or word<br />
# Text: man<br />
# ################################### See the results<br />
# mydirectory/one.txt<br />
# mydirectory/two.txt
<p>
  import os
</p>
<p>
  def main():<br />
  &nbsp; &nbsp; try:<br />
  &nbsp; &nbsp; &nbsp; &nbsp; directory = get_directory()<br />
  &nbsp; &nbsp; &nbsp; &nbsp; text = get_text()<br />
  &nbsp; &nbsp; &nbsp; &nbsp; results = do_search(directory, text)<br />
  &nbsp; &nbsp; &nbsp; &nbsp; finish(results)<br />
  &nbsp; &nbsp; except:<br />
  &nbsp; &nbsp; &nbsp; &nbsp; pass
</p>
<p>
  #Get a directory from the user.<br />
  def get_directory():<br />
  &nbsp; &nbsp; while True:<br />
  &nbsp; &nbsp; &nbsp; &nbsp; try:<br />
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; directory = raw_input(‘Directory: ‘)<br />
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; assert os.path.isdir(directory)<br />
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return directory<br />
  &nbsp; &nbsp; &nbsp; &nbsp; except AssertionError:<br />
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print ‘You must enter a directory.’
</p>
<p>
  #get the text to search from the user.<br />
  def get_text():<br />
  &nbsp; &nbsp; while True:<br />
  &nbsp; &nbsp; &nbsp; &nbsp; try:<br />
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; text = raw_input(‘Text: ‘).lower()<br />
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; assert text<br />
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return text<br />
  &nbsp; &nbsp; &nbsp; &nbsp; except AssertionError:<br />
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print ‘You must enter some text.’
</p>
<p>
  #Search all files for this text<br />
  def do_search(directory, text):<br />
  &nbsp; &nbsp; results = list()<br />
  &nbsp; &nbsp; for dirpath, dirnames, filenames in os.walk(directory):<br />
  &nbsp; &nbsp; &nbsp; &nbsp; for name in filenames:<br />
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; full_path = os.path.join(dirpath, name)<br />
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if text in file(full_path).read().lower():<br />
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; results.append(full_path)<br />
  &nbsp; &nbsp; return results
</p>
<p>
  #Show the result.<br />
  def finish(results):<br />
  &nbsp; &nbsp; print<br />
  &nbsp; &nbsp; for filename in results:<br />
  &nbsp; &nbsp; &nbsp; &nbsp; print filename<br />
  &nbsp; &nbsp; raw_input(‘Done.’)
</p>
<p>
  if __name__ == ‘__main__’:<br />
  &nbsp; &nbsp; main() μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D34&amp;title=Search%20a%20directory%20for%20text"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D34&amp;t=Search%20a%20directory%20for%20text"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D34"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
  <br />
</p> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/06/Download_file_with_FTP</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: Download file with FTP</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/06/Download_file_with_FTP"/>		
		<updated>2009-02-06T16:06:32-05:00</updated>
		<published>2009-02-06T16:06:32-05:00</published>
		<content type="html"><![CDATA[	<p>
  Download a file with FTP:
</p># =========== dimitrisk.gr =============<br />
#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Dimitris Kavroudakis<br />
#<br />
#download a file from an FTP folder
<p>
  from ftplib import FTP
</p>
<p>
  #======== Edit your details =============<br />
  host=‘ftp.mysite.com’<br />
  username=‘username’<br />
  password=‘password’<br />
  folder=‘folder/folder2/’<br />
  filename=‘myFile.txt’
</p>
<p>
  #======== No need to edit below =============
</p>
<p>
  # Handle the data being downloaded<br />
  def handleDownload(block):<br />
  &nbsp; &nbsp; file.write(block)<br />
  &nbsp; &nbsp; #print ".",
</p>
<p>
  # FTP(’hostname’, ‘username’, ‘password’)<br />
  ftp = FTP(host)<br />
  ftp.login(username, password)<br />
  print "||"
</p>
<p>
  #change to directory<br />
  ftp.cwd(folder)
</p>
<p>
  # Print the contents of the directory<br />
  ftp.retrlines(‘LIST’)
</p>
<p>
  # Open the file for writing in binary mode<br />
  file = open(filename, ‘wb’)
</p>
<p>
  # Download the file a chunk at a time<br />
  # Each chunk is sent to handleDownload<br />
  # We append the chunk to the file and then print a ‘||’ for progress<br />
  # RETR is an FTP command<br />
  ftp.retrbinary(‘RETR ‘ + filename, handleDownload)
</p>
<p>
  # Close file<br />
  file.close()
</p>
<p>
  #Close connection<br />
  print ftp.close() μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D32&amp;title=Download%20file%20with%20FTP"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D32&amp;t=Download%20file%20with%20FTP"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D32"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
  <br />
</p> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/06/e-mail_extractor</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: e-mail extractor</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/06/e-mail_extractor"/>		
		<updated>2009-02-06T16:04:47-05:00</updated>
		<published>2009-02-06T16:04:47-05:00</published>
		<content type="html"><![CDATA[	<p>
  Extract e-mail addresses from a text file.
</p># =========== dimitrisk.gr =============<br />
#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Dimitris Kavroudakis<br />
#<br />
# Extract email adresses from any text related file<br />
# eg. python email_extractor.py &lt; anyFile.html<br />
import sys,re
<p>
  #read any txt, html, file and get data.<br />
  origin=open("origin.txt", "r")<br />
  origindata = origin.read()<br />
  origin.close()
</p>
<p>
  #create an "emails.txt" file and write all extracted emails.<br />
  destination = open("emails.txt", "w")<br />
  results= ‘\n‘.join(re.findall(‘([\w\.\-]+@[\w\.\-]+)’,origindata))<br />
  destination.write(results)<br />
  destination.close() μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D30&amp;title=e-mail%20extractor"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D30&amp;t=e-mail%20extractor"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D30"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
  <br />
</p> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/06/Ascii2xyz</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: Ascii2xyz</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/06/Ascii2xyz"/>		
		<updated>2009-02-06T16:01:24-05:00</updated>
		<published>2009-02-06T16:01:24-05:00</published>
		<content type="html"><![CDATA[	<p>
  Converts ascii coordinates to XYZ coordinate system. Edit the location of your files and then run the script. The file should contain list of ascii caracters.
</p>infile = "pugetgrid.asc"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# ESRI ASCII Grid filename<br />
outfile = "output.xyz"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# output filename for x,y,z triplets
<p>
  # ==========&nbsp; no need to edit below here =============<br />
  def float2str(number):<br />
  &nbsp; &nbsp; """ remove trailing zeros from coordinates """<br />
  &nbsp; &nbsp; s = "%f" % number<br />
  &nbsp; &nbsp; if "." in s:<br />
  &nbsp; &nbsp; &nbsp; &nbsp; s = s.rstrip("0").rstrip(".")<br />
  &nbsp; &nbsp; return s
</p>
<p>
  # Load grid files<br />
  fin = open(infile, ‘r’)<br />
  fout = open(outfile, ‘w’)
</p>
<p>
  # Read header&nbsp; &nbsp; &nbsp;<br />
  line = fin.readline().split()<br />
  ncol = int(line[1])
</p>
<p>
  line = fin.readline().split()<br />
  nrow = int(line[1])
</p>
<p>
  line = fin.readline().split()<br />
  xllcorner = float(line[1])
</p>
<p>
  line = fin.readline().split()<br />
  yllcorner = float(line[1])
</p>
<p>
  line = fin.readline().split()<br />
  cellsize = float(line[1])
</p>
<p>
  line = fin.readline().split()<br />
  NODATA_value = float(line[1])
</p>
<p>
  # Pre-calculate the x and y coordinates<br />
  xcoords = []<br />
  for col in range(ncol):<br />
  &nbsp; &nbsp; xcoords.append(float2str(xllcorner + (0.5 * cellsize) + (col * cellsize)))
</p>
<p>
  ycoords = []<br />
  for row in range(nrow):<br />
  &nbsp; &nbsp; ycoords.append(float2str(yllcorner - (0.5 * cellsize) + (nrow - row) * cellsize))
</p>
<p>
  # Process the file<br />
  print "Converting %s to X,Y,Z triplets…\n" % (infile)<br />
  for row in range(nrow):<br />
  &nbsp; &nbsp; if (row % 100) == 0: print ".",<br />
  &nbsp; &nbsp; for col in range(ncol):<br />
  &nbsp; &nbsp; &nbsp; &nbsp; # Get new data if necessary<br />
  &nbsp; &nbsp; &nbsp; &nbsp; if col == 0: line = fin.readline().split()<br />
  &nbsp; &nbsp; &nbsp; &nbsp; fout.write("%s,%s,%s\n" % (xcoords[col], ycoords[row], line[col]))<br />
  &nbsp; &nbsp; &nbsp; &nbsp;<br />
  # Exit<br />
  fin.close()<br />
  fout.close()
</p>
<p>
  print "\nConversion complete.\n"<br />
  raw_input("Press ENTER to exit.\n") μοίρασε και εσύ: <a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D26&amp;title=Ascii2xyz"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/googlebookmark.png" alt="-" /></a> <a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D26&amp;t=Ascii2xyz"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/facebook.png" alt="-" /></a> <a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.dimitrisk.gr%2Fblog%2F%3Fp%3D26"><img src="http://www.dimitrisk.gr/blog/wp-content/plugins/sociable/images/technorati.png" alt="-" /></a><br />
  <br />
</p> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/06/List_all_files_in_a_directory</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: List all files in a directory</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/06/List_all_files_in_a_directory"/>		
		<updated>2009-02-06T15:55:20-05:00</updated>
		<published>2009-02-06T15:55:20-05:00</published>
		<content type="html"><![CDATA[	$directory="http://www.google.com/folder01/";<br />
&nbsp; while ($file = <a href="http://www.php.net/readdir">readdir</a>($directory)) {<br />
<a href="http://www.php.net/echo">echo</a> "$file\n";<br />
}<br />
<a href="http://www.php.net/closedir">closedir</a>($handle); ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/06/Cookies_in_PHP</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: Cookies in PHP</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/06/Cookies_in_PHP"/>		
		<updated>2009-02-06T15:36:45-05:00</updated>
		<published>2009-02-06T15:36:45-05:00</published>
		<content type="html"><![CDATA[	$check = "test";<br />
$check .= $filename;<br />
&nbsp; if ($test == $check){<br />
&nbsp; &nbsp; &nbsp;<a href="http://www.php.net/print">print</a>("Cookie has already been set before.");<br />
&nbsp; }else{<br />
&nbsp; &nbsp; &nbsp;$rated = "test";<br />
&nbsp; &nbsp; &nbsp;$rated .= $filename;<br />
&nbsp; &nbsp; &nbsp;<a href="http://www.php.net/setcookie">setcookie</a>(test, $rated, <a href="http://www.php.net/time">time</a>()+86400);<br />
&nbsp; &nbsp; &nbsp;<a href="http://www.php.net/print">print</a>("No cookie yet. Just saved your cookie");<br />
&nbsp; } ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/04/EndNote_alternative_%ce%b3%ce%b9%ce%b1_Linux</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: EndNote alternative για Linux</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/04/EndNote_alternative_%ce%b3%ce%b9%ce%b1_Linux"/>		
		<updated>2009-02-04T12:48:21-05:00</updated>
		<published>2009-02-04T12:48:21-05:00</published>
		<content type="html"><![CDATA[	<p>
  <img src="http://my.biotechlife.net/wp-content/uploads/2007/06/zotero_screenshot.jpg" alt="-" />
</p>
<p>
  Αν γράφουμε σε OpenOffice και θέλουμε ένα καλό τρόπο να χειριζόμαστε την βιβλιογραφία μας, υπάρχει το Zotero το οποίο είναι extension του Firefox και το οποίο μαζεύει εύκολα άρθρα και links από το internet για να μπορούμε να τα βάζουμε στο κειμενο μας ως παραπομπή.<br />
  <a href="https://addons.mozilla.org/en-US/firefox/addon/3504">Zotero Firefox Extension</a><br />
  <a href="http://www.zotero.org/">Zotero Homepage</a>
</p> ]]></content>
</entry>
<entry>
		<id>http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/04/Java_Linux_look___feel</id>
		<author><name>admin</name></author>
		<title>Digital Hardcore: Java Linux look &amp; feel</title>
                <link rel="alternate" type="text/html" href="http://www.lesvosblogs.gr/Digital_Hardcore/2009/02/04/Java_Linux_look___feel"/>		
		<updated>2009-02-04T12:46:09-05:00</updated>
		<published>2009-02-04T12:46:09-05:00</published>
		<content type="html"><![CDATA[	<p>
  Βρήκα ένα τρόπο να γράφω σε Java χωρίς κανένα extra framework και οι εφαρμογές μου να αποκτούν το look &amp; Feel του εκάστοτε χρήστη (ειτε Linux ειτε Win). Απλά προσθέτουμε :
</p>try {<br />
UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName());<br />
} catch (Exception e) {<br />
} ]]></content>
</entry>
</feed>
