Thoughts on turtlecoin public nodes

About a month ago, I set up, an automatically updated directory of public turtlecoin nodes.

Since then, I’ve been tweaking it every now and then:
– Some nodes seem to be dead or down, so when a node is not reachable for 20 consecutive polls (~200 minutes) it will not show up.
– I modified the API to respond with a JSON that is similar to and as such it is a drop-in replacement (with some extra info, such as fee info)

The motivation behind is to help the “marketplace” (?) of public nodes. I want to make it easy for users to pick a public node, and at the same time to avoid having all traffic go through one or two of them.

In this direction, the API will query the DB and get results sorted by last block height (i.e. node is up to date), poll score (this is calculated based on the number of times the node was not reachable during the last 20 polls, and it’s a measure of reliability) and finally fees. However, the top 5 results will then be sorted in random order before they are returned as a JSON list.

I would like to think in advance on how this service could work if the TurtleCoin ecosystem grows much bigger and the valuable of the token gets higher. If this happens, I can see the possibility of people trying to game the service and I would like to try to be ready. In this direction I’m working on a system that will penalise hosts that use the same IP to avoid the case where the API returns 5 results that are the same node with different hostnames. (I’m also thinking of giving a higher score to nodes that use more than one IP, ie. two A records for the same host name.)

There is one more thing. It turns out that using a public node may be an attach vector that a malicious actor can take advantage of. The attack takes advantage of the fact that when a client connects to a public node, it exposes its IP to it. I’m working on what could be an easy solution to this: a simple proxy designed to hide the client IP and that anyone can deploy on Google Cloud services for free.

weekend project:

I spent the weekend on a new pet-project:, a service that lists know public TurtleCoin nodes. will periodically poll these nodes and keep track of their status, the block height they are at, the fees they are charging, etc.


I expect this to be a useful resource for
“light” wallet (for example, TurtleCoin Nest) users but also for anyone who wants to run a public node for fun and profit and would like to know what the landscape looks like.

The service also exposes an API, that could be useful to light wallet devs: they could call the API to get a list of nodes that seem to be reliable and don’t have the higher fees, making it easier for their users to pick one.

I should do more of these weekend side-projects, it feels so good to create something and learn new things in the process and then sharing it with the world 🙂

A “dual” SIM setup with older iPhones (not X+).

I have one personal SIM (SIM A) and one provided by my employer (SIM B). My business SIM has a generous post-paid package that includes voice, data, roaming when I travel, etc, so this is the one I use on my iPhone 6s. However, my personal SIM number is the one my friends and family knew for years, and it is also the one used by a couple services like transaction notifications by my bank.

I wanted a way to carry ONLY my iPhone 6s loaded with my business SIM and still receive calls and text messages sent to my personal SIM.

Yes, I know that iPhone Xs/Xm/Xr will be dual SIM, but I don’t have one (yet…), so I wanted to find a solution based on was was available to me. Also note that the solution described bellow could work with more than two SIMs 🙂

Read the full article at

I use this space mostly for comments.

The graveyard of Internet services does not have to be the graveyard of your creativity too.

Google is shutting down Google+ for consumers following security lapse.

This is a good reminder that services don’t live for ever. Most of them are actually very short lived, especially if they are free. Throughout the years I’ve invested a lot of time and effort in services like Google Buzz, Google+, Posterous (anyone remembers it?), Google Reader, FriendFeed, (that’s how it was written back then :-), Jaiku, various commenting services and so many more, only to see them go.

The only place that has been consistent and reliably there for me is my own domain. (It may not be very usable any more, but I can still find my old blog posts from 2004 at )

Keep your content (your stories, your photos, your videos, your discussions) on your own domain. If it’s not possible, at least the content that’s more important to you. And make sure that any third party services you may use offer a good way to get your content out of them, before you start using them.

And if you are a creator, keep in mind that the best way for your works to live long is to make sure they can be copied and that they are copied 😉

Photo source: Wikimedia Commons

ο Cory Doctorow για το Άρθρο13

Το παρακάτω κείμενο είναι μία (όσο πιο πιστή μπορούσα) μετάφραση μίας σειράς από tweets που έγραψε ο Cory Doctorow στις 12/9/2018 και βρήκα ενδιαφέροντα. Μπορείτε να διαβάσετε το αυθεντικό εδώ:

