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

开源日报

  • 开源日报第396期:《命令速查 linux-command》

    15 4 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《命令速查 linux-command》
    今日推荐英文原文:《5 Linux rookie mistakes》

    今日推荐开源项目:《命令速查 linux-command》传送门:GitHub链接
    推荐理由:一个用于快速查找 Linux 命令行命令的项目。当然了这不仅仅是忘记命令时用来提示的工具,对于每一个命令它都给出了语法,说明,选项和一些实例,就算是用于在刚开始使用 Linux 时熟悉命令的教程也可以。毕竟 Linux 上可是有 540 多个命令,除了常用的基本命令之外,把它们一一记全实在是不太容易。
    今日推荐英文原文:《5 Linux rookie mistakes》作者:Jen Wike Huger
    原文链接:https://opensource.com/article/19/4/linux-rookie-mistakes
    推荐理由:一些 Linux 新手可能会犯下的错误

    5 Linux rookie mistakes

    It’s smart to learn new skills throughout your life—it keeps your mind nimble and makes you more competitive in the job market. But some skills are harder to learn than others, especially those where small rookie mistakes can cost you a lot of time and trouble when you’re trying to fix them.

    Take learning Linux, for example. If you’re used to working in a Windows or MacOS graphical interface, moving to Linux, with its unfamiliar commands typed into a terminal, can have a big learning curve. But the rewards are worth it, as the millions and millions of people who have gone before you have proven.

    That said, the journey won’t be without pitfalls. We asked some of Linux enthusiasts to think back to when they first started using Linux and tell us about the biggest mistakes they made.

    “Don’t go into [any sort of command line interface (CLI) work] with an expectation that commands work in rational or consistent ways, as that is likely to lead to frustration. This is not due to poor design choices—though it can feel like it when you’re banging your head against the proverbial desk—but instead reflects the fact that these systems have evolved and been added onto through generations of software and OS evolution. Go with the flow, write down or memorize the commands you need, and (try not to) get frustrated when things aren’t what you’d expect.” —Gina Likins

    “As easy as it might be to just copy and paste commands to make the thing go, read the command first and at least have a general understanding of the actions that are about to be performed. Especially if there is a pipe command. Double especially if there is more than one. There are a lot of destructive commands that look innocuous until you realize what they can do (e.g., rm, dd), and you don’t want to accidentally destroy things. (Ask me how I know.)” —Katie McLaughlin

    “Early on in my Linux journey, I wasn’t as aware of the importance of knowing where you are in the filesystem. I was deleting some file in what I thought was my home directory, and I entered sudo rm -rf * and deleted all of the boot files on my system. Now, I frequently use pwd to ensure that I am where I think I am before issuing such commands. Fortunately for me, I was able to boot my wounded laptop with a USB drive and recover my files.” —Don Watkins

    “Do not reset permissions on the entire file system to 777 because you think ‘permissions are hard to understand’ and you want an application to have access to something.” —Matthew Helmke

    “I was removing a package from my system, and I did not check what other packages it was dependent upon. I just let it remove whatever it wanted and ended up causing some of my important programs to crash and become unavailable.” —Kedar Vijay Kulkarni
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第395期:《如何写得简明易懂 git-style-guide》

    14 4 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《如何写得简明易懂 git-style-guide》
    今日推荐英文原文:《How do you contribute to open source without code?》

    今日推荐开源项目:《如何写得简明易懂 git-style-guide》传送门:GitHub链接
    推荐理由:在使用 Git 时会发挥作用的指南——有助于养成良好的习惯。这个项目着重于使用 Git 时应当养成的一些好习惯,这些习惯能够让你向其他人传达更清晰的信息,这在多人协作中尤其重要。它包括了如何描述分支,如何更清晰的描述提交等等,现在写的更清楚,几年之后再回来就不至于摸不着头脑了。
    今日推荐英文原文:《How do you contribute to open source without code?》作者: Chris Hermansen
    原文链接:https://opensource.com/article/19/4/contribute-without-code
    推荐理由:一些不需要通过代码就能够帮助开源的手段

    How do you contribute to open source without code?

    My earliest open source contributions date back to the mid-1980s when our organization first connected to UseNet where we discovered the contributed code and the opportunities to share in its development and support.

    Today there are endless contribution opportunities, from contributing code to making how-to videos.

    I’m going to step right over the whole issue of contributing code, other than pointing out that many of us who write code but don’t consider ourselves developers can still contribute code. Instead, I’d like to remind everyone that there are lots of non-code ways to contribute to open source and talk about three alternatives.

    Filing bug reports

    One important and concrete kind of contribution could best be described as “not being afraid to file a decent bug report” and all the consequences related to that. Sometimes it’s quite challenging to file a decent bug report. For example:
    • A bug may be difficult to record or describe. A long and complicated message with all sorts of unrecognizable codes may flash by as the computer is booting, or there may just be some “odd behavior” on the screen with no error messages produced.
    • A bug may be difficult to reproduce. It may occur only on certain hardware/software configurations, or it may be rarely triggered, or the precise problem area may not be apparent.
    • A bug may be linked to a very specific development environment configuration that is too big, messy, and complicated to share, requiring laborious creation of a stripped-down example.
    • When reporting a bug to a distro, the maintainers may suggest filing the bug upstream instead, which can sometimes lead to a lot of work when the version supported by the distro is not the primary version of interest to the upstream community. (This can happen when the version provided in the distro lags the officially supported release and development version.)
    Nevertheless, I exhort would-be bug reporters (including me) to press on and try to get bugs fully recorded and acknowledged.

    One way to get started is to use your favorite search tool to look for similar bug reports, see how they are described, where they are filed, and so on. Another important thing to know is the formal mechanism defined for bug reporting by your distro (for example, Fedora’s is here; openSUSE’s is here; Ubuntu’s is here) or software package (LibreOffice’s is here; Mozilla’s seems to be here).

    Answering user’s questions

    I lurk and occasionally participate in various mailing lists and forums, such as the Ubuntu quality control team and forums, LinuxQuestions.org, and the ALSA users’ mailing list. Here, the contributions may relate less to bugs and more to documenting complex use cases. It’s a great feeling for everyone to see someone jumping in to help a person sort out their trouble with a particular issue.

    Writing about open source

    Finally, another area where I really enjoy contributing is writing about using open source software; whether it’s a how-to guide, a comparative evaluation of different solutions to a particular problem, or just generally exploring an area of interest (in my case, using open source music-playing software to enjoy music). A similar option is making an instructional video; it’s easy to record the desktop while demonstrating some fiendishly difficult desktop maneuver, such as creating a splashy logo with GIMP. And those of you who are bi- or multi-lingual can also consider translating existing how-to articles or videos to another language.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第394期:《点子王 app-ideas》

    13 4 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《点子王 app-ideas》
    今日推荐英文原文:《What it takes to become a blockchain developer》

    今日推荐开源项目:《点子王 app-ideas》传送门:GitHub链接
    推荐理由:想要写点东西当作练习却不知道写什么?这个项目可以很好的解决这个问题——它是一个收集各种应用 idea 的合集,可以很好的用来训练编码能力和尝试学到的新技术。如果你也知道一些符合这些条件的应用 idea 的话,也可以通过 issue 贡献出去,或者贡献你根据这些 idea 完成的项目,纵使是相同的项目,不同的人也可能做出完全不同的效果……有些诧异会让其他人大吃一惊。
    今日推荐英文原文:《What it takes to become a blockchain developer》作者:Joseph Mugo
    原文链接:https://opensource.com/article/19/4/blockchain-career-developer
    推荐理由:转职为稀有的区块链开发者需要的一些条件

    What it takes to become a blockchain developer

    The past decade has been an interesting time for the development of decentralized technologies. Before 2009, the progress was slow and without any clear direction until Satoshi Nakamoto created and deployed Bitcoin. That brought blockchain, the record-keeping technology behind Bitcoin, into the limelight. Since then, we’ve seen blockchain revolutionize various concepts that we used to take for granted, such as monitoring supply chains, creating digital identities, tracking jewelry, and managing shipping systems. Companies such as IBM and Samsung are at the forefront of blockchain as the underlying infrastructure for the next wave of tech innovation. There is no doubt that blockchain’s role will grow in the years to come. Thus, it’s no surprise that there’s a high demand for blockchain developers. LinkedIn put “blockchain developers” at the top of its 2018 emerging jobs report with an expected 33-fold growth. The freelancing site Upwork also released a report showing that blockchain was one of the fastest growing skills out of more than 5,000 in its index. Describing the internet in 2003, Jeff Bezos said, “we are at the 1908 Hurley washing machine stage.” The same can be said about blockchain today. The industry is busy building its foundation. If you’ve been considering a career as a blockchain developer, the time to get your foot in the door is now. However, you may not know where to start. It can be frustrating to go through countless blog posts and white papers or messy Slack channels when trying to find your footing. This article is a report on what I learned when contemplating whether I should become a blockchain developer. I’ll approach it from the basics, with resources for each topic you need to master to be industry-ready.

    Technical fundamentals

    Although you’re won’t be expected to build a blockchain from scratch, you need to be skilled enough to handle the duties of blockchain development. A bachelor’s degree in computer science or information security is required. You also need to have some fundamentals in data structures, cryptography, and networking and distributed systems.

    Data structures

    The complexity of blockchain requires a solid understanding of data structures. At the core, a distributed ledger is like a network of replicated databases, only it stores information in blocks rather than tables. The blocks are also cryptographically secured to ensure their integrity every time a block is added. For this reason, you have to know how common data structures, such as binary search trees, hash maps, graphs, and linked lists, work. It’s even better if you can build them from scratch. This GitHub repository contains all information newbies need to learn data structures and algorithms. Common languages such as Python, Java, Scala, C, C-Sharp, and C++ are featured.

    Cryptography

    Cryptography is the foundation of blockchain; it is what makes cryptocurrencies work. The Bitcoin blockchain employs public-key cryptography to create digital signatures and hash functions. You might be discouraged if you don’t have a strong math background, but Stanford offers a free course that’s perfect for newbies. You’ll learn about authenticated encryption, message integrity, and block ciphers. You should also study RSA, which doesn’t require a strong background in mathematics, and look at ECDSA (elliptic curve cryptography). And don’t forget cryptographic hash functions. They are the equations that enable most forms of encryptions on the internet. They keep payments secure on e-commerce sites and are the core mechanism behind the HTTPS protocol. There’s extensive use of cryptographic hash functions in blockchain.

    Networking and distributed systems

    Build a good foundation in understanding how distributed ledgers work. Also understand how peer-to-peer networks work, which translates to a good foundation in computer networks, from networking topologies to routing. In blockchain, the processing power is harnessed from connected computers. For seamless recording and interchange of information between these devices, you need to understand about Byzantine fault-tolerant consensus, which is a key security feature in blockchain. You don’t need to know everything; an understanding of how distributed systems work is good enough. Stanford has a free, self-paced course on computer networking if you need to start from scratch. You can also consult this list of awesome material on distributed systems.

    Cryptonomics

    We’ve covered some of the most important technical bits. It’s time to talk about the economics of this industry. Although cryptocurrencies don’t have central banks to monitor the money supply or keep crypto companies in check, it’s essential to understand the economic structures woven around them. You’ll need to understand game theory, the ideal mathematical framework for modeling scenarios in which conflicts of interest exist among involved parties. Take a look at Michael Karnjanaprakorn’s Beginner’s Guide to Game Theory. It’s lucid and well explained. You also need to understand what affects currency valuation and the various monetary policies that affect cryptocurrencies. Here are some books you can refer to:
    • The Business Blockchain: Promise, Practice, and Application of the Next Internet Technology by William Mougayar
    • Blockchain: Blueprint for the New Economy by Melanie Swan
    • Blockchain: The Blockchain For Beginners Guide to Blockchain Technology and Leveraging Blockchain Programming by Josh Thompsons
    Depending on how skilled you are, you won’t need to go through all those materials. But once you’re done, you’ll understand the fundamentals of blockchain. Then you can dive into the good stuff.

    Smart contracts

    A smart contract is a program that runs on the blockchain once a transaction is complete to enhance blockchain’s capabilities. Unlike traditional judicial systems, smart contracts are enforced automatically and impartially. There are also no middlemen, so you don’t need a lawyer to oversee a transaction. As smart contracts get more complex, they become harder to secure. You need to be aware of every possible way a smart contract can be executed and ensure that it does what is expected. At the moment, not many developers can properly optimize and audit smart contracts.

    Decentralized applications

    Decentralized applications (DApps) are software built on blockchains. As a blockchain developer, there are several platforms where you can build a DApp. Here are some of them: Ethereum Ethereum is Vitalik Buterin’s brainchild. It went live in 2015 and is one of the most popular development platforms. Ether is the cryptocurrency that fuels the Ethereum. It has its own language called Solidity, which is similar to C++ and JavaScript. If you’ve got any experience with either, you’ll pick it up easily. One thing that makes Solidity unique is that it is smart-contract oriented.

    NEO

    Originally known as Antshares, NEO was founded by Erik Zhang and Da Hongfei in 2014. It became NEO in 2017. Unlike Ethereum, it’s not limited to one language. You can use different programming languages to build your DApps on NEO, including C# and Java. Experienced users can easily start building DApps on NEO. It’s focused on providing platforms for future digital businesses. Consider NEO if you have applications that will need to process lots of transactions per second. However, it works closely with the Chinese government and follows Chinese business regulations.

    EOS

    EOS blockchain aims to be a decentralized operating system that can support industrial-scale applications. It’s basically like Ethereum, but with faster transaction speeds and more scalable.

    Hyperledger

    Hyperledger is an open source collaborative platform that was created to develop cross-industry blockchain technologies. The Linux Foundation hosts Hyperledger as a hub for open industrial blockchain development.

    Learning resources

    Here are some courses and other resources that’ll help make you an industry-ready blockchain developer.
    • The University of Buffalo and The State University of New York have a blockchain specialization course that also teaches smart contracts. You can complete it in two months if you put in 10 hours per week. You’ll learn about designing and implementing smart contracts and various methods for developing decentralized applications on blockchain.
    • DApps for Beginners offers tutorials and other information to get you started on creating decentralized apps on the Ethereum blockchain. You’ll need to know JavaScript, and knowledge of C++ is an added advantage.
    • IBM also offers Blockchain for Developers, where you’ll work with IBM’s private blockchain and build smart contracts using the Hyperledger Fabric.
    • For $3,500 you can enroll in MIT’s online Blockchain Technologies: Business Innovation and Application program, which examines blockchain from an economic perspective. You need deep pockets for this one; it’s meant for executives who want to know how blockchain can be used in their organizations.
    • If you’re willing to commit 10 hours per week, Udacity’s Blockchain Developer Nanodegree can prepare you to become an industry-ready blockchain developer in six months. Before enrolling, you should have some experience in object-oriented programming. You should also have developed the frontend and backend of a web application with JavaScript. And you’re required to have used a remote API to create and consume data. You’ll work with Bitcoin and Ethereum protocols to build projects for real-world applications.
    • If you need to shore up your foundations, you may be interested in the Open Source Society University’s wildly popular and free computer science curriculum.
    • You can read a variety of articles about blockchain in open source on Opensource.com.

    Types of blockchain development

    What does a blockchain developer really do? It doesn’t involve building a blockchain from scratch. Depending on the organization you work for, here are some of the categories that blockchain developers fall under. Backend developers In this case, the developer is responsible for:
    • Designing and developing APIs for blockchain integration
    • Doing performance testing and deployment
    • Gathering requirements and working side-by-side with other developers and designers to design software
    • Providing technical support

    Blockchain-specific

    Blockchain developers and project managers fall under this category. Their main roles include:
    • Developing and maintaining decentralized applications
    • Supervising and planning blockchain projects
    • Advising companies on how to structure initial coin offerings (ICOs)
    • Understanding what a company needs and creating apps that address those needs
    • For project managers, organizing training for employees

    Smart-contract engineers

    This type of developer is required to know a smart-contract language like Solidity, Python, or Go. Their main roles include:
    • Auditing and developing smart contracts
    • Meeting with users and buyers
    • Understanding business flow and security to ensure there are no loopholes in smart contracts
    • Doing end-to-end business process testing

    The state of the industry

    There’s a wide base of knowledge to help you become a blockchain developer. If you’re interested in joining the field, it’s an opportunity for you to make a difference by pioneering the next wave of tech innovations. It pays very well and is in high demand. There’s also a wide community you can join to help you gain entry as an actual developer, including Ethereum Stack Exchange and meetup events around the world. The banking sector, the insurance industry, governments, and retail industries are some of the sectors where blockchain developers can work. If you’re willing to work for it, being a blockchain developer is an excellent career choice. Currently, the need outpaces available talent by far.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第393期:《Windows 的方便应用 Awesome》

    12 4 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《Windows 的方便应用 Awesome》
    今日推荐英文原文:《How AI Is Transforming Healthcare》

    今日推荐开源项目:《Windows 的方便应用 Awesome》传送门:GitHub链接
    推荐理由:在 Windows 上的方便应用合集。相信大家都或多或少的用过一段时间 Windows 系统,对它的有些地方兴许会觉得需要改进(比如文件管理器右上角那个搜索),而自己加装一些好用的软件可以解决问题。这个项目中包括了谁都喜欢的压缩、数据恢复方面的工具,还有一些开发者用得上的开发者工具,兴许这里面的有些软件可以帮上忙。顺带一提,如果想要给那个缓慢的搜索找个替代品的话,Everything 会是一个好选择。
    今日推荐英文原文:《How AI Is Transforming Healthcare》作者:Isha Salian
    原文链接:https://blogs.nvidia.com/blog/2019/04/09/how-ai-is-transforming-healthcare/
    推荐理由:AI 对医疗保健方面的影响

    How AI Is Transforming Healthcare

    Healthcare is a multitrillion-dollar global industry, growing each year as average life expectancy rises — and with nearly unlimited facets and sub-specialties.

    For medical professionals, new technologies can change the way they work, enable more accurate diagnoses and improve care. For patients, healthcare innovations lessen suffering and save lives.

    Deep learning can be implemented at every stage of healthcare, creating tools that doctors and patients can take advantage of to raise the standard of care and quality of life.

    How AI Is Changing Patient Care

    Providing patient care is a series of critical choices, from decisions made on a 911 call to the recommendations a primary physician makes at an annual physical. The challenge is getting the right treatments to patients as fast and efficiently as possible.

    Nearly half the countries and territories in the world have less than one physician per 1,000 people, a third of the threshold value to deliver quality healthcare, according to a 2018 study in The Lancet. Meanwhile, as healthcare data goes digital, the amount of information medical providers collect and refer to is growing.

    In intensive care units, these factors come together in a perfect storm — patients who need round-the-clock attention; large, continuous data feeds to interpret; and a crucial need for fast, accurate decisions.

    Researchers at MIT’s Computer Science and Artificial Intelligence Lab developed a deep learning tool called ICU Intervene, which uses hourly vital sign measurements to predict eight hours in advance whether patients will need treatments to help them breathe, require blood transfusions or need interventions to improve heart function.

    Corti, a Denmark-based startup, is stepping in at another time-sensitive interaction: phone calls with emergency services. The company is using an NVIDIA Jetson TX2 module to analyze emergency call audio and help dispatchers identify cardiac arrest cases in under a minute.

    LexiconAI, a member of the NVIDIA Inception program, is helping doctors spend more time with their patients every day. The startup built a mobile app that uses speech recognition to capture medical information from doctor-patient conversations — making it possible to automatically fill in electronic health records.

    How AI Is Changing Pathology

    Just as millions of medical scans are taken each year, so too are hundreds of millions of tissue biopsies. While pathologists have long used physical slides to analyze specimens and make diagnoses, these slides are increasingly being scanned to create digital pathology datasets.

    Inception startup Proscia uses deep learning to analyze these digital slides, scoring over 99 percent accuracy for classifying three common skin pathologies. Using AI can help standardize diagnoses, which is important. Depending on the type and stage of disease, two pathologists looking at the same tissue may disagree on a diagnosis more than half the time.

    SigTuple, another Inception startup, developed an AI microscope to analyze blood and bodily fluids. The microscope scans physical slides under a lens and uses GPU-accelerated deep learning to analyze the digital images either on SigTuple’s AI platform in the cloud or on the microscope itself.

    Compared to scanners that automatically convert glass slides to digital images and interpret the results, SigTuple’s microscope does this at a fraction of the cost. The company hopes its tool will address the global pathologist shortage, a crucial problem in many countries.

    How AI Is Changing Predictive Health

    A host of AI tools are being developed to detect risk factors for diseases months before symptoms appear. These will help doctors make earlier diagnoses, conduct longevity studies or take preventative action. Taking advantage of the ability of deep learning models to spot patterns in large datasets, these tools may extract insights from electronic health records, physical features or genetic information.

    One mobile app, Face2Gene, uses facial recognition and AI to identify about 50 known genetic syndromes from photos of patients’ faces. It’s used by around 70 percent of geneticists worldwide and could help cut down the time it takes to get an accurate diagnosis.

    Another deep learning tool, developed by researchers at NYU, analyzes lab tests, X-rays and doctors notes to predict ailments like heart failure, severe kidney disease and liver problems three months faster than traditional methods.

    Using AI and a wide range of electronic health records helped the researchers draw new connections among hundreds of health measurements that could predict diseases like diabetes.

    How AI Is Enabling Healthcare Apps

    Healthcare doesn’t start and end at the doctor’s office. And with wearables, smartphones and IoT devices, there’s no shortage of devices to monitor health from anywhere.

    A service called SpiroCall, for example, makes it possible for patients to check lung function by breathing into a smartphone, either by dialing a toll-free number or recording a sound file on an app. The data is sent to a central server, which uses a deep learning model to assess lung health.

    For athletes at risk of suffering concussions on the playing field, an AI-powered app is using a smartphone camera to analyze how an athlete’s pupils respond to light, a metric medical professionals use to diagnose brain injury.

    And in the realm of mental health, Canadian startup Aifred Health is using GPU-accelerated deep learning to better tailor depression treatments to individual patients. Using data on a patient’s symptoms, demographics and medical test results, the neural network helps doctors as they prescribe treatments.

    How AI Is Enabling Devices for People with Disabilities

    A billion people around the world experience some form of disability. AI-powered technology can provide some of them with a greater level of independence, making it easier to perform daily tasks or get around.

    Aira, a member of the Inception program, has created an AI platform that connects to smart glasses, helping people with impaired vision with tasks like reading labels on medication bottles. And a professor at Ohio State University is using GPUs and deep learning to create a hearing aid that can bump the volume of speech while filtering out background noise.

    Researchers at OSU and Battelle, a nonprofit research organization, are developing a brain-computer interface powered by neural networks that can read thoughts and restore movement to paralyzed limbs.

    And a team at Georgia Tech developed an AI prosthetic hand that helped jazz musician Jason Barnes play piano for the first time in five years. The prosthesis uses electromyogram sensors to recognize muscle movement and allows for individual finger control.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
←上一页
1 … 160 161 162 163 164 … 262
下一页→

Proudly powered by WordPress