Category: /chris/myown

Doubly Linked List API in C

Happy New Year to all,

I’m posting to share an update to my Doubly Linked List API (or shorter, DLL-API) in C.

First things first, if you haven’t visited my personal website (here) (where I’ve listed some of my projects), I have implemented a Doubly Linked List API in C, that can be obviously used with any datatype, as long as a specific set of functions is provided (copy, allocate, etc.).

I’ve updated the API to version 2.1 and among the updates, one that is important, is the implementation of iterator functionality.

Here’s the brief changelog from the README:

Changelog

1. Added support for iterators (look below for more info)
2. Changed ugly dllistptr to a more [user and C]-friendly naming convention, that is list_t (important)
3. Renamed the API files to a more C-like naming convention, like this: doubly_linked_list_adt.c/h
4. Updated demo to include some of the iterator functionality
5. This version was extensively tested with a multithreaded project, that used the list with about 10 datatypes
6. Added a copy-constructor-like method to copy lists
7. Binary search to access find the associated element in the list of iterators
8. In big programs, compile with -O2 or -O3 to see the magic

This API was heavily used in a reverse search engine project with many many lists, and has proved to be solid!

You can find the Doubly Linked List API here!

If there are any suggestions or issues with the API, don’t hesitate to submit a pull request or an issue!

Terminal productivity boost (some Bash aliases)

Hello again,

It’s been a long time since I’ve posted, but it’s been a really busy period..


An icon representing a terminal prompt
Terminal prompt

On to the topic, using a feature such as aliases in a terminal, certainly makes you do things faster.
(To get an intro to aliases and a guide on how to save them permanently, read this)

So I’ve gathered some of mine and uploaded them at Github as a bash-aliases repo.

Here are some:

Installation:

Append them over to your ~/.bash_aliases file

Read More

GNU/Linux SSH login script for my university’s linux-lab

This is a post regarding an ssh login script I wrote, for the GNU/Linux machines at the linux-Lab of my department. More about the script here.

Update:
Πρόσθεσα δυναμικό έλεγχο των linux machines. Με wget κατεβάζω το html αρχείο και έπειτα διατρέχω τα linux_machines και δοκιμάζω ssh.
Στο τέλος, διαγράφονται τα αρχεία των linux_machines, για να γίνει επανέλεγχος κάθε φορά.


Έγραψα ένα scriptaki για automated ssh login στα linux μηχανήματα της σχολής.
Είναι καλό να ακολουθήσετε πρώτα τις οδηγίες για passwordless ssh connection που βρίσκονται εδώ ώστε να μην χρειάζεται κάθε φορά να πληκτρολογείτε τον κωδικό σας για κάθε μηχάνημα.

Λόγος/Ιδέα:

Προσπαθούσα να συνδεθώ στη σχολή μέσω ssh και απέτυχε σε 2 μηχανήματα (ήταν down νομίζω τα συγκεκριμένα linux) οπότε σκέφτηκα να φτιάξω ένα scriptaki που θα κάνει το polling για μένα.

Τρόπος λειτουργίας: 

Ουσιαστικά αρχίζει δοκιμάζοντας ssh σύνδεση από το linux01 και φθάνει μέχρι το linux29 (όπως φαίνεται εδώ (current state των linux machines) ).
Αν η σύνδεση είναι επιτυχής, μόλις γίνει το exit από τον remote host σταματάει και το script, αλλιώς συνεχίζει μέχρι να έχει hit ή να φθάσει στο linux29.

Μπορεί να διακοπεί με Ctrl + c.

Read More