(Επίσης, αν έχετε σκοπό να κατακρίνετε κάτι στο ύφος του κειμένου, καλύτερα να διαβάσετε το αυθεντικό, μπορεί ο τρόπος που απέδωσα κάποια φράση ή ιδιωματισμό να μην είναι ακριβής και το πρόβλημά σας να είναι με την μετάφρασή μου κι όχι με αυτά που έγραψε του Doctorow.)

Σε περίπτωση που αναρωτιέστε: Η ΕΕ μόλις ψήφισε την επιβολή φίλτρων σε κάθε κείμενο, ήχο, φωτογραφία, βίντεο κ.λ. που μπορεί να δημοσιεύσεις. Αν νομίζετε ότι αυτό θα βοηθήσει τους φωτογράφους και τους υπόλοιπους δημιουργούς, δεν κατανοείτε τα φίλτρα.

Πρώτα-πρώτα: οι “πειρατές” γελάνε με τα φίλτρα. Τα πιο εξελιγμένα φίλτρα για φωτογραφίες στον κόσμο -αυτά που χρησιμοποιούνται για λογοκρισία από την κυβέρνηση στην Κίνα- είναι τετριμμένο να τα παρακάμψει κανείς.
Οποιοσδήποτε έχει δουλειά να νικήσει τα φίλτρα, θα νικήσει τα φίλτρα.

Αλλά όσοι είναι νόμιμοι; Περιλαμβανομένων και των φωτογράφων; ΤΗΝ ΠΑΤΗΣΑΝ. Ενώ τα φίλτρα μπορούν να παρακαμφθούν από όποιον ξέρει τα κόλπα, αν είσαι (ας πούμε) ένα φωτορεπόρτερ του οποίου η φωτογραφία από μία διαδήλωση έχει και ένα λεωφορείο με μία διαφήμιση με φωτογραφία από φωτοτράπεζα (stock photo) τα φίλτρα δεν θα καταλάβουν ότι κάνεις νόμιμη χρήση.

Υπάρχουν χιλιάδες τρόποι που τα φίλτρα μπορεί να υποδείξουν το νόμιμο έργο σου ως πειρατικό, και αν δεν είσαι πειρατής, το μόνο που μπορείς να κάνεις είναι να καταθέσεις ένσταση, να κρατήσεις την αναπνοή σου και να ελπίζεις ότι μία πλατφόρμα με δισεκατομμύρια χρήστες και εκατομμύρια άλλους στην ίδια θέση μ’ εσένα, θα επανεξετάσει την περίπτωσή σου.

Αυτά για τις φωτογραφίες. Αλλά θα φιλτράρουν και τα κείμενα. Τα κείμενά σου. Όσα γράφεις στο Twitter, στο Facebook, στο blog σου. Αν κάτι μοιάζει να ταιριάζει με κάποιο έργο με πνευματικά δικαιώματα, θα μπλοκαριστεί -από αλγόριθμους-μαύρα κουτιά που θα λαμβάνουν τρισεκατομμύρια αποφάσεις για το τι πρέπει να φιλτραριστεί κάθε μέρα.

Προγράμματα Υπολογιστών. Είσαι προγραμματιστής; Θεωρείς πως θα μπορούσες να αναλύσεις τον κώδικα ενός προγράμματος και να αποφασίσεις αν είναι ένα “πρωτότυπο έργο” του οποίου η μεγάλη ομοιότητα με κάποιο γνωστό πρόγραμμα είναι τυχαία ή αντιγραφή;

Πολλαπλασιάστε το αυτό επί τον αριθμό όλων των βίντεο και κάθε άλλου είδους περιεχομένου.

Οι “ομάδες δημιουργών” που υποστήριξαν αυτή την σιχαμερή πρόταση έλεγαν ξανά και ξανά ότι αυτά τα τεχνικά θέματα θα λυθούν όταν θα πούμε στους “σπασίκλες” (nerds) ότι πρέπει να τα λύσουν. Είπαν ΣΠΑΣΙΚΛΙΑΣΤΕ ΠΕΡΙΣΣΟΤΕΡΟ.

Η άρνησή τους να απαντήσουν στα τεχνικά επιχειρήματα και να μάθουν για τα τεχνικά ζητήματα που θα στοιχειώσουν τους δημιουργούς και το κοινό τους εξίσου ήταν εγκληματική.

