Tag Archives: Day

Librem One Affected By Nasty Security Bug On Launch Day, Acknowledges Rebranded Apps


Yesterday Purism launched the Librem One suite of services that initially consists of a privacy-minded, but even with priding themselves on security, there ended up being a nasty launch-day security issue uncovered. The fact that their offered software was quietly re-branded open-source software also rubbed some users the wrong way.

The security issue yesterday affected Librem Chat and allowed any user into any account on the service due to a typo in the Matrix.org code. The issue ended up being reported and after some brief downtime taken care of, as outlined via the Purism blog. While it happened on launch day, so far there are less than two thousand users, so the overall impact isn’t that much and it doesn’t appear the issue was exploited for nefarious intent.

With Librem One costing $7.99 USD per month or $14.99 USD for a “family pack”, a number of users have been expressing frustration with Purism largely just re-branding various pieces of open-source software that comprise this suite. As to that, they sought to address those concerns in How Purism Works Upstream and Gives Back. Purism argues that re-branding these pieces of software provides convenience and gives them a leg up in competing with tech giants like Apple and Google. From the linked blog post, “By putting services under a centralized brand, we make these decentralized services just as convenient to use as the big tech alternatives. That way an end-user doesn’t have to know what Matrix, ActivityPub, or even IMAP are or try to find all of the applications that work with those services on their particular platform. Instead, they just need to know that they want to chat, join social media, or send email.

We’ll see how well the Librem One suite ends up working out especially with Purism being stretched so thin as is trying to deliver their Librem 5 smartphone next quarter, which is already coming two quarters later than originally anticipated.

Today is a Good Day to Learn Python | Linux.com

Get started learning Python with this tutorial from our archives.

The cool thing about Linux and FOSS is also an aggravating thing, which is that sometimes there’s too much of a good thing. There is such an abundance of goodies that it can be overwhelming. So I am here to help you decide which programming language you should learn next, and that is Python. Oh, yes, it is.

Why Python? I like it because it is clean and straightforward. It’s a great introduction to object-oriented languages. The Python world is beginner-friendly and, as a general-purpose language, Python can be used for all sorts of things: quick simple scripts, games, Web development, Raspberry Pi — anything you want. It is also in demand by employers if you’re thinking of a career.

There are numerous excellent Python books and tons of online documentation. I want to show off Python’s coolness for beginners so you will get excited and go “Yes! I too must love Python!”

But what about all the other languages? Don’t worry, they won’t get lonesome, and everything you learn in Python is applicable to many other languages as well.

What Stuff Means

I think most of us learn terminology better with hands-on exercises, but there are four things to know from the start.

The first is Python is strongly typed. As you study Python, you will see this repeated a gazillion times. What does this even mean? Who uses a typewriter? Fortunately, it has nothing to do with typewriters, but rather with how Python handles data types. All computer programs are made of two things: data, and operating on that data. Data comes in different types, and the types determine how your programming language will handle them. Data types include characters or strings, which are literal numbers and letters, like names and addresses; integers and floating point numbers that are used in calculations; Boolean values (true/false); and arrays, which are lists of data of all the same data types.

Python enforces data types and relies on you to define them. Weakly typed languages decide for themselves what your data types are, so the data type can change depending on context.

For example, most any programming language will add the integers 1 + 2 + 3. A weakly typed language may also let you add integers and text strings, for example 5 + helloworld. If you try to do this in Python, your code will fail and you will get an error message. Weakly typed languages don’t do this randomly; this is a feature intended to add speed and flexibility by not requiring you to define your data types.

However, weak typing can lead to strange errors. One of the most common errors involves converting strings of numbers to integers when you really want them to be a literal string, like 221B Baker Street, 10,000 Maniacs, or 23andMe. In my modest opinion, it is better to learn the discipline and structure of a strongly typed language, and then try out weakly typed languages after you have experience and good grounding in the basics.

The second thing to know is what the heck is object oriented programming (OOP)? An object is a clump of data and procedures grouped into a single reusable entity. If you were coding a car racing game you might have a car object, an obstacle object, and a driver object. So, you say, objects are just like functions, right? Yes. If you already understand how to organize code into properly grouped functions and variables, then you already understand OOP. There are finer points to OOP such as classes, inheritance, and polymorphism; again, if you think in terms of sensible organization these things are easier to understand.

Third, white space has meaning in Python. You have to get your white spaces right or your code won’t work.

Fourth, Python is an interpreted language. You don’t have to compile and link your Python programs. If you’re experienced with the Bash shell, then you already know about interpreted languages, how fast they are to code in, and how you can test out your programs interactively before writing them into a script.

