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

开源日报

  • 开源日报第962期:《create-ml-app》

    27 11 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《create-ml-app》
    今日推荐英文原文:《Senate Democrats urge YouTube to remove election misinformation》

    今日推荐开源项目:《create-ml-app》传送门:项目链接
    推荐理由:该项目可以使得python在本地启动机器学习和处理各种程序包的依赖变得更加容易, 灵感来自create-react-app. 该项目从pip install 那里提取了虚拟环境命令, 只需要你clone该仓库, 并且执行你的脚本, 就可以运行了.
    今日推荐英文原文:《Senate Democrats urge YouTube to remove election misinformation》作者:Richard Nieva
    原文链接:https://www.cnet.com/news/senate-democrats-urge-youtube-to-remove-election-misinformation/
    推荐理由:美国总统的宝座已经尘埃落定, 但是选举带来的后续影响仍然没有结束.民主党参议员要求从世界上最受欢迎的视频平台YouTube中删除有关选举的错误信息。 参议员们还说,他们担心错误的信息可能会对乔治亚州1月的两次选举产生影响,这将决定哪个党控制参议院。

    Senate Democrats urge YouTube to remove election misinformation

    A group of Democratic senators has demanded that misinformation about the election be taken down from YouTube, the most popular video platform in the world.

    In a letter to YouTube CEO Susan Wojcicki, the lawmakers expressed concern over the impact of false news that seeks to delegitimize the victory of President-elect Joe Biden. The senators also said they’re worried about the effect that misinformation could have on two January runoff elections in Georgia, which will decide which party controls the Senate.

    “We urge you to immediately remove all election outcome misinformation and take aggressive steps to implement prohibitions, as other social media companies have done, regarding outcomes in future elections,” says the letter, sent late Monday. It was signed by Sens. Robert Menendez of New Jersey, Mazie Hirono of Hawaii, Gary Peters of Michigan and Amy Klobuchar of Minnesota.

    In response to the letter, YouTube, which is owned by Google, said the most-popular election videos on the site have come from authoritative news outlets.

    “Our teams are working around the clock to quickly remove content that violates our policies and ensure that we are connecting people with authoritative information about elections,” YouTube spokeswoman Ivy Choi said in a statement. “Like other companies, we allow discussions of this election’s results and the process of counting votes, and are continuing to closely monitor new developments.”

    The letter comes weeks after the contentious contest on Nov. 3, which dragged on as states continued to count mail-in ballots. In the aftermath of the vote, as President Donald Trump has refused to concede, YouTube has been criticized for not doing enough to curb the spread of misinformation.

    For example, in the days after the election, YouTube refused to take down videos by One America News, a far-right news organization. The clips falsely declared victory for Trump and baselessly accused Democrats of rigging the contest. YouTube cut off the videos from earning revenue and labeled them with the warning, “Results may not be final,” which also appeared with all election-related videos and search results.

    In Monday night’s letter, the Democratic lawmakers ask Wojcicki several questions, including the amount of advertising revenue the company has received from election misinformation. The lawmakers have requested answers by Dec. 8.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第961期:《面试代码题 javascript-code-challenges》

    26 11 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《面试代码题 javascript-code-challenges》
    今日推荐英文原文:《Acing the Coding Interview Even If You Can’t Solve the Problem》

    今日推荐开源项目:《面试代码题 javascript-code-challenges》传送门:项目链接
    推荐理由:这个项目收集了面向初学者的在面试中可能会问到的 JS 代码题,在使用指南中还列举了一些值得一读的书籍与教程网站。面试中问的代码题并不是说真的每个都会在实际开发中需要解决(有些题目真的很奇怪而且很多时候实际开发不需要重复造轮子),只是用来测试应聘者对基础知识的掌握水平;对于初学者来说,建议对基础有一定了解之后通过这些代码题来补足自己基础知识中的漏洞。
    今日推荐英文原文:《Acing the Coding Interview Even If You Can’t Solve the Problem》作者:Brett Fazio
    原文链接:https://medium.com/better-programming/acing-the-coding-interview-even-if-you-cant-solve-the-problem-91a950947226
    推荐理由:在面试中展现出你如何解决问题,就像考试一样——除了结果,过程也有分。

    Acing the Coding Interview Even If You Can’t Solve the Problem

    When your explanations are just as important as the code you write

    At the beginning of the interview cycle for most software positions, there is a series of technical programming challenges, some on the phone with a person and some auto-graded. Those auto-graded assessments are really a mental test between you and the problem: get as many test cases to pass in the shortest amount of time possible.

    Many people assume the same about the phone interview: get as many to pass as you can to impress the person on the other end of the line. This route is definitely not the most optimal. You should replace to impress with and work with. You should treat the phone interview as a partnership or a pair-programming task where you are the primary programmer.

    By treating this like a partnership rather than a polygraph, you can establish a sort of rapport with your interviewer and improve your chances of success. Success in a technical interview is not predicated on solving every problem they can throw at you.

    Whether you can or can’t solve the problem, there are some things you should do in the interview to increase your chances, including asking clarifying questions, explaining your thought process as you go along, and identifying pain points to your interviewer. If you can’t solve the problem you’ve been given, instead of just giving up, do these three things so you can demonstrate your problem-solving ability and possibly elicit some sort of hint from the interviewer.

    Ask for Clarification

    This is one of the first things you should do in your interview, regardless of whether or not you completely understand the problem.

    Especially in the context of phone interviews, you may not get a complete problem specification. It may just be a few lines of comments and one or two examples. Before you even start coding, you should begin to pick your interviewer’s brain about the problem and test cases.

    If you feel the problem specification leaves room for some edge cases, this is a great time to pose the question about those so you can have that information before you begin coding. For example, if the problem is to find the lexicographically first string in an array, you could ask what sort of characters are allowed in the array or how many strings will be given. The answers to those questions may be obvious to you, but asking could uncover some detail that wasn’t originally laid out for you.

    Another good thing to do is to walk through one of the test cases verbally and seek confirmation for the steps you took to solve it. If we use the same simple problem from above, let’s say our input is as below.
    apple, orange, Apple, 1apple
    
    We have four strings here and we want to sort them. You can walk through each string and verbalize that 1apple should come first because the 1 has a lower ASCII value than the alphabetic characters. Then Apple should come next as it is uppercase. Then apple, orange will just be sorted alphabetically. Again, in this example, it may seem fruitless to walk through the whole test case, but it’s very important. Here you will be able to confirm your understanding that numbers come before letters and uppercase comes before lowercase, and you’ll see if there are any problem nuances you missed — all before you write a single line of code.

    Explain Your Thought Process

    After you ask your clarifying question at the beginning, the next step is not coding — it is explaining.

    After I ask my questions about the problem I say, “Is it okay if I walk through my ideas for a solution with you now?” Interviewers always say yes to this question because they want you to succeed, and having a thorough and concrete understanding of your solution before you start coding is a great way to ensure success.

    Even if you don’t know an optimal answer to the problem, you can verbalize it: “I’m not sure if this is optimal, but I had the idea of double for-looping over the input and storing answers in a set.” Right away you may find out that O(n^2) isn’t the runtime you are looking for, and you may find out if a set is not the right data structure you should be using, based on their response. Now you can have a back-and-forth conversation, throwing ideas around about a more optimal solution in hopes of getting to one, even though coming into it you weren’t sure one existed.

    On the flip side, if they come back and say that your solution sounds good to them and that they would like you to begin coding, that probably means the solution you verbalized was correct. At this point you can finally begin programming — but you can’t stop talking.

    Identify Pain Points

    As you begin coding, you should continually verbalize everything you are doing for the interviewer. If you’re making a method to ensure you’re not getting an IndexOutOfBoundsError, tell them that. Don’t just make a random method stub without telling them what it is for.

    If you know the solution completely, you may get to the end of the interview without a problem — but what should you do if you get stuck while coding? Or get to the end and don’t have passing test cases?

    What you shouldn’t do is frantically panic (I know I’ve fallen victim to this once or twice) and try to thrash your way to a working solution. You should instead verbalize your difficulties. Not only will this give you a specific thing to fix in your code (instead of thrashing around the whole thing) but also your interviewer now knows your plan to fix your solution and can help guide you as you go about it.

    If you finished the problem and are failing test cases, saying “I think that this portion of the code could be causing the test case to fail, so I think I will read over that for a second” is a perfect thing to do. It gives you a clearly defined goal — read over lines X-Y. It tells the interviewer exactly what you are doing so they can scroll to that portion of the code as well. And your interviewer could give you insight into whether that code block has any effect on your failing test cases.

    If you haven’t finished the problem but are just experiencing difficulties getting to the finish line, you should verbalize exactly what your pain points are. Maybe they are language-specific or maybe they are problem-specific.

    If you are using a language you are not 100% familiar with, it’s perfectly acceptable to say to the interviewer “I know I can do this in Java using Comparable, but I’m not sure how to do it in C++.” Now that the interviewer knows that it is a language-specific problem that you understand the scope of, they can give you tips on how to do it in the language you are currently working in.

    If your pain point is more problem-specific, you can verbalize that you are having trouble completing this specific portion of the problem. The interviewer can take a look at what you are doing and help to guide you to complete that part or guide you to a more correct solution.

    TLDR

    If there’s one theme you should take away from this article, it’s definitely to verbalize during your phone interview. They gave you a phone for a reason, and it’s not just so you can have the problem delivered verbally (we have plenty of software that will deliver you a problem to your browser). It was so you could have some back-and-forth conversation and explain your ability to solve problems. If you go into the interview with that mindset, I’m sure you will do great!
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第960期:《录屏 screenity》

    25 11 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《录屏 screenity》
    今日推荐英文原文:《10 Habits to Increase Your Productivity While Working Remotely》

    今日推荐开源项目:《录屏 screenity》传送门:项目链接
    推荐理由:这个项目是 chrome 浏览器上的录屏插件,除了录屏以外,还提供了手绘与文字注释添加,鼠标焦点与隐藏等一般需要通过后期软件再次处理的操作。而且这个插件还支持导出为 gif 动图格式,对于那些短短几秒的随手录屏来说相当方便。
    今日推荐英文原文:《10 Habits to Increase Your Productivity While Working Remotely》作者:Harsha Vardhan
    原文链接:https://medium.com/better-programming/10-habits-to-increase-your-productivity-while-working-remotely-5c21f7a466be
    推荐理由:远程工作时提高效率的小技巧

    10 Habits to Increase Your Productivity While Working Remotely

    You should have a set time to work, a defined workspace, and a daily routine, even though you’re at home

    Ever since work from home began, my productivity has had its ups and lows until I found the right way to do it. Since then, it has been at a constant high. During the initial days, all of us must have had mixed feelings. I first thought it would be fun for a while to wake up five minutes before the first meeting and spend all day in pajamas. And I thought avoiding traffic and travel was the best thing that could ever happen to me.

    But later on, when burnout kicked me pretty hard, I decided to not let it get to me. I thought it was just me, but later on, when I’d talked to my colleagues who live with their parents or the ones that have kids at home or a noisy neighbor who loves to yell all the time, I realized what the real deal was. Also, being prone to get distracted or to procrastinate has also become extremely common as we are all at home in our own space. We’re the master of our time now as there’s no one around us that we’re scared will judge us.

    I’d decided to figure out what was actually going wrong. Following these few, simple habits will give you enough focus and concentrated time to work. I had inculcated these habits the tough way because, honestly, if remote working is not planned, there are at least a thousand ways it can go seriously wrong, sucking up your time and energy.

    1. Have Specific Work Times

    Plan your work times based on your comfort and stick to them strictly. Make sure to pick a time range that you’re sure to dedicate to work and when you have zero disturbance around you. It’s recommended to start your work early and close early because in the mornings, we have peaceful environments and the chances of getting distracted are fairly low.

    Also, make sure that once you’ve logged off, you do not work until your work hour begins the next day. Communicate your work hours to your teammates and always make sure you share a common time with them for collaborative work.

    2. Have a Routine

    Given the chaos and uncertainty that COVID-19 has caused, it’s always good to have a routine that gives us a sense of stability. A routine gives us mental sharpness, emotional wellbeing, and better energy. All of that, in turn, results in better productivity. A routine will help us feel like we have something to look forward to.

    Trust me, I honestly appreciate the monotonous life that I used to have because that was way more fun than being locked up at home.

    3. Have a Defined Workspace

    Set up a proper workspace with a table and a chair, preferably an ergonomic chair to make sure your physical health does not go for a toss. It’s strongly advised to never work on a bed or a couch. Having a proper workspace will also prepare our brains to think of work only when we’re around it, and it will give us a sense of going to the office. It will also help you maintain proper work times, and most important, it does not give you the hip or shoulder pain that you’ll develop if you don’t sit and work in the right posture.

    Try to even have standing workspaces because sitting for prolonged hours is not healthy as well. I read an article that said sitting for too long is also addictive, like smoking, and that it has its own issues. Give this interesting article a read to understand the side effects of sitting for a long time.

    4. When You Start Your Day, Create a Checklist to Follow Strictly

    Jot down the list of things that you want to finish by the end of the day. Be practical when you draft it and ensure your list does not end up making you work overtime. When you’re not able to finish something by the given time, take note of why it did not go well and try not to repeat it. This process also helps you to review yourself, and you tend to understand the different things that could help you be more productive.

    5. Noise-Canceling Music

    Noise cancellation headphones could be your lifesaver if you’ve noisy neighbors, if you live close to a lot of traffic, or if you’ve got kids in the house. When you need quick focus in a noisy environment, put your earphones on with your favorite tune on it, and I promise you, you will be taken to the world of high concentration. This technique has worked like a charm for me almost all the time.

    6. Over-Communication Is the New Communication

    There are too many factors involved that can cause data loss while communicating with your teammates, so please don’t leave anything to be read between the lines. If you’re trying to communicate something that’s complicated, always feel free to call the other person. Since all of us are in our space, the chances of forgetting also are reduced as they constantly get reminded of things that are over-communicated.

    7. Do Something That Will Make You Feel Good About Yourself

    Now like never before, being at home has helped us have enough time to do things other than work. Use this time to learn something new, develop a new hobby, read more books, write something, become fitter, or basically just do anything that will help you feel happy. There’s chaos out there right now, and we have ample time in our hands, so to remain sane, it’s important to take good care of yourself.

    8. Take Enough Breaks

    Short breaks help you become more productive and are good for your mental health. It’s necessary to step away from your desk and your monitor to recharge yourself both mentally and physically. Taking short breaks also improves one’s creativity. Some people complain that they feel guilty if they take breaks — please don’t. Always remember that no one can work for hours together and taking enough breaks is good for you and also your work. There’s no reason to feel guilty about it.

    9. Drink Enough Water

    It is important to stay hydrated. Because we’re at home, we might get carried away easily with work and go without drinking water for hours together. So consciously remind yourselves to drink water, and if you fail to do so, there are plenty of apps that will do the job of reminding you.

    10. Spend Enough Time With Your Loved Ones

    Life is not all about work: One must always find the right balance between work and life. The quintessential way of maintaining this is by spending enough time with your loved ones. Now that we’re at home in a calmer environment, away from the hassle of rushing to work and racing through traffic, it’s high time we make it up to the people who actually care for us and whom we’ve failed to give enough of our time and attention. This will give us happiness and peace. It’s like therapy.

    Conclusion

    Working from home can easily become stressful if you don’t deliberately make a choice to properly plan your time and follow these simple habits. If you plan right, you might even opt to remotely work for the rest of your life because it seriously has the potential to help you work with your highest productivity. Be positive, be kind 🙂

    Thanks for reading!
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第959期:《TrackersListCollection》

    24 11 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《TrackersListCollection》
    今日推荐英文原文:《How Richard Feynman Learned to Loosen Up》

    今日推荐开源项目:《TrackersListCollection》传送门:项目链接
    推荐理由:在网盘的时代,BT 种子似乎已经成为“时代的眼泪”了。BT 全名 “BitTorrent”,是一种 P2P 传输协议,具体来讲,通过 BT 下载的资源都是别人上传得到的,其下载速度取决于其他用户上传同一资源的速度。所以,对于某个资源,上传的人越多,下载速度就越快;如果没有其他的用户上传,是无法下载资源的。

    该项目长期记录并更新 Tracker 服务器的链接。Tracker 会追踪有多少人在下载同一文件,并把这些名单发送到 BT 软件上。BT 软件再尝试连接这些用户,以此来给用户提供下载速度。
    今日推荐英文原文:《How Richard Feynman Learned to Loosen Up》作者:Herbert Lui
    原文链接:https://medium.com/curious/how-richard-feynman-learned-to-loosen-up-9f3420afe26f
    推荐理由:如果要画一幅画,但是全程不看画纸会怎样呢?显而易见,对于普通人,肯定画不好。但是正是由于这个“肯定画不好”的想法,能让人将重心从绘画的结果转移到绘画的过程。如果有时能够忘掉所谓“结果”,或许能带来意想不到的启发。

    How Richard Feynman Learned to Loosen Up

    “Life’s under no obligation to give us what we expect.”― Margaret Mitchell

    In his book Surely You’re Joking, Mr. Feynman!, Nobel Prize-winning physicist Richard Feynman recalls an art class when he was told, repeatedly to “loosen up.” He writes, “I figured that made no more sense than telling someone who’s just learning to drive to ‘loosen up’ at the wheel. It isn’t going to work… I resisted this perennial loosen-up stuff.”

    Feynman was then instructed to draw without looking at the paper. He kept his eyes on the model, not looking at what he was doing with the pencil. The first time he did it, his pencil broke at the very beginning and he had nothing but impressions in his paper. The second time he did it, he was impressed with the results, noticing a “funny, semi-Picasso like strength” in his work.

    Something clicked. Feynman realized that he knew that it would be impossible to draw well without looking at the paper, so he didn’t consciously try. He writes, “I had thought that ‘loosen up’ meant ‘make sloppy drawings,’ but it really meant to relax and not worry about how the drawing is going to come out.”

    (Image: Blind contour drawing by Richard Feynman/Museum Syndicate)

    When expectations get in the way of results

    Every day, we’re trained to do the opposite — to tighten up and control the results, like Feynman first tried to do. It’s got to have a performance indicator, or at least some indirect benefit to us in the future. We conduct our time transactionally, only putting some in if we’ll get something out. We need to re-learn how to do things without expecting results.

    Of course results matter — they put food on the table. And so, we set goals and create plans to get results. But here’s something we don’t often consider:

    When we set goals, we also create expectations that get in the way of results.

    Sometimes, we produce the best results when we remove the expectation of any outcome. Our conscious mind lets our unconscious mind take over. Think of the time you get a job offer after doing an interview without caring how it went, the time you were praised for your hack-y solution, or the time you swished a basketball with barely any aim.

    If we want our creative work to thrive, we need to intentionally apply this effortlessness to it. And we start by doing things knowing a result might happen, but without expecting it.

    Remember how to forget expectations

    The myth we’re told is to get better every day. The challenge is the inevitable stumble — if we get worse one day, we are failures. These beliefs are all based on a flawed assumption: that progress is linear.

    At an extreme, this could lead us to chase perfection. If something isn’t absolutely perfect, we believe it’s not worth doing. But perfectionism creates an impossible standard for us to meet. This is just one of many reasons we start procrastinating and get blocked.

    Think of the person whose goal in life is to write and release a masterpiece, but isn’t interested in publishing a blog post. The expectation is lodged in their head — they apply it to other people (“That book is shit!”), but also tragically their own work. It will be nearly impossible for that person to do the former without trying the latter. In reality, the only failure is to not try, out of fear of making something bad.

    As Patagonia founder Yvon Chouinard writes, “Identify the goal, then forget about it and concentrate in the process.” Discard the expectations or the plan you’re going to achieve your goal with. Just focus on the process.

    Make it impossible to do something perfectly

    This is a suggestion that will inject a dosage of creativity to your life, and it takes less than a minute. I only want you to keep reading if you intend to do it. Feel free to duck out and circle back when you have more time:

    Today, take action on the thing you want to do. If you want to write, then write at least 20 words in a notebook. If you want to draw, sketch something out. If you want to make music, hum a melody into the voice memo in your phone and try to create it on an instrument or in your computer.

    If you’re uncertain of what the thing you want to do is, then do the thing you think you want to do. Or do the thing you think your best friend thinks you want to do. Or write a list out and roll dice. It’s only by trying many things that you find the one you really like.

    Try your best with what you have. Ideally, you will be able to finish your task in one minute. If you’re having fun, try it for five minutes, but you must stop by then. That short time makes it difficult to do anything well, like Feynman drawing without looking, so hopefully you will put that possibility out of your mind and focus on the process. There will be a time and place to care about results — but it’s not while you do the work.

    If you have fun, you can always do it again tomorrow. And again, keep it short — make it impossible for yourself to make a masterpiece. “Whatever it is you’re seeking won’t come in the form you’re expecting,” Haruki Marukami writes. Keep your mind open to whatever the process offers.


    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
←上一页
1 … 18 19 20 21 22 … 262
下一页→

Proudly powered by WordPress