Delivered once every Week. No Spam Ever.

Issue - 173

Worthy Read

This new blog series shares five considerations we recommend keeping in mind when designing a CD workflow on microservices architectures.

Sets and logic are strongly related. That's why proper use of set operations can eliminate lots of nested loops and ifs, producing code that is more readable and faster. Let's talk about using sets in practice, and learn great API design ideas from Python's set types. Luciano covered: - Python collection types - Theory and algebraic logic behind set-less and set types - Python protocols and operations for collections - Code examples for implementations of kinds of sets

Today, we're excited to announce Pyre, a static type checker for Python. Pyre is designed to help improve the quality and development speed in large Python codebases by flagging type errors interactively in your favorite editor. It checks the gradual type annotations that are already part of the Python programming language (PEP484).

PyCon 2018 in Cleveland, Ohio kicked off their first conference day with an introduction from one of Cleveland’s natives, Ernest W. Durbin III. Then we moved on to the keynote of the morning which was given by Dan Callahan from Mozilla. He talked about tooling and how Python currently doesn’t have a big presence on the web. It was actually quite interesting and also a bit disappointing as there wasn’t really a true solution given. However his talk was quite good and insightful.

Coming from statically typed languages, C and Java, I felt a little insecure writing Python code. Suddenly, silly type mismatch errors which I was used to catch during compilation were only caught (if at all, in the best case scenario) at runtime. This became especially annoying while learning new APIs or diving into a new large codebase, and made me completely reliant on documentation. While reading the docs is important on its own, I truly missed the comfortable and time-saving code completion on typing ‘.’ using IDEs such as IntelliJ.

Yesterday I’ve stumbled on the article Pure Python vs NumPy vs TensorFlow Performance Comparison where the author gives a performance comparison of different implementations of gradient descent algorithm for a simple linear regression example. Lately I’ve been experimenting with the Nim programming language, which promises to offer a Python-like easy to read syntax, while having C-like speeds. This seemed like a nice and simple example to compare speed between Nim and Python.

For last 3 months I regularly publish programming related youtube video tutorials for Bengali speaking people. After having 30+ videos I decided to make a website so that people can easily find my content, and can play the videos in my site. To solve this problem, I developed a small web application and made the code open sourced. The contents can easily add, modify or update from admin panel which will be reflected in the home page automatically.
video hosting

While making APIs we must ensure that whatever happens, we must give proper response to the called API. I will be sharing my approach to make fail-safe APIs in Django. By fail-safe, I mean that no matter what, if an API is called it must be responded with a proper JSON or XML.

The shortest yet efficient Python implementation of the sequential pattern mining algorithm PrefixSpan, closed sequential pattern mining algorithm BIDE, and generator sequential pattern mining algorithm FEAT.
user submission

PySiddhi is a Python wrapper for Siddhi. Which can listens to events from data streams, detects complex conditions described via a Streaming SQL language, and triggers actions. It performs both Stream Processing and Complex Event Processing on streaming data. Its Siddhi core is written in Java library.

Barely a week has passed from the last attempt to hide a backdoor in a code library, and we have a new case today. This time around, the backdoor was found in a Python module, and not an npm (JavaScript) package. The module's name is SSH Decorator (ssh-decorate), developed by Israeli developer Uri Goren, a library for handling SSH connections from Python code.

In the Python world, there's a saying: "Flat is better than nested." Maybe times have changed or maybe that adage just applies more to code than data. In spite of the warning, nested data continues to grow, from document stores to RPC systems to structured logs to plain ol' JSON web services. After all, if "flat" was the be-all-end-all, why would namespaces be one honking great idea? Nobody likes artificial flatness, nobody wants to call a function with 40 arguments.


heap-viewer - 181 Stars, 20 Fork
An IDA Pro plugin to examine the glibc heap, focused on exploit development

emojify - 146 Stars, 50 Fork
Turn your facial expression into an emoji

Using Python code with a Raspberry-Pi, PIR motion and a Picamera, you can create a device which will email you a snapshot image when someone enters your room.

Dota2_Data_Analyst - 37 Stars, 0 Fork
A python project to process the data from and build machine learning model to predict the outcome of games

nx_altair - 24 Stars, 2 Fork
Draw NetworkX graphs with Altair

pyinrail - 19 Stars, 7 Fork
A python wrapper for Indian Railways Enquiry API!

InternetSpeedNagger - 15 Stars, 3 Fork
Nags at my internet provider if my download/upload speeds aren't close to what they are supposed to be!

linux-kernel-code-reader - 13 Stars, 0 Fork
Draw the traces of linux kernel functions in a graph and link graph nodes to the source codes

pytorch-coviar - 7 Stars, 2 Fork
Compressed Video Action Recognition

Internet-Speed-Tracker - 4 Stars, 0 Fork
Logs your connection speed to a Google sheet.

setdict - 4 Stars, 0 Fork
Python dict-like interface for merging dicts with add to set property

assert_types - 3 Stars, 0 Fork
Python decorator to assert types hints for python functions

apple-status-api - 3 Stars, 0 Fork
Publish Apple service status notifications as a simple REST API

google-domain - 2 Stars, 0 Fork
available google domain from fortune 1000 companies

akio - 2 Stars, 0 Fork
A Discord bot written in Python, with goals to simplify server setup for streamlined administration, include all essential features so that end users feel that one bot is enough, and to expand and re-imagine the purpose of Discord bots.