Surviving an attack from the Chinese

chappie

Among the ridiculous projects I have had out in the open, the most long running one is called perispomeni.club. It is a dead simple, tiny linux machine inspired by Paul Ford’s tilde.club. People respectfully use together that machine in their shared quest to learn and build awesome web pages.

However it was a surprise when one of the users sent me a private email with a security concern.

Here I must mention that the pattern you can spot when reading this and my previous post is purely coincidental. I will stop with the email fanfare, I promise. On with the email:

From bob
Subject: Strange connection or only my imagination?
Hey Tasos
I have noticed a very strange connection to your server from various ip address which are also listed in block ip for previous abouse pages you should check:
121.18.238.104
59.63.188.3
Both are from china, they connect to your server port on 22 but strangely they do not show up as user.
Cheers

As one might notice, this is not good. I should dig in. Continue reading “Surviving an attack from the Chinese”

My edX Wishlist

Due to a violent occupation of the ECE Department of the University of Patras from students that has led to the semester’s loss, me and my friends are gonna end up with some extra free time.
We may study the next subjects by our selves or we can have some top notch professors and universities to teach us.

Here is my (long and very unreal) edX whishlist:

Robot Mechanics and Control, Part I

I am actually doing this one now. It is very comprehensive and teaches the basics of kinematic chains and degrees of freedom. It is pretty fundamental stuff explained in the best way possible.

Electronic Interfaces: Bridging the Physical and Digital Worlds

Basic circuits and micro controller introduction. As internet of things and wearables are considered the great thing for the next couple of years this is a must to grasp the basics

Innovation and Commercialization

How innovative products are made. Not a must but it is interesting.

Economics of Cybersecurity

With 2 major breaches in the last six months cyber security is a hot topic alright. Impacts on the economy are starting to show, so if you care about that stuff this seems good.

Mastering Quantum Mechanics

Always wanted to be able to say the above. A dream coming true!

Signals and Systems, Part 2 

No introductions here. You can skip part one if you’re already familiar with the basics.

Circuits and Electronics

Refresh your circuits skills and knowledge. Basic stuff again.

Introduction to Aeronautical Engineering

Aeronautical Engineering was my second choice but I find it very interesting.

Introduction to Solid State Chemistry

Great innovations happen in that sector. As graphene enters our lives a we should refresh organic chemistry at least.

Underactuated Robotics

Walking and swimming robots. Nothing to say here.

Introduction to Computational Thinking and Data Science

Learn to break problems to smaller problems. This is the first step to problem-solving, for this is actually what we do.

The Science of Happiness

Don’t worry be happy!

Εntrepreneurship 101: Who is your customer?

One of the main entrepreneurial problems.

Building Mobile Experiences

Mobile is everywhere now and as a result implementations of mobile experiences interest us.

Discrete-Time Signal Processing

Aka. DSP.

This list is a completely personal collection choices resulting from a 5 minutes scrolling research. You can surely find something that interest you out there.

Other sites that provide courses are:

Hope I helped.

Spark Core, First thoughts

I just got my hands on my long waited Spark Core!

It is a tiny Arduino board with a built in WiFi module. Besides that and the obvious possibilities of the Core, there is an API making it possible for the Core to talk to the internet.

Let’s say I want to check the status of the Hackerspace of Patras (0 or 1).

This simple bash script that runs on my computer does just that:

#!/bin/bash

while true; do
  sleep 5
  st=$(curl -s http://www.p-space.gr/status/)
  echo "$st"
  if(( "$st" == "0")); then
    echo "P-Space is closed!"
  else
    echo "P-Space is open"
  fi

curl  https://api.spark.io/v1/devices/DEVICE_ID_GOES_HERE/status         -d access_token=ACCESS_TOKEN_GOES_HERE -d args="$st"done

What it does is to check the status and send it to the core with a request.The most important line is the curl command. That makes the request to the core.

Let’s put some code on our Core too!

int status(String args) {
  int status;
  if(args == "1"){
    status=1;
    digitalWrite(D7,HIGH);
    digitalWrite(D6,LOW);
  }
  else{
    status=0;
    digitalWrite(D6,HIGH);
    digitalWrite(D7,LOW);
    }

  return status;
}

void setup() {
  pinMode(D7,OUTPUT);
  pinMode(D6,OUTPUT);
  Spark.function("status", status);
}

void loop() {

}

This one sets pins D6D7 as outputs and makes the function status available to the cloud!

See it in action:

That makes everything easier! No need to start an HTTP server on the arduino (you could if you wanted).

It looks amazing for a device so small! Don’t you think?

Jekyll for Android v1.0

After a couple of months around this project it reached

a stage where maybe it is not super stable but it is usable and pretty ok for my needs.

It provides:

  • UI that is simple and I like.
  • Ability to commit a new post through Github API.
  • Keeps a draft.
  • A list of the user’s posts.
  • Ability to edit previous posts.

Here are some screenshots:

The source code is available and always will be on Github.
I think about publishing the app on Google Play Store for a small
price (let’s a dollar or two) mainly to get back the money from that Developer account.

What you will get is easy updates through the Play Store and the happiness of buying me a beer.

You can download the latest binary here.

What do you think about it?
Let me know! :)

Jekyll for Android

Some months ago I ditched my WordPress blog and fall for a platform calledJekyll (I wrote about it here).

Being hosted on Github was a great advantage but what happens when I want to post from my smartphone or tablet?

Cloning the whole project with some client and pushing it up again seemed stupid for just one file, the setup of which was pleasant because the filename should be something in the form of:

YYYY-MM-DD-title.md

and the beginning of the file:

---
layout: post
title: "The Title"
summary: ""
category:
tags:
---

So these days I started a little project called Jekyll for Android.

It is a little simple client for android that allows you to publish a post on your Jekyll blog if it is hosted on Github!

It it uses Github’s API and offers a Markdown Preview to check if your post looks ok (very Alpha feature) .

If you find it useful fork it, make it better or just use it!

You can find the project here!

P.S.: I wrote this post with it so it looks like it works! :p