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

开源日报

  • 开源日报第930期:《you-get》

    26 10 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《you-get》
    今日推荐英文原文:《Voting by text or tweet isn’t a thing. Don’t be fooled》

    今日推荐开源项目:《you-get》传送门:项目链接
    推荐理由:You-Get 是一个很小的命令行实用程序,可以从 Web 上下载媒体内容(视频,音频,图像)。 支持 YouTube、Facebook、网易视频、百度贴吧、哔哩哔哩、爱奇艺、酷狗音乐、秒拍、腾讯视频、企鹅直播、新浪视频、搜狐视频、土豆、优酷、芒果TV、快手、抖音、TikTok、知乎等几十种国内外知名视频网站视频、图片、音频下载,同时支持将网页视频导出至本地播放器进行在线播放,缓冲速度快,还免去了广告。
    今日推荐英文原文:《Voting by text or tweet isn’t a thing. Don’t be fooled》作者:Ian Sherr
    原文链接:https://www.cnet.com/news/voting-by-text-or-tweet-isnt-a-thing-dont-be-fooled/
    推荐理由:美国总统大选正在如火如荼的进行中. 每一年都有黑客在各大社交网站上发布一些虚假信息, 让人们误以为短信和推特能够投票, 从而使得人们投了虚假的票, 失去了选举权.对于绝大多数美国公民, 唯一的投票方法就是参加投票或者邮寄投票.

    Voting by text or tweet isn’t a thing. Don’t be fooled

    No, you can’t vote by text message. Or by tweet. Or, minus a few rare exceptions, over the internet.

    If you didn’t know that, now you do. If you did know it, good. Tell your friends.

    The reason I’m writing it is that in the past few elections, hackers and online trolls have reportedly tried to disenfranchise voters by offering false voting alternatives like text messaging, to effectively trick people into not actually casting their ballot.

    For the vast majority of people, the only way to vote is by going to the polls or by using a mail-in ballot.

    Fooling people into thinking that some technological wizardry like an app, website or text message will record their vote is just the latest gambit in the centuries-old practice of voter suppression. Though it’s less overt than threatening voter safety or straight-out refusing to let someone cast a ballot, it has the same effect. And for people who don’t understand the limits of tech, and the limited ways we’re using it in our elections, this bit of trickery could lead people to accidentally throw away their chance to have a say.

    Election officials and cybersecurity experts have been working overtime to strengthen our voting system against cyberattacks and election meddling. Facebook, Twitter and Google have tightened rules on political ads.

    But there’s still a chance trolls will try to strike at the 2020 US presidential election. On Wednesday, federal intelligence and law enforcement officials warned that Iran and Russia had obtained voter registration data. In at least some cases, Iran appeared to use the data to send fake emails to voters in an effort to intimidate them.

    “We’ve been working for years as a community to build resilience in our election infrastructure and today that infrastructure remains resilient,” FBI Director Chris Wray said in a statement during a press conference announcing the news. “You should be confident that your vote counts.”

    But that works only if you actually vote.

    Happened before

    It makes sense that a scam to trick people into “voting” by text would be so effective. For years, viewers cast millions of votes for their favorite singers on the hit reality show American Idol. And many of those Idol votes were cast via text.

    Thankfully, there aren’t any concrete examples of significant hoax voting campaigns this year, but it has happened before. Most notably, during the 2016 election some Twitter accounts tried to trick people into texting a number to record their vote. “Avoid the line,” the tweet read.

    Facebook and Twitter have taken steps to avoid a repeat. Twitter has outright banned political ads, and Facebook will follow suit next week, in the final days before the Nov. 3 Election Day. Twitter is also changing the way it points its users toward tweets their friends have liked or accounts their friends have followed.

    On top of that, both companies have said they’re preparing for Election Day itself, setting up policies to respond to any urgent issues that might arise on their services.

    “Things move at the speed of Twitter on Twitter,” said a company spokeswoman. “The work is never done.”

    Election tech

    We may not be able to vote by text or on a website, but in 2018, West Virginia did attempt to allow voting by app. The program, created by a company called Voatz, is designed to help military service members overseas cast their ballot. To use the app, voters must register by taking a photo of their government-issued ID and uploading a selfie video of their face. Facial recognition software then makes sure the person in the video matches the person depicted on the government ID, and listed in voter records. People from 31 countries were able to vote back then using the app.

    West Virginia dropped its app plans earlier this year, though, after researchers at the Massachusetts Institute of Technology said the Voatz app had “significant security flaws.” Voatz responded at the time that all the pilot programs it had participated in had been “conducted safely and securely with no reported issues.”

    West Virginia Secretary of State Mac Warner played down his state’s move, attributing it to the government testing different systems. Warner says we need to stop listening to “naysayers” when it comes to app-based voting. “If we can do the census online, if we can do telehealth, if we can do telebanking and so forth, we can certainly solve this,” Warner has said. His office didn’t respond to a request for comment.

    Including the West Virginia pilot in 2018, Voatz said it’s been used in 11 government elections across five states and 29 counties. “Perception is key,” Voatz CEO Nimit Sawhney said. He added that tests like West Virginia two years ago and this year in Utah County, Utah, help to show that the company’s technology can be another option in addition to in-person and by-mail voting.

    Still, many experts aren’t convinced voting by app or through a website is a good idea, beyond these small programs designed for disabled people, expats and military service members.

    “We’re a very long way away from a place to make sure we could use the technology to vote safely,” said Sarah Brannon, managing attorney with the American Civil Liberties Union’s Voting Rights Project. In their work, Brannon and about 10 other attorneys have focused their efforts on clearing barriers that keep eligible voters from being able to cast ballots by traditional means, particularly by mail.

    “This is such an unprecedented year,” she said.

    If there are large-scale efforts to disrupt the election by tricking people into thinking they can vote by text or by some other method, we may not learn about it until after Election Day.

    Researchers at the Institute for Democracy and Higher Education at Tufts University have begun their waves of phone calls around the country to collect data on student voting patterns. The institute monitors more than 10 million students on 1,100 campuses. Director of Impact Adam Gismondi said one thing he’ll be looking for is how COVID-19 could upend typically mundane things like where polling places are located.

    Voters have already showed up for early polling in record numbers this year, he noted, speaking to potential erosion of trust in anything other than an in-person ballot.

    “Public polling shows a real split among the population among who is willing to trust a mail-in ballot,” Gismondi said. “We don’t have any wide-scale data, but anecdotally, I have seen a movement toward some level of showing up in person for early voting because I think there’s concerns about votes being counted properly and votes being thrown out as we get closer to Election Day.”
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第929期:《开源指北》

    25 10 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《开源指北》
    今日推荐英文原文:《Why Tutorials Won’t Make You a Professional Developer》

    今日推荐开源项目:《开源指北》传送门:项目链接
    推荐理由:开源的问题为什么不用开源的方式去解决呢?该仓库旨在为那些想参与开源的开发者们提供一个丰富详实的操作指南,让更多开发者认识开源、参与开源、爱上开源。目前正在编写中,邀请广大开发者、开源爱好者、开源社区等一起建设。
    今日推荐英文原文:《Why Tutorials Won’t Make You a Professional Developer》作者:Dev by RayRay
    原文链接:https://medium.com/better-programming/why-tutorials-wont-make-you-a-professional-developer-271108c74ddb
    推荐理由:铺天盖地的“0基础入门”广告,是不是说明“人工智能”是这个词已经过火了呢?他们恰了饭,不知道学生学到了多少。

    Why Tutorials Won’t Make You a Professional Developer

    Mastery comes from more than doing tutorials. Try, fail, learn, repeat!

    Tutorials on topic X, Y, and Z. You see them everywhere on the web. I’m a tutorial writer myself. But just following them doesn’t mean you will be a professional developer.

    I’m sorry if that has burst your bubble, but tutorials are simply not going to make you the professional developer you dream of becoming.

    So what is the purpose of developer tutorials anyway? Why should or shouldn’t we follow them? In this article, I want to show you all the answers to these questions.

    1. Why Do We Follow Tutorials?

    Why do you follow tutorials about HTML, CSS, JavaScript, or any other language, library, or framework?

    Maybe you hope that this particular tutorial is going to give you a head start on the topic so you can save time. Or you quickly want to grab the idea or possibilities of that technique so you can implement it yourself.

    Well, my answer would be to just get an introduction to a particular topic or to get inspiration from someone else’s solution to a problem.

    But it should never be to make you a pro in technique X, Y, or Z because that’s not going to happen.

    Clickbait titles like “I Became a Professional Developer With X in Just 5 Days” are not going to deliver on that promise. They will only make you familiar with certain techniques or terms.

    So follow tutorials to get inspired, to learn something new, but never with the expectation to become a master from those tutorials alone.

    2. What Will Make You a Professional Developer?

    Now it’s clear that nobody is going to become a professional developer by only following tutorials. What will make you a professional developer? How can you become one?

    In my opinion, that answer is very simple: Try, fail, learn, repeat.

    Nothing more!

    A professional or experienced developer has gone through this process a lot. And I mean a lot! Their entire career has probably been all about that.

    So if you want to learn something about JavaScript, for example, you can follow a tutorial to learn the basics. After that, you need to practice it yourself several times. You need to make mistakes to learn how to handle errors.

    It’s a natural process. Like babies grow up, learn to crawl, stand, walk, fall. So don’t be afraid to fail.

    In my opinion, a professional developer is not afraid to tell you, “I don’t know.” A professional developer should be eager to learn by making mistakes.

    3. What Should We Do Instead?

    We all shouldn’t spend too much time on tutorials. No, we should spend most of our time building things.

    Building things to try things out, to make mistakes, and to learn so we can build up our knowledge and experience.

    Because that’s what has the most value in our jobs!

    The next time you want to learn something new, build a small demo and search only for specific things like “how to use the arrow function in JavaScript” or “how to use CSS Grid” and pick what you need out of it.

    After that, you must experiment with it as long as you need to understand how it works.

    Conclusion

    Thanks for reading! I hope you learned something new that can help you along the way to becoming a professional developer!


    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第928期:《神秘定律 hacker-laws-zh》

    24 10 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《神秘定律 hacker-laws-zh》
    今日推荐英文原文:《Why Tutorials Won’t Make You a Professional Developer》

    今日推荐开源项目:《神秘定律 hacker-laws-zh》传送门:项目链接
    推荐理由:一些对开发人员有帮助的定律和原则,古往今来已经有许许多多的案例证明了它们的正确性,比如不要过早优化和不要和陌生人讲话(得墨忒耳定律)等等,前人已经踩过的坑就没有必要再去踩了。
    今日推荐英文原文:《Why Tutorials Won’t Make You a Professional Developer》作者:Dev by RayRay
    原文链接:https://medium.com/better-programming/why-tutorials-wont-make-you-a-professional-developer-271108c74ddb
    推荐理由:纸上得来终觉浅,欲知此事须躬行

    Why Tutorials Won’t Make You a Professional Developer

    Mastery comes from more than doing tutorials. Try, fail, learn, repeat!

    Tutorials on topic X, Y, and Z. You see them everywhere on the web. I’m a tutorial writer myself. But just following them doesn’t mean you will be a professional developer.

    I’m sorry if that has burst your bubble, but tutorials are simply not going to make you the professional developer you dream of becoming.

    So what is the purpose of developer tutorials anyway? Why should or shouldn’t we follow them? In this article, I want to show you all the answers to these questions.

    1. Why Do We Follow Tutorials?

    Why do you follow tutorials about HTML, CSS, JavaScript, or any other language, library, or framework?

    Maybe you hope that this particular tutorial is going to give you a head start on the topic so you can save time. Or you quickly want to grab the idea or possibilities of that technique so you can implement it yourself.

    Well, my answer would be to just get an introduction to a particular topic or to get inspiration from someone else’s solution to a problem.

    But it should never be to make you a pro in technique X, Y, or Z because that’s not going to happen.

    Clickbait titles like “I Became a Professional Developer With X in Just 5 Days” are not going to deliver on that promise. They will only make you familiar with certain techniques or terms.

    So follow tutorials to get inspired, to learn something new, but never with the expectation to become a master from those tutorials alone.

    2. What Will Make You a Professional Developer?

    Now it’s clear that nobody is going to become a professional developer by only following tutorials. What will make you a professional developer? How can you become one?

    In my opinion, that answer is very simple: Try, fail, learn, repeat.

    Nothing more!

    A professional or experienced developer has gone through this process a lot. And I mean a lot! Their entire career has probably been all about that.

    So if you want to learn something about JavaScript, for example, you can follow a tutorial to learn the basics. After that, you need to practice it yourself several times. You need to make mistakes to learn how to handle errors.

    It’s a natural process. Like babies grow up, learn to crawl, stand, walk, fall. So don’t be afraid to fail.

    In my opinion, a professional developer is not afraid to tell you, “I don’t know.” A professional developer should be eager to learn by making mistakes.

    3. What Should We Do Instead?

    We all shouldn’t spend too much time on tutorials. No, we should spend most of our time building things.

    Building things to try things out, to make mistakes, and to learn so we can build up our knowledge and experience.

    Because that’s what has the most value in our jobs!

    The next time you want to learn something new, build a small demo and search only for specific things like “how to use the arrow function in JavaScript” or “how to use CSS Grid” and pick what you need out of it.

    After that, you must experiment with it as long as you need to understand how it works.

    Conclusion

    Thanks for reading! I hope you learned something new that can help you along the way to becoming a professional developer!
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第927期:《磁铁 magnet-mouse》

    23 10 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《磁铁 magnet-mouse》
    今日推荐英文原文:《Getting Paid for Your Work: A Guide on How to Deal With Difficult Clients as a Freelance Developer》

    今日推荐开源项目:《磁铁 magnet-mouse》传送门:项目链接
    推荐理由:这个项目是一个 JS 动画库,允许页面上的元素跟随鼠标移动,这就使得开发者可以轻易将鼠标的移动与页面元素二者结合在一起,令用户在浏览页面时获得更强的代入感。不过要注意的是,设计这样的页面时还需要额外考虑在没有鼠标的设备上无法呈现效果的问题,这个库在移动设备上将会自动禁用。
    今日推荐英文原文:《Getting Paid for Your Work: A Guide on How to Deal With Difficult Clients as a Freelance Developer》作者:Samuel Odak
    原文链接:https://medium.com/better-programming/getting-paid-for-your-work-a-guide-on-how-to-deal-with-difficult-clients-as-a-freelance-developer-d525d1f870a7
    推荐理由:做自由开发者要如何应对可能遇上的各种客户

    Getting Paid for Your Work: A Guide on How to Deal With Difficult Clients as a Freelance Developer

    Building a freelance career

    In today’s article, I am going to talk a little bit about dealing with clients in the world of freelancing. This is for people who are running their own business or doing freelance work. It also applies to those of you who are working for someone else or have to deal with clients directly. I will touch on some situations that you might run into and at the same time give you some pointers that may help you out in said situations.

    Cheap Clients

    Getting people to realize what they are paying for is very difficult — especially when they have no idea what goes into it. Many clients are relentless at just trying to haggle you and save every penny they possibly can.

    If you are a beginner freelancer, you are going to have people who will ask you to build them a website for free. They will try to convince you that working with them will give you more experience and that having their name or brand in your portfolio will look good for you. Be that as it may, your skills are worth something.

    I fell for that a lot of times in the beginning, and unless they are amazed by your work, they will not give you a referral or help you in that way. With these kinds of clients, the best thing to do is to be firm and not let people take advantage of you. You want to have self-confidence. Do not sell yourself short. I am not saying that you should overprice your services either. The trick is to have a minimum depending on the project description.

    If you do not feel like you are getting what your services are worth, you should walk away because you might agree to take on the project and then deliver a low-quality product. Not all clients out there are like this. Some clients will agree to a price and then later on try to dissect all of your services, work, and the time spent. They will try to accuse you of overcharging them or not filling what you were supposed to. You need to create a specific proposal that describes the exact scope of the work and the amount of money you are willing to take to handle that project.

    Always remember to ask for a deposit up front. Some clients will feel like 50% of the quoted amount is a lot. No problem. Charge one-third as a deposit, one-third as a midpoint milestone, and then one-third at the end. Whatever you do, make it very clear verbally as well as in writing. Start working with contracts as early as possible.

    Clients Who Always Seem to Be in a Rush

    These types of clients usually have no clue what goes into something like a Node.js application. They will want a large-scale project done in 30 days for $500. The issue here is that your clients think that their project is the only one that you are working on. In reality, you are juggling five others just like it wishing that there were 48 more hours in each day.

    These types of clients will nag you with calls and emails asking for the progress and ETA even after having that specified in the scope of the project. It is hard to get clients to read or even comprehend the details that you give them because most clients want things done as soon as possible. They will call you even after business hours or during the weekend.

    See, to such clients, freelancing means that you offer 24/7 support, and the only way to handle them is through communication. Make sure you establish these boundaries, give them a support email, and tell them that you check it Monday through Friday from 9-5 or whatever it may be. Always provide an extended ETA rather than the amount of time that it will take you to finish the project.

    Another important thing is to specify the number of revisions that you are willing to do. The reason for this is that some clients will try to keep getting more and more out of you. Some will not have an understanding of how long it will take to revise a website, UI, or some functionality.

    Clients Who Do Not Know What They Want

    Some clients are good with things like preparation, business plans, wireframes, and logos. It is refreshing working with or for such clients. The other side of the spectrum consists of clients who have no goals, no examples, no content — nothing. These are the trickiest lot. Some will go to the extent of asking you to help in such areas, even after specifying that you do not offer business consultation services.

    With these kinds of clients, be very clear about the services you offer both verbally and in writing.

    As a developer, you need to ask for all of the project’s crucial assets. Get a basic idea of how many pages there are, what colour scheme they want, things like that. And if they do not know, advise them to come up with some more information and then have them call you back.

    If you take it upon yourself to create everything for them, there is a big chance that they’ll hate it in the end — even though they did not give you enough information. They will still try to blame you for it, and some might even use that as a reason not to pay for the services. Make sure you get as much information and as many project assets as possible before you start any project.

    Clients Who Expect More for Less

    Another issue when working with web development services involves domains and hosting websites. Some clients think that this should all be in the development fee. They want to pay you for building an entity or site from scratch. For these kinds of clients, you have to be very clear about how you are going to handle hosting. If you choose to offer the services for them, you have to include a maintenance package because this is a lot of work. So you have to provide support for downtime, setting up emails and FTPs, installing SSL certificates, and monitoring the site.

    In that case, I would suggest making it clear that hosting and domains are separate from your development services. You can also decide to charge them an initial setup fee for just the basics, then hand over the credentials during migration.

    Ghosting Clients

    You may run into a situation where everything is going fine, the project is complete, and then the client is nowhere to be found. They are not responding to your emails. Their phone goes right to voicemail and their final payment is due. Charging a portion up front gives you an advantage at this point. It is not going to be a complete waste of your time. If they have not made the final payment, do not send them the completed project files and never migrate their site to their domain without the client clearing the balance.

    Although it is frustrating, there might be a chance that something has gone wrong. They might have had an unavoidable emergency. In such a case, you want to be very respectful and understanding. You may have a discussion later after they have reached out to you and you can agree on a different deadline for the payment.

    Hi-Tech and Lo-Tech Clients

    As you progress in your journey, you will notice that clients will vary in terms of what they understand and what they do not — and there are pros and cons to both. It is hard to establish pricing and justifying the costs of a project if they do not know anything about what goes into building a website or an application.

    Some might think that developing a quality site consists of dragging and dropping a couple of elements into the page. For such clients, you are going to have to do a little bit of teaching. Make it clear that it all comes down to quality. I am not here to bash any web development service, but quality varies. If that is not what they are going for, direct them to said services and cancel the work. The client has to make a choice.

    Working with clients who have maybe done some web development themselves can be quite challenging. Sometimes they will overstep and tell you what tools or languages that you should be using or start criticizing parts of your code. I find the best clients to deal with are the ones who understand the basics of the process of building a website. You do not have to work with someone who thinks that they can do what you do better than you. In such a case, I would suggest you walk away politely. Remember, do not burn bridges.

    Clients With Unrealistic Expectations

    These are clients who think that their idea is going to be the best in the market. It is a good idea to dream big. Clients have to understand, though, that creating an empire that makes a huge impact — especially in tech — is not something that they are going to do overnight.

    Sometimes when a client is pitching their idea to you, you may realize that there is another implementation that already exists. It becomes difficult to let someone down like that, especially if they put a lot of time or even money into the idea. In such a case, you can try to pitch a tweaked version of what they are looking for if possible. The main thing to put across to your clients is that it is not enough to have an idea. You have to think of how to implement it successfully.

    Conclusion

    Remember that communication is paramount. Having the correct level of communication with your clients will avoid a lot of issues and misunderstandings. Have an in-depth consultation before you agree to anything. Discuss the work, the price, the timeframe, the design, the hosting, and anything else that comes to mind. Record everything. The documentation gives you proof of what you said. This may include things like pricing contracts, proposals for projects, plans, hosting agreements, anything that you can think of. Print it up, put your logo on it, and give it to them.

    If you are a beginner having some of these issues, do not get too discouraged because it gets easier and better. Once you get into a groove, you will be ready for almost every situation. You will establish pricing, timelines, proposals, and other crucial aspects that you can tweak depending on the project to be handled.

    It is also good to protect your peace of mind. If you have a difficult client and you feel like you are getting nowhere with them, you do not have to take them on — even if the project has the potential to make you a fair amount of money. Sometimes, that amount is not worth the stress and aggravation. So do not be afraid to turn people down. Make yourself a priority.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
←上一页
1 … 26 27 28 29 30 … 262
下一页→

Proudly powered by WordPress