Archive

Archive for the ‘python’ Category

crop images easily

November 2, 2019 Leave a comment

Problem
You have lots of images and you want to crop them. How to do it without losing your hair?

Solution
I just found a nice little hobby project for this: https://github.com/weclaw1/inbac.

Under Manjaro, I had to install tkinter too: “sudo pacman -S tk“.

Reddit discussion here.

Categories: python Tags: , ,

QuickJump: bookmark your directories and switch between them easily

June 30, 2019 Leave a comment

I made a little project that facilitates jumping between directories in the command line. You can find it here: https://github.com/jabbalaci/quickjump . Visit the GitHub page for more info.

Demo

Categories: python, shell Tags: , , , ,

Getting started on Twitter

January 2, 2018 Leave a comment

Problem
You have a site and you want to create a Twitter site for it too where you want to send posts, probably in an automatic way.

Solution
If you have a gmail account, you can use it to create several Twitter accounts. The trick is to make the e-mail addresses different with a dot. Example: myself@gmail.com and my.self@gmail.com . If you send an e-mail to these addresses, they’ll arrive in the same mailbox, though Twitter treats them as two different addresses.

Then, follow the steps at https://python-twitter.readthedocs.io/en/latest/getting_started.html to register your app.

Sample Python code
Here is a simple example to post a tweet:

#!/usr/bin/env python3

import config as cfg
import tweepy

def get_api(cfg):
    d = cfg.twitter_keys
    auth = tweepy.OAuthHandler(d['consumer_key'], d['consumer_secret'])
    auth.set_access_token(d['access_token'], d['access_token_secret'])
    return tweepy.API(auth)

def main():
    api = get_api(cfg)
    tweet = "just a test"
    status = api.update_status(status=tweet)    # update_status -> send a tweet

if __name__ == "__main__":
    main()
Categories: python, web Tags: , , , ,

TLDR: simplified and community-driven man pages

November 24, 2017 Leave a comment

The TLDR pages are a community effort to simplify the beloved man pages with practical examples.

Links

(I also have a similar project called PrimCom but it has never become popular.)

Categories: bash, python Tags: ,

[android] Mobile C

September 18, 2017 Leave a comment

If you want to develop a C or Python program on your Android device, try Mobile C. Write your program, press a button, and it’s compiled (or interpreted) and executed. Several languages are supported: C, C++ 11, Python 3, JavaScript, Lua.

Categories: android, python Tags:

web server on localhost

September 14, 2017 2 comments

Problem
I wanted to share a 3.3 GB big zip file with my students.

Python
I love Python, so I chose this simple trick: “python3 -m http.server“. It starts a web server and makes the content of the current directory available. I shared the URL with my students (10 people) and they started to download the big file at the same time. And it turned out that Python was not a good choice here since only 1 person could download the file and the others had to wait. This solution is single-threaded :(

Node.js
I hate Node.js but this time it provided the winning solution. Node.js’s async nature was perfect for the job, it could serve several clients. The download rate was not super fast, but at least it worked (and it worked well).

The following tip is from here.

$ sudo npm install http-server -g
[sudo] password for jabba: 
/trash/opt/node-v5.1.0-linux-x64/bin/http-server -> /trash/opt/node-v5.1.0-linux-x64/lib/node_modules/http-server/bin/http-server
/trash/opt/node-v5.1.0-linux-x64/bin/hs -> /trash/opt/node-v5.1.0-linux-x64/lib/node_modules/http-server/bin/http-server
/trash/opt/node-v5.1.0-linux-x64/lib
...

I couldn’t launch it with “http-server“, but the full path “/trash/opt/node-v5.1.0-linux-x64/lib/node_modules/http-server/bin/http-server” did the trick.

Update (20171123)
Following the instructions at https://nodesource.com/blog/installing-node-js-tutorial-ubuntu/, I upgraded my Node.js to version 6.12.0. Then, installing http-server (with sudo npm install http-server -g), I got a link at “/usr/bin/http-server” that pointed to “/usr/lib/node_modules/http-server/bin/http-server“. Thus, I could start “http-server” without modifying the PATH.

Categories: python Tags: , ,

JSON Path

May 20, 2017 1 comment

I wrote a command-line program that outputs the full path of every key / value in a JSON file.

Example

$ ./json_path.py sample.json
root.a => 1
root.b.c => 2
root.b.friends[0].best => Alice
root.b.friends[1].second => Bob
root.b.friends[2][0] => 5
root.b.friends[2][1] => 6
root.b.friends[2][2] => 7
root.b.friends[3][0].one => 1
root.b.friends[3][1].two => 2

More information at the project’s github page.

Categories: bash, python Tags: ,