Αναζήτηση στο διαδίκτυο
Οι κύριες πηγές αναζήτησης στο διαδίκτυο έχουν απλοποιηθεί:
Επιπρόσθετα υπάρχουν κλαδικές πηγές όπως:
Επεξεργασία κειμένου
Στόχοι:
- Επαγγελματική αίσθηση
- Καλαισθησία
- Συντηρησιμότητα
- Μεταφερσιμότητα (HTML, PDF, SGML)
Αντιπαράδειγμα:
Προσέγγιση
- Αποφεύγουμε προστακτικά συστήματα (Word) και εντολές (Enter, Format-Font)
- Ελαχιστοποιούμε τις γραμματοσειρές του κειμένου
- Αυτοματοποιούμε (πίνακα περιεχομένων, ευρετήριο, βιβλιογραφία)
Διαχείριση βιβλιογραφικών αναφορών
-
Για κάθε παραπομπή η βιβλιογραφική αναφορά συγκεντρώνουμε τα στοιχεία που
την προσδιορίζουν με ακρίβεια.
- Για το σκοπό αυτό χρησιμοποιούμε ένα κατάλληλο πρόγραμμα όπως
τα προγράμματα ανοικτού κώδικα
το BibTeX (τμήμα του LaTeX) ή
η γραφική διεπαφή JabRef (http://www.jabref.org/).
- Σε κάθε στοιχείο (άρθρο, βιβλίο, τεχνική αναφορά) που χρησιμοποιούμε
δίνουμε έναν μοναδικό κωδικό (π.χ. τα αρχικά του συγγραφέα και το έτος).
- Με βάση τον κωδικό αυτό:
- Καταχωρούμε τα βιβλιογραφικά δεδομένα.
- Φυλάμε αντίγραφο του στοιχείου σε ηλεκτρονική μορφή.
- Ταξινομούμε την αντίστοιχη εκτύπωση ή φωτοτυπία.
Πεδία βιβλιογραφικών αναφορών
Το πρόγραμμα BiBTeX υποστηρίζει τα παρακάτω πεδία.
Address | Publisher's address. For major ones just the city |
Annote | Annotation |
Author | First Last or Last, First. Multiple are separated by and |
Booktitle | Title properly capitalised |
Chapter | A chapter number |
Edition | Edition of the book, e.g. second |
Editor | First Last or Last, First. Multiple are separated by and |
HowPublished | If it was published in a strange way |
Institution | Institution that published it |
Journal | Journal name. Abreviations may exist ($TEXINPUTS/*.bst) |
Key | Used for alphabetizing and creating a label when no author |
Month | Month of publication, usual abbreviations |
Note | Additional information to help the reader |
Number | Number of a journal magazine to TR. |
Organization | Organization sponsoring the conference. |
Pages | Page numbers or range. |
Publisher | Publisher's name. |
School | Name of the school where the thesis was written. |
Series | The name of a series or set of books. |
Title | The work's title. |
Type | Type of a technical report e.g. Research Note |
Volume | The volume of a journal or multivolume book. |
Year | The year of publication. Numerals only." |
Μορφοποίηση βιβλιογραφικών αναφορών
Όταν έχουμε τις βιβλιογραφικές αναφορές μας σε ηλεκτρονική μορφή
μπορούμε:
- Να τις ξαναχρησιμοποιούμε εύκολα σε διαφορετικές εργασίες
- Να τις μορφοποιούμε αυτόματα ανάλογα με τις απαιτήσεις του κάθε συνεδρίου ή περιοδικού
- Ο Jean-Olivier Irisson διατηρεί μια βάση δεδομένων (http://jo.irisson.free.fr/bstdatabase/) με "συνταγές" μορφοποίησης για πάνω από 2000 περιοδικά.
Παράδειγμα μορφοποίησης
- [ASS85]
- Harold Abelson, Gerald Jay Sussman, and
Jullie Sussman.
Structure and Interpretation of Computer Programs.
MIT Press, Cambridge, 1985.
- [ATS04]
- Stephanos
Androutsellis-Theotokis and Diomidis Spinellis.
A
survey of peer-to-peer content distribution technologies.
ACM Computing Surveys, 36(4):335–371, December 2004.
(doi:10.1145/1041680.1041681 (http://dx.doi.org/10.1145/1041680.1041681))
Πηγές του διαδικτύου
Διαγράμματα
- Πρώτη επιλογή περιγραφικά και προγραμματιζόμενα εργαλεία
- Αν χρησιμοποιήσουμε Excel, Visio ή άλλο προστακτικό
εργαλείο κρατάμε το αρχείο που δημιούργησε το γράφημα και τοποθετούμε
στη διατριβή το γράφημα σε διανυσματική μορφή (π.χ. EPS, WMF)
(όχι χαρτογραφική (π.χ. BMP, JPG, GIF), όχι ως ενσωματωμένο έγγραφο).
Μερικά περιγραφικά προγραμματιζόμενα εργαλεία:
- D3
- ggplot
- GNUPlot
- dot
- GMT
- UMLGraph
Αν θέλουμε να χρησιμοποιήσουμε εργαλείο με γραφική διεπαφή,
προτιμούμε διανυσματικά εργαλεία
(Dia (http://www.gnome.org/projects/dia/),
Inkscape (http://www.inkscape.org/)
Corel Draw, Illustrator) έναντι
των χαρτογραφικών (PaintShop, Photoshop, ...).
Δύο εργαλεία με γραφική διπεαφή για σχεδιασμό διαγραμμάτων UML
είναι τα UMLet (http://qse.ifs.tuwien.ac.at/~auer/umlet/) και το
Violet (http://horstmann.com/violet).
Παράδειγμα: γραφική παράσταση με το GNU Plot
# SA performance graphs
#
# $Id: perf.gpl 1.1 1999/02/21 15:51:36 dds Exp dds $
#
set terminal gif
set ylabel 'Evaluated configurations'
set xlabel 'Buffer space'
set logscale y
# 1:Stations 2:Capacity 3:Time 4:Tries 5:SA-Throughput 6:Exact-throughput \
# 7:Decomposition-throughput 8:Full-count 9:Reduced-count 10:Hours 11:Minutes \
# 12:Seconds
set title '9 stations; 1-20 buffers'
set key 17,200
set output 'perf9.gif'
plot [0:21] '9.log' using 2:8 title 'S(CE, Deco)' with linespoints, \
'9.log' using 2:9 title 'S(RE, Deco)' with linespoints, \
'9.log' using 2:4 title 'S(SA, Deco)' with linespoints, \
'ga-9.log' using 2:4 title 'S(GA, Deco)' with linespoints
Παράδειγμα: διάγραμμα με το Graphviz
# Data flow diagram
digraph G {
nodesep=.1;
ranksep=.3;
node [height=0.3,fontname="Helvetica",fontsize=10];
edge [fontname="Helvetica",fontsize=10];
prox [label = "Proximity calculation"];
map [label = "Map generation"];
web [label = "Web generation"];
node [shape=octagon, style=filled, fillcolor=".64 .54 .99"];
Camera;
GPS;
node [shape=box, style=filled, fillcolor=".13 .9 1"];
Camera -> web [label = "pictures"];
GPS -> prox [label = "track log"];
Gazetteer -> prox [label = "feature coordinates"];
prox -> map [label="annotated track"];
Topography -> map;
Coastlines -> map;
map -> web [label = "map diagrams"];
web -> "Geoweb";
}
Παράδειγμα: χάρτες με το GMT
Διαχείριση αλλαγών
Όλες τις εξελίξεις της εργασίας μας καθώς και τις αλλαγές τις οποίες
κάνουμε καθημερινά, καλό είναι να τις φυλάμε οργανωμένα
σε μια βάση δεδομένων
με τα παρακάτω στοιχεία για κάθε τμήμα και αλλαγή:
- Όνομα του στοιχείου (π.χ. survey.tex)
- Περιεχόμενα του στοιχείου (π.χ. κείμενο)
- Τρέχουσα έκδοση
- Ημερομηνία και ώρα της αλλαγής
- Εκδόσεις της εργασίας μας που συμμετέχει το στοιχείο αυτό
- Στοιχεία του προσώπου που έκανε την αλλαγή
- Σχόλια για την αλλαγή
- Διαφορές από την προηγούμενη έκδοση
Με τον τρόπο αυτό έχουμε μια πλήρη ιστορία της εργασίας μας και
μπορούμε:
- να αναιρέσουμε εύκολα αλλαγές που τελικά δεν έπρεπε να γίνουν
- να ανιχνεύσουμε πότε έγινε μια συγκεκριμένη αλλαγή και γιατί
- να διαβάσουμε και να επιθεωρήσουμε τις αλλαγές ανάμεσα σε δύο
εκδόσεις
- να κρατήσουμε την τρέχουσα κατάσταση της εργασίας μας καθαρή από
παλιά στοιχεία τα οποία φυλάμε μήπως χρειαστούν ξανά στο μέλλον
- να κάνουμε εκτεταμένες αλλαγές με θάρρος και αυτοπεποίθηση
Κάτω από έλεγχο σχηματισμών θέτουμε:
- Το κείμενα της εργασίας μας
- Διαγράμματα
- Δεδομένα
- Κώδικα
Περίληψη αλλαγών σε κεφάλαιο βιβλίου.
Καλύπτουν περίοδο δύο ετών.
----------------------------
revision 1.33 locked by: dds;
date: 2002/11/02 18:26:52; author: dds; state: Exp; lines: +107 -67
Changes in response to the comments by Scott Meyers.
----------------------------
revision 1.32
date: 2002/08/27 11:23:42; author: dds; state: Exp; lines: +6 -6
Correct references to CD-ROM files.
----------------------------
revision 1.31
date: 2002/08/26 12:21:16; author: dds; state: Exp; lines: +3 -3
Groff is no longer part of the CD-ROM distribution.
----------------------------
revision 1.30
date: 2002/08/11 17:12:53; author: dds; state: Exp; lines: +5 -5
Consistency fixes
----------------------------
revision 1.29
date: 2002/08/10 18:00:43; author: dds; state: Exp; lines: +12 -10
Second pass of index correction
----------------------------
revision 1.28
date: 2002/08/10 09:22:22; author: dds; state: Exp; lines: +81 -60
Typed-in corrected index entries
----------------------------
revision 1.27
date: 2002/08/08 14:09:55; author: dds; state: Exp; lines: +9 -10
Fixed maxims
----------------------------
revision 1.26
date: 2002/08/07 18:26:37; author: dds; state: Exp; lines: +2 -23
No blank line after end{codelist}
----------------------------
revision 1.25
date: 2002/08/07 15:33:35; author: dds; state: Exp; lines: +8 -5
Reference documentaiton generators.
----------------------------
revision 1.24
date: 2002/08/07 13:38:17; author: dds; state: Exp; lines: +24 -9
Noexpand should not be used inside pmaxim
----------------------------
revision 1.23
date: 2002/08/07 11:10:38; author: dds; state: Exp; lines: +18 -2
Add index entries for all sections and chapters.
----------------------------
revision 1.22
date: 2002/08/05 05:37:37; author: dds; state: Exp; lines: +8 -8
Updated book references to newer editions.
----------------------------
revision 1.21
date: 2002/08/04 16:47:57; author: dds; state: Exp; lines: +3 -2
Added label.
----------------------------
revision 1.20
date: 2002/08/03 15:17:39; author: dds; state: Exp; lines: +3 -4
Use urlcite instead of dircite.
----------------------------
revision 1.19
date: 2002/08/03 15:10:27; author: dds; state: Exp; lines: +5 -5
No spaces around em dash
----------------------------
revision 1.18
date: 2002/08/03 14:35:59; author: dds; state: Exp; lines: +65 -5
Added information on cdecl and signature survey.
----------------------------
revision 1.17
date: 2002/08/01 14:22:42; author: dds; state: Exp; lines: +3 -4
Maxims are split by chapter title
----------------------------
revision 1.16
date: 2002/07/29 16:39:38; author: dds; state: Exp; lines: +67 -30
Incorporated comments from the Dave Thomas review.
----------------------------
revision 1.15
date: 2002/07/28 09:12:02; author: dds; state: Exp; lines: +7 -7
Form-comments from Guy Steele.
----------------------------
revision 1.14
date: 2002/07/27 14:25:30; author: dds; state: Exp; lines: +33 -2
Run fixcodelist.pl to add a new paragraph before and after code lists.
----------------------------
revision 1.13
date: 2002/07/06 08:13:31; author: dds; state: Exp; lines: +41 -41
Convert to American spelling
----------------------------
revision 1.12
date: 2002/05/17 14:40:41; author: dds; state: Exp; lines: +19 -18
Version for AW review.
----------------------------
revision 1.11
date: 2002/04/09 21:11:09; author: dds; state: Exp; lines: +7 -7
Homogenised punctuation to precede footnotes.
Introduced \filecite and \dircite where needed.
subsections are numebred.
----------------------------
revision 1.10
date: 2002/04/09 13:53:39; author: dds; state: Exp; lines: +111 -62
Before moving footnote symbols AFTER the punctuation symbols.
----------------------------
revision 1.9
date: 2001/08/26 11:23:30; author: dds; state: Exp; lines: +3 -3
Fixed bib entry.
----------------------------
revision 1.8
date: 2001/08/26 11:21:29; author: dds; state: Exp; lines: +53 -53
Spell check.
----------------------------
revision 1.7
date: 2001/08/26 10:56:44; author: dds; state: Exp; lines: +21 -22
Fixes after Eliza comments.
----------------------------
revision 1.6
date: 2001/07/27 16:56:12; author: dds; state: Exp; lines: +72 -17
Added references to code browsing and indexing tools.
----------------------------
revision 1.5
date: 2001/07/10 12:17:33; author: dds; state: Exp; lines: +31 -24
Added RCS id
----------------------------
revision 1.4
date: 2001/06/17 18:59:11; author: dds; state: Exp; lines: +234 -137
After printing and corrections.
----------------------------
revision 1.3
date: 2001/04/17 14:00:27; author: dds; state: Exp; lines: +857 -79
First complete version.
----------------------------
revision 1.2
date: 2001/02/03 12:03:46; author: dds; state: Exp; lines: +376 -30
Grep-based tools
----------------------------
revision 1.1
date: 2000/12/31 18:27:33; author: dds; state: Exp;
Initial revision
=============================================================================
Το παρακάτω παράδειγμα είναι απόσπασμα των αλλαγών που έγιναν
ανάμεσα στην έκδοση 1.12 και 1.13 (προσαρμογή στην αμερικανική
ορθογραφία):
12c12
< Often you locate particular program elements by utilising the programming
---
> Often you locate particular program elements by utilizing the programming
483c483
< first one as is the default behaviour.
---
> first one as is the default behavior.
802c802
< Some output formats are terse and are optimised for use by other
---
> Some output formats are terse and are optimized for use by other
1513c1513
< Use highlighters, coloured pens, post-it notes, and anything else
---
> Use highlighters, colored pens, post-it notes, and anything else
1626c1626
< These are available under all flavours of Unix.
---
> These are available under all flavors of Unix.
Τα εργαλεία ελέγχου σχηματισμών επιτρέπουν την αυτοματοποίηση
πολλών από τις διεργασίες που έχουμε περιγράψει.
Το πιο διαδεδομένο εργαλείο είναι το Git και παρέχει εντολές
όπως οι παρακάτω.
Start a working area |
clone | Clone a repository into a new directory |
init | Create an empty Git repository or reinitialize an existing one |
Work on the current change |
add | Add file contents to the index |
mv | Move or rename a file, a directory, or a symlink |
rm | Remove files from the working tree and from the index |
Examine the history and state |
grep | Print lines matching a pattern |
log | Show commit logs |
show | Show various types of objects |
status | Show the working tree status |
Grow, mark and tweak your common history |
branch | List, create, or delete branches |
checkout | Switch branches or restore working tree files |
commit | Record changes to the repository |
diff | Show changes between commits, commit and working tree, etc |
merge | Join two or more development histories together |
tag | Create, list, delete or verify a tag object signed with GPG |
Collaborate |
fetch | Download objects and refs from another repository |
pull | Fetch from and integrate with another repository or a local branch |
push | Update remote refs along with associated objects |
Εργασία με το διορθωτή
Ο
διορθωτής (editor) χρησιμοποιείται για την επεξεργασία
όλων των αρχείων κειμένου.
Ένας καλός διορθωτής πρέπει να υποστηρίζει τις παρακάτω δυνατότητες:
- Εύρεση και αλλαγή με κανονικές εκφράσεις (regular expressions)
- Αυτόματη στοίχιση (indentation)
- Ταίριαγμα παρενθέσεων, αγκυλών, κ.λπ.
- Χρωματισμός σύμφωνα με τη σύνταξη της γλώσσας ή του κειμένου
- Αναίρεση πολλαπλών επιπέδων,
- Σύνδεση με πρόγραμμα βοήθειας
- Σύνδεση με περιβάλλον στοιχειοθεσίας ή μεταγλώττισης
- Ταυτόχρονη διόρθωση σε πολλαπλά παράθυρα και αρχεία
- Ιεραρχική απόκρυψη περιοχών
- Αναγνώριση της σύνταξης της γλώσσας και αυτόματος σχηματισμός του προγράμματος
- Σελιδοδείκτες
- Συμπλήρωση ή επιλογή όρων
Το περιβάλλον του διορθωτή vim
Αυτόματος χρωματισμός βιβλιογραφικών αναφορών
Αποθήκευση και διαχείριση δεδομένων
Τα δεδομένα μας αποτελούν συχνά τη βάση της έρευνάς μας.
Ο τρόπος που τα αποθηκεύμουμε και τα επεξεργαζόμαστε
πρέπει να ταιρίαζει στη φύση τους.
- Απλά αριθμητικά δεδομένα μπορούν να αποθηκευτούν σε
φύλλα εργασίας του Excel.
Από εκεί μπορούμε να δημιουργήσουμε απλά διαγράμματα ή
να τα επεξεργαστούμε και με στατιστικά προγράμματα όπως το
σύστημα R (http://www.r-project.org/) ή τη
γλώσσα Python, σε συνδυασμό με το περιβάλλον
Jypyter (https://jupyter.org/).
- Δεδομένα με σύνθετες σχέσεις πρέπει να φυλάσσονται σε μια βάση
δεδομένων.
Αν ο όγκος τους δεν είναι πολύ μεγάλος (π.χ. μέχρι 5000 εγγραφές)
η SQLite ή Access είναι μια καλή επιλογή.
Για μεγαλύτερο όγκο ίσως να πρέπει να εξετάσουμε τη χρήση μεγαλύτερων
συστημάτων όπως Oracle, SQL Server, mySQL, ή Postgres.
Η επεξεργασία τους γίνεται με τη χρήση της γλώσσας SQL.
- Απλά δεδομένα κειμένου είναι προσφορότερο να φυλάσσονται σε αρχεία
κειμένου με την κατάλληλη γραμμογράφηση (π.χ. ετικέτες).
Από εκεί μπορούμε να τα επεξεργαστούμε με εργαλεία του Unix ή
με ολοκληρωμένες γλώσσες όπως η Perl.
Μερικά χρήσιμα εργαλεία του Unix τα οποία μπορούν να συνδυαστούν
μεταξύ τους με τη χρήση σωληνώσεων (pipes) είναι τα παρακάτω:
egrep | Εύρεση κανονικής έκφρασης |
tr | Μετάφραση χαρακτήρων |
fmt | Συμπλήρωση λέξεων σε γραμμές |
wc | Μέτρηση λέξεων, γραμμάτων, γραμμών |
rev | Αντιστροφή των περιεχομένων κάθε γραμμής |
diff | Εμφάνιση της διαφοράς δύο αρχείων |
sort | Ταξινόμηση των δεδομένων ανά πεδίο |
join | Σχεσιακή σύνδεση δύο αρχείων |
cut | Επιλογή ορισμένων μόνο πεδίων από ένα αρχείο |
uniq | Εύρεση επαναλαμβανόμενων γραμμών σε ταξινομημένο αρχείο |
comm | Εύρεση κοινών και μή κοινών γραμμών σε δύο ταξινομημένα αρχεία |
awk | Γλώσσα επεξεργασίας αρχείων που αποτελούνται από διακριτά πεδία |
sed | Γλώσσα επεξεργασίας αρχείων με βάση κανονικές εκφράσεις |
Αν έχουμε εμπειρία και εργαλεία για χρήση της XML είναι και αυτή
μια πρόσφορη επιλογή.
Κανονικές εκφράσεις
-
Οι κανονικές εκφράσεις επιτρέπουν τον ορισμό σύνθετων συμβολοσειρών με
δηλωτικό τρόπο.
-
Με τον τρόπο αυτό μπορούμε να εκτελέσουμε σύνθετες αναζητήσεις σε αρχεία
κειμένου.
-
Υποστηρίζονται από εργαλεία όπως η εντολή grep,
γλώσσες όπως οι Perl, sed, awk
και προγράμματα όπως οι διορθωτές emacs και vi
και (σε περιορισμένη μορφή) το Microsoft Word.
Τα παρακάτω σύμβολα έχουν ειδικό νόημα:
- ^
- Αρχή της γραμμής
- $
- Τέλος της γραμμής
- .
- Οποιοδήποτε γράμμα
- [abc]
- Ένα από τα γράμματα a, b, ή c
- [a-z]
- Ένα από τα γράμματα a μέχρι z
- [^abc]
- Οποιοδήποτε γράμμα εκτός από τα a, b, και c.
- Έκφραση*
- Η έκφραση μηδέν ή περισσότερες φορές
- Έκφραση+
- Η έκφραση μία ή περισσότερες φορές (μόνο με την egrep)
- Έκφραση?
- Η έκφραση μία ή καμία φορά (μόνο με την egrep)
- Έκφραση1|Έκφραση1
- Η έκφραση1 ή η έκφραση2 (μόνο με την egrep)
- (Έκφραση)
- Το περιεχόμενο στην παρένθεση (μόνο με την egrep)
- \1 \2 ... \n
- To περιεχόμενο της νοστής παρένθεσης
Παράδειγμα:
$ grep 'abo' words
...
sabotage
seaboard
taboo
thereabouts
turnabout
vagabond
whereabout
...
$ grep '^abo' words
aboard
abode
abolish
abolition
abominable
abominate
aboriginal
$ grep bent words
absorbent
bent
benthic
debenture
incumbent
recumbent
$ grep 'bent$' words
absorbent
bent
incumbent
recumbent
$ grep -v '[AEIOUYaeiouy]' words
...
MD
MN
MPH
Mr
Mrs
Ms
m's
Mt
n
NBC
...
$ egrep '(.)(.)(.)\3\2\1' words
braggart
Brenner
collocation
diffident
dissident
glossolalia
grammar
grammarian
installation
staccato
suffuse
Αυτοματοποίηση
Αυτοματοποιόντας την εργασία μας επιτυγχάνουμε:
- Ελαχιστοποίηση των σφαλμάτων.
- Επαναληπτικότητα: όταν μεταβληθούν τα δεδομένα μας μπορούμε εύκολα
να δημιουργήσουμε ξανά τα αντίστοιχα αποτελέσματα.
- Ευελιξία: αν χρειαστεί να αλλάξουμε την μορφή των αποτελεσμάτων αρκεί να
διορθώσουμε τη διεργασία που τα παράγει.
- Τεκμηρίωση: οι κανόνες που σχηματίζουν την αυτοματοποιημένη διεργασία
αποτελούν και την τεκτμηρίωση της παραγωγής των αποτελεσμάτων.
- Πνευματική ανάταση: αντικαθιστούμε επαναλαμβανόμενες βαρετές
εργασίες με τη δημιουργική ασχολία της αυτοματοποίησης.
Μερικές προσεγγίσεις αυτοματοποίησης είναι οι παρακάτω:
- Μακροεντολές Word/Excel/Access
- Μακροεντολές του διορθωτή μας
- Εντολές SQL
- Visual Basic for Applications
- Οι γλώσσες υψηλού επιπέδου Python, R, Perl, Ruby
- Συνδυασμός εντολών του Unix
- Αρχεία δέσμης των Windows (.bat)
- Προγραμματισμός σε μια συμβατική γλώσσα όπως C, C++, Java
Παράδειγμα (μετατροπή του προχείρου σε αρχείο γραφικών):
winclip -p |
ppmquant 256 |
ppmtogif >%1
Συνεργασία με εργαλεία των Windows
Τα εργαλεία της σουίτας Outwit μας επιτρέπουν την πρόσβαση σε στοιχεία
των Windows μέσα από εντολές της κονσόλας.
Παρέχουν μεταξύ άλλων τις παρακάτω δυνατότητες:
- Πρόσβαση στο πρόχειρο (winclip)
- Υποβολή ερωτημάτων σε βάσεις δεδομένων
- Πρόσβαση στις ιδιότητες των εγγράφων
-
Συνδυάζοντας τα παραπάνω εργαλεία με έτοιμα εργαλεία του
περιβάλλοντος Unix μπορούμε να αυτοματοποιήσουμε πολλές εργασίες.
Παράδειγμα
Μεταφορά δεδομένων από τα πακέτα εργασίας σε πίνακα παραδοτέων και σε
διάγραμμα GANTT.
Περιγραφή πακέτου εργασίας
Δημιουργία πίνακα παραδοτέων
Για να δημιουργήσουμε τον πίνακα των παραδοτέων αντιγράφουμε όλα τα
πακέτα εργασίας στο πρόχειρο και εξάγουμε τις γραμμές που περιγράφουν
παραδοτέα.
winclip -p |
awk "-F\t" '/^D[0-9]/ {
print $3 "\t" substr($1, 2, 1) \
"\t" $1 "\t" $2
}' |
winclip -c
Δημιουργία διαγράμματος GANTT
Για να δημιουργήσουμε το διάγραμμα GANTT αντιγράφουμε όλα τα
πακέτα εργασίας στο πρόχειρο και εξάγουμε τις γραμμές που περιγράφουν
τους χρόνους.
winclip -p | awk '
BEGIN {FS = "\t" }
/For WORK/ {split($0, a, "\t")}
/^WP title/ {WP = $2}
/^Start month/ {
print "WP" a[4] "\t" \
WP "\t" \
($4 - $2 + 1) * 31 "ed\t" \
"1/" ($2 - 1) % 12 + 1 "/" 2000 +
int(($2 - 1)/12)
}' |
winclip -c
Οι παραπάνω εντολές παράγουν τα δεδομένα στη μορφή
WP0 Project Management 744ed 1/1/2000
WP1 Requirements Analysis 124ed 1/1/2000
WP3 Metalevel Specification 279ed 1/4/2000
...
με την οποία μπορούν να επικοληθούν στο Microsoft Project.
Ανάπτυξη λογισμικού
- Χρησιμοποιούμε γλώσσα ανάλογη με το πρόβλημα:
- Python, R, Perl, Ruby, για πειραματισμό και επεξεργασία αρχείων
- JavaScript, Visual Basic, HTML/CSS, Tcl/Tk για γραφικές διεπαφές
- Java, C# για μεταφέρσιμα, κατανεμημένα ή ενσωματωμένα συστήματα
- Rust, Go, C, C++ για μεγάλο όγκο δεδομένων και ταχύτητα επεξεργασίας
- ML, Haskell για συναρτησιακό προγραμματισμό
- R, Matlab, Mathematica για σύνθετα αριθμητικά προβλήματα
- Prolog για έκφραση κανόνων
- Χρησιμοποιούμε έτοιμες βιβλιοθήκες και κώδικα
- PyPI, npm, Perl modules
- Java SDK
- Boost (C++)
- Εξωτερικά προγράμματα
- Υλοποιούμε πρώτα ένα αρχέτυπο (prototype) του συστήματος.
Πιθανότατα δε θα χρειαστεί ποτέ δεύτερη υλοποίηση.
- Η υλοποίηση σε μορφή αρχετύπου δεν είναι δικαιολογία για να μην είναι
ο κώδικας ευανάγνωστος και με σωστά σχόλια.
- Τοποθετούμε τον κώδικα που γράφουμε κάτω από σύστημα διαχείρισης αλλαγών.
Η προσωπική ιστοσελίδα
Πως είναι:
- Στα αγγλικά
- Σε απλή XHTML (όχι π.χ. Macromedia Flash, ή Microsoft Word)
- Προσβάσιμη από όλους τους φυλλομετρητές
Τι περιέχει:
- Στοιχεία επικοινωνίας
- Λεπτομέρειες για την έρευνα που κάνουμε
- Δημοσιεύσεις
- Λογισμικό και δεδομένα μας
- Δεσμούς
- Blog;
Τι δεν περιέχει:
- Αναλυτικό βιογραφικό (id theft)
- Προσωπικά στοιχεία (σε ξεχωριστή περιοχή)
Διαχείριση του συστήματος
Ο σταθμός εργασίας μας είναι τμήμα του ερευνητικού μας περιβάλλοντος.
Πρέπει λοιπόν να μπορούμε κάθε στιγμή να αναπαράξουμε το
περιβάλλον από το μηδέν.
Οι παρακάτω βέλτιστες πρακτικές βοηθούν σε αυτό.
- Αποφεύγουμε προεγκατεστημένα συστήματα
- Κρατάμε λεπτομερές αρχείο με όλες τις αλλαγές που έχουμε κάνει από
την εγκατάσταση
- Κρατάμε αντίγραφα του λειτουργικού συστήματος και όλων των εφαρμογών
που έχουμε εγκαταστήσει
- Εγκαθιστούμε λογισμικό με σύστημα εγκατάστασης, π.χ. apt-get, choco
- Διαμορφώνουμε το σύστημά μας δηλωτικά, π.χ. με Puppet, Ansible, Chef
- Διαχωρίζουμε αυστηρά τα δικά μας δεδομένα από τα αρχεία των εφαρμογών
- Αρχεία εργασίας (π.χ. αρχεία του Word, Excel)
- Παράμετροι των εφαρμογών (π.χ. διευθύνσεις, templates)
- Ιστορικά δεδομένα (π.χ. μηνύματα email και fax που έχουμε στείλει)
- Αποφεύγουμε την εγκατάσταση προγραμμάτων για τα οποία δεν έχουμε
νόμιμη άδεια και προτιμούμε ελεύθερα προγράμματα που διατίθονται με
πηγαίο κώδικα.
Ασφάλεια
- Τακτική ενημέρωση του λογισμικού με τις διορθώσεις του αντίστοιχου
κατασκευαστή.
- Λειτουργικό σύστημα
- Εφαρμογές
- Δεν εκτελούμε προγράμματα p2p στο μηχάνημα που
χρησιμοποιούμε για τη δουλειά μας.
Τα προγράμματα αυτά μπορεί να κατεβάσουν ή να γίνουν φορείς ιομορφικού
λογισμικού.
- Καθορισμός των παραμέτρων των προγραμμάτων για μεγιστοποίηση της
ασφάλειας χρήσης τους.
Ενδεικτικά:
- Μη ενεργοποίηση δικτυακών υπηρεσιών του λειτουργικού συστήματος
που δε χρειάζονται
- File sharing (CIFS (Windows), NFS (Unix))
- Remote access
- Web server
- Απενεργοποίηση macros στο Word, Excel
Αντίγραφα εφεδρείας
Αντίγραφα εφεδρείας χρειάζονται όταν:
- Διαγραφούν στοιχεία
- Χαλάσει το βασικό μέσο αποθήκευσης
- Χρειάζεται να ανατρέξουμε στο παρελθόν
Για βελτιστοποίηση της διαδικασίας,
διαχωρίζουμε τα παρακάτω αντίγραφα εφεδρείας
- Πλήρες αντίγραφο εφεδρείας (full backup) (επίπεδο 0)
- Επαυξητικό αντίγραφο εφεδρείας (incremental backup)
(μερικές φορές πολλαπλών επιπέδων)
Κάθε επίπεδο περιέχει τις αλλαγές από το προηγούμενο μικρότερο επίπεδο.
Πρόσθετα στοιχεία:
- Τα αντίγραφα εφεδρείας πρέπει να φυλάσσονται σε άλλο (ασφαλή) χώρο
- Περιοδικά δοκιμάζουμε την ανάκτηση αρχείων καθώς και την ανάκτηση
ολόκληρου δίσκου
- Ως αποθηκευτικό μέσο οι μεγάλοι οργανισμοί χρησιμοποιούν ταινίες.
Εμείς μπορούμε να χρησιμοποιούμε μνήμες USB.
Δεσμοί στο διαδίκτυο
Κατευθύνσεις για τη χρήση παραγωγικής τεχνητής νοημοσύνης
Η χρήση
παραγωγικής τεχνητής νοημοσύνης (generative AI)
(π.χ. ChatGP, Bard, Bing)
μπορεί να βοηθήσει στην εκπόνηση εκπαιδευτικών εργασιών αρκεί να συνεισφέρει
στους εκπαιδευτικούς στόχους της κάθε εργασίας και να
γίνεται με διαφάνεια και περίσκεψη.
Ακολουθούν μερικές καλές πρακτικές, για την περίπτωση που
δεν έχουν δοθεί διαφορετικές οδηγίες.
- Επιβεβαιώνουμε ότι τα στοιχεία της ΠΤΝ είναι ορθά, προσθέτοντας σχετικές παραπομπές σε δημοσιευμένη βιβλιογραφία (με DOI και δεσμό υπερκειμένου σ' αυτό για να είναι εύκολα επαληθεύσιμες).
- Προσθέτουμε παράρτημα που περιέχει αριθμημένα όλες τις προτροπές μας προς την εφαρμογή ΠΤΝ και τις απαντήσεις που έχουμε λάβει από αυτή για το κείμενο που έχουμε χρησιμοποιήσει.
- Προσθέτουμε υποσημειώσεις στα σημεία του κύριου κειμένου που χρησιμοποιούμε κείμενο ΠΤΝ προς την αντίστοιχη απάντηση στο σχετικό παράρτημα.
- Προσθέτουμε στην εισαγωγή μια ενότητα όπου περιγράφουμε ποσοτικά και ποιοτικά πώς χρησιμοποιήσαμε ΠΤΝ, τους κινδύνους που αυτό συνεπάγεται, καθώς και τα συγκεκριμένα μέτρα που λάβαμε για να αντισταθμίσουμε τους κινδύνους αυτούς.
Στην ενότητα αυτή περιλαμβάνουμε φράση όπου ξεκαθαρίζουμε ότι αναλαμβάνουμε
την πλήρη ευθύνη για όλο το κείμενο της εργασίας.
- Προσθέτουμε μια ενότητα στο τέλος της εργασίας όπου αναλύουμε τι αξία έχουμε προσθέσει εμείς σε σχέση με την εφαρμογή ΠΤΝ και σε ποια συγκεκριμένα σημεία χρειάστηκε η δική μας επέμβαση για να διορθώσουμε ή να κατευθύνουμε κατάλληλα την ΠΤΝ (με συγκεκριμένα παραδείγματα).
Για τη χρήση ΠΤΝ σε επιστημονικές εργασίες ακολουθούμε τις οδηγίες της
επιστημονικής ένωσης ή του εκδότη του περιοδικού ή του συνεδρίου
που σκοπεύουμε να υποβάλλουμε. Παραδείγματα:
Nature Machine Intelligence: Writing the rules in AI-assisted writing (https://doi.org/10.1038/s42256-023-00678-6),
ACM (https://www.acm.org/publications/policies/new-acm-policy-on-authorship),
IEEE (https://conferences.ieeeauthorcenter.ieee.org/author-ethics/guidelines-and-policies/submission-policies/),
ACL (https://2023.aclweb.org/blog/ACL-2023-policy/).
Βιβλιογραφία
- Writing the rules in AI-assisted
writing.
Nature Machine Intelligence, 5(5):469–469, may 2023.
(doi:10.1038/s42256-023-00678-6 (http://dx.doi.org/10.1038/s42256-023-00678-6))
- Alfred V. Aho, Brian W.
Kernighan, and Peter J. Weinberger.
Awk—a pattern scanning and processing language.
Software: Practice and Experience, 9(4):267–280, 1979.
- Mark Burgess.
Principles of Network and System Administration.
John Wiley and Sons, New York, 2001.
- Claire Kehrwald Cook.
Line by Line.
Houghton Mifflin, Boston, MA, 1986.
- Emden R. Gasner,
Eleftherios Koutsofios, Stephen C. North, and Kiem-Phong Vo.
A technique for drawing dricted graphs.
IEEE Transactions on Software Engineering, 19(3):124–230, May
1993.
- John Grossman, editor.
The Chicago Manual of Style.
The University of Chicago Press, Chicago and London, fourteenth edition,
1993.
- Andrew Hunt and David
Thomas.
The Pragmatic Programmer: From Journeyman to Master.
Addison-Wesley, Boston, MA, 2000.
- Aviel William Strunk Jr.
and E. B. White.
The Elements of Style.
Macmillan Publishing Co., New York, 1979.
- S. Katzoff.
Clarity
in technical reporting.
Technical Report NASA SP-7010, NASA, Washington, D.C., 1964.
Second edition. Available online
http://techreports.larc.nasa.gov/ltrs/PDF/NASA-64-sp7010.pdf.
- Brian W. Kernighan
and Rob Pike.
The UNIX Programming Environment.
Prentice-Hall, Englewood Cliffs, NJ, 1984.
- Brian W. Kernighan
and P. J. Plauger.
The Elements of Programming Style.
McGraw-Hill, New York, second edition, 1978.
- Brian W. Kernighan.
PIC—a language for typesetting graphics.
Software: Practice and Experience, 12:1–21, 1982.
- Leslie Lamport.
LATEX: A Document Preparation System.
Adisson-Wesley, Reading, MA, 1985.
- Steve Lawrence and
C. Lee Giles.
Searching
the World Wide Web.
Science, 280(5360):98–100, 1998.
- Steve Lawrence and
C. Lee Giles.
Searching
the web: General and scientific information access.
IEEE Communications, 37(1):116–122, 1999.
- Thomas A.
Limoncelli and Christine Hogan.
The Practice of System and Network Administration.
Addison-Wesley, 2001.
- Eric Steven Raymond.
The Art of Unix Programming.
Addison-Wesley, 2003.
- Charles H. Sides.
How to Write and Present Technical Information.
Cambridge University Press, Cambridge, 1991.
- Diomidis Spinellis.
Small
tools for automatic text generation.
;login:, 23(4):44–47, August 1998.
- Diomidis Spinellis.
Outwit:
Unix tool-based programming meets the Windows world.
In Christopher Small, editor, USENIX 2000 Technical Conference
Proceedings, pages 149–158, Berkeley, CA, June 2000. Usenix
Association.
- Diomidis Spinellis.
The
decay and failures of web references.
Communications of the ACM, 46(1):71–77, January 2003.
(doi:10.1145/602421.602422 (http://dx.doi.org/10.1145/602421.602422))
- Diomidis Spinellis.
On
the declarative specification of models.
IEEE Software, 20(2):94–96, March/April 2003.
- Diomidis Spinellis.
Organized
pruning of file sets.
;login:, 28(3):39–42, June 2003.
- Walter F. Tichy.
Design, implementation, and evaluation of a revision control system,.
In Proceedings of the 6th International Conference on Software
Engineering. IEEE, September 1982.
- Edward R. Tufte.
The Visual Display of Quantitative Information.
Graphics Press, Cheshire, CT, 1983.
- Larry Wall and
Randal L. Schwartz.
Programming Perl.
O'Reilly and Associates, Sebastopol, CA, 1990.
- P. Wessel and W. H. F.
Smith.
Free software helps map and display data.
EOS Transactions American Geophysical Union, 72(41):441, 445–446,
1991.
Χρήση του διαδικτύου για ερευνητές της πληροφορικής
Έντυπα περιοδικά και πρακτικά συνεδρίων
Στα παρακάτω δωρεάν μόνο η εύρεση άρθρων και ανάκτηση της περίληψης.
Για ανάκτηση των άρθρων σε πλήρες κείμενο πρέπει να είσαστε
εσείς συνδρομητές ή να υπάρχει συμφωνία με το Πανεπιστήμιο ή
με το Δίκτυο Ελληνικών Ακαδημαϊκών Βιβλιοθηκών.
Συλλογές άρθρων και τεχνικών αναφορών
Λογισμικό
'Αλλες πληροφορίες
Μηχανές αναζήτησης και κατάλογοι
Τέλος, μη πιστεύετε ό,τι διαβάζετε στο web
Άσκηση
- Επιλέξτε (αν δε χρησιμοποιείτε ήδη) ένα σύστημα διαχείρισης
βιβλιογραφικών αναφορών και εισάγετε σε αυτό
- 50 αναφορές από τη δική σας βιβλιογραφική έρευνα.
-
- 5 παραπομπές σε σχετικές με το θέμα σας εργασίες
συναδέλφων του τμήματος
- 5 παραπομπές στο διαδίκτυο.
- 20 παραπομπές σε εργασίες του David A. Patterson
(Department of Computer Science, University of California, Berkeley).
- Μορφοποιείστε τις παραπάνω 80 αναφορές.
- Σύμφωνα με το πρότυπο της American Psychological Association.
- Σύμφωνα με το πρότυπο του Institute of Electrical and Electronics Engineers.
- Να παραδώσετε μια αναφορά που να περιέχει:
- Περιγραφή των εργαλείων που χρησιμοποιήσατε και
της διαδικασίας (νόμιμης) απόκτησής τους.
- Περιγραφή της διαδικασίας που ακολουθήσατε για την
υλοποίηση της αναφοράς (αναζήτηση αναφορών, μορφοποίηση, κ.λπ.).
- Αναφορά στις πηγές των προτύπων που χρησιμοποιήσατε.
- Σχόλια για τα εργαλεία και τον τρόπο εργασίας σας.
- Τις βιβλιογραφικές αναφορές σας σύμφωνα με το πρότυπο της American Psychological Association.
- Τις βιβλιογραφικές αναφορές σας σύμφωνα με το πρότυπο του Institute of Electrical and Electronics Engineers.
- Η αναφορά μπορεί να παραδωθεί σε μένα σε μορφή PDF μέσω του email μου,
ή τυπωμένη στο γραφείο μου.
Περιεχόμενα