Έχουν κάνει περισσότερα για να χάσουν τα πνευματικά δικαιώματα την αξιοπιστία τους από οτιδήποτε άλλο στην ιστορία της τεχνολογίας. Η (γελοία) εμμονή τους ότι τα πνευματικά δικαιώματα απαιτούν μαζική λογοκρισία και παρακολούθηση για να επιβιώσουν θα εισακουστεί και θα γίνει πιστευτή.

Είπαν στην Ευρώπη: Μπορείτε να έχετε ελευθερία λόγου ή πνευματικά δικαιώματα, αλλά όχι και τα δύο. Και θα γίνουν πιστευτοί. Βάζετε τους λαούς σε μία θέση που πρέπει να επιλέξουν και θα επιλέξουν.

Φίλοι μου καλλιτέχνες: Δεν θα σας αρέσει η επιλογή που θα κάνουν. Μετατρέψατε την πειρατεία σε μία μορφή πολιτικής διαμαρτυρίας σήμερα.

Το θέμα θα επανέλθει σε ψηφοφορία τον Ιανουάριο. Θα είμαι ειλικρινής, θα είναι πιθανότατα μία τυπική διαδικασία. Είναι σχεδόν αδιανόητο ολόκληρη η Οδηγία (για τα πνευματικά δικαιώματα) να καταψηφιστεί. Αλλά όσο υπάρχει έστω και μία ελάχιστη ελπίδα να σώσουμε την Ευρώπη από αυτή την παράνοια, θα πολεμήσουμε.

Θα πολεμήσουμε στα Ευρωπαϊκά δικαστήρια επίσης: Δεν είναι δυνατόν η απαίτηση πολυεθνικές εταιρείες να στέλνουν όλα μας τα δεδομένα και την επικοινωνία μας σε data centers των ΗΠΑ για να αναλυθούν και να λογοκριθούν χωρίς έλεγχο, να συνάδει με τα ευρωπαϊκά συνταγματικά πρότυπα.

Θα πολεμήσουμε στα 28 Ευρωπαϊκα κοινοβούλια όταν θα κάτσουν να φτιάξουν την εθνική νομοθεσία.

Θα πολεμήσουμε στις επερχόμενες ευρωεκλογές.

Ακόμη κι αν είχαμε κερδίσει την μάχη σήμερα, και πάλι θα έπρεπε να συνεχίσουμε να πολεμάμε.

Η μάχη για να κρατηθεί το Internet ανοικτό δεν είναι μία μάχη που κερδίζεις, είμαι μία μάχη στην οποία συντάσσεσαι.

Η λογοκρισία, η παρακολούθηση και ο έλεγχος του νευρικού συστήματος του 21ου αιώνα είναι ένα βραβείο πέρα από κάθε όριο για κάθε δικτάτορα, κάθε ηλίθιο, κάθε τρόλ.

Οτιδήποτε κάνουμε σήμερα εμπλέκει το Internet. Οτιδήποτε κάνουμε αύριο θα απαιτεί το Internet. Κάθε πρόβλημα που έχει ο καθένας εμπλέκει με κάποιο τρόπο το Internet και κάθε λύση σε αυτό το πρόβλημα θα είναι τελικά κάπως έτσι: “Δεν μπορούμε να καταστρέψουμε λιγάκι το Internet για να λύσουμε το πρόβλημά μου;”

Το να κάνουμε τον κόσμο να καταλάβει ότι οι μηχανισμοί για λογοκρισία και παρακολούθηση του Internet για “καλό σκοπό” τελικά θα γίνουν εργαλεία στα χέρια τρολ, δικτατόρων, εγκληματιών, στόκερ (stalker) και απολυταρχικών είναι μία επίπονη διαδικασία που θα πρέπει να επαναλαμβάνουμε ξανά και ξανά.

Μπορούμε να ξεκινήσουμε κάνοντας το “σπάσιμο του Internet” ένα θέμα που κανείς δεν θέλει να αγγίξει. Έχω βρεθεί σε διαμάχες για πολιτικές στις οποίες ζητήθηκε από πολιτικούς να κάνουν κάτι που θα έβαζε τους πολίτες να αντικαταστήσουν μικρά, φθηνά εξαρτήματα των τηλεοράσεων και αυτοί ήταν ΤΡΟΜΟΚΡΑΤΗΜΕΝΟΙ.

