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

开源日报

  • 开源日报第504期:《摸了 Thief-Book-VSCode》

    1 8 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《摸了 Thief-Book-VSCode》
    今日推荐英文原文:《Death By Technical Debt》

    今日推荐开源项目:《摸了 Thief-Book-VSCode》传送门:GitHub链接
    推荐理由:人生想摸鱼,十有八九。摸与返工,二者不可得兼,欲摸,则这个项目甚善也。这是个在开着 VSCode 的时候假装自己在工作实际上却能够偷偷看小说的摸鱼项目,摸鱼项目该有的巧妙隐藏和老板键等等自然都是有的。当然了,摸鱼虽好,可不要忘了 DDL 哦。
    今日推荐英文原文:《Death By Technical Debt》作者:Kevin Pimentel
    原文链接:https://medium.com/swlh/death-by-technical-debt-31b5b085c8ea
    推荐理由:简单概括技术债务——出来混迟早要还的

    Death By Technical Debt

    It’s possible that our generations debt crisis has made me more sensitive to technical debt than I should be. As software developers, we are always faced with time constraints and it’s these situations that cause us to introduce technical debt.

    I think a lot of the time technical debt is caused by one of three things: pure laziness, lack of knowledge, or a lack of care.

    Writing code is a form of art and our readers, or consumers, are other fellow software developers. Because of this, it’s very important to implement things as best as possible. No developer wants to work with developers who make their life more difficult than it should be. It’s important to demand some level of professionalism from fellow developers.

    I’m not saying code has to be perfect but there are obvious times when you are dealing with code that just isn’t meeting any sort of standard. I want to touch on a few real examples that I have come across. These examples illustrate each of the technical debt causes that are at the root of all bad code. First, we should talk about what technical debt is.

    What is technical debt?

    Technical debt occurs when you choose the “easy way” or the “fast way” instead of spending the extra time or effort to implement a more appropriate long term solution. We’ve all heard. Just do xyz, no one will know. It’s true, the client will not know. But we the developers, always end up being the ones that suffer the consequences.

    I have seen developers burn out over bad coding practices or lack of coding structure. It always starts when a programmer becomes distant and eventually toxic to the team. This leads to high churn rates which is extremely negative for teams.

    When you spend time and resources training developers that leave it’s a huge loss for the company and team. You’re losing an asset and an unquantifiable amount of knowledge.

    When technical debt builds up, developers get fed up, they get burnt out, they eventually become toxic, then they get lazy and stop caring, and eventually they leave.

    Lack of Knowledge

    This is probably the only time when introducing a quick fix is acceptable. As long as you plan on revisiting this type of technical debt, I have absolutely no problem with it. A good example of this kind of situation is when a bug is found in a legacy application that you don’t know much about. In order to implement a quick workaround you hard-code xyz and get it working fast, while you dive deeper into the code.

    I think this is totally acceptable, especially in fast paced work environments.

    Pure Laziness

    Lack of knowledge can quickly become the bad kind of laziness when the quick-fix is not revisited and is left to rot over time. It’s important to be the kind of lazy developer that wants to automate everything and never have to do a task twice, but that’s not the kind of developer that I am talking about here.

    The kind of lazy that I am referring to is the kind that has a history of hard coding, commenting / uncommenting code based on data, copying pasting code because it works, and so on.

    Recently I was dealing with a legacy application that centered a video on a page depending on the number of videos. If there was a video alone in a row it needed to be centered. I discovered that a fellow developer was updating the centering code by commenting it on or off based on the amount of videos in the database.

    He was actively making the bootstrap offset class available based on how many videos were in the system. This type of laziness is remarkably infuriating. Think about this:

    Every time a client updates their videos the code will need to be turned on or off based on the amount of videos.

    Now let’s say the client updates the videos once a month. The client will have to contact development every time it doesn’t look right. Let’s be generous and say that this can all be accomplished in 15 minutes each time. Let’s say this goes on for a year, that’s an hour every four months, 3 hours a year.

    So you’re wasting 3 hours a year, when you could of taken 15 minutes to implement a:
    videos_count MOD 3 === 1
    
    And called it a day for the rest of humanity. This is the type of thing that makes me want to choke a baby llama.

    Lack of Caring

    Lack of caring is easy to detect in the code. It’s usually a bunch of copy and paste with variables that make no sense, and changes that have to be implemented in 15 different places. There’s no attempt to follow the coding standard at all.

    When a developer stops caring his code becomes very toxic and it’s extremely hard to follow what is going on. You never want to work with a developer that doesn’t care, this is the worst kind of developer and they will make your life more difficult.

    Whenever I get involved in the interview process I am looking for what kind of effort this developer puts into their code. This will tell you a lot about the type of person they are. You want to keep developers that don’t care about code, and only care about it “working”, as far away from your team as possible. These types of developers will destroy your team and make everyone frustrated in the process.

    Conclusion

    The best way to deal with technical debt in my opinion is to get everyone to buy in and own the code. When you feel that you own something and are invested in it, you naturally want to do a better job. The second thing is to implement a coding standard. A coding standard should be such that you can’t tell the difference in who authored a line of code.

    The final thing is code reviews. If you lack the knowledge to implement a fix, having fellow developers looking at the code might trigger the feedback needed to improve the code. Also, when you know other people are going to look at your code you tend to do a better job.

    If the code is still a dumpster fire, you can always reject it. Which is why we version control.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第503期:《自带音效 Keyda》

    31 7 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《自带音效 Keyda》
    今日推荐英文原文:《2020 and Beyond Programming Trend Predictions》

    今日推荐开源项目:《自带音效 Keyda》传送门:GitHub链接
    推荐理由:因为现在大部分人在使用电脑的时间力都是放着音乐的,对按键声可能没有那么在意。但是按键的声音作为操作的一个反馈实际上能够让人对使用键盘这件事更加集中,虽然现在已经有了音乐这种更好的替代品,但是如果想要重温键盘的按键声但是自己的键盘又做不到的话,这个项目能够替代你的键盘来发出按键声,对于那些很安静的键盘来说,它也不会在大半夜吵到你的舍友。
    今日推荐英文原文:《2020 and Beyond Programming Trend Predictions》作者:Indrek Lasn
    原文链接:https://medium.com/better-programming/2020-programming-trend-predictions-a5d6b70bec26
    推荐理由:下一年编程技术的趋势

    2020 and Beyond Programming Trend Predictions

    Predicting what programming technologies will emerge in 2020


    Photo by Safar Safarov on Unsplash

    2020 is almost here, as crazy as that sounds. The year 2020 sounds like it’s derived from science fiction, yet here we are — about to knock on its front door.

    If you’re curious about what the future might bring to the programming world, you’re in the right place. I might be completely wrong — don’t quote me on this— but here’s what I think will happen. I can’t predict the future, but I can make educated guesses.
    “The best way to predict your future is to create it.” ― Abraham Lincoln

    Rust Will Become Mainstream


    Rust- https://www.rust-lang.org/

    Rust is a multi-paradigm system programming language focused on safety — especially safe concurrency. Rust is syntactically similar to C++, but it’s designed to provide better memory safety while maintaining high performance.

    Source: Leftover Salad

    We’ve seen four years of strong growth of the Rust programming language. I believe 2020 is the year Rust will officially become mainstream. What is mainstream is up for self-interpretation, but I believe schools will start introducing Rust to their curriculum. This will create a new wave of Rust engineers.

    Most loved programming languages from the 2019 StackOverflow Survey.

    Rust has proven itself to be a great language with a vibrant and active community. With Facebook building Libra on Rust — its the biggest project ever — we’re about to see what Rust is really made off.

    If you’re looking to learn a new language, I would strongly recommend learning Rust.

    GraphQL Adoption Will Continue to Grow


    GraphQL Google Trends

    As our applications grow in complexity, so do our data consumption needs. I’m a big fan of GraphQL, and I’ve used it many times. I think it’s a far superior solution to fetching data compared with a traditional REST API.

    While typical REST APIs require loading from multiple URLs, GraphQL APIs get all the data your app needs in a single request.

    GraphQL is used by teams of all sizes in many different environments and languages to power mobile apps, websites, and APIs.

    Who’s using GraphQL

    Progressive Web Apps Are a Force to Reckon With

    Progressive Web Apps (PWA) is a new approach to building applications by combining the best features of the web with the top qualities of mobile apps.

    Photo by Rami Al-zayat on Unsplash

    There are way more web developers in the wild than native platform-specific developers. Once big companies realize that they can repurpose their web devs to make progressive web applications, I suspect that we’ll be seeing a huge wave of PWAs.

    It will take a while for bigger companies to adapt, though, which is pretty normal for technology. The progressive part would generally fall towards the front end development since it’s mostly all about interacting with the Web Workers API (Native Browser API).

    Web apps aren’t going anywhere. More people are catching onto the idea that writing a single cross-compatible PWA is less work and more money for your time.

    PWA Google Trends

    Web Assembly Will See More Light


    Web Assembly

    WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C, C++, and Rust. Wasm also enables deployment on the web for client and server applications. PWAs can use wasm too.

    In other words, Web Assembly is a way to bridge JavaScript technologies with more level technologies. Think of using a Rust image processing library in your React app. Web assembly allows you to do that.

    Performance is key, and as the amount of data grows, it will be even harder to keep a good performance. That’s when low-level libraries from C++ or Rust come into play. We’ll see bigger companies adopting Web Assembly and snowball from there.

    React Will Continue to Reign


    Frontend JavaScript frontend libraries

    React is by far the most popular JavaScript library for front end development, and for a good reason too. It’s fun and easy to build React apps. The React team and community have done a splendid job as far as the experience goes for building applications.

    React — https://reactjs.org

    I’ve worked with Vue, Angular, and React, and I think they’re all fantastic frameworks to work with. Remember, the goal of a library is to get stuff done, so focus less on the flavor, and more on the getting stuff done. It’s utterly unproductive to argue about what framework is the “best.” Pick a framework and channel all your energy into building stuff instead.

    Always Bet on JavaScript

    We can say with confidence that 2010s was the decade of JavaScript. We’ve seen a massive spike of JavaScript growth, and it doesn’t seem to be slowing down.

    JavaScript developers have been taking some abuse by being called “not real developers.” JavaScript is the heart of any big tech company, such as Netflix, Facebook, Google, and many more. Therefore, JavaScript as a language is as legitimate as any other programming language. Take pride in being a JavaScript developer. After all, some of the coolest and most innovative stuff has been built by the JavaScript community.

    Almost all websites are leveraging JavaScript to some degree. How many websites are out there? Millions!

    It has never been a better time to be a JavaScript developer. Salaries are on the rise, the community is as alive as ever, and the job market is huge.

    Top languages over time

    I wrote earlier on the subject of what makes JavaScript popular — you should probably read that too.

    Top open source projects
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第502期:《粘贴为文件 PasteEx》

    30 7 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《粘贴为文件 PasteEx》
    今日推荐英文原文:《The Parallel Threads of Life and Programming》

    今日推荐开源项目:《粘贴为文件 PasteEx》传送门:GitHub链接
    推荐理由:一个在 Windows 操作系统上适用的小工具。在看到某些文字或者图片的时候希望将它们存放为文件,但是新建文本或者另存为图片都稍显麻烦,而这个工具能让你直接将文字保存为文件或者使用复制粘贴来保存一张图片,在需要进行大量这种操作时能够节省不少时间。
    今日推荐英文原文:《The Parallel Threads of Life and Programming》作者:Brandon Wozniewicz
    原文链接:https://medium.com/@woz.brandon/the-parallel-threads-of-life-and-programming-66ff862bfed3
    推荐理由:生活和编程的相似之处

    The Parallel Threads of Life and Programming

    Our deepest desire is that, by paying the cost which is time, we are shown a glimmer of some fundamental truth about the universe. To hear it whisper its lessons and point towards its purpose.

    If you look hard enough for these lessons you find them. Whether they are a manifestation of your mind or can be held in your hand, once you see them, they remain forever yours.

    Programming offers great parallels to life. We are tasked with creating something, something whose sum–in the end–feels greater than the parts. Like life, it is a test of bounded creativity. There are rules we must follow, some we should follow, and others we are free to ignore. Programming offers us a glimpse, however ephemeral it may be, into some fundamental truths about the world in which we reside.

    Four Parallels Between Programming and “Life”

    1. Iteration is progress.
    2. Most complex problems are collections of smaller problems that have already been solved.
    3. How you define a problem is how you will solve a problem.
    4. The arrangement of parts is much more important than the parts themselves.

    Iteration is progress.

    Imagine if I gave you a magic bag. What ever you place in the bag will double in value every day. The only catch is you have sit in a chair and stare at the bag for 8 hours, and the only thing you can place in the bag is a single penny.

    Man, rules, huh?

    If you started the month with that single penny, and placed it in the bag, you would only have $163 on the 15th of the month. Surely, you think, there must be a better way to make $163 in 15 days. Considering this, you might be inclined to stop spending 8 hours a day staring at a bag. But if you are willing to continue for 15 more days, you would have more than 5 million dollars by the end of the month. Go ahead, I’ll wait while you do the math.

    In programming, we use the term iterate to indicate repeating something. In its loosest definition, it means just that–repetition. In a more formal definition, it is repeatedly applying a procedure to the previous result of that procedure. For example, adding the number 1 to 1 to get 2, then adding 1 to 2 to get 3, and so forth.

    When we iterate we are also looking for feedback, waiting for some condition to be met so we can either stop iterating or adjust how we are iterating. If we fail to listen for that feedback, we may get stuck in an infinite loop. Our computers freeze up, and like the impatient elevator rider, we now repeatedly press CTRL ALT DEL to try to get out.

    Life is no different. We often expect we can jump from point A to point B without ever defining what point A or point B is. And, even when we define those points, we expect an immediate move from start to finish. Instead, what is often the truth, is we must incrementally make our way from beginning to end. We must listen for feedback that tells us where we are so we can make adjustments.

    When–or if–we have goals, progress can often feel–for the first few days, weeks, or even months–non-existent. We’re often enticed to start over or start fresh. But in doing so, we fail to realize, while we might not be at our goal, we are somewhere in between. A complete restart isn’t necessary, we just need to make some minor adjustments.

    Stop starting over. Let iteration be the force the creates progress.

    Most complex problems are collections of smaller problems that have already been solved.

    Even the most fascinating apps are a series of mostly mundane solutions to mundane problems. In fact, most of the solutions implemented within a program are nothing unique. It is the combination of those mundane solutions that creates a unique product.

    There is a term you may have heard called abstraction. To abstract something is to move something away from something. In computer programing, when we abstract something, we are building higher-level technology on top of lower level technology to make it easier to work with the lower level technology. For example, most programming languages are abstractions of the infamous binary language (0s and 1s). They put a layer between us and some more fundamental, but cumbersome level of interaction with the computer. These higher-level languages allow us to focus on higher-level problems.

    You may have also heard the term library. And, while I am not speaking of a poorly lit, dusty, and quiet location where books live, it isn’t far off. A library, in programming terms, is code that someone else wrote that you can use to solve routine problems. It abstracts away those things which aren’t absolutely fundamental to solving what ever problem you have. For example, if you are writing a program that requires someone to log in to use your app, you could write the code to encrypt and decrypt passwords yourself, or, you could use code written by someone else that will do that for you. With option 2, we free up time to focus on bigger problems our app is trying to solve.

    All of us use abstractions in some shape or form. For example, the grocery store is an abstraction of producing our own food. A car is an abstraction of traveling by foot. An oven is an abstraction of building a fire. These are layers we place in front of us, that allows us to allocate time to higher-level problems.

    Reinvent the wheel only to learn how to make a wheel, not to drive to the store.

    How you define a problem is how you will solve that problem.

    If I told you I would give you a lump sum of $100,000,000 if you would read the book Frankenstein to me every day for the rest of your life would you do it? What about if I were to give you only $1/day?

    Most of us would jump at the opportunity for $100,000,000. Even with a zero-percent return and inflation, you’d likely be set for the rest of your life. But, how about for $1 a day?

    My guess is some people jumped at the first opportunity, and scoffed at the second. Maybe others googled how long it would take to read Frankenstein (about 5 hours– if you are curious). So you might be thinking $100,000,000 for five-hours per day of work is worth it. Thats 35 hours per week for the rest of your life. That is probably less than you work now. But $1/day isn’t worth 35 hours of work per week.

    You decided on the solution based on how you defined the problem. You defined the problem is having to read to me once per day. What if you define the problem as having me listen to you once per day? Did the lights just turn on? Could you record the story and just play it?

    Recall the story of a truck that drove under a bridge and got stuck. Engineers spent hours trying to figure out how to move the bridge. A child came up and said, “what if you let the air out of the tires?” From the child’s vantage point, the problem wasn’t the bridge was too short, but rather the truck was too tall.

    Most people can solve any problem. In fact, most problems state the solution. For example, if the bridge is causing the issue, the answer is to do something with the bridge. If, however, the problem is that the truck is too tall, then the solution–almost glaringly obvious–is to make the truck shorter.

    The arrangement of parts is much more important than the parts themselves.

    What does the Google Maps codebase, the Declaration of Independence, Martin Luther King Jr.’s I have a dream speech, Steve Jobs 2005 commencement address, and my first app, Hello, world app have in common?

    The access to the same 26 letters of the English alphabet.

    There is very little that is more fascinating to me than the written word. The written word is one of the most powerful technologies that emerged from humans. Yes, I use the term technology because–even carved into the the wall of a cave–it fundamentally changed how we persist information. No longer was data constrained within the boundaries of our minds. While the purpose of the written word was initially linked to record-keeping, it quickly became a way to spread ideas. Some of these ideas would anger, and others inspire.

    Every language (including computer language) has subtleties when transmitting information through writing or speech. The words and their constituent parts may be slightly different, but ultimately, a language is a set of symbols that can be arranged into what seems to be an infinite number of ideas.

    For example, in the English language, there are 29 symbols that I can use to represent nearly my entire universe. I’ve mentioned the 26 letters, but it is also helpful to have access to periods, commas, and question marks. Those 29 characters are available to you, me, and were available to Steve Jobs. Yet, each of us, throughout our lives, will follow different trajectories based on the combination of letters we chose. And, while we often add words to the dictionary, we don’t usually add letters. This means that all the ideas that can exist, already do, with their constituent parts quietly waiting for us to shuffle them into existence.

    Les Brown sums it up well with this thought experiment:
    • Imagine if you will, being on your death bed. And standing around your bed–the ghosts of the ideas, the dreams, the abilities, the talents given to you by life.
    • And that you, for whatever reason, never acted on those ideas. You never pursued that dream. You never used those talents. We never saw your leadership. You never used your voice. You never wrote that book.
    • And there they are, standing around your bed, looking at you with large angry eyes saying: “We came to you. And only you could have given us life! Now we must die with you forever.”
    • The question is — if you die today–what ideas, what dreams, what abilities, what talents, what gifts, would die with you?
    Thank you for reading!
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第501期:《Just do it! awesome-minecraft》

    29 7 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《Just do it! awesome-minecraft》
    今日推荐英文原文:《What if Your Colleague is a Robot》

    今日推荐开源项目:《Just do it! awesome-minecraft》传送门:GitHub链接
    推荐理由:Minecraft,这游戏具有几乎无穷的可能性,你能在里面种菜打怪,能弹琴能放视频能上网,甚至能观察现实里的自己。这个项目就是关于 MC 这个游戏各种各样的资源合集,当然了,这些只是个开始,与这个游戏相关联的资源数数不胜数,重点是想到自己该做什么,然后再决定拿什么来做,这一点和写代码倒是有异曲同工之妙。
    今日推荐英文原文:《What if Your Colleague is a Robot》作者:Emilio H. Kalifa
    原文链接:https://towardsdatascience.com/what-if-your-colleague-is-a-robot-e1256b3e2c94
    推荐理由:未来的一种可能性——人类将成为指导者,而机器人来进行真正的行动

    What if Your Colleague is a Robot

    Artificial Intelligence, Robotics and the Bizzare Future of Collaboration


    SOURCE: © ADOBE STOCK

    Throughout history, we have seen how organisations across entire industries have embraced robotic technology, and how today, it is almost impossible for some of these organisations to operate without it. Every day, we are witnesses of how technology is integrating into nearly every aspect of our life at work, and in many cases, we depend on it to perform most of our daily tasks.

    Over many decades, organisations have been using robots to automate daily processes. In fact, every day we are surrounded by them, whether at home, in the street or at the office — from ATMs and vending machines to more sophisticated surgical robots and self-driving cars. These robots come in different forms and shapes, and perhaps they don’t look like humans, but the enterprise loves them, and they surely are a key driver for massive productivity.

    Now, imagine a regular day — wake up in the morning, go to your workplace, grab a coffee, and start a conversation with your colleague… Everything seems normal, you engage in the conversation, exchange thoughts and new ideas, then finish and move on to your desk to start working. An hour later, your manager asks you to analyse and compare five long reports. You don’t have time for that, it would take too many hours of work and tons of energy; plus there are other things that you have to do. So, you ask your colleague for help and amazingly get the results back within an hour.

    This sounds very unrealistic, right? No normal colleague would do this work for you or even finish it so fast. But what if I tell you that your colleague is a ROBOT? A robot that looks and acts exactly the same as any other human being. It can talk like you, think like you, and almost reason like you do. But it is still a robot. How would you feel?

    Artificial Intelligence, Machine Learning & Robotics:


    SOURCE: © ADOBE STOCK

    Many robots are not artificially intelligent, they are programmed to perform repetitive tasks or movements to manipulate objects in the real world. However, some experts suggest that what constitutes a robot is its ability to think and make decisions, but doesn’t it imply some level of AI?

    On the other hand, Artificial Intelligence (AI) aims to replicate human intelligence behaviour by addressing skills like problem-solving, learning, perception, and reasoning. It can involve some level of Machine learning (ML), which is based on the idea of granting machines access to data that will allow them to learn by themselves.

    AI together with ML and robotics intend to create a man-made machine/robot with human intellectual capacities that can be able to formulate original ideas by itself. We have not achieved this yet, but we have made a lot of progress.

    You have probably already heard about Sophia, the social robot that looks like a human. If you know what I’m talking about, think about a more sophisticated version of Sophia working and collaborating with humans.

    Other big developments include the so-called “Robotic Process Automation” (RPA). These are software robots that help businesses and employees do simple jobs by replicating human interaction. It is only a software and not a physical AI Robot, but this is definitely a significant breakthrough.

    The real challenge is to make AI understand how natural intelligence works because we know how our brain functions, and we can teach AI how to think and learn, but we still don’t know exactly how all these connections can lead AI to the use of abstract reasoning or “common sense”.

    My Colleague is a Robot:


    SOURCE: © ADOBE STOCK

    Going back to where we started — robots designed to share a workspace with humans by carrying out physical and intellectual tasks, building up ideas with humans, learning from our environment, questioning decisions, and finding solutions together, will close many gaps for errors, reduce risks, and exponentially increase productivity.

    Robots can already do many things much better than humans, but it still takes humans to interpret their work and apply the results in strategic and creative ways. For this reason, we need to make sure that robots are seen as complementary rather than competitive, and assign them the work that no one wants to do, the one that is intense and repetitive; leaving the part of the work that involves judgement and expertise, to humans.

    Imagine one more time, the same scenario where you engage in a conversation with your colleague, but now you know for sure and from the beginning that it is a robot. Would it feel weird?

    Probably, and I know it sounds scary as well, but if we give this deeper thought and think about the benefits and not the drawbacks of having an artificially intelligent coworker, it might just change our perspective. Some of these benefits include:
    • Safety: Tasks that involve the use of heavy machinery, sharp objects, very high temperatures, chemicals, and others, will be performed by robots. This will protect workers in dangerous and unhealthy working conditions.
    • Speed and Consistency: AI robots work fast and without any distractions, they have no need for vacations and are available 24/7.
    • No Errors: Robots have almost no room for mistakes, they are precise and deliver quality.
    • Happiness & Productivity: Most importantly, all these perks are intended to increase both, employee happiness and productivity. As mentioned before, these robots will take over those tasks that we don’t enjoy. From dangerous, tedious, and repetitive basic tasks to more complicated ones that require highly analytical skills.

    Examples of Work That Can Be Complemented By AI Robots:


    SOURCE: © ADOBE STOCK

    Data Journalists: This type of journalists are those who are focused on analysing data. AI robots could perfectly cover these work much faster and efficiently.

    Secretaries: Administrative tasks like answering phone calls, sending emails, scheduling meetings, and others (including physical, manual tasks) can be done by AI robots.

    Document-Review (Attorneys): Many attorneys have to search through thousands of documents looking for specific information. AI robots can filter information in a flash, they can also analyse it and generate reports. This work applies to other related fields as well.

    Pharmacists: When you go to a pharmacy, an AI robot could scan your prescription and get your medicine. For over-the-counter medicine, you could indicate your symptoms and the robot will suggest a recommendation. Also, these robots could potentially have access to data from hospitals and your health records to make suggestions more accurate.

    AI Police and Intelligence Assitant: AI Robots could potentially assist the police and agencies like the CIA by collecting, storing, sorting through, and highlighting key data that is necessary for investigations. They could also perform some physical duties like patrolling, arresting, and even directing traffic.

    Botenders: Robots can be taught how to mix and serve drinks. Anything from beers to signature cocktails. They can make hundreds of them within minutes.

    There are many concerns about robots replacing people and eliminating jobs, but these robots could potentially work alongside humans, collaborate and complement our work rather than taking over jobs. In fact, technology will create more jobs than it eliminates. Many jobs will change, and the new ones will require a new set of skills that we must acquire through advanced education and training systems boosted by AI.

    If we are going to share a workspace with robots and see them as partners rather than adversaries, they must first experience the world as a human, meaning that they would need to be able to learn about us. This will make the interaction between humans and robots much easier and can also allow them to keep learning much faster.

    Morality and AI Coworkers

    What do we expect from artificially intelligent coworkers in terms of morality?

    SOURCE: © ADOBE STOCK

    AI and robotics will have a huge impact on society, values, and human rights.

    If we want machines to operate autonomously, at one point, they will require to collect a lot of data. But how much of these data do we want to share with robots? If a robot causes an accident, who would be responsible? Are we willing to give up our privacy to interact with robots? Can we even trust a robot?

    More questions will continue to arise as technology develops, and it is up to us to answer those questions by working together to implement a structure that regulates and protects the contour of these innovations.

    There are always two sides to every story, times of uncertainty will come and technology if gone wrong, can become dangerous. Therefore, we have to manage robots carefully, in the end, it is humans who will take charge of controlling, checking, and running the bots.

    AI and robotics should no longer be feared, but rather be seen as a tool for collaboration.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
←上一页
1 … 133 134 135 136 137 … 262
下一页→

Proudly powered by WordPress