• 开源镜像
  • 开源沙龙
  • 媛宝
  • 猿帅
  • 注册
  • 登录
  • 息壤开源生活方式平台
  • 加入我们

开源日报

  • 开源日报第376期:《公众号排版器 wechat-format》

    26 3 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《公众号排版器 wechat-format》
    今日推荐英文原文:《Why feedback, not metrics, is critical to DevOps》
    (请检查,本文勾上了且只勾了《开源日报》这一个分类,请检查,有添加文章 Tag,请检查,有添加文章摘要,请检查,有添加特色图像,有添加bigger图片,有选中头图“布局设置”为占满屏幕的那张“第3张”) (请检查,预览时候,所有图片和文字显示正常,且勾上了百度熊掌号-原创提交) (请检查,本文的信息已经添加到 https://pm.openingsource.org/projects/daily/wiki日报摘要里,每个月的摘要信息单独发一个page,格式参照 https://opensourcedaily.org/daily-index/2018-5/,标题,URL,正文等格式均需保持一致) (检查上述都完成之后,请删掉括号里的字,包括这一句,每天发布时间为早晨8点左右)
    今日推荐开源项目:《公众号排版器 wechat-format》传送门:GitHub链接
    推荐理由:对于正在在微信公众号上发表文章的人来说用得上的工具——这个项目可以把 Markdown 转换成微信公众号中所使用的专用 HTML,只需要你写好 Markdown 然后丢进去,然后把输出丢进公众号里就行了,如果你需要自己改一改输出样式的话,也只需要打开源码自己改就行,这都取决于你。 介绍文章:https://mp.weixin.qq.com/s/pn0LzyfgUj6rGUfVHUksjg
    今日推荐英文原文:《Why feedback, not metrics, is critical to DevOps》作者:Ranjith Varakantam
    原文链接:https://opensource.com/article/19/3/devops-feedback-not-metrics
    推荐理由:在开发过程中反馈的重要性

    Why feedback, not metrics, is critical to DevOps

    Most managers and agile coaches depend on metrics over feedback from their teams, users, and even customers. In fact, quite a few use feedback and metrics synonymously, where they present feedback from teams or customers as a bunch of numbers or a graphical representation of those numbers. This is not only unfortunate, but it can be misleading as it presents only part of the story and not the entire truth.

    When it comes to two critical factors—how we manage or guide our teams and how we operate and influence the product that our teams are developing—few exceptional leaders and teams get it right. For one thing, it has become very easy to get your hands on data and metrics. Furthermore, it’s still hard to get real feedback from teams and users. It requires significant investments and energy, and unless everyone understands the critical need for it, getting and giving feedback tends to be a low priority and keeps getting pushed to the back burner.

    How to manage and guide teams

    With the acceptance of agile, a lot of teams have put a ridiculously high value on metrics, such as velocity, burndown charts, cumulative flow diagram (CFD), etc., instead of the value delivered by the team in each iteration or deployment. The focus is on the delivery or output produced without a clear understanding of how this relates to personal performance or implications for the project, product, or service.

    A few managers and agile coaches even abuse the true spirit of agile by misusing metrics to chastise or even penalize their teams. Instead of creating an environment of empowerment, they are slipping back into the command-and-control method where metrics are used to bully teams into submission.

    In our group, the best managers have weekly one-on-one meetings with every team member. These meetings not only give them a real pulse on team morale but also a profound understanding of the project and the decisions being made to move it forward. This weekly feedback loop also helps the team members communicate technical, functional, and even personal issues better. As a result, the team is much more cohesive in understanding the overall project needs and able to make decisions promptly.

    These leaders also skip levels—reaching out to team members two or three levels below them—and have frequent conversations with other group members who interact with their teams on a regular basis. These actions give the managers a holistic picture, which they couldn’t get if they relied on feedback from one manager or lead, and help them identify any blind spots the leads and managers may have.

    These one-on-one meetings effectively transform a manager into a coach who has a close understanding of every team member. Like a good coach, these managers both give and receive feedback from the team members regarding the product, decision-making transparency, places where the team feels management is lagging, and areas that are being ignored. This empowers the teams by giving them a voice, not once in a while in an annual meeting or an annual survey, but every week. This is the level where DevOps teams should be in order to deliver their commitments successfully.

    This demands significant investments of time and energy, but the results more than justify it. The alternative is to rely on metrics and annual reviews and surveys, which has failed miserably. Unless we begin valuing feedback over metrics, we will keep seeing the metrics we want to see but failed projects and miserable team morale.

    Influencing projects and product development

    We see similar behavior on the project or product side, with too few conversations with the users and developers and too much focus on metrics. Let’s take the example of a piece of software that was released to the community or market, and the primary success metric is the number of downloads or installs. This can be deceiving for several reasons:
    1. This product was packaged into another piece of software that users installed; even though the users are not even aware of your product’s existence or purpose, it is still counted as a win and something the user needs.

    2. The marketing team spent a huge budget promoting the product—and even offered an incentive to developers to download it. The incentive drives the downloads, not user need or desire, but the metric is still considered a measure of success.

    3. Software updates are counted as downloads, even when they are involuntary updates pushed rather than initiated by the user. This keeps bumping up the number, even though the user might have used it once, a year ago, for a specific task.

    In these cases, the user automatically becomes a metric that’s used to report how well the product is doing, just based on the fact it was downloaded and it’s accepting updates, regardless of whether the user likes or uses the software. Instead, we should be focusing on actual usage of the product and the feedback these users have to offer us, rather than stopping short at the download numbers.

    The same holds true for SaaS products—instead of counting the number of signups, we should look at how often users use the product or service. Signups by themselves have little meaning, especially to the DevOps team where the focus is on getting constant feedback and striving for continuous improvements.

    Gathering feedback

    So, why do we rely on metrics so much? My guess is they are easy to collect, and the marketing team is more interested in getting the product into the users’ hands than evaluating how it is fairing. Unless the engineering team invests quite a bit of time in collecting feedback with tracing, which captures how often the program is executed and which components are used most often, it can be difficult to collect feedback.

    A big advantage of working in an open source community is that we first release the piece of software into a community where we can get feedback. Most open source enthusiasts take the time to log issues and bugs based on their experience with the product. If we can supplement this data with tracing, the team has an accurate record of how the product is used.

    Open as many channels of communication as possible–chat, email, Twitter, etc.—and allow users to choose their feedback channel.

    A few DevOps teams have integrated blue-green deployments, A/B testing, and canary releases to shorten the feedback loop. Setting up these frameworks it is not a trivial matter and calls for a huge upfront investment and constant updates to make them seamlessly work. But once everything is set up and data begins to flow, the team can act upon real feedback based on real user interactions with every new bit of software released.

    Most agile practitioners and lean movement activists push for a build-deploy-measure-learn cycle, and for this to happen, we need to collect feedback in addition to metrics. It might seem expensive and time consuming in the short term, but in the long run, it is a foolproof way of learning.

    Proof that feedback pays off

    Whether it pertains to people or projects, it pays to rely on first-hand feedback rather than metrics, which are seldom interpreted in impartial ways. We have ample proof of this in other industries, where companies such as Zappos and the Virgin Group have done wonders for their business simply by listening to their customers. There is no reason we cannot follow suit, especially those of us working in open source communities.

    Feedback is the only effective way we can uncover our blind spots. Metrics are not of much help in this regard, as we can’t find out what’s wrong when we are dealing with unknowns. Blind spots can create serious gaps between reality and what we think we know. Feedback not only encourages continuous improvement, whether it’s on a personal or a product level, but the simple act of listening and acting on it increases trust and loyalty.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第375期:《命令行 the-art-of-command-line》

    25 3 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《TweetDeck+GitHub=devhub》
    今日推荐英文原文:《4 ways to jumpstart productivity at work》

    今日推荐开源项目:《命令行 the-art-of-command-line》传送门:GitHub链接
    推荐理由:使用命令行的教学入门。这个项目是一个关于命令行使用的教学,包括在命令行中经常使用的日常命令和一些冷门但是有用的命令之类的。这个教学大多数时候是在 Linux 中使用的,不过在其他操作系统中也有一些相对应的知识。使用命令行是一个很关键的技能,虽然现在我们经常使用图形界面,但是在有些时候命令行能够比图形界面做的更快更好——如果你知道怎么使用它。
    今日推荐英文原文:《4 ways to jumpstart productivity at work》作者:Sarah
    原文链接:https://opensource.com/article/19/3/guide-being-more-productive
    推荐理由:要想提高工作效率,最好的方法就是更好的利用时间

    4 ways to jumpstart productivity at work

    Time poverty—the idea that there’s not enough time to do all the work we need to do—is it a perception or a reality?

    The truth is you’ll never get more than 24 hours out of any day. Working longer hours doesn’t help. Your productivity actually decreases the longer you work in a given day. Your perception, or intuitive understanding of your time, is what matters. One key to managing productivity is how you use the time you’ve got.

    You have lots of time that you can use more efficiently, including time lost to ineffective meetings, distractions, and context switching between tasks. By spending your time more wisely, you can get more done and achieve higher overall job performance. You will also have a higher level of job satisfaction and feel lower levels of stress.

    Jumpstart your productivity

    1. Eliminate distractions

    When you have too many things vying for your attention, it slows you down and decreases your productivity. Do your best to remove every distraction that pulls you off tasks.

    Cellphones, email, and messaging apps are the most common drains on productivity. Set the ringer on your phone to vibrate, set specific times for checking email, and close irrelevant browser tabs. With this approach, your work will be interrupted less throughout the day.

    2. Make your to-do list verb-oriented

    To-do lists are a great way to help you focus on exactly what you need to accomplish each day. Some people do best with a physical list, like a notebook, and others do better with digital tools. Check out these suggestions for open source productivity tools to help you manage your workflow. Or check these six open source tools to stay organized:
    • Joplin, a note-taking app
    • Wekan, an open source kanban board
    • TaskBoard, a lightweight kanban board
    • Go For It, a flexible to-do list application
    • Org mode without Emacs
    • Freeplane, an open source mind-mapping application
    Your list can be as sophisticated or as simple as you like, but just making a list is not enough. What goes on your list makes all the difference. Every item that goes on your list should be actionable. The trick is to make sure there’s a verb. For example, “Smith project” is not actionable enough. “Outline key deliverables on Smith project” gives you a more concrete task to complete.

    3. Stick to the 10-minute rule

    Overwhelmed by an unclear or unwieldy task? Break it into 10-minute mini-tasks instead. This can be a great way to take something unmanageable and turn it into something achievable.

    The beauty of 10-minute tasks is they can be fit into many parts of your day. When you get into the office in the morning and are feeling fresh, kick off your day with a burst of productivity with a few 10-minute tasks. Losing momentum in the afternoon? A 10-minute job can help you regain speed.

    Ten-minute tasks are also a good way to identify tasks that can be delegated to others. The ability to delegate work is often one of the most effective management techniques. By finding a simple task that can be accomplished by another member of your team, you can make short work of a big job.

    4. Take a break

    Another drain on productivity is the urge to keep pressing ahead on a task to complete it without taking a break. Suddenly you feel really fatigued or hungry, and you realize you haven’t gone to the bathroom in hours! Your concentration is affected, and therefore your productivity decreases.

    Set benchmarks for taking breaks and stick to them. For example, commit to once per hour to get up and move around for five minutes. If you’re pressed for time, stand up and stretch for two minutes. Changing your body position and focusing on the present moment will help relieve any mental tension that has built up.

    Hydrate your mind with a glass of water. When your body is not properly hydrated, it can put increased stress on your brain. As little as a one to three percent decrease in hydration can negatively affect your memory, concentration, and decision-making.

    Don’t fall into the time-poverty trap

    Time is limited and time poverty is just an idea. How you choose to spend the time you have each day is what’s important. When you develop new, healthy habits, you can increase your productivity and direct your time in the ways that give the most value.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第374期:《备忘录大全 cheatsheets》

    24 3 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《备忘录大全 cheatsheets》
    今日推荐英文原文:《10 Habits of Highly Successful Software Developers》

    今日推荐开源项目:《备忘录大全 cheatsheets》传送门:GitHub链接
    推荐理由:备忘录,在你学习各种知识的时候把一些常用或者难记的知识点简单的记录一下,日后就可以在忘记的时候看一眼来激活自己的记忆。这个项目就是关于各方面知识的备忘录大全,里面包括了各种语言乃至编辑器使用的知识列表,不管是把它加入收藏还是以它为样板制造自己的备忘录都是一个不错的选择。
    今日推荐英文原文:《10 Habits of Highly Successful Software Developers》作者: Lauren Adley
    原文链接:https://opensourceforu.com/2019/02/10-habits-of-highly-successful-software-developers/
    推荐理由:成功人士保有的一些好习惯,其中的一些对于提升自我有不错的效果

    10 Habits of Highly Successful Software Developers

    This century definitely belongs to technology, and we are going to keep on relying on it more and more, so it’s not a surprise that software developers are probably the most sought-after people in the world. If you are a programmer or a software engineer, you probably don’t have to worry about stuff like job security or having a decent income. And if you want to become one, things are even better, because there are so many resources you can turn to for help.

    But, even if you have a degree in computer science, you will have to keep on learning all throughout your career if you are interested in becoming a successful developer. According to research, while 67% of the interviewed developers had a degree, as much as 74% of them said that they were self-taught to a degree. However, lifelong learning is just one aspect of being a developer. Other aspects are good habits, and with that in mind, here are 10 most important ones that all successful software developers have adopted.

    1. Read Books

    There is plenty of great stuff online, but there are also many distractions, plus the information you need is scattered all over the place. So, you never really end up learning as much as you should have. Books on software development, on the other hand, have zero distractions and all the knowledge you need is right there in concentrated form.

    2. Learn A New Programming Language

    Learning a new programming language will not only help you solidify your knowledge, but it will also open the door for a whole bunch of new opportunities. As for which one you should learn first, well, you can start with JavaScript, since it is the most popular, according to 69.8% of the respondents to Stack Overflow survey. But you should also check out Python, which has been making some huge strides in the last few years. Advertisement

    3. Find Out What the Employers Are Looking For

    This is somewhat of a continuation of our previous point. While it’s great to learn as many different languages and skills as possible, you should always opt for those which can provide you with a competitive edge right now, such as Javascript, React, Spring, and Django, just to name a few.

    4. Master Touch Typing

    Although touch typing may not be a very technical skill, it is extremely necessary if you are a software developer. Why? Well, let’s do the math. You probably spend 90% of your work typing, and if you add to that the fact that you spend the majority of your day working, it adds up to a lot of time wasted that gets wasted if you haven’t learned touch typing.

    5. Opt for the Best Possible Tools

    We are talking about relying on specialized text editors, libraries, getting a faster computer and/or an additional screen, getting an ergonomic chair, and doing just about anything that can make your job easier and less stressful. As we have already pointed out, you will probably be working long hours, which means that even the slightest annoyances can get amplified during a long period of time.

    6. Ask Questions

    As a developer, you are supposed to analyze and question everything, especially if it is something you don’t fully understand. Most people avoid this, out of fear of looking stupid, but remember that there will be plenty of situation where you will find yourself not knowing something, and every time you do, you should go ahead and ask a question. That is how you learn.

    7. Refactor Your Code

    Refactoring your code will not alter the behavior of your code, but it will make it easier to read, understand, and maintain, which is something that is worth its weight in gold nowadays. So, don’t be afraid to get your hands dirty and even try some automated testing.

    8. Look for Help Online

    There is a solution online to pretty much every problem you will encounter as a software developer, so it makes perfect sense to make use of it and save time. But, before you start copying the code from Stack Overflow, make sure to take the time to understand the solution. Only then will this help your growth as a developer.

    9. Listen More Than You Speak

    Listening is just about the fastest way to learn something. The more you talk and assume to know everything, the more you are cheating yourself out of opportunities to obtain new knowledge. Being a good listener goes a long way, even if you are a developer.

    10. Keep Your Health in Check

    While programming is a mental activity, if your body is not well, then your mind will be messed up too, so make sure to eat right, get enough exercise and sleep, and cut out as many vices from your life as possible.

    Conclusion

    Being a successful developer is not just about what you know, but also about making your life easier and staying out of your own way at times. We hope that the tips shared in this article will help you have a long and fruitful career as a developer. Good luck!
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第373期:《论文技巧 paper-tips-and-tricks》

    23 3 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《论文技巧 paper-tips-and-tricks》
    今日推荐英文原文:《A Brief History of FOSS Practices》


    今日推荐开源项目:《论文技巧 paper-tips-and-tricks》传送门:GitHub链接
    推荐理由:一个关于写学术论文的技巧合集。尽管它们中的一些需要依赖特定的工具,但是其中提到的思想——排版和符号等等可以在任何地方起到作用,对于刚开始写学术论文的朋友来说尽早了解它们是个好事,而且项目最后提到的资源也能在写论文的时候提供帮助。
    今日推荐英文原文:《A Brief History of FOSS Practices》作者: Avimanyu Bandyopadhyay
    原文链接:https://itsfoss.com/history-of-foss/
    推荐理由:FOSS 历史简单回顾

    A Brief History of FOSS Practices

    We focus a great deal about Linux and Free & Open Source Software at It’s FOSS. Ever wondered how old such FOSS Practices are? How did this Practice come by? What is the History behind this revolutionary concept?

    In this history and trivia article, let’s take a look back in time through this brief write-up and note some interesting initiatives in the past that have grown so huge today.

    Origins of FOSS

    The origins of FOSS goes back to the 1950s. When hardware was purchased, there used to be no additional charges for bundled software and the source code would also be available in order to fix possible bugs in the software.

    It was actually a common Practice back then for users with the freedom to customize the code.

    At that time, mostly academicians and researchers in the industry were the collaborators to develop such software.

    The term Open Source was not there yet. Instead, the term that was popular at that time was “Public Domain Software”. As of today, ideologically, both are very much different in nature even though they may sound similar.

    SHARE

    Back in 1955, some users of the IBM 701 computer system from Los Angeles, voluntarily founded a group called SHARE. The “SHARE Program Library Agency” (SPLA) distributed information and software through magnetic tapes.

    Technical information shared, was about programming languages, operating systems, database systems, and user experiences for enterprise users of small, medium, and large-scale IBM computers.

    The initiative that is now more than 60 years old, continues to follow its goals quite actively. SHARE has its upcoming event coming up as SHARE Phoenix 2019. You can download and check out their complete timeline here.

    The GNU Project

    Announced at MIT on September 27, 1983, by Richard Stallman, the GNU Project is what immensely empowers and supports the Free Software Community today.

    Free Software Foundation

    The “Free Software Movement” by Richard Stallman established a new norm for developing Free Software.

    He founded The Free Software Foundation (FSF) on 4th October 1985 to support the free software movement. Software that ensures that the end users have freedom in using, studying, sharing and modifying that software came to be called as Free Software.
    Free as in Free Speech, Not Free Beer
    The Free Software Movement laid the following rules to establish the distinctiveness of the idea:
    • The freedom to run the program as you wish, for any purpose (freedom 0).
    • The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
    • The freedom to redistribute copies so you can help your neighbor (freedom 2).
    • The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

    The Linux Kernel

    How can we miss this section at It’s FOSS! The Linux kernel was released as freely modifiable source code in 1991 by Linus Torvalds. At first, it was neither Free Software nor used an Open-source software license. In February 1992, Linux was relicensed under the GPL.

    The Linux Foundation

    The Linux Foundation has a goal to empower open source projects to accelerate technology development and commercial adoption. It is an initiative that was taken in 2000 via the Open Source Development Labs (OSDL) which later merged with the Free Standards Group.

    Linus Torvalds works at The Linux Foundation who provide complete support to him so that he can work full-time on improving Linux.

    Open Source

    When the source code of Netscape Communicator was released in 1998, the label “Open Source” was adopted by a group of individuals at a strategy session held on February 3rd, 1998 in Palo Alto, California. The idea grew from a visionary realization that the Netscape announcement had changed the way people looked at commercial software.

    This opened up a whole new world, creating a new perspective that revealed the superiority and advantage of an open development process that could be powered by collaboration.

    Christine Peterson was the one among that group of individuals who originally suggested the term “Open Source” as we perceive today (mentioned earlier).

    Evolution of Business Models

    The concept of Open Source is a huge phenomenon right now and there are several companies that continue to adopt the Open Source Approach to this day. As of April 2015, 78% of companies used Open Source Software with different Open Source Licenses.

    Several organisations have adopted different business models for Open Source. Red Hat and Mozilla are two good examples.

    So this was a brief recap of some interesting facts from FOSS History. Do let us know your thoughts if you want to share in the comments below.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
←上一页
1 … 165 166 167 168 169 … 262
下一页→

Proudly powered by WordPress