Οι ηλικιωμένοι βλέπουν τηλεόραση φανατικά και ψηφίζουν φανατικά. Το να τους χαλάσεις την τηλεόραση, ακόμη και λίγο, είναι πολιτική αυτοκτονία.

Έτσι θα κερδίσουμε τις μάχες για την ελευθερία του Internet. Στοχεύοντας και καταστρέφοντας την πολιτική καριέρα κάθε πολιτικού που είναι αρκετά χαζός να ψηφίσει υπέρ αυτής της βλακείας.

Η μάχη δεν έχει τελειώσει. Ποτέ δεν θα τελείωνε. Είχαμε μία τρομακτική, θλιβερή ήτα σήμερα. Υπερβολικά σκληρή.

Όταν η ζωή σου δίνει βούρλα, πλέξε ψάθες. Θα συνεχίσουμε να πολεμάμε. Γιατί το διακύβευμα είναι πολύ μεγάλο για να παραδοθούμε.

Maybe Facebook is not the way to reach your potential audience.

Today I posted the following on Facebook:

Really, don’t you feel bad that you spent all this time to write a long post on Facebook and then it’s gone after a few hours and after some days even you will probably not be able to find it ever again?

The answer I got was more or less “yes, but the audience is here and if you want to reach a wide audience, you have to post on Facebook”.

It may seem this way, yes Facebook has 2.2 billion active users per month, but this number is misleading.

First, this is your potential audience. If you are POTUS or Mark Zuckerberg maybe. But be realistic, your posts will never reach billions of users. Not even 0.1% of them. (And I strongly believe that if your post on Facebook could reach 0.1% of the total Facebook user base, it would probably reach them even if you posted it on github as a markdown file.)

Second, and more important, your actual potential audience (the people that speak your language, have similar interests to you, are somehow connected to you as friends of friends of friends, etc.) has a very limited timeframe to discover your post. It may be a couple of hours or a couple of days, but after that your post is gone forever. (Even for you. I’ve tried more than once to find something a posted on Facebook sometime in the past with no luck.)

I what you write is ephemeral and would have no value a month later, that’s fine.

But if not, if you write something that people would be interested to read a month, two months, a year later, then I would suggest you use your own blog, because your blog has a feature that Facebook does not: Discoverability. People can discover your blog post via Google, by reading an other piece that links to it, or even because someone with a larger audience than yours posted it on Facebook 🙂 a year later.

Here are three graphs from Google Analytics showing the lifetime reach of three different blog posts on my blog.

As you can see, each one of these posts reached much more people months or years after they were originally posted than in the month on which they were posted. This could have never happened on Facebook.

To be fair, these are three of my most popular blog posts in the last years. But again, these are also among the ones I would like them to reach the widest possible audience.

Άνοιξε ένα blog, λέμε.

Μα είναι δυνατόν να κάθσαι 3, 5, 10 λεπτά, ίσως και περισσόετρο για να γράψεις κάτι και μετά να το εμπιστεύεσε στο facebook όπου ούτε εσύ δεν θα μπορείς να το βρείς μετά από μερικές μέρες;

Άνοιξε ένα blog (π.χ. στο και γράφε εκεί, να έχεις όλα σου τα κείμενα, τι γκρίνες, τις ιδέες σε ένα χώρο δικό σου, όπου να μπορείτε να τα ψάξεις, να μπορείς να τα αρχειοθετήσεις, να τα διορθώσεις, να τα κάνεις link όταν γράψεις κάτι σχετικό.

Αν θες, μοίρασέ το και στο facebook, δεν λέω. Αλλά κράτα το κυρίως κάπου αλλού.

Άσε που το Internet δεν είναι μόνο το facebook. Πραγματικά, μου θυμίζετε κάτι ηλικιωμένους που πρωτογνώριζαν το Web το 2000 και νόμιζαν ότι το WWW είναι το… Υπάρχουν τόσα άλλα μέρη στο Internet στα οποία το άρθρο σου μπορεί να διαβαστεί, να μοιραστεί και να συζητηθεί αν δεν το κλέισεις με το ζόρι μέσα στο facebook.