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

开源日报

  • 开源日报第926期:《Dev-Cpp v6.0》

    22 10 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《Dev-Cpp v6.0》
    今日推荐英文原文:《Is it Good Because it’s Popular — or is it Popular Because it’s Good?》

    今日推荐开源项目:《Dev-Cpp v6.0》传送门:项目链接
    推荐理由:经典到可以称作“古老”的 IDE Dev-Cpp 在2020年10月12日更新到了6.0版本,上一次更新是2020年7月,而上上次则是2015年。最新版本包括 TDM-GCC 的更新、 win10 风格的主题、更高分辨率的图标样式等等。
    今日推荐英文原文:《Is it Good Because it’s Popular — or is it Popular Because it’s Good?》作者:Genius Turner
    原文链接:https://psiloveyou.xyz/is-it-good-because-its-popular-or-is-it-popular-because-it-s-good-a9b091768e09
    推荐理由:有人抱怨参观卢浮宫的人大多数只奔着蒙娜丽莎而去,却忽视了展馆里其他没那么有名但是同样有着巨大艺术价值的展品。相信自己的感觉就好。

    Is it Good Because it’s Popular — or is it Popular Because it’s Good?

    To Know Thyself is to Trust Thy Perceptions

    I. This Picture is Worth 1,000 Words & 1,000 Phone Camera Shots, Too

    (Photo by Eric TERRADE on Unsplash)
    About a year or so ago, my friend Carol recalled her visit to the Louvre. “Oh,” she gushed, “Would you believe I was standing mere feet from her?”

    “You talking about Her as in that weird movie when Joaquin Phoenix falls in love with his computer?” I joked.

    “No, silly,” she continued. “I’m talking about the real ‘her’ . . . as in the Mona Lisa.”

    I flashed a smile. “How was it?”

    Carol briefly rested her eyelids, so as to delight in reviewing — with third eye — “her” posing in a frame. “It was magical, Genius! And I mean it . . . magical.”

    “What made it so magical?”

    She exhaled. “The energy in that room . . . ahhh, it was like nothing I’d ever experienced. As I stood in a crowd, we all huddled around history’s most famous work of art. I mean, it damn near felt like being in the same room with Michael Jackson or Oprah or something.”

    “Awww, I see! So you’re comparing a 500-year-old painting to Oprah . . . seriously?”

    “Listen,” she continued, “just as Oprah has security, Mona has security! Just as Oprah rides in vehicles with a bulletproof glass window, Mona sits behind a bulletproof glass window.”

    Sensing I was onto something, I prodded. “So you’re pretty much saying just as if Oprah were seated in the same room you’d all be huddled around her with the camera phones out, at the Louvre . . . let me guess — everyone had their camera phones out, huh?”

    She then showed me pictures.

    (Though a picture is worth 1,000 words, the Mona Lisa is worth 1,000 phone camera shots, too. (Pic: Leandro/Flickr/CC BY 2.0.))
    To my surprise, Carol didn’t exaggerate one bit. Pictured was the Mona Lisa accompanied by security guards flanked on each side of the roped-off section. Talk about a glaring instance in which art imitates life.

    Because every picture tells a story, every story must paint a picture!

    I found myself grappling with how on earth has this particular painting which Da Vinci never finished, which depicts an ordinary lady named Lisa del Giocondo, has arisen to such heights as to be crowned “the greatest work of art in history.”

    Really?

    Note how Walter Isaacson waxes poetic about the world’s most popular piece of art:

    The Mona Lisa, to me, is the greatest emotional painting ever done. The way the smile flickers makes it a work of both art and science, because Leonardo understood optics, and the muscles of the lips, and how light strikes the eye — all of it goes into making the Mona Lisa’s smile so mysterious and elusive.
    “Greatest emotional painting” . . . “smile flickers” . . . “muscles of the lips.” Excellent! But is this relatively miniature — half-finished portrait of the half-smiling Lisa del Giocondo — really that much “emotionally” superior to the other 52 masterpieces housed in the Salle des États?

    Or could it be, the greatness in question merely reflects the popularity, not the popularity reflects the greatness?

    Perhaps Jay-Z best summed up this age-old curious phenomenon:

    People respect success. They respect big. They don’t even have to like your music. If you’re big enough, people are drawn to you.”

    II. To Know Thyself is to Trust Thy Perceptions

    Picture, if you will, being in a coma. As you’re lying in a hospital bed — surrounded by loved-ones and flowers that flank your bedside — does any of this have existence to you?

    Ahh, but the instant those eyelids for curtains of yours lift . . . abracadabra — the world’s stage adorned with all its actors magically appears. Poof!

    In other words, there’s no “reality,” only perception. Hence your perception is your reality! For this reason, to allow others to sway your perceptions — by way of popular vote — is to essentially allow them to control your reality.

    Bingo!

    To Know Thyself is to trust Thy Perceptions. After all, given that we each made our grand appearance on the world’s stage as a solo act and we’ll make our graceful exits stage left all by our lonesome, why not live our lives on our own terms?

    I recall my teenage cousin giving me a hard time because I’m not a fan of mumble rap. “Bro,” he said, “you ain’t cool no more! Don’tcha know — the Migos is what’s in now?”

    “Well,” I mumbled back so as to stress my point, “I must be out now.”

    Perhaps my cousin didn’t get the memo:

    It’s impossible to shame someone who is indifferent to the world’s opinions. After all, to Know Thyself is to trust Thy Perceptions.
    I recall another case in point.

    Some friends of mine hosted a “Game Of Thrones” viewing party. It was the famed season 8 premiere. The world stood still. And so did I — still while fast asleep on the couch within the first few minutes.

    “Ugh!” groaned my buddy. “Clearly you don’t get it.”

    I scratched my head. “And clearly — nobody told me it was sent.”

    III. In Closing

    “To be yourself in a world that is constantly trying to make you something else is the greatest accomplishment.” Emerson’s grand statement serves as my mantra.

    Because I know myself, I know the Mona Lisa is no different from any other portrait. Regardless of how famous and mysterious her smile is said to be, in my eyes — the portrait is no different from any other.

    Because I know myself, I know vegetarianism feels closer to the Golden Mean and the Middle Way than veganism.

    No way, no how am I wasting the few grains of sand left in the hourglass bickering over whether consuming eggs is right or wrong. Besides, as Shakespeare noted, “There is nothing either good or bad, but thinking makes it so.”

    As my buddy and fellow vegetarian Essence — who refuses to cave in to the pressure to conform to the latest Manhattan trend of outright veganism — loves to say: “If it can pee or poop, I don’t eat it. Other than that — bon appétit!”

    Because I know myself, I know I’m not comfortable writing listicles. I know, I know — monkey see, monkey do. But I’ve never been one to “monkey around.”

    Perhaps such independence of spirit merely reflects my having grown up an only child. Perhaps. Whatever the case may be, Experience — that hard teacher which gives tests before study guides — has taught me the following invaluable lesson: in a world where the blind follows the blind, whoever dares open his eyes and follows his own path will naturally become a leader!

    In short, because there’s no “reality” apart from my private perceptions, until that fateful day when I finally twirl into the Reaper’s grim arms, I’m going to trust my own perceptions. After all, as The Bard noted:

    “If we are true to ourselves, we cannot be false to anyone.” — Shakespeare

    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第925期:《Booster》

    21 10 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《Booster》
    今日推荐英文原文:《Xiaomi’s 80W wireless tech promises to fully refill a phone battery in 20 minutes》

    今日推荐开源项目:《Booster》传送门:项目链接
    推荐理由:Booster 是一款专门为移动应用设计的易用、轻量级且可扩展的质量优化框架,通过动态发现和加载机制提供可扩展的能力。 它不仅仅是一个框架,更内置了丰富的质量优化工具。
    今日推荐英文原文:《Xiaomi’s 80W wireless tech promises to fully refill a phone battery in 20 minutes》作者:Sareena Dayaram
    原文链接:https://www.cnet.com/news/xiaomis-80w-wireless-charging-tech-promises-to-fully-refill-a-phone-battery-in-20-minutes/
    推荐理由:中国手机制造商纷纷加入超快充大战,小米推出了一种80瓦快充. 小米表示其新的充电方法“ 80W小米无线充电技术”可以在一分钟内将4,000mAh电池充电至10%,八分钟内可充电40%,19分钟内可充电100%。这比去年的30瓦充电技术有所提高,后者在25分钟左右的时间内将类似电池的容量重新装满了一半。

    Xiaomi’s 80W wireless tech promises to fully refill a phone battery in 20 minutes

    A new challenger joined the ultra-fast charging wars on Monday, as Xiaomi unveiled an 80-watt charging system it says will fully revitalize a phone battery in less than 20 minutes. The Chinese phone maker says its new charging method, “80W Mi Wireless Charging Technology,” can charge a 4,000mAh battery to 10% in one minute, 40% in eight minutes and 100% in 19 minutes. This is a step up from last year’s 30-watt charging tech, which refills a similar battery size to half in around 25 minutes, according to the company. Xiaomi didn’t specify how the charging method works or whether it will ship with a device. But the Chinese-phone maker does lay claim to the title for shipping the fastest wireless charger with a commercially available handset. The Mi Ultra 10, released in China earlier this year, made waves for its 50W wireless charging that’s quoted to fully revitalize its 4,500mAh battery in 40 minutes, along with a 120-watt wired charger. For context, anything 18 watts and above is considered fast charging. But Xiaomi is hardly alone in its quest to build blazing-fast phone chargers, facing stiff competition from homegrown rivals. In July, Oppo launched its 120W “Flash Charge,” which is also advertised to fully refill a battery in less than 20 minutes, while 120-watt charging tech from Vivo hit the market in 2019. By comparison, Apple’s MagSafe chargers for the iPhone 12 family give you up to 15 watts of power.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第924期:《冲击力 obnoxious.css》

    20 10 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《冲击力 obnoxious.css》
    今日推荐英文原文:《Don’t be too Proud to Ask For Help》

    今日推荐开源项目:《冲击力 obnoxious.css》传送门:项目链接
    推荐理由:这个项目包含了一些极具冲击力的 CSS 动画——字面意义上的冲击力,配合自己页面上的主题元素一起使用能够给来访者留下足够深刻的印象,包括但不限于为元素们附加强烈的闪烁与震动等等(有时冲击力和惊吓意外的只有一线之差呢……)。
    今日推荐英文原文:《Don’t be too Proud to Ask For Help》作者:Rose Day
    原文链接:https://towardsdatascience.com/dont-be-too-proud-to-ask-for-help-76f21d16f318
    推荐理由:建议和提问的艺术一起食用来确保在你知道你应该向别人求助时能够正确提出问题

    Don’t be too Proud to Ask For Help

    If you are stuck on a bug or feel overwhelmed, you can ask for the help you need.

    One of the hardest lessons to learn when working on a problem is when to step back and ask for help. Don’t be too proud to ask for help. Whether it be an issue with a coworker, a bug in your code giving you grief, or a personal problem you have going on, you can always ask for help when you need it.

    Noticing Your Problem

    Recently I took on a project to develop a new set of functionalities in our codebase. Looking at this problem, it appeared to be relatively easy work as it just extended off existing code to cater to a new use-case. I spent a few days developing the code and creating unit tests to test the new functionality. As the sprint was coming to a close, I noticed two small issues that appeared in my output, (1) I had duplicate timestamp columns, and (2) my generator was returning an empty list though it should have had one element in it.

    Working on data science and software projects, you can often face problems at work where you end up looking at code on a computer screen for hours on end and can’t seem to find the issue. For me, these two bugs were one of those cases. The first bug surfaced as a duplication of columns in my output dataset. I was receiving two timestamp columns with the same value but each in a different format. As I looked closer at this data, it was clear something was wrong, but I did not understand where the problem was coming from.

    As I read through the code, I traced the timestamp column through the creation of the output but was not seeing the issue. The data looked fine throughout the process up until the final result was printed. My second bug was my generator function producing an empty list instead of creating a list of objects. So what was happening? At this point, I had identified that I had two problems and spent too much time debugging them alone; it was time to ask for help.

    Accepting You Need Help

    When you find yourself spending too much time trying to solve a problem yourself, step back from the problem for a few minutes. Accept that this problem may be something larger than yourself or maybe something you are just overlooking. As you step back, recognize that you can ask for help. And no matter what stage you are in your career, you can ask.

    You shouldn’t feel as though you are too far along to need the assistance of others. If you are working on a coding project or an analysis and are now facing a bug, you may have made an assumption somewhere in your code that you overlooked. Maybe you missed something in the data that was unclear to you before. Could you have spelled something wrong or used a different function, which is altering your output? There are so many things that can cause problems, but you don’t need to solve them alone.

    Asking For Help

    After spending a day on my duplicate columns bug and empty generator output, I stepped back and set up a meeting with two other developers. I explained my issue in the email and asked if they could review my code for anything that I could have missed.

    Heading into the meeting, I read through my code one more time and spotted the line creating the initial empty data frame. That line of code was creating the data frame with a timestamp column and a timestamp index. Thinking to myself, “that can’t be my problem!” I removed the timestamp column and left the timestamp index. I reran my code and looked at the output just as the meeting started. It was, in fact, my issue with the duplicate timestamp columns. With bug 1 concurred, it was clear I needed to step back from the original code for a while to bring a fresh perspective on the issue.

    So what was wrong with my generator function producing an empty list of objects? As the meeting started, I explained my duplicate column bug and the solution. It was helpful for one of the developers who would be working on similar work in the upcoming sprint. As for the generator bug, I brought up my code and shared my screen. The function was operating without producing any error statement, but the output was wrong. It came down to a simple data type issue. I was trying to cast the data going into the generator as the wrong type. Therefore, it was not finding anything of that type in my folder. Since nothing in my folder was the correct type, nothing was added to the list, in turn, producing an empty list. Once I updated the class to the correct type, my generator created a list with the folder’s data. My problem as simple as a find and replace of one word that I overlooked.

    Summary

    So what did I learn here?
    • You can ask for help, and you should. Please don’t feel that you have to go it alone with your problem.
    • Don’t let what seems like a trivial bug put you off schedule because you are too proud to say, “Hey, can you look at this with me quickly?”
    • Sometimes you need to step back from what you are working on to recognize where the problem is. Code can blindside you, walk away and come back for a fresh look later.
    • Don’t feel that you are alone. Every developer will ask for help at different times and for various reasons.

    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第923期:《富文本 RichText》

    19 10 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《富文本 RichText》
    今日推荐英文原文:《Unchecked AI Can Mirror Human Behavior》

    今日推荐开源项目:《富文本 RichText》传送门:项目链接
    推荐理由:在 Markdown 编辑器火起来之前,富文本编辑器一直统治着整个互联网。该项目为 Android 平台下的富文本解析器,同时支持 Html 和 Markdown 格式文本。
    今日推荐英文原文:《Unchecked AI Can Mirror Human Behavior》作者:The Unlikely Techie
    原文链接:https://medium.com/better-programming/unchecked-ai-can-mirror-human-behavior-2ce1ce76f914
    推荐理由:我们是什么样的用户,决定了我们会训练出什么样的 AI 。

    Unchecked AI Can Mirror Human Behavior

    How can we try our best to mitigate bias?

    There is an interminable interest in artificial intelligence (AI). According to the AI Index 2019 Annual Report published by the University of Stanford, the volume of peer-reviewed AI papers has grown by more than 300% between 1998 and 2018. In over 3,600 global news articles on ethics and AI identified by the Human-Centered AI Institute at Stanford between mid-2018 and mid-2019, topics such as possible frameworks and guidelines on the ethical use of AI, use of face recognition applications, data privacy, the role of big tech, and algorithm bias dominated.

    This highlights the importance of understanding how bias can slip into data sets and raise awareness when working towards mitigating bias. AI strikes humanity where it hurts most: It uncovers how preconceived notions affect the outcome of well-intentioned applications. While there has never been more data available to make qualified decisions, it is not guaranteed that these decisions can be put to use successfully. There have been multifold fails (this list is not exhaustive):

    In 2015, Google was faced with another controversy when its photo service labeled pictures of Black people as gorillas. How did Google fix this problem? It didn’t really. Instead, it blocked all images tagged as “gorillas,” according to a Wired report in 2018. In 2016, after not even 24 hours of operation, Microsoft’s AI chatbot was shut down because Twitter users had trained it to become an insulting nazi-lover. In 2019, researchers in Brazil discovered that “searching Google for pictures of ‘beautiful woman’ was far more likely to return images of white people than Black and Asian people, and searching for pictures of ‘ugly woman’ was more likely to return images of Black and Asian people than white people.”
    Given these incidents, we have to ask ourselves how we can try our best to mitigate bias. We must be aware that there are several sources of bias concerning data sets, but how we handle this is a human decision. It can become dangerous very quickly if we train models based on human misjudgment.

    The 5 Most Common Types of Bias

    If we approach the topic from a statistical point of view, there are five ways in which bias can creep into the results.

    Confirmation bias

    Confirmation bias is the inclination to look for, decipher, favor, and review data that affirms or bolsters one’s earlier individual convictions or values. Therefore, confirmation bias is a powerful type of cognitive bias with a critical impact on society’s correct workings by misshaping evidence-based decision-making.

    An example of this is when you remember information selectively or make a biased interpretation of information given to you. Studies showed that we could even be manipulated to remember fake childhood memories. This indicates that people sometimes don’t even notice when they analyze data in a biased way (another psychological phenomenon that fits this category is wishful thinking).

    Selection bias

    Selection bias is the bias introduced by selecting individuals, groups, or data for analysis that does not achieve proper randomization, thereby ensuring that the sample obtained is not representative of the population to be analyzed. The term “selection bias” usually refers to a statistical analysis’s bias resulting from the sampling method. Therefore, it is essential to consider selection bias. Some conclusions of the study may be wrong.

    Outliers

    An outlier is an extreme data value. For example, a 110-year-old customer or a consumer with $10 million in their savings account. You can identify outliers by carefully inspecting the data, especially when distributing the values. Since outliners are extreme data values, it can be dangerous to decide based on the calculated “average.” In other words, extreme behavior can have a significant impact on what is considered average. It is imperative to base your conclusions on the median (the average value) to have an accurate result.

    Overfitting and underfitting

    Underfitting implies that a model gives an oversimplistic picture of reality. Overfitting is the inverse (i.e. an overcomplicated picture). Overfitting risks causing a particular assumption to be treated as the truth, whereas it is not the case in practice.

    How can this bias be counteracted? The most straightforward approach is to ask how the model was validated. If you receive a somewhat glazed expression as a reaction, there is a good chance that the analysis outcomes are so-called unvalidated outcomes and, therefore, might not apply to the whole database. Always ask the data analyst whether they have done a training or test sample. If the answer is no, it is highly likely that the analysis outcomes will not be applicable to all customers.

    Confounding variables

    Basically, this happens when additional factors influence variables you have not accounted for. In an experiment, the independent variable usually affects your dependent variable. For example, if you want to investigate whether the need to exercise leads to weight loss, the need to work out is your independent variable and the weight loss is your dependent variable.

    Disturbing factors are all other factors that also influence your dependent variable. They are additional factors that have a hidden influence on your dependent variable. Aggravating factors can cause two main problems: increased variance and the introduction of bias.

    It is essential to confirm that the conclusion drawn from research and analysis results is not affected by distortions. Uncovering biased results is not the sole responsibility of the analyst concerned. It is the joint responsibility of all those directly involved (including the market participant and the analyst) to reach a valid conclusion based on the correct data.

    There Is No AI Without Humans

    So when we deal with prejudices, wrong application possibilities, and erroneous results, we always have to ask ourselves how they were created. Social norms, fears, and social shifts existed far before any AI calculations and technological advances. The vast majority of AI applications were made without evil intentions. But it is also clear that many applications have effects that are harmful to society.

    It’s precisely for this reason that it is absolutely essential to examine AI not only as a matter of programming language but as a concept with all its intricacies and its significant impact on society as a whole.

    AI without humans is impossible. Therefore, other scientific disciplines such as psychology, history, philosophy, ethics, sociology, political science, health, and neuroscience are essential to mitigate bias. Mitigating bias is not only a data science imperative but also valid for other disciplines.

    Many publications in this area make me hopeful that there is and will continue to be a broad discourse on this topic. It should not be about pointing the finger at people but about learning from mistakes made, eliminating possible sources of error, and then developing AI applications for the future together that are beneficial for all of us.


    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
←上一页
1 … 27 28 29 30 31 … 262
下一页→

Proudly powered by WordPress