Usually you’d add a list of integers this way:
You can do it functionally without any loops in different ways:
Using map and a lambda that adds them up
or you can import the add operator as a named function
Ever zipped two lists into a list of tuples?
There’s another more convoluted way if you want to play with “zip”.
Imagine a jacket zipper and the teeth on each side of the zipper is one element on each one of the list.
When you zip the lists a and b, you end up with a list of tuples of matching elements from the given lists.
you could now map a function to add the elements within each tuple on that list.
Notice how we don’t convert to list after zip, we can work directly with the zip iterator, we only convert to list with the final map iterator.
Python 2 & 3 Note:
In Python 2 it’s not necessary to use list(), the map() and zip() methods return lists there. But stay away from Python 2, a lot of projects are now discontinuing support.
Sometimes you have a bunch of useless errors creating unnecessary disk I/O on your server, disk I/O that should be used towards serving your user’s requests efficiently.
In this case a site running on lighttpd keeps logging several times per second the following message, creating too much noise and making it hard to see meaningful things I should pay attention to could appear on /var/log/syslog.
Aug 7 19:36:03 ip-172-30-1-251 lighttpd: message repeated 44 times: [ 2020-08-07 19:36:02: (mod_openssl.c.1796) SSL: 1 error:14209102:SSL routines:tls_early_post_process_client_hello:unsupported protocol]
I tried disabling syslog error messages for SSL, and all syslog output on the lighttpd configuration to no avail. Good thing you can configure rsyslog in Linux to do amazing things with log messages before they make it into the log.
To silence this message, all I had to do was edit an rsyslog config file to filter out my undesired message, and restart the service (no need to restart your host os)
- Edited /etc/rsyslog.d/50-default.conf before any mention of /var/log/syslog, to have the following condition (ideally at the top of the config file):
- Restarted the rsyslog service, no more noise on /var/log/syslog
sudo service rsyslog restart
You’ve just upgraded one of your Android project’s dependencies and when you
./gradlew assembleRelease the build process breaks.
You invoke it again with
--stacktrace to find the following exception:
This is a ProGuard bug, which my friend, has been solved by the ProGuard team ages ago, and your build environment is using an old ProGuard version.
Add this to your
build.gradle to force it to use the latest version (as of today it’s 6.2.2, check the latest version here)
You want to serve a wordpress instance on a website’s domain url but not at the path’s root, you want it under a sub-directory, for example “blog”, the same as this blog:
Here’s how my NGINX’s server block for ‘www.gubatron.com’ looks like at the moment (https/ssl hasn’t been configured yet)
Here is the equivalent in lighttpd, too bad lighttpd has no plans for HTTP2, it’s much friendlier and flexible to configure than nginx in my humble opinion.
I used to host this website and wordpress on lighttpd, lighttpd’s config file is very powerful, it’s all based on matching server variables and applying rules, I will miss it dearly, things like having a compressed file cache and it’s flexibility, but I have to move on to nginx if I want to use http2, the lighttpd has no plans for http2 support and it’s just much faster and efficient than http 1.1.