The downside to interpreted languages is the overhead of the interpreter. Usually, programs written in compiled languages run faster. However, you can link your Python programs to functions written in many other languages, including C/C++, Lisp, Fortran, Java, and Perl, and many more so you can mix and match to get the results you want.

Try It

Python is included in most Linux distributions, and usually the python package installs the base components and Python command interpreter. The text in bold is what you type.

$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> help()

Welcome to Python 2.7!  This is the online help utility.

If this is your first time using Python, you should definitely check out
the tutorial on the Internet at http://docs.python.org/2.7/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To quit this help utility and
return to the interpreter, just type "quit".

To get a list of available modules, keywords, or topics, type "modules",
"keywords", or "topics".  Each module also comes with a one-line summary
of what it does; to list the modules whose summaries contain a given word
such as "spam", type "modules spam".

help> topics

Here is a list of available topics.  Enter any topic name to get more help.

help> quit

Of course we must do the traditional Hello World! Strings must be enclosed in single or double quotes.

>>> 'Hello, world!'
'Hello, world!'
>>> hell = "Hello, world!"
>>> hell
'Hello, world!'

Now create the simplest possible Python script, save it as hello.py, and run it from your normal Linux shell:


print "Hello World!";

carla@studio:~$ python hello.py
Hello World!

Let’s go back to the Python interpreter and play with data types.

>>> 2 + 2
>>> 2 + foo
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'foo' is not defined
>>> foo = 5
>>> 2 + foo

Now try a short interactive script. It asks you to input your age, responds according to the age you type, and checks if your response is in the correct data type. This is a great little script to tweak in different ways. For example, you could limit the acceptable age range, limit the number of incorrect tries, and get creative with your responses. Note that raw_input is for Python 2.x, and 3.x uses input.

Watch your indentation; the indented lines must be four spaces. If you are using a proper code editor, it should take care of this for you.


while True:
        age = int(raw_input("Please enter your age: "))
    except ValueError:
        print("I'm so very sorry, that does not compute. Please try again.")
if age >= 18: 
    print("Very good, you are old enough to know better, but not too old to do it anyway.")
    print("Sorry, come back when you're 18 and try again.")

Modules and Learning

There are a great number of Python modules, and you can learn to write your own. The key to writing good Python programs and making them do what you want is learning where to find modules. Start at Python.org because of the abundant documentation and good organization. Plan to spend a lot of time here, because it contains the best and authoritative information. It even has an interactive shell you can practice with.

Learn more about Linux through the free “Introduction to Linux” course from The Linux Foundation and edX.

6 Ways to Recycle Your IT Gear for Earth Day

We all love our smartphones, computers, tablets, and gadgets. Some of us wait in long lines the moment the latest tech hits the shelves, while others upgrade when our old devices finally kick the bucket. Either way, we are all inevitably left with obsolete technology that we need to discard. The hardware, batteries, cables, and accessories often become burdensome because we are not sure how to recycle this material. As digital transformation continues to permeate IT professionals’ data centers, the same is true of legacy infrastructure that is either rendered obsolete by new technology like cloud computing or are simply subject to an upgrade.

Recycling properly can take time that IT professionals may not have since they’re busy keeping organizational processes running smoothly, which means the environment often takes a backseat as old tech collects dust in the supply closet.

In the spirit of Earth Day this Sunday, SolarWinds polled its THWACK community of more than 145,000 IT professionals and collected their best tips and tricks for recycling or disposing of older hardware in an environmentally friendly way.

Here are some of the best ways to reuse and recycle old technology this Earth Day, along with advice on how to be more green by reducing your data center footprint.

(Image: ipopba/iStock)

Source link

A Day in the Life

From blasting performance bottlenecks and slashing application downtime to defending against data loss and endlessly having to instruct end users to “turn it off and on again,” system administrators are the grease that keep the wheels of modern businesses turning day in and day out.

Since 2000, these typically unsung heroes of the enterprise have been recognized in July with System Administrator Appreciation Day. The holiday, celebrated on the last Friday of July, was created by sysadmin Ted Kekatos, who was inspired by a Hewlett-Packard ad for laser printers. The ad showed a sysadmin receiving flowers and gifts from grateful co-workers.

For SysAdmin Appreciation Day 2017, and to honor sysadmins around the world for all the times they’ve come to rescue, SolarWinds polled its THWACK community of 130,000 IT professionals to caption “A Day in the Life of the sysadmin.” They say a picture is worth a thousand words, so SolarWinds captured the best captions that show the witty and funny side of life as a sysadmin.

Happy SysAdmin Day 2017!

Source link