When testing a modification to a Python program, I noticed a strange
thing: some of the messages that the program should have been
sending to the syslog were missing.
At the moment Kubernetes is one of the most exciting technologies in
the world of DevOps. Recently a lot of hype has formed around it for
one simple reason, and this reason is the mighty containers.
This document is intended specifically for existing users of
Enigmail, who want to start using Thunderbird 78 and its integrated
OpenPGP functionality.
If you have never used the Enigmail Add-on, then you can skip this
document.
Due to required technology changes, you'll experience a lot of
changes. We have tried to make the new OpenPGP functionality easier
to understand and use, but on the other hand, some features will
work differently than before, or might be missing.
Before you update to Thunderbird 78, you should read this whole
document, to understand the changes that you will see.
Modern applications don’t crash; they hang. One of the main reasons
for it is the assumption that the network is reliable. It isn’t.
When you make a network call without setting a timeout, you are
telling your code that you are 100% confident that the call is going
to succeed. Would you really take that bet?
One of the most important color tricks I’ve ever learned was to
avoid using the color black in my work. Mrs. Zamula, my childhood
art teacher, first warned me about black when I was in middle
school. And I heard the same again multiple times at RISD. It sounds
weird at first, but it’s good advice.
Problem is, we see dark things and assume they are black
things. When, in reality, it’s very hard to find something that is
pure black. Roads aren’t black. Your office chair isn’t black. The
sidebar in Sparrow isn’t black. Words on web pages aren’t black.
The term JAMStack is meant to define a technology stack that relies
heavily on JavaScript, APIs, and Markup. It also is meant to mean a
whole lot more than that. In this article, we will explore how this
concept is being expressed on the web.
You can find a lot of articles about how to prevent deadlocks in Go,
but most of them focus on concurrency patterns and synchronization
tools like mutexes. While it is important to know some techniques to
prevent them, a trap you can stumble across more easily without
noticing, are database transaction deadlocks.
A common strategy to make any system super-performant is
Caching. Almost
all software products, operating at scale, have multiple layers of
caches in their architectures. Caching, when done right, does wonder
to the response time and is one of the main reasons why products
work so well at a massive scale. Cache engines are limited by the
amount of memory available and hence once it gets full the engine
has to decide which item should be evicted and that is where an
eviction algorithm, like
LFU and
LRU. kicks
in.
Underscore has been JavaScript’s
unofficial standard functional programming library for a decade
(together with its major fork, Lodash). Its
most recent significant development is the move to ECMAScript 6
modules
(ESM). Underscore 1.11 is the first version to be fully modular.
With the new modularity, you can now create a custom build of
Underscore with an even smaller footprint. At the same time, we
still provide the standard UMD build, which is perfect if you want
to get started quickly. The UMD bundle is easy to work with and it
has great cache retention if you load it from a CDN.
In 2011, Apple released Mac OS X
Lion which introduced
an enhanced scrollbar behavior that made scrollbars hidden by
default. The scrollbar appears when the user starts scrolling a
document and disappears after the scrolling stops.
It appears, however, that this enhancement did not only change the
user interface, but has also shaped how developers (don't) think
about that specific UI element when creating cross-platform
solutions. I call it scrollbar blindness.
Lately, for some reason, I've started to notice more of it. I have
been to numerous websites that have elements with overflow-y or
overflow-x set to scroll while the element is not meant to be
scrollable. For no apparent reason, some even set both x and y
axes scrollable or create multiple levels of stacked scrollbars.
The spacing between individual elements of a website and, in
particular, the vertical spacing, has been a regular matter of
debate between web designers and developers. Designers insist that
what they see in the browser doesn’t look at all like the layout
they originally designed. Developers respond that all the margins in
the style sheets exactly match the margins in the layout. So who is
right? The tricky thing is: In a way, they are both right.
Many people know how to use CSS to style websites, but when it comes
to CSS artwork, they get confused on how they are made.
So i thought it might be helpful if i share my humble experience
with you, I am going to discuss some important CSS knowledge you
will need to have, in order to make your own CSS art and enjoy it as
i do, let’s start🚀
If you want to be a sysadmin or network administrator of any kind,
there's a fundamental technology you really need to understand—DNS,
the Domain Name System. There was a time when a sysadmin with no
aspirations to managing Internet-accessible services might have
gotten by without understanding DNS, but that time is long, long
gone.
You can't learn everything there is to know about DNS in a single
article. But that's not what we're looking to do today; instead, we
want to give you a clear, concise guide to the structure and meaning
of the most important part of the Domain Name System: a zone file,
as seen in BIND, the Berkeley Internet Name Daemon.
Metasploit is a penetration testing framework that helps you to find
and exploit vulnerabilities in systems. It gives you everything you
need from scanners to third-party integrations that you will need
throughout an entire penetration testing lifecycle.
This includes reconnaissance, scanning, exploitation, privilege
escalation, and maintaining access.
Kindle services leverage reading data to offer some nice features
that traditional books can't offer: maintaining bookmarks and notes
between devices, keeping all devices synced with the last read page,
and more. It also shows ads and recommendations for next books to
read on the kindle.
I was curious to know if the Kindle was only sending the data
required for these services, or if other data about me was being
sent.
When i started making CSS drawings, i didn’t know about ‘Single div
CSS art’, i was very amazed by what people can draw with only one
div then i felt curious to know how these drawings are made.
I went to Codepen and started to learn more about them, i found that
they all use three components: ‘ Pseudo elements ’, ‘ Shadow
’ and ‘ Gradients ’.
I will give more details on how these three elements can help you
make single div CSS art.
Bcrypt is a key derivation
function,
which can be thought of as a slow hash
function. Its
purpose is to slowly convert a piece of input data to a fixed-size,
deterministic, and unpredictable output. A common use-case is to
convert a password into an n-bit cryptographic key, which can then
be used for safe authentication.
Rust is a systems programming
language
that you can use to write applications with high performance. Rust
is being used by some of the top companies like Dropbox and
Cloudflare to deliver speed and concurrency to their customers.
There are many different types of errors that programmers encounter
frequently, which they must guard their programs against. Of those
errors, few seem more pervasive than the infamous
NullPointerException (NPE), or it’s equivalents. The cause of
innumerable bugs and crashes, what programmer has not felt uneasy
about the ever-present threat of this bug in their code?
Python’s mmap provides memory-mapped file input and output
(I/O). It allows you to take advantage of lower-level operating
system functionality to read files as if they were one large
string or
array. This can provide
significant performance improvements in code that requires a lot of
file I/O.