mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
commit
793f902d76
@ -0,0 +1,62 @@
|
|||||||
|
[#]: collector: (lujun9972)
|
||||||
|
[#]: translator: ( )
|
||||||
|
[#]: reviewer: ( )
|
||||||
|
[#]: publisher: ( )
|
||||||
|
[#]: url: ( )
|
||||||
|
[#]: subject: (Here Comes Oracle Autonomous Linux – World’s First Autonomous Operating System)
|
||||||
|
[#]: via: (https://opensourceforu.com/2019/09/here-comes-oracle-autonomous-linux-worlds-first-autonomous-operating-system/)
|
||||||
|
[#]: author: (Longjam Dineshwori https://opensourceforu.com/author/dineshwori-longjam/)
|
||||||
|
|
||||||
|
Here Comes Oracle Autonomous Linux – World’s First Autonomous Operating System
|
||||||
|
======
|
||||||
|
|
||||||
|
* _**Oracle Autonomous Linux**_ _**delivers automated patching, updates and tuning without human intervention.**_
|
||||||
|
* _**It can help IT companies improve reliability and protect their systems from cyberthreats**_
|
||||||
|
* _**Oracle also introduces Oracle OS Management Service that delivers control and visibility over systems**_
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
![Oracle cloud][1]
|
||||||
|
|
||||||
|
Oracle today marked a major milestone in the company’s autonomous strategy with the introduction of Oracle Autonomous Linux – the world’s first autonomous operating system.
|
||||||
|
|
||||||
|
Oracle Autonomous Linux, along with the new Oracle OS Management Service, is the first and only autonomous operating environment that eliminates complexity and human error to deliver unprecedented cost savings, security and availability for customers, the company claims in a just released statement.
|
||||||
|
|
||||||
|
Keeping systems patched and secure is one of the biggest ongoing challenges faced by IT today. With Oracle Autonomous Linux, the company says, customers can rely on autonomous capabilities to help ensure their systems are secure and highly available to help prevent cyberattacks.
|
||||||
|
|
||||||
|
“Oracle Autonomous Linux builds on Oracle’s proven history of delivering Linux with extreme performance, reliability and security to run the most demanding enterprise applications,” said Wim Coekaerts, senior vice president of operating systems and virtualization engineering, Oracle.
|
||||||
|
|
||||||
|
“Today we are taking the next step in our autonomous strategy with Oracle Autonomous Linux, providing a rich set of capabilities to help our customers significantly improve reliability and protect their systems from cyberthreats,” he added.
|
||||||
|
|
||||||
|
**Oracle OS Management Service**
|
||||||
|
|
||||||
|
Along with Oracle Autonomous Linux, Oracle introduced Oracle OS Management Service, a highly available Oracle Cloud Infrastructure component that delivers control and visibility over systems whether they run Autonomous Linux, Linux or Windows.
|
||||||
|
|
||||||
|
Combined with resource governance policies, OS Management Service, via the Oracle Cloud Infrastructure console or APIs, also enables users to automate capabilities that will execute common management tasks for Linux systems, including patch and package management, security and compliance reporting, and configuration management.
|
||||||
|
|
||||||
|
It can be further automated with other Oracle Cloud Infrastructure services like auto-scaling as workloads need to grow or shrink to meet elastic demand.
|
||||||
|
|
||||||
|
**Always Free Autonomous Database and Cloud Infrastructure**
|
||||||
|
|
||||||
|
Oracle Autonomous Linux, in conjunction with Oracle OS Management Service, uses advanced machine learning and autonomous capabilities to deliver unprecedented cost savings, security and availability and frees up critical IT resources to tackle more strategic initiatives.
|
||||||
|
|
||||||
|
They are included with Oracle Premier Support at no extra charge with Oracle Cloud Infrastructure compute services. Combined with Oracle Cloud Infrastructure’s other cost advantages, most Linux workload customers can expect to have 30-50 percent TCO savings versus both on-premise and other cloud vendors over five years.
|
||||||
|
|
||||||
|
“Adding autonomous capabilities to the operating system layer, with future plans to expand beyond infrastructure software, goes straight after the OpEx challenges nearly all customers face today,” said Al Gillen, Group VP, Software Development and Open Source, IDC.
|
||||||
|
|
||||||
|
“This capability effectively turns Oracle Linux into a service, freeing customers to focus their IT resources on application and user experience, where they can deliver true competitive differentiation,” he added.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensourceforu.com/2019/09/here-comes-oracle-autonomous-linux-worlds-first-autonomous-operating-system/
|
||||||
|
|
||||||
|
作者:[Longjam Dineshwori][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[译者ID](https://github.com/译者ID)
|
||||||
|
校对:[校对者ID](https://github.com/校对者ID)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensourceforu.com/author/dineshwori-longjam/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://i2.wp.com/opensourceforu.com/wp-content/uploads/2016/09/Oracle-cloud.jpg?resize=350%2C197&ssl=1
|
@ -0,0 +1,120 @@
|
|||||||
|
[#]: collector: (lujun9972)
|
||||||
|
[#]: translator: ( )
|
||||||
|
[#]: reviewer: ( )
|
||||||
|
[#]: publisher: ( )
|
||||||
|
[#]: url: ( )
|
||||||
|
[#]: subject: (3 steps to developing psychological safety)
|
||||||
|
[#]: via: (https://opensource.com/open-organization/19/9/psychological-safety-leadership-behaviors)
|
||||||
|
[#]: author: (Kathleen Hayes https://opensource.com/users/khayes4dayshttps://opensource.com/users/khayes4dayshttps://opensource.com/users/mdoyle)
|
||||||
|
|
||||||
|
3 steps to developing psychological safety
|
||||||
|
======
|
||||||
|
The mindsets, behaviors, and communication patterns necessary for
|
||||||
|
establishing psychological safety in our organizations may not be our
|
||||||
|
defaults, but they are teachable and observable.
|
||||||
|
![Brain map][1]
|
||||||
|
|
||||||
|
Psychological safety is a belief that one will not be punished or humiliated for speaking up with ideas, questions, concerns, or mistakes. And it's critical for high-performing teams in open organizations.
|
||||||
|
|
||||||
|
Part one of this series introduced the concept of [psychological safety][2]. In this companion article, I'll recount my personal journey toward understanding psychological safety—and explain the fundamental shifts in mindset, behavior, and communication that anyone hoping to create psychologically safe teams and environments will need to make.
|
||||||
|
|
||||||
|
### Mindset: Become the learner
|
||||||
|
|
||||||
|
I have participated in a number of corporate cultures that fostered a "gotcha" mindset—one in which people were poised to pounce when something didn't go according to plan. Dropping this deeply ingrained mindset was a requirement for achieving psychological safety, and doing _that_ required a fundamental shift in the way I lived my life.
|
||||||
|
|
||||||
|
_Guiding value: Become the learner, not the knower._
|
||||||
|
|
||||||
|
Life is a process; achieving perfection will never happen. Similarly, building an organization is a process; there is no "we've got it now" state. In most cases, we're traversing unchartered territories. Enormous uncertainty lies ahead. [We can't know what will happen][3], which is why it was important for me to become the learner in work, just as in life.
|
||||||
|
|
||||||
|
On my first day as a new marketing leader, a team member was describing their collaboration with engineering and told me about "the F-You board." If a new program was rolled out and engineers complained that it missed the mark, was wrong, or was downright ridiculous, someone placed a tally on the F-You whiteboard. When they'd accumulated ten, the team would go out drinking.
|
||||||
|
|
||||||
|
There is a lot to unpack in this dynamic. For our purposes, however, let's focus on a few actionable steps that helped me reframe the "gotcha" mentality into a learning mindset.
|
||||||
|
|
||||||
|
First, I shaped marketing programs and campaigns as experiments, using the word "experiment" with intention not just _within_ the marketing department but _across_ the entire organization. Corporate-wide communications about upcoming rollouts concluded with, "If you see any glaring omissions or areas for refinement, please let me know," inviting engineers to surface blind spots and bring forward solutions—rather than point fingers after the work had concluded.
|
||||||
|
|
||||||
|
Only after shifting my perspective from that of the knower to that of the learner did I open a genuine desire to understand another's perspective.
|
||||||
|
|
||||||
|
Next, to stimulate the learning process in myself and others, I began fostering a "[try, learn, modify][4]" mindset, in which setbacks are not viewed as doomsday failures but as opportunities for clarification and improvement. To recover quickly when something doesn't go according to plan, I would ask four key questions:
|
||||||
|
|
||||||
|
* What did we set out to do?
|
||||||
|
* What happened?
|
||||||
|
* What did we learn?
|
||||||
|
* How quickly can we improve upon it?
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
It's nearly impossible for every project to be a home run. Setbacks will occur. As the ground-breaking research on psychological safety revealed, [learning happens through vulnerable conversations][5]. When engaged in psychologically safe environments, we can use these moments to cultivate more learning and less defensiveness.
|
||||||
|
|
||||||
|
### Behavior: Model curiosity
|
||||||
|
|
||||||
|
One way we can help our team drop their defensiveness is by _modeling curiosity_.
|
||||||
|
|
||||||
|
As the "knower," I was adept at command and control. Quite often this meant playing the devil's advocate and shaming others into submitting to my point of view.
|
||||||
|
|
||||||
|
In a meeting early in my career as a vice president, a colleague was rolling out a new program and asked each executive to share feedback. I was surprised as each person around the table gave a thumbs up. I had reservations about the direction and was concerned that no one else could see the issues that seemed so readily apparent to me. Rather than asking for clarification and [stimulating a productive dialog][6], I simply quipped, "Am I the only one that hasn't [sipped the purple Kool-Aid][7]?" Not my finest moment.
|
||||||
|
|
||||||
|
As I look back, this behavior was fueled by a mixture of fear and overconfidence, a hostile combination resulting in a hostile psychological attitude. I wasn't curious because I was too busy being right, being the knower. By becoming the learner, I let a genuine interest in understanding others' perspectives come to the forefront. This helped me more deeply understand a fundamental fact about the human condition.
|
||||||
|
|
||||||
|
_Guiding value: Situations are rarely, if ever, crystal clear._
|
||||||
|
|
||||||
|
The process of understanding is dynamic. We are constantly moving along a continuum from clear to unclear and back again. For large teams, this swing is more pronounced as each member brings a unique perspective to bear on an issue. And rightly so. There are seven billion people on this planet; it's nearly impossible for everyone to see a situation the same way.
|
||||||
|
|
||||||
|
Recalibrating this attitude—the devil's advocate attitude of "I disagree" to the learner's space and behavior of "help me see what you see"—took practice. One thing that worked for me was intentionally using the phrase "I have a different perspective to share" when offering my opinion and, when clarifying, saying, "That is not consistent with my understanding. Can you tell me more about your perspective?" These tactics helped me move from my default of knowing and convincing. I also asked a trusted team member to privately point out when something or someone had triggered my old default. Over time, my self-awareness matured and, with practice, the intentional tactics evolved into a learned behavior.
|
||||||
|
|
||||||
|
As I look back, this behavior was fueled by a mixture of fear and overconfidence, a hostile combination resulting in a hostile psychological attitude. I wasn't curious because I was too busy being right, being the knower.
|
||||||
|
|
||||||
|
I feel compelled to share that without the right mindset these tactics would have been cheap communication gimmicks. Only after shifting my perspective from that of the knower to that of the learner did I open a genuine desire to understand another's perspective. This allowed me to develop the capacity to model curiosity and open the space for my team members—and me—to explore ideas with safety, vulnerability, and respect.
|
||||||
|
|
||||||
|
### Communication: Deliver productive feedback
|
||||||
|
|
||||||
|
Psychological safety does not imply a cozy situation in which people are necessarily close friends, nor does it suggest an absence of pressure or problems. When problems inevitably arise, we must hold ourselves and others accountable and deliver feedback without tiptoeing around the truth, or playing the blame game. However, giving productive feedback is [a skill most leaders have never learned][8].
|
||||||
|
|
||||||
|
_Guiding value: Clear is kind; unclear is unkind._
|
||||||
|
|
||||||
|
When problems arise during experiments in marketing, I am finding team communication to be incredibly productive when using that _try, learn, modify_ approach and modeling curiosity. One-on-one conversations about real deficits, however, have proven more difficult.
|
||||||
|
|
||||||
|
I found so many creative reasons to delay or avoid these conversations. In a fast-paced startup, one of my favorites was, "They've only been in this role for a short while. Give them more time to get up to speed." That was an unfortunate approach, especially when coupled later with vague direction, like, "I need you to deliver more, more quickly." Because I was unable to clearly communicate what was expected, team members were not clear on what needed to be improved. This stall tactic and belittling innuendo masquerading as feedback was leading to more shame and blame than learning and growth.
|
||||||
|
|
||||||
|
In becoming the learner, the guiding value of "clear is kind, unclear is unkind," crystalized for me when studying _Dare to Lead_. In her work, [Brené Brown explains][9]:
|
||||||
|
|
||||||
|
* Feeding people half-truths to make them feel better, which is almost always about making ourselves feel more comfortable, is unkind.
|
||||||
|
* Not getting clear with people about your expectations because it feels too hard, yet holding them accountable or blaming them for not delivering, is unkind.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Below are three actionable tips that are helping me deliver more clear, productive feedback.
|
||||||
|
|
||||||
|
**Get specific.** Point to the specific lack in proficiency that needs to be addressed. Tie your comments to a shared vision of how this impacts career progression. When giving feedback on behavior, stay away from character and separate person from process.
|
||||||
|
|
||||||
|
**Allow people to have feelings.** Rather than rushing in, give them space to feel. Learn how to hold the discomfort.
|
||||||
|
|
||||||
|
**Think carefully about how you want to show up**. Work through how your conversation may unfold and where you might trigger blaming behaviors. Knowing puts you in a safer mindset for having difficult conversations.
|
||||||
|
|
||||||
|
Teaching team members, reassessing skill gaps, reassigning them (or even letting them go) can become more empathetic processes when "clear is kind" is top of mind for leaders.
|
||||||
|
|
||||||
|
### Closing
|
||||||
|
|
||||||
|
The mindsets, behaviors, and communication patterns necessary for establishing psychological safety in our organizations may not be our defaults, but they are teachable and observable. Stay curious, ask questions, and deepen your understanding of others' perspectives. Do the difficult work of holding yourself and others accountable for showing up in a way that's aligned with cultivating a culture where your creativity—and your team members—thrive.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/open-organization/19/9/psychological-safety-leadership-behaviors
|
||||||
|
|
||||||
|
作者:[Kathleen Hayes][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[译者ID](https://github.com/译者ID)
|
||||||
|
校对:[校对者ID](https://github.com/校对者ID)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/khayes4dayshttps://opensource.com/users/khayes4dayshttps://opensource.com/users/mdoyle
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/open_art-mindmap-520.png?itok=qQVBAoVw (Brain map)
|
||||||
|
[2]: https://opensource.com/open-organization/19/3/introduction-psychological-safety
|
||||||
|
[3]: https://opensource.com/open-organization/19/5/planning-future-unknowable
|
||||||
|
[4]: https://opensource.com/open-organization/18/3/try-learn-modify
|
||||||
|
[5]: https://www.youtube.com/watch?v=LhoLuui9gX8
|
||||||
|
[6]: https://opensource.com/open-organization/19/5/productive-arguments
|
||||||
|
[7]: https://opensource.com/open-organization/15/7/open-organizations-kool-aid
|
||||||
|
[8]: https://opensource.com/open-organization/19/4/be-open-with-difficult-feedback
|
||||||
|
[9]: https://brenebrown.com/articles/2018/10/15/clear-is-kind-unclear-is-unkind/
|
138
sources/talk/20190917 How Ansible brought peace to my home.md
Normal file
138
sources/talk/20190917 How Ansible brought peace to my home.md
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
[#]: collector: (lujun9972)
|
||||||
|
[#]: translator: ( )
|
||||||
|
[#]: reviewer: ( )
|
||||||
|
[#]: publisher: ( )
|
||||||
|
[#]: url: ( )
|
||||||
|
[#]: subject: (How Ansible brought peace to my home)
|
||||||
|
[#]: via: (https://opensource.com/article/19/9/ansible-documentation-kids-laptops)
|
||||||
|
[#]: author: (James Farrell https://opensource.com/users/jamesfhttps://opensource.com/users/jlozadadhttps://opensource.com/users/jason-bakerhttps://opensource.com/users/aseem-sharmahttps://opensource.com/users/marcobravo)
|
||||||
|
|
||||||
|
How Ansible brought peace to my home
|
||||||
|
======
|
||||||
|
Configuring his young daughters' computers with Ansible made it simple
|
||||||
|
for this dad to manage the family's computers.
|
||||||
|
![Coffee and laptop][1]
|
||||||
|
|
||||||
|
A few months ago, I read Marco Bravo's article [_How to use Ansible to document procedures_][2] on Opensource.com. I will admit, I didn't quite get it at the time. I was not actively using [Ansible][3], and I remember thinking it looked like more work than it was worth. But I had an open mind and decided to spend time looking deeper into Ansible.
|
||||||
|
|
||||||
|
I soon found an excuse to embark on my first real Ansible adventure: repurposing old laptops like in [_How to make an old computer useful again_][4]. I've always liked playing with old computers, and the prospect of automating something with modern methods piqued my interest.
|
||||||
|
|
||||||
|
### The task
|
||||||
|
|
||||||
|
Earlier this year, I gave my seven-year-old daughter a repurposed Dell Mini 9 running some flavor of Ubuntu. At first, my six-year-old daughter didn't care much about it, but as the music played and she discovered the fun programs, her interest set in.
|
||||||
|
|
||||||
|
I realized I would need to build another one for her soon. And any parent with small children close in age can likely identify with my dilemma. If both children don't get identical things, conflicts will arise. Similar toys, similar clothes, similar shoes … sometimes the color, shape, and blinking lights must be identical. I am sure they would notice any difference in laptop configuration, and it would become a point of contention. Therefore, I needed these laptops to have identical functionality.
|
||||||
|
|
||||||
|
Also, with small children in the mix, I suspected I would be rebuilding these things a few times. Failures, accidents, upgrades, corruptions … this threatened to become a time sink.
|
||||||
|
|
||||||
|
Since two young girls sharing one Dell Mini 9 was not really a workable solution, I grabbed a Dell D620 from my pile of old hardware, upgraded the RAM, put in an inexpensive SSD, and started to cook up a repeatable process to build the children's computer configuration.
|
||||||
|
|
||||||
|
If you think about it, this task seems ideal for a configuration management system. I needed something to document what I was doing so it could be easily repeatable.
|
||||||
|
|
||||||
|
### Ansible to the rescue
|
||||||
|
|
||||||
|
I didn't try to set up a full-on pre-boot execution environment (PXE) to support an occasional laptop install. I wanted to teach my children to do some of the installation work for me (a different kind of automation, ha!).
|
||||||
|
|
||||||
|
I decided to start from a minimal OS install and eventually broke down my Ansible approach into three parts: bootstrap, account setup, and software installation. I could have put everything into one giant script, but separating these functions allowed me to mix and match them for other projects and refine them individually over time. Ansible's YAML file readability helped keep things clear as I refined my systems.
|
||||||
|
|
||||||
|
For this laptop experiment, I decided to use Debian 32-bit as my starting point, as it seemed to work best on my older hardware. The bootstrap YAML script is intended to take a bare-minimal OS install and bring it up to some standard. It relies on a non-root account to be available over SSH and little else. Since a minimal OS install usually contains very little that is useful to Ansible, I use the following to hit one host and prompt me to log in with privilege escalation:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
`$ ansible-playbook bootstrap.yml -i '192.168.0.100,' -u jfarrell -Kk`
|
||||||
|
```
|
||||||
|
|
||||||
|
The script makes use of Ansible's [raw][5] module to set some base requirements. It ensures Python is available, upgrades the OS, sets up an Ansible control account, transfers SSH keys, and configures sudo privilege escalation. When bootstrap completes, everything should be in place to have this node fully participate in my larger Ansible inventory. I've found that bootstrapping bare-minimum OS installs is nuanced (if there is interest, I'll write another article on this topic).
|
||||||
|
|
||||||
|
The account YAML setup script is used to set up (or reset) user accounts for each family member. This keeps user IDs (UIDs) and group IDs (GIDs) consistent across the small number of machines we have, and it can be used to fix locked accounts when needed. Yes, I know I could have set up Network Information Service or LDAP authentication, but the number of accounts I have is very small, and I prefer to keep these systems very simple. Here is an excerpt I found especially useful for this:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
\---
|
||||||
|
\- name: Set user accounts
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
become: yes
|
||||||
|
vars_prompt:
|
||||||
|
- name: passwd
|
||||||
|
prompt: "Enter the desired ansible password:"
|
||||||
|
private: yes
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Add child 1 account
|
||||||
|
user:
|
||||||
|
state: present
|
||||||
|
name: child1
|
||||||
|
password: "{{ passwd | password_hash('sha512') }}"
|
||||||
|
comment: Child One
|
||||||
|
uid: 888
|
||||||
|
group: users
|
||||||
|
shell: /bin/bash
|
||||||
|
generate_ssh_key: yes
|
||||||
|
ssh_key_bits: 2048
|
||||||
|
update_password: always
|
||||||
|
create_home: yes
|
||||||
|
```
|
||||||
|
|
||||||
|
The **vars_prompt** section prompts me for a password, which is put to a Jinja2 transformation to produce the desired password hash. This means I don't need to hardcode passwords into the YAML file and can run it to change passwords as needed.
|
||||||
|
|
||||||
|
The software installation YAML file is still evolving. It includes a base set of utilities for the sysadmin and then the stuff my users need. This mostly consists of ensuring that the same graphical user interface (GUI) interface and all the same programs, games, and media files are installed on each machine. Here is a small excerpt of the software for my young children:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
- name: Install kids software
|
||||||
|
apt:
|
||||||
|
name: "{{ packages }}"
|
||||||
|
state: present
|
||||||
|
vars:
|
||||||
|
packages:
|
||||||
|
- lxde
|
||||||
|
- childsplay
|
||||||
|
- tuxpaint
|
||||||
|
- tuxtype
|
||||||
|
- pysycache
|
||||||
|
- pysiogame
|
||||||
|
- lmemory
|
||||||
|
- bouncy
|
||||||
|
```
|
||||||
|
|
||||||
|
I created these three Ansible scripts using a virtual machine. When they were perfect, I tested them on the D620. Then converting the Mini 9 was a snap; I simply loaded the same minimal Debian install then ran the bootstrap, accounts, and software configurations. Both systems then functioned identically.
|
||||||
|
|
||||||
|
For a while, both sisters enjoyed their respective computers, comparing usage and exploring software features.
|
||||||
|
|
||||||
|
### The moment of truth
|
||||||
|
|
||||||
|
A few weeks later came the inevitable. My older daughter finally came to the conclusion that her pink Dell Mini 9 was underpowered. Her sister's D620 had superior power and screen real estate. YouTube was the new rage, and the Mini 9 could not keep up. As you can guess, the poor Mini 9 fell into disuse; she wanted a new machine, and sharing her younger sister's would not do.
|
||||||
|
|
||||||
|
I had another D620 in my pile. I replaced the BIOS battery, gave it a new SSD, and upgraded the RAM. Another perfect example of breathing new life into old hardware.
|
||||||
|
|
||||||
|
I pulled my Ansible scripts from source control, and everything I needed was right there: bootstrap, account setup, and software. By this time, I had forgotten a lot of the specific software installation information. But details like account UIDs and all the packages to install were all clearly documented and ready for use. While I surely could have figured it out by looking at my other machines, there was no need to spend the time! Ansible had it all clearly laid out in YAML.
|
||||||
|
|
||||||
|
Not only was the YAML documentation valuable, but Ansible's automation made short work of the new install. The minimal Debian OS install from USB stick took about 15 minutes. The subsequent shape up of the system using Ansible for end-user deployment only took another nine minutes. End-user acceptance testing was successful, and a new era of computing calmness was brought to my family (other parents will understand!).
|
||||||
|
|
||||||
|
### Conclusion
|
||||||
|
|
||||||
|
Taking the time to learn and practice Ansible with this exercise showed me the true value of its automation and documentation abilities. Spending a few hours figuring out the specifics for the first example saves time whenever I need to provision or fix a machine. The YAML is clear, easy to read, and—thanks to Ansible's idempotency—easy to test and refine over time. When I have new ideas or my children have new requests, using Ansible to control a local virtual machine for testing is a valuable time-saving tool.
|
||||||
|
|
||||||
|
Doing sysadmin tasks in your free time can be fun. Spending the time to automate and document your work pays rewards in the future; instead of needing to investigate and relearn a bunch of things you've already solved, Ansible keeps your work documented and ready to apply so you can move onto other, newer fun things!
|
||||||
|
|
||||||
|
I can see the brightness of curiosity in my six year old niece Shuchi's eyes when she explores a...
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/19/9/ansible-documentation-kids-laptops
|
||||||
|
|
||||||
|
作者:[James Farrell][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[译者ID](https://github.com/译者ID)
|
||||||
|
校对:[校对者ID](https://github.com/校对者ID)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/jamesfhttps://opensource.com/users/jlozadadhttps://opensource.com/users/jason-bakerhttps://opensource.com/users/aseem-sharmahttps://opensource.com/users/marcobravo
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/coffee_cafe_brew_laptop_desktop.jpg?itok=G-n1o1-o (Coffee and laptop)
|
||||||
|
[2]: https://opensource.com/article/19/4/ansible-procedures
|
||||||
|
[3]: https://www.ansible.com/
|
||||||
|
[4]: https://opensource.com/article/19/7/how-make-old-computer-useful-again
|
||||||
|
[5]: https://docs.ansible.com/ansible/2.3/raw_module.html
|
@ -0,0 +1,57 @@
|
|||||||
|
[#]: collector: (lujun9972)
|
||||||
|
[#]: translator: ( )
|
||||||
|
[#]: reviewer: ( )
|
||||||
|
[#]: publisher: ( )
|
||||||
|
[#]: url: ( )
|
||||||
|
[#]: subject: (Microsoft brings IBM iron to Azure for on-premises migrations)
|
||||||
|
[#]: via: (https://www.networkworld.com/article/3438904/microsoft-brings-ibm-iron-to-azure-for-on-premises-migrations.html)
|
||||||
|
[#]: author: (Andy Patrizio https://www.networkworld.com/author/Andy-Patrizio/)
|
||||||
|
|
||||||
|
Microsoft brings IBM iron to Azure for on-premises migrations
|
||||||
|
======
|
||||||
|
Once again Microsoft shows it has shed its not-invented here attitude to support customers.
|
||||||
|
Microsoft / Just_Super / Getty Images
|
||||||
|
|
||||||
|
When Microsoft launched Azure as a cloud-based version of its Windows Server operating system, it didn't make it exclusively Windows. It also included Linux support, and in just a few years, the [number of Linux instances now outnumbers Windows instances][1].
|
||||||
|
|
||||||
|
It's nice to see Microsoft finally shed that not-invented-here attitude that was so toxic for so long, but the company's latest move is really surprising.
|
||||||
|
|
||||||
|
Microsoft has partnered with a company called Skytap to offer IBM Power9 instances on its Azure cloud service to run Power-based systems inside of the Azure cloud, which will be offered as Azure virtual machines (VM) along with the Xeon and Epyc server instances that it already offers.
|
||||||
|
|
||||||
|
**Also read: [How to make hybrid cloud work][2]**
|
||||||
|
|
||||||
|
Skytap is an interesting company. Founded by three University of Washington professors, it specializes in cloud migrations of older on-premises hardware, such as IBM System I or Sparc. It has a data center in its home town of Seattle, with IBM hardware running IBM's PowerVM hypervisor, plus some co-locations in IBM data centers in the U.S. and England.
|
||||||
|
|
||||||
|
Its motto is to migrate fast, then modernize at your own pace. So, its focus is on helping legacy systems migrate to the cloud and then modernize the apps, which is what the alliance with Microsoft appears to be aimed at. Azure will provide enterprises with a platform to enhance the value of traditional applications without the major expense of rewriting for a new platform.
|
||||||
|
|
||||||
|
Skytap is providing a preview of what’s possible when lifting and extending a legacy IBM i application using DB2 on Skytap and augmenting it with Azure IoT Hub. The application seamlessly spans old and new architectures, demonstrating there is no need to completely rewrite rock-solid IBM i applications to benefit from modern cloud capabilities.
|
||||||
|
|
||||||
|
### Migrating to Azure cloud
|
||||||
|
|
||||||
|
Under the deal, Microsoft will deploy Power S922 servers from IBM and deploy them in an undeclared Azure region. These machines can run the PowerVM hypervisor, which supports legacy IBM operating systems, as well as Linux.
|
||||||
|
|
||||||
|
"Migrating to the cloud by first replacing older technologies is time consuming and risky," said Brad Schick, CEO of Skytap, in a statement. "Skytap’s goal has always been to provide businesses with a path to get these systems into the cloud with little change and less risk. Working with Microsoft, we will bring Skytap’s native support for a wide range of legacy applications to Microsoft Azure, including those dependent on IBM i, AIX, and Linux on Power. This will give businesses the ability to extend the life of traditional systems and increase their value by modernizing with Azure services."
|
||||||
|
|
||||||
|
As Power-based applications are modernized, Skytap will then bring in DevOps CI/CD toolchains to accelerate software delivery. After moving to Skytap on Azure, customers will be able to integrate Azure DevOps, in addition to CI/CD toolchains for Power, such as Eradani and UrbanCode.
|
||||||
|
|
||||||
|
These sound like first steps, which means there will be more to come, especially in terms of the app migration. If it's only in one Azure region, it sounds like they are testing and finding their legs with this project and will likely expand later this year or next.
|
||||||
|
|
||||||
|
Join the Network World communities on [Facebook][3] and [LinkedIn][4] to comment on topics that are top of mind.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://www.networkworld.com/article/3438904/microsoft-brings-ibm-iron-to-azure-for-on-premises-migrations.html
|
||||||
|
|
||||||
|
作者:[Andy Patrizio][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[译者ID](https://github.com/译者ID)
|
||||||
|
校对:[校对者ID](https://github.com/校对者ID)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://www.networkworld.com/author/Andy-Patrizio/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://www.openwall.com/lists/oss-security/2019/06/27/7
|
||||||
|
[2]: https://www.networkworld.com/article/3119362/hybrid-cloud/how-to-make-hybrid-cloud-work.html#tk.nww-fsb
|
||||||
|
[3]: https://www.facebook.com/NetworkWorld/
|
||||||
|
[4]: https://www.linkedin.com/company/network-world
|
232
sources/tech/20190917 Getting started with Zsh.md
Normal file
232
sources/tech/20190917 Getting started with Zsh.md
Normal file
@ -0,0 +1,232 @@
|
|||||||
|
[#]: collector: (lujun9972)
|
||||||
|
[#]: translator: ( )
|
||||||
|
[#]: reviewer: ( )
|
||||||
|
[#]: publisher: ( )
|
||||||
|
[#]: url: ( )
|
||||||
|
[#]: subject: (Getting started with Zsh)
|
||||||
|
[#]: via: (https://opensource.com/article/19/9/getting-started-zsh)
|
||||||
|
[#]: author: (Seth Kenlon https://opensource.com/users/sethhttps://opensource.com/users/sethhttps://opensource.com/users/sethhttps://opensource.com/users/sethhttps://opensource.com/users/falm)
|
||||||
|
|
||||||
|
Getting started with Zsh
|
||||||
|
======
|
||||||
|
Improve your shell game by upgrading from Bash to Z-shell.
|
||||||
|
![bash logo on green background][1]
|
||||||
|
|
||||||
|
Z-shell (or Zsh) is an interactive Bourne-like POSIX shell known for its abundance of innovative features. Z-Shell users often cite its many conveniences and credit it for increased efficiency and extensive customization.
|
||||||
|
|
||||||
|
If you're relatively new to Linux or Unix but experienced enough to have opened a terminal and run a few commands, you have probably used the Bash shell. Bash is arguably the definitive free software shell, partly because of its progressive features and partly because it ships as the default shell on most of the popular Linux and Unix operating systems. However, the more you use a shell, the more you start to find small things that might be better for the way you want to use it. If there's one thing open source is famous for, it's _choice_. Many people choose to "graduate" from Bash to Z.
|
||||||
|
|
||||||
|
### What is Zsh?
|
||||||
|
|
||||||
|
A shell is just an interface to your operating system. An interactive shell allows you to type in commands through what is called _standard input_, or **stdin**, and get output through _standard output_ and _standard error_, or **stdout** and **stderr**. There are many shells, including Bash, Csh, Ksh, Tcsh, Dash, and Zsh. Each has features based on what its programmers thought would be best for a shell. Whether those features are good or bad is up to you, the end user.
|
||||||
|
|
||||||
|
Zsh has features like interactive Tab completion, automated file searching, regex integration, advanced shorthand for defining command scope, and a rich theme engine. These features are included in an otherwise familiar Bourne-like shell environment, meaning that if you already know and love Bash, you'll find Zsh familiar—except with more features. You might think of it as a kind of Bash++.
|
||||||
|
|
||||||
|
### Installing Zsh
|
||||||
|
|
||||||
|
Install Zsh with your package manager.
|
||||||
|
|
||||||
|
On Fedora, RHEL, and CentOS:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
`$ sudo dnf install zsh`
|
||||||
|
```
|
||||||
|
|
||||||
|
On Ubuntu and Debian:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
`$ sudo apt install zsh`
|
||||||
|
```
|
||||||
|
|
||||||
|
On MacOS, you can install it using MacPorts:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
`$ sudo port install zsh`
|
||||||
|
```
|
||||||
|
|
||||||
|
Or with Homebrew:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
`$ brew install zsh`
|
||||||
|
```
|
||||||
|
|
||||||
|
It's possible to run Zsh on Windows, but only on top of a Linux or Linux-like layer such as [Windows Subsystem for Linux][2] (WSL) or [Cygwin][3]. That installation is out of scope for this article, so refer to Microsoft documentation.
|
||||||
|
|
||||||
|
### Setting up Zsh
|
||||||
|
|
||||||
|
Zsh is not a terminal emulator; it's a shell that runs inside a terminal emulator. So, to launch Zsh, you must first launch a terminal window such as GNOME Terminal, Konsole, Terminal, iTerm2, rxvt, or another terminal of your preference. Then you can launch Zsh by typing:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
`$ zsh`
|
||||||
|
```
|
||||||
|
|
||||||
|
The first time you launch Zsh, you're asked to choose some configuration options. These can all be changed later, so press **1** to continue.
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
This is the Z Shell configuration function for new users, zsh-newuser-install.
|
||||||
|
|
||||||
|
(q) Quit and do nothing.
|
||||||
|
|
||||||
|
(0) Exit, creating the file ~/.zshrc
|
||||||
|
|
||||||
|
(1) Continue to the main menu.
|
||||||
|
```
|
||||||
|
|
||||||
|
There are four categories of preferences, so just start at the top.
|
||||||
|
|
||||||
|
1. The first category lets you choose how many commands are retained in your shell history file. By default, it's set to 1,000 lines.
|
||||||
|
2. Zsh completion is one of its most exciting features. To keep things simple, consider activating it with its default options until you get used to how it works. Press **1** for default options, **2** to set options manually.
|
||||||
|
3. Choose Emacs or Vi key bindings. Bash uses Emacs bindings, so you may be used to that already.
|
||||||
|
4. Finally, you can learn about (and set or unset) some of Zsh's subtle features. For instance, you can stop using the **cd** command by allowing Zsh to initiate a directory change when you provide a non-executable path with no command. To activate one of these extra options, type the option number and enter **s** to _set_ it. Try turning on all options to get the full Zsh experience. You can unset them later by editing **~/.zshrc**.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
To complete configuration, press **0**.
|
||||||
|
|
||||||
|
### Using Zsh
|
||||||
|
|
||||||
|
At first, Zsh feels a lot like using Bash, which is unmistakably one of its many features. There are serious differences between, for instance, Bash and Tcsh, so being able to switch between Bash and Zsh is a convenience that makes Zsh easy to try and easy to use at home if you have to use Bash at work or on your server.
|
||||||
|
|
||||||
|
#### Change directory with Zsh
|
||||||
|
|
||||||
|
It's the small differences that make Zsh nice. First, try changing the directory to your Documents folder _without the **cd** command_. It seems too good to be true; but if you enter a directory path with no further instruction, Zsh changes to that directory:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
% Documents
|
||||||
|
% pwd
|
||||||
|
/home/seth/Documents
|
||||||
|
```
|
||||||
|
|
||||||
|
That renders an error in Bash or any other normal shell. But Zsh is far from normal, and this is just the beginning.
|
||||||
|
|
||||||
|
#### Search with Zsh
|
||||||
|
|
||||||
|
When you want to find a file using a normal shell, you probably resort to the **find** or **locate** command. At the very least, you may have used **ls -R** for a recursive listing of a set of directories. Zsh has a built-in feature allowing it to find a file in the current or any other subdirectory.
|
||||||
|
|
||||||
|
For instance, assume you have two files called **foo.txt**. One is located in your current directory, and the other is in a subdirectory called **foo**. In a Bash shell, you can list the file in the current directory with:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ls
|
||||||
|
foo.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
and you can list the other one by stating the subdirectory's path explicitly:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ls foo
|
||||||
|
foo.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
To list both, you must use the **-R** switch, maybe combined with **grep**:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ls -R | grep foo.txt
|
||||||
|
foo.txt
|
||||||
|
foo.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
But in Zsh, you can use the ****** shorthand:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
% ls **/foo.txt
|
||||||
|
foo.txt
|
||||||
|
foo.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
And you can use this syntax with any command, not just with **ls**. Imagine your increased efficiency when moving specific file types from one collection of directories to a single location, or concatenating snippets of text into a file, or grepping through logs.
|
||||||
|
|
||||||
|
### Using Zsh Tab completion
|
||||||
|
|
||||||
|
Tab completion is a power-user feature in Bash and some other shells, and it took the Unix world by storm when it became commonplace. No longer did Unix users have to resort to wildcards when typing long and tedious paths (such as **/h*/s*h/V*/SCS/sc*/comp*/t*/a*/*9/04/LS*boat*v**, which is a lot easier than typing **/home/seth/Videos/SCS/scenes/composite/takes/approved/109/04/LS_boat-port-cargo-mover.mkv**). Instead, they could just press the Tab key when they entered enough of a unique string. For example, if you know there's only one directory starting with an **h** at the root level of your system, you might type **/h** and then hit Tab. It's fast, it's simple, it's efficient. It also confirms a path exists; if Tab doesn't complete anything, you know you're looking in the wrong place or you mistyped part of the path.
|
||||||
|
|
||||||
|
However, if you have many directories that share five or more of the same first letters, Tab staunchly refuses to complete. While in most modern terminals it will (at least) reveal the files blocking it from guessing what you mean, it usually takes two Tab presses to reveal them; therefore, Tab completion often becomes such an interplay of letters and Tabs across your keyboard that you feel like you're training for a piano recital.
|
||||||
|
|
||||||
|
Zsh solves this minor annoyance by cycling through possible completions. If you type **ls ~/D** and press Tab, Zsh completes your command with **Documents** first; if you press Tab again, it offers **Downloads**, and so on until you find the one you want.
|
||||||
|
|
||||||
|
### Wildcards in Zsh
|
||||||
|
|
||||||
|
Wildcards behave differently in Zsh than what Bash users are used to. First of all, they can be modified. For example, if you want to list all folders in your current directory, you can use a modified wildcard:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
% ls
|
||||||
|
dir0 dir1 dir2 file0 file1
|
||||||
|
% ls *(/)
|
||||||
|
dir0 dir1 dir2
|
||||||
|
```
|
||||||
|
|
||||||
|
In this example, the **(/)** qualifies the results of the wildcard so Zsh will display only directories. To list just the files, use **(.)**. To list symlinks, use **(@)**. To list executable files, use **(*)**.
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
% ls ~/bin/*(*)
|
||||||
|
fop exify tt
|
||||||
|
```
|
||||||
|
|
||||||
|
Zsh isn't aware of file types only. It can also list according to modification time, using the same wildcard modifier convention. For example, if you want to find a file that was modified within the past eight hours, use the **mh** modifier (for **modified** and **hours**) and the negative integer of hours:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
% ls ~/Documents/*(mh-8)
|
||||||
|
cal.org game.org home.org
|
||||||
|
```
|
||||||
|
|
||||||
|
To find a file modified more than (for instance) two days ago, the modifiers change to **md** (for **modified** and **day**) with a positive integer:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
% ls ~/Documents/*(+2)
|
||||||
|
holiday.org
|
||||||
|
```
|
||||||
|
|
||||||
|
There's a lot more you can do with wildcard modifiers and qualifiers, so read the [Zsh man page][4] for full details.
|
||||||
|
|
||||||
|
#### The wildcard side effect
|
||||||
|
|
||||||
|
To use wildcards the way you would use them in Bash, sometimes they must be escaped in Zsh. For instance, if you're copying some files to your server in Bash, you might use a wildcard like this:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
`$ scp IMG_*.JPG seth@example.com:~/www/ph*/*19/09/14`
|
||||||
|
```
|
||||||
|
|
||||||
|
That works in Bash, but Zsh returns an error because it tries to expand the variables on the remote side before issuing the **scp** command. To avoid this, you must escape the remote variables:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
`% scp IMG_*.JPG seth@example.com:~/www/ph\*/\*19/09/14`
|
||||||
|
```
|
||||||
|
|
||||||
|
It's these types of little exceptions that can frustrate you when you're switching to a new shell. There aren't many when using Zsh (there are probably more when switching back to Bash after experiencing Zsh) but when they happen, remain calm and be explicit. Rarely will you go wrong to adhere strictly to POSIX—but if that fails, look up the problem to solve it and move on. [Hyperpolyglot.org][5] has proven invaluable to many users stuck on one shell at work and another at home.
|
||||||
|
|
||||||
|
In my next Zsh article, I'll show you how to install themes and plugins to make your Z-Shell even Z-ier.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/19/9/getting-started-zsh
|
||||||
|
|
||||||
|
作者:[Seth Kenlon][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[译者ID](https://github.com/译者ID)
|
||||||
|
校对:[校对者ID](https://github.com/校对者ID)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/sethhttps://opensource.com/users/sethhttps://opensource.com/users/sethhttps://opensource.com/users/sethhttps://opensource.com/users/falm
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/bash_command_line.png?itok=k4z94W2U (bash logo on green background)
|
||||||
|
[2]: https://devblogs.microsoft.com/commandline/category/bash-on-ubuntu-on-windows/
|
||||||
|
[3]: https://www.cygwin.com/
|
||||||
|
[4]: https://linux.die.net/man/1/zsh
|
||||||
|
[5]: http://hyperpolyglot.org/unix-shells
|
@ -1,5 +1,5 @@
|
|||||||
[#]: collector: (lujun9972)
|
[#]: collector: (lujun9972)
|
||||||
[#]: translator: ( )
|
[#]: translator: (Morisun029)
|
||||||
[#]: reviewer: ( )
|
[#]: reviewer: ( )
|
||||||
[#]: publisher: ( )
|
[#]: publisher: ( )
|
||||||
[#]: url: ( )
|
[#]: url: ( )
|
||||||
|
@ -0,0 +1,115 @@
|
|||||||
|
[#]: collector: (lujun9972)
|
||||||
|
[#]: translator: ( )
|
||||||
|
[#]: reviewer: ( )
|
||||||
|
[#]: publisher: ( )
|
||||||
|
[#]: url: ( )
|
||||||
|
[#]: subject: (Talking to machines: Lisp and the origins of AI)
|
||||||
|
[#]: via: (https://opensource.com/article/19/9/command-line-heroes-lisp)
|
||||||
|
[#]: author: (Matthew Broberg https://opensource.com/users/mbbroberghttps://opensource.com/users/mbbroberghttps://opensource.com/users/mbbroberghttps://opensource.com/users/mbbroberg)
|
||||||
|
|
||||||
|
Talking to machines: Lisp and the origins of AI
|
||||||
|
======
|
||||||
|
The Command Line Heroes podcast explores the invention of Lisp and the
|
||||||
|
rise of thinking computers powered by open source software.
|
||||||
|
![Listen to the Command Line Heroes Podcast][1]
|
||||||
|
|
||||||
|
Artificial intelligence (AI) is all the rage today, and its massive impact on the world is still to come, says the[ Association for the Advancement of Artificial Intelligence][2] (AAAI). According to an article on [Nanalyze][3]:
|
||||||
|
|
||||||
|
> "The vast majority of nearly 2,000 experts polled by the Pew Research Center in 2014 said they anticipate robotics and artificial intelligence will permeate wide segments of daily life by 2025. A 2015 study covering 17 countries found that artificial intelligence and related technologies added an estimated 0.4 percentage point on average to those countries' annual GDP growth between 1993 and 2007, accounting for just over one-tenth of those countries' overall GDP growth during that time."
|
||||||
|
|
||||||
|
However, this is the second time has AI garnered so much attention. When was AI first popular, and what does that have to do with the obscure-but-often-loved programming language Lisp?
|
||||||
|
|
||||||
|
The second-to-last podcast of [Command Line Heroes][4]' third season dives into these topics and leaves us thinking about open source at the core of AI.
|
||||||
|
|
||||||
|
### Before the term AI
|
||||||
|
|
||||||
|
Thinking machines have been a curiosity for centuries, long before they could be realized. In the 1800s, computer science pioneers Charles Babbage and Ada Lovelace imagined an analytical engine capable of predictions far beyond human skills, such as correctly selecting the winning horse in a race.
|
||||||
|
|
||||||
|
In the 1940s and '50s, Alan Turing defined what it would look like for intelligent machines to emulate human intelligence; that's what we now call the Turing Test. In his 1950 [research paper][5], Turing's "imitation game" set out to convince someone they were communicating with a human in another room when, in reality, it was a machine.
|
||||||
|
|
||||||
|
While these theories inspired imaginative debate, they became less theoretical as computer hardware began providing enough power to begin experimenting.
|
||||||
|
|
||||||
|
### Why Lisp is at the heart of AI theory
|
||||||
|
|
||||||
|
John McCarthy, the person to coin the term "artificial intelligence," is also the person who reinvented how we program to create thinking machines. His reimagined approach was codified into the Lisp programming language. As [Paul Graham][6] wrote:
|
||||||
|
|
||||||
|
> "In 1960, [John McCarthy][7] published a remarkable paper in which he did for programming something like what Euclid did for geometry. He showed how, given a handful of simple operators and a notation for functions, you can build a whole programming language. He called this language Lisp, for 'List Processing,' because one of his key ideas was to use a simple data structure called a list for both code and data.
|
||||||
|
>
|
||||||
|
> "It's worth understanding what McCarthy discovered, not just as a landmark in the history of computers, but as a model for what programming is tending to become in our own time. It seems to me that there have been two really clean, consistent models of programming so far: the C model and the Lisp model. These two seem points of high ground, with swampy lowlands between them. As computers have grown more powerful, the new languages being developed have been [moving steadily][8] toward the Lisp model. A popular recipe for new programming languages in the past 20 years has been to take the C model of computing and add to it, piecemeal, parts taken from the Lisp model, like runtime typing and garbage collection."
|
||||||
|
|
||||||
|
I remember when I first wrote Lisp for a computer science class. After wrapping my head around its seemingly infinite number of parentheses, I uncovered a beautiful pattern of thought: Can I think through what I want this software to do?
|
||||||
|
|
||||||
|
![The elegance of Lisp programming is timeless][9]
|
||||||
|
|
||||||
|
That sounds silly: computers process what we code them to do, but there's something about recursion that made me think in a wildly different light. It's exciting to learn that 15 years ago, I may have been tapping into the big-picture changes McCarthy was describing.
|
||||||
|
|
||||||
|
### Why the slowdown in AI?
|
||||||
|
|
||||||
|
By the mid-to-late 1960s, McCarthy's work made way to a new field of research, where AI, machine learning (ML), and deep learning all became possibilities. And Lisp became the accepted standard in this emerging field. It's said that in 1968, McCarthy made a wager with David Levy, a Scottish chess master, that in 10 years a computer would be able to beat Levy in a chess match. Why did it take nearly 30 years to get to the famous [Deep Blue vs. Garry Kasparov][10] match?
|
||||||
|
|
||||||
|
Command Line Heroes explores one theory: that for-profit investment in AI pulled essential talent from academia, where they were advancing the science, and pushed them onto a different path. Whether or not this was the reason, the world of AI fell into a "winter," where the people pursuing it were considered unrealistic.
|
||||||
|
|
||||||
|
This AI winter lasted for quite some time. In 2005, The [_New York Times_ reported][11] that AI had become so stigmatized that "some computer scientists and software engineers avoided the term artificial intelligence for fear of being viewed as wild-eyed dreamers."
|
||||||
|
|
||||||
|
### Where is AI now?
|
||||||
|
|
||||||
|
Fast forward to today, when talking about AI or ML is a fast pass to getting people's attention—but that attention isn't always positive. Many are concerned that AI will remove millions of jobs from the world. Others say it will [create][12] millions of more jobs than are lost.
|
||||||
|
|
||||||
|
The verdict is still out. [McKinsey's research][13] on the job loss vs. job gain debate is fascinating. When you take into account growing world consumption, aging populations, "marketization" of previously unpaid domestic work, and other factors, you find that the answer depends on your outlook.
|
||||||
|
|
||||||
|
One thing is for sure: AI will be a significant part of our lives, and it will have much wider implications than other areas of tech. For this reason (among others), examining the [misconceptions around ethics and bias in AI][14] is essential.
|
||||||
|
|
||||||
|
### Open source and AI
|
||||||
|
|
||||||
|
McCarthy had a dream that machines could have common sense. His AI goals included open source from the very beginning; this is visualized on Red Hat's beautifully animated webpage on the [origins of AI and its open source roots][15].
|
||||||
|
|
||||||
|
[![Origins of AI and open source screenshot][16]][15]
|
||||||
|
|
||||||
|
If we are to achieve the goals of McCarthy, Turing, or other AI pioneers, I believe it will be because of the open source community behind the technology. Part of the reason AI's popularity bounced back is because of open source: languages, frameworks, and the datasets we analyze are increasingly open. Here are a handful of things to explore:
|
||||||
|
|
||||||
|
* [Learn enough Python and R][17] to be part of this future
|
||||||
|
* [Explore Python libraries][18] that will bulk up your skills
|
||||||
|
* Understand how [AI and ML are related][19]
|
||||||
|
* Explore [free and open datasets][20]
|
||||||
|
* Use modern implementations of Lisp, [available under open source licenses][21]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
It's possible that early AI explored the right ideas in the wrong decade. World-class computers back then weren't even as powerful as today's cellphones, and each one was shared by dozens of individuals. Today, many of us own multiple supercomputers and carry them with us all the time. For this reason, among others, the future of AI is strong and its highest achievements are yet to come.
|
||||||
|
|
||||||
|
_Command Line Heroes has covered programming languages for all of Season 3. [Subscribe so that you don't miss the last episode of the season][4], and I would love to hear your thoughts in the comments below._
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/19/9/command-line-heroes-lisp
|
||||||
|
|
||||||
|
作者:[Matthew Broberg][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[译者ID](https://github.com/译者ID)
|
||||||
|
校对:[校对者ID](https://github.com/校对者ID)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/mbbroberghttps://opensource.com/users/mbbroberghttps://opensource.com/users/mbbroberghttps://opensource.com/users/mbbroberg
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/command_line_hereoes_ep7_blog-header-292x521.png?itok=lI4DXvq2 (Listen to the Command Line Heroes Podcast)
|
||||||
|
[2]: http://aaai.org/
|
||||||
|
[3]: https://www.nanalyze.com/2016/11/artificial-intelligence-definition/
|
||||||
|
[4]: https://www.redhat.com/en/command-line-heroes
|
||||||
|
[5]: https://www.csee.umbc.edu/courses/471/papers/turing.pdf
|
||||||
|
[6]: http://www.paulgraham.com/rootsoflisp.html
|
||||||
|
[7]: http://www-formal.stanford.edu/jmc/index.html
|
||||||
|
[8]: http://www.paulgraham.com/diff.html
|
||||||
|
[9]: https://opensource.com/sites/default/files/uploads/lisp_cycles.png (The elegance of Lisp programming is timeless)
|
||||||
|
[10]: https://en.wikipedia.org/wiki/Deep_Blue_versus_Garry_Kasparov
|
||||||
|
[11]: https://www.nytimes.com/2005/10/14/technology/behind-artificial-intelligence-a-squadron-of-bright-real-people.html
|
||||||
|
[12]: https://singularityhub.com/2019/01/01/ai-will-create-millions-more-jobs-than-it-will-destroy-heres-how/
|
||||||
|
[13]: https://www.mckinsey.com/featured-insights/future-of-work/jobs-lost-jobs-gained-what-the-future-of-work-will-mean-for-jobs-skills-and-wages
|
||||||
|
[14]: https://opensource.com/article/19/8/4-misconceptions-ethics-and-bias-ai
|
||||||
|
[15]: https://www.redhat.com/en/open-source-stories/ai-revolutionaries/origins-ai-open-source
|
||||||
|
[16]: https://opensource.com/sites/default/files/uploads/origins_aiopensource.png (Origins of AI and open source screenshot)
|
||||||
|
[17]: https://opensource.com/article/19/5/learn-python-r-data-science
|
||||||
|
[18]: https://opensource.com/article/18/5/top-8-open-source-ai-technologies-machine-learning
|
||||||
|
[19]: https://opensource.com/tags/ai-and-machine-learning
|
||||||
|
[20]: https://opensource.com/article/19/2/learn-data-science-ai
|
||||||
|
[21]: https://www.cliki.net/Common+Lisp+implementation
|
@ -0,0 +1,142 @@
|
|||||||
|
[#]: collector: (lujun9972)
|
||||||
|
[#]: translator: (name1e5s)
|
||||||
|
[#]: reviewer: ( )
|
||||||
|
[#]: publisher: ( )
|
||||||
|
[#]: url: ( )
|
||||||
|
[#]: subject: (Amid Epstein Controversy, Richard Stallman is Forced to Resign as FSF President)
|
||||||
|
[#]: via: (https://itsfoss.com/richard-stallman-controversy/)
|
||||||
|
[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/)
|
||||||
|
|
||||||
|
Richard Stallman 被迫辞去 FSF 主席的职务
|
||||||
|
======
|
||||||
|
|
||||||
|
_**Richard Stallman,自由软件基金会的创建者以及主席,已经辞去他的职务,开始寻求下一任主席。此前,因为 Stallman 对于爱泼斯坦事件中的受害者的观点,一小撮活动家以及媒体人发起了清除 Stallman 的运动。这份声明就是在这些活动后发生的。阅读全文以获得更多信息。**_
|
||||||
|
|
||||||
|
![][1]
|
||||||
|
|
||||||
|
### Stallman 事件的背景概述
|
||||||
|
|
||||||
|
如果您不知道这次事件发生的前因后果,请看本段的详细信息。
|
||||||
|
|
||||||
|
[Richard Stallman][2],66岁,是就职于 [MIT][3] 的计算机科学家。他最著名的成就就是在 1983 年发起了[自由软件运动][4]。他也开发了 GNU 项目旗下的部分软件,比如 GCC 和 Emacs。受自由软件运动影响选择使用 GPL 开源协议的项目不计其数。Linux 是其中最出名的项目之一。
|
||||||
|
|
||||||
|
[Jeffrey Epstein][5],美国亿万富翁,金融大佬。其涉嫌为社会上流精英提供性交易服务(其中有未成年少女)而被指控成为性犯罪者。在受审期间,爱泼斯坦在监狱中自杀身亡。
|
||||||
|
|
||||||
|
[Marvin Lee Minsky][6],MIT 知名计算机科学家。他在 MIT 建立了人工智能实验室。2016 年,88 岁的 Minsky 逝世。在 Minsky 逝世后,一位名为 Misky 的爱泼斯坦事件受害者生成其在未成年时曾被“诱导”到爱泼斯坦的私人岛屿,与之发生性关系。
|
||||||
|
|
||||||
|
但是这些与 Richard Stallman 有什么关系?这要从 Stallman 发给 MIT 计算机科学与人工智能实验室(CSAIL) 的学生以及附属机构就爱泼斯坦的捐款提出抗议的邮件列表的邮件说起。邮件全文翻译如下:
|
||||||
|
|
||||||
|
> 周五事件的公告对 Marvin Minsky 来说是不公正的。
|
||||||
|
>
|
||||||
|
> “已故的人工智能 ’先锋‘ Marvin Minsky (被控告侵害了爱泼斯坦事件的受害者之一[2])”
|
||||||
|
>
|
||||||
|
> 不公正之处在于 “侵害(assulting)” 这个用语。“性侵犯(sexual assault)” 这个用语非常的糢糊,夸大了指控的严重性:宣称某人做了 X 但误导别人,让别人觉得这个人做了 Y,Y 远远比 X 严重。
|
||||||
|
>
|
||||||
|
> 上面引用的指控显然就是夸大。报导声称 Minksy 与爱泼斯坦的女眷之一发生了性关系(详见 <https://www.theverge.com/2019/8/9/20798900/marvin-minsky-jeffrey-epstein-sex-trafficking-island-court-records-unsealed>)。我们假设这是真的(我找不到理由不相信)。
|
||||||
|
>
|
||||||
|
> “侵害(assulting)” 这个词,意味着他使用了某种暴力。但那篇报道并没有提到这个,只说了他们发生了性关系。
|
||||||
|
>
|
||||||
|
> 我们可以想像很多种情况,但最合理的情况是,她在 Marvin 面前表现的像是完全自愿的。假设她是被爱泼斯坦强迫的,那爱泼斯坦有充足的理由让她对大多数人守口如瓶。
|
||||||
|
>
|
||||||
|
> 从各种的指控夸大事例中,我总结出,在指控时使用“性侵犯(sexual assault)”是绝对错误的。
|
||||||
|
>
|
||||||
|
> 无论你想要批判什么行为,你都应该使用特定的词汇来描述,以此避免批判本身天然的道德上的模糊性。
|
||||||
|
|
||||||
|
### “清除 Stallman” 的呼吁
|
||||||
|
|
||||||
|
‘爱泼斯坦’在美国是颇具争议的话题。Stallman 对该敏感事件做出如此鲁莽的 “知识陈述” 不会有好结果,事实也是如此。
|
||||||
|
|
||||||
|
一位机器人学工程师从她的朋友那里收到了转发的邮件并发起了一个[清除 Stallman 的活动][7]。她要的不是澄清或者道歉,她只想要清除斯托曼,就算这意味着 “将 MIT 夷为平地” 也在所不惜。
|
||||||
|
|
||||||
|
> 是,至少 Stallman 没有的确被控强奸任何人。但这就是我们的最高标准吗?这所声望极高的学院坚持的标准就是这样的吗? 如果这是麻省理工学院想要捍卫的、想要代表的标准的话,还不如把这破学校夷为平地…
|
||||||
|
>
|
||||||
|
> 如果有必要的话,就把所有人都清除出去,之后从废墟中建立出更好的秩序。
|
||||||
|
>
|
||||||
|
> Salem,发起“清除 Stallman“运动的机器人学专业学生
|
||||||
|
|
||||||
|
Salem 的大字报最初没有被主流媒体重视。但它还是被反对软件行业内精英崇拜以及性别偏见的积极分子发现了。
|
||||||
|
|
||||||
|
> [#epstein][8] [#MIT][9] 嗨 记者没有回复我我很生气就自己写了这么个故事。 作为 MIT 的校友我还真是高兴啊🙃 <https://t.co/D4V5L5NzPA>
|
||||||
|
>
|
||||||
|
> — SZJG (@selamjie) [September 12, 2019][10]
|
||||||
|
|
||||||
|
> 是不是对于性侵儿童的 “杰出混蛋” 我们也可以辩护说 “万一这是你情我愿的” <https://t.co/gSYPJ3WOfp>
|
||||||
|
>
|
||||||
|
> — Tracy Chou 👩🏻💻 (@triketora) [September 13, 2019][11]
|
||||||
|
|
||||||
|
> 多年来我就一直发推说 Richard "RMS" Stallman 这人有多恶心 —— 恋童癖、厌女症、还残障歧视
|
||||||
|
>
|
||||||
|
> 不可避免的是,每次我这样做,都会有老哥检查我的数据来源,然后说 “这都是几年前的事了!他现在变了!”
|
||||||
|
>
|
||||||
|
> 变个屁。 <https://t.co/ti2SrlKObp>
|
||||||
|
>
|
||||||
|
> — Sarah Mei (@sarahmei) [September 12, 2019][12]
|
||||||
|
|
||||||
|
下面是 Sage Sharp 开头的一篇关于 Stallman 的行为如何对科技人员产生负面影响的帖子:
|
||||||
|
|
||||||
|
> 👇大家说下 Richard Stallman 对科技从业者的影响吧,尤其是女性。 [例如: 强奸,乱伦,残障歧视,性交易]
|
||||||
|
>
|
||||||
|
> [@fsf][13] 有必要永久禁止 Richard Stallman 担任自由软件基金会董事会主席。
|
||||||
|
>
|
||||||
|
> — Sage Sharp (@_sagesharp_) [September 16, 2019][14]
|
||||||
|
|
||||||
|
Stallman 一直以来也不是一个圣人。 他粗暴,不合时宜、带有性别歧视的笑话多年来一直在进行。你可以在[这里][15]和[这里][16]读到。
|
||||||
|
|
||||||
|
很快这个消息就被 [The Vice][17],[每日野兽][18],[未来主义][19]等大媒体采访。他们把 Stallman 描绘成爱泼斯坦的捍卫者。在强烈的抗议声中,[GNOME 执行董事威胁要结束 GNOME 和 FSF 之间的关系][20]。
|
||||||
|
|
||||||
|
最后,Stallman 先是从 MIT 辞职,现在又从 [自由软件基金会][21] 辞职。
|
||||||
|
|
||||||
|
![][22]
|
||||||
|
|
||||||
|
### 危险的特权?
|
||||||
|
|
||||||
|
我们见识到了,把一个人从他创建并为之工作了三十多年的组织中驱逐出去仅仅需要五天。这甚至还是在 Stallman 没有参与性交易丑闻的情况下。
|
||||||
|
|
||||||
|
其中一些 “活动家” 过去也曾[针对 Linux 的作者 Linus Torvalds][23]。 Linux 基金会背后的管理层预见到了科技行业激进主义的增长趋势,因此他们制定了[适用于 Linux 内核开发的行为准则][24]并[强制 Torvalds 接受培训以改善他的行为][25]。 如果他们没有采取纠正措施,可能 Torvalds 也已经被批倒批臭了。
|
||||||
|
|
||||||
|
忽视技术支持者的鲁莽行为和性别歧视是不可接受的,但是对于那些遇到不同意某种流行观点的人就贴大字报,施以私刑也是不道德的做法。我不支持 Stallman 和他过去的言论,但我也不能接受他以这种方式(被迫?)辞职。
|
||||||
|
|
||||||
|
Techrights 对此有一些有趣的评论,你可以在 [这里][26] 和 [这里][27] 看到。
|
||||||
|
|
||||||
|
_**您对此事有何看法? 请文明分享您的观点和意见。过激评论将不会公布。**_
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://itsfoss.com/richard-stallman-controversy/
|
||||||
|
|
||||||
|
作者:[Abhishek Prakash][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[name1e5s](https://github.com/name1e5s)
|
||||||
|
校对:[校对者ID](https://github.com/校对者ID)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://itsfoss.com/author/abhishek/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/09/stallman-conroversy.png?ssl=1
|
||||||
|
[2]: https://en.wikipedia.org/wiki/Richard_Stallman
|
||||||
|
[3]: https://en.wikipedia.org/wiki/Massachusetts_Institute_of_Technology
|
||||||
|
[4]: https://en.wikipedia.org/wiki/Free_software_movement
|
||||||
|
[5]: https://en.wikipedia.org/wiki/Jeffrey_Epstein
|
||||||
|
[6]: https://en.wikipedia.org/wiki/Marvin_Minsky
|
||||||
|
[7]: https://medium.com/@selamie/remove-richard-stallman-fec6ec210794
|
||||||
|
[8]: https://twitter.com/hashtag/epstein?src=hash&ref_src=twsrc%5Etfw
|
||||||
|
[9]: https://twitter.com/hashtag/MIT?src=hash&ref_src=twsrc%5Etfw
|
||||||
|
[10]: https://twitter.com/selamjie/status/1172244207978897408?ref_src=twsrc%5Etfw
|
||||||
|
[11]: https://twitter.com/triketora/status/1172443389536555009?ref_src=twsrc%5Etfw
|
||||||
|
[12]: https://twitter.com/sarahmei/status/1172283772428906496?ref_src=twsrc%5Etfw
|
||||||
|
[13]: https://twitter.com/fsf?ref_src=twsrc%5Etfw
|
||||||
|
[14]: https://twitter.com/_sagesharp_/status/1173637138413318144?ref_src=twsrc%5Etfw
|
||||||
|
[15]: https://geekfeminism.wikia.org/wiki/Richard_Stallman
|
||||||
|
[16]: https://medium.com/@selamie/remove-richard-stallman-appendix-a-a7e41e784f88
|
||||||
|
[17]: https://www.vice.com/en_us/article/9ke3ke/famed-computer-scientist-richard-stallman-described-epstein-victims-as-entirely-willing
|
||||||
|
[18]: https://www.thedailybeast.com/famed-mit-computer-scientist-richard-stallman-defends-epstein-victims-were-entirely-willing
|
||||||
|
[19]: https://futurism.com/richard-stallman-epstein-scandal
|
||||||
|
[20]: https://blog.halon.org.uk/2019/09/gnome-foundation-relationship-gnu-fsf/
|
||||||
|
[21]: https://www.fsf.org/news/richard-m-stallman-resigns
|
||||||
|
[22]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/09/richard-stallman.png?resize=800%2C94&ssl=1
|
||||||
|
[23]: https://www.newyorker.com/science/elements/after-years-of-abusive-e-mails-the-creator-of-linux-steps-aside
|
||||||
|
[24]: https://itsfoss.com/linux-code-of-conduct/
|
||||||
|
[25]: https://itsfoss.com/torvalds-takes-a-break-from-linux/
|
||||||
|
[26]: http://techrights.org/2019/09/15/media-attention-has-been-shifted/
|
||||||
|
[27]: http://techrights.org/2019/09/16/stallman-removed/
|
Loading…
Reference in New Issue
Block a user