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

开源日报

  • 开源日报第794期:《宝可梦图鉴 Pokedex》

    5 6 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《宝可梦图鉴 Pokedex》
    今日推荐英文原文:《How Doing Nothing Can Make Us More Creative》

    今日推荐开源项目:《宝可梦图鉴 Pokedex》传送门:GitHub链接
    推荐理由:Pokedex是一个基于现代Android应用技术栈和MVVM架构的小型演示应用程序,被用作宝可梦图鉴,并使用 PokeAPI 从数千行与 Pokémon 相关的数据构建高度详细的对象。
    今日推荐英文原文:《How Doing Nothing Can Make Us More Creative》作者:Mythili the dreamer
    原文链接:https://medium.com/better-programming/how-doing-nothing-can-make-us-more-creative-b171c508d04d
    推荐理由:断掉网络就好了,一会儿就行。

    How Doing Nothing Can Make Us More Creative

    Counterintuitively, some of our best ideas come when we’re not trying to solve anything

    (Photo by Andrew Neel on Unsplash)
    Being creative and doing nothing. Sounds like poles apart, don’t they?

    But that was exactly the lesson on creativity that he taught me a few years back. I met him at a tech conference. We exchanged pleasantries and then our business cards.

    “Chief Happiness Officer? Interesting title. So what do you do exactly?”, I asked.

    He smiled and said, “My job is to just create a congenial atmosphere of compassion, empathy, and respect where employees feel valued and excited about their work. And one of the ways I do it is by teaching them the art of doing nothing.”

    Intrigued, I waited for him to explain.

    Yes, doing nothing is often associated with laziness, lethargy, or even procrastination. Unfortunately, this is the most misunderstood interpretation possible of this wonderful concept. The art of nothingness is like taking a leaf out of the Italian way of life: la dolce far niente (the sweetness of doing nothing). The very idea here is that doing nothing is an activity in itself.

    And here are some advantages of indulging in nothingness.

    You Become More Creative

    In 1881, the famous inventor Nikola Tesla had fallen seriously ill on a trip to Budapest. There, a college friend, Anthony Szigeti, took him on walks to help him recover.

    As they were watching the sunset on one of these walks, Tesla suddenly had an insight about rotating magnetic fields — which would, in turn, lead to the development of modern day’s alternating current electrical mechanism.

    Similarly, Friedrich August Kekulé, one of the most-renowned organic chemists in 19th-century Europe, discovered the ring-shaped structure of the organic chemical compound benzene while daydreaming about the famous circular symbol of a snake eating its own tail.

    And Albert Einstein famously turned to music — Mozart’s, in particular — when he was grappling with complex problems and needed inspiration.

    So, what is the common factor in all these inventions?

    The inventions were not made by forced application of mind. All of these inventions are a result of randomness, of making the mind wander. In other words, we become more creative when our mind is idle, daydreaming, or unfocused.

    And new studies have also proved that indulging in even hours of nothingness is a smarter way to live and utilize the brain to its full potential. This is the reason that companies like Google, Twitter, and Facebook have made disconnected time or nothingness a key aspect of their workplaces.

    You Eliminate FOMO (Fear of Missing Out)

    In today’s age of 24/7 connectedness, even if we think we are giving our mind a rest, in reality, our fingers are constantly typing on smartphones and laptops.

    We are bound by an electronic leash and even a few seconds of disconnectivity gives us jitters, thinking about what important things we might be missing. Experts worldwide have agreed to the fact that this “virtual busyness” is one of the main reasons for the growing cases of mental health issues spreading alarmingly within younger people.

    And recent studies have shown that, even when we mindlessly scroll through Facebook, Instagram, and WhatsApp, our brains get a dopamine hit and we get high, thus consuming our natural thinking energies. Practicing nothingness not only eliminates our FOMO but also helps us to take control of our lives and utilize them in more productive pursuits.

    You Manage Stress Better

    In today’s rat-race world, stress cannot be avoided, and this is the sad truth. We are constantly living an unenvious life of tight deadlines and even tighter customer expectations.

    Our every project is a never-ending saga of blood, sweat, and tears. This “round the clock” working no doubt wreaks havoc on our mental and physical health, with burnouts and blackouts becoming very common these days, especially among the techie generation.

    Idleness is the solution to get out of this muck. In fact, it is the only way to give your mind the much-needed peace and recharge your batteries at the same time. Once the “toxin” of stress is released from your mind, your mind starts thinking more clearly and you start getting back to creative mode.

    Frequent cycles of idleness interspersed between short spurts of work help to keep stress within manageable levels and prevent burnouts.

    You Improve the Quality of Your Life

    Has your life become one big never-ending routine of work and deadlines?

    Are you missing out on the small joys in life and find no time for yourself, your passions, your hobbies, and most of all, your family?

    Nothingness gives your brain the time to think, the time for self-reflection, in which you can take back control of your life and do all those things that matter the most to you. It helps you to establish the work-life balance which has been eluding you for so long, in spite of your best efforts.

    Whiling away time is actually becoming a movement as people realize the pointlessness of constantly running on a treadmill of activity. This constant busyness has depleted their vitality to such an extent that they can no longer function as normal human beings.

    Nothingness gives you a chance to again resume a well-balanced life, rather than always being in the robot mode.

    So, Where Do I Start Being Idle?

    Short answer: start with yourself first.

    Next time you’re stuck in a traffic jam or waiting at the airport for a delayed flight or even waiting for a movie to start, stop playing with your phone and muttering curses under your breath. Instead, let your mind wander aimlessly to faraway places, or let it be absolutely blank.

    As Keanu Reeves said:

    “A blank slate is the best place to begin afresh”.

    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第793期:《终极偷懒 text-to-handwriting》

    4 6 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《终极偷懒 text-to-handwriting》
    今日推荐英文原文:《Are You a Hype-Driven Developer?》

    今日推荐开源项目:《终极偷懒 text-to-handwriting》传送门:GitHub链接
    推荐理由:手 写 作 业。终极噩梦,离开了键盘速度简直慢的飞起,而且你最后会发现你写的字不如电脑上打的整洁。虽然不知道老师有什么理由要布置一些可以在电脑上快速写好却还是要让你手写的作业,但是这个项目没准能够帮你投机取巧,如果你能想办法把自己的手写文字拿去生成字体,没准就能用这个自动转换来瞒天过海。
    今日推荐英文原文:《Are You a Hype-Driven Developer?》作者:Emanuel Marques
    原文链接:https://medium.com/better-programming/are-you-a-hype-driven-developer-368586c27051
    推荐理由:反正千万别学文中故事那样随便对大型项目搞技术迁移

    Are You a Hype-Driven Developer?

    Always being up-to-the-minute is great — to a point

    If you’re a developer, you’re probably a creature of creation — a person who loves solving problems and does it with a smile on your face. It’s what drives your soul into the climax of dopamine discharges.

    The software development world is an always-changing environment. Every year, thousands of new frameworks, technologies, and patterns enter the market. These new options lead people to ask whether they’re using the right ones.
    “Am I making a mistake by using an old framework when xpto is out now and claims to make my life a lot easier?”
    By their nature, a developer is a person who loves technology. Even more so, when the technology is a new one that not many people have tried. Our thirst for knowledge and trying new things is insatiable. There’s a huge adrenaline rush flowing in our veins when we’re creating something new.

    Excitement over your profession can be incredible — when correctly managed.

    How Can Enthusiasm Over New Things Be Something to Worry About?

    It feels like a paradox. Why worry when our programmers are motivated, positive, and thrilled about something new?

    Because excitement over a new solution, approach, technology, or pattern, can lead to people overlooking older solutions and claiming, “XPTO.js is the way to go. We should migrate the whole platform to this new framework now!”

    The first time it happens, you may think: “OK, we’ll be spending a few months on the migration, but ultimately we’ll end up with a better, more up-to-date product.” After six months of doing nothing but migration, you finally return to focus on business-related features.

    One year later, a wild, unique, revolutionary, over-the-edge new database engine appears. Developers are whispering that this is the future and that we’ll be outdated if we don’t change from QSL to Sacandra.

    But this time, migrating all the data brings more risks with it. You decide to take the risk. But instead of six months, your team takes more than a year to complete the migration. There were several differences of paradigm between the technologies. There was almost no information about it on the internet and no knowledge about it within your team. Consequently, your customer support got worse, since the engineering team was focused on migrating to a new technology, rather than serving the customers who keep the business alive.

    This is Called Hype-Driven Development

    Marek Kirejczyk was one of the first (if not the actual first) people to introduce this topic. Hype-driven development (HDD) is developing software and making decisions based on what’s hot at the moment, rather than actual needs.

    In his article(https://blog.daftcode.pl/hype-driven-development-3469fc2e9b22), he mentions the various types of HDD, such as the conference driven developer, the stack overflow driven developer, or my personal favorite, the loudest guy driven decisions.

    There are several examples of hype-driven development out there. Some include, but are not restricted to, NoSQL, Micro-service architectures, and JavaScript frameworks. In these three cases, we verified a lot of excitement around them. Entire conferences and forums went wild evangelizing these solutions. This led to people implementing them, often for the wrong reasons — because they looked cool, not because they actually needed them.

    Make Conscious Decisions!

    Every framework/solution/pattern/technology was designed to solve a specific problem. Period. This doesn’t make them better than the others — they simply solve a given problem better.

    As a professional, you should always ask yourself what the best solution to your problem is. The answer cmay be the most recent, hot micro-service, or it may be the old, side-kicked, unloved monolith. It just depends on the problem you need to solve.
    There are no silver bullets.
    You will never find a solution that solves all of your problems. It simply does not exist. Every solution will have strong and weak points. When you advise someone to use a particular solution, make sure you match the problem to the most appropriate solution.

    How to Detect a Hype-Driven Developer

    Bear in mind that often, hype-driven developers are not necessarily hype-driven all the time. is not an HDD all the time. Usually, it happens on topics of interest to the individual.

    There are a few questions you can ask yourself to help you recognize when you’re making a decision based on hype:
    • Are you aware of the trade-offs that the new solution brings?
    • Do you know the specific problem that it was designed to solve?
    • Does the solution have proven efficiency in solving a problem similar to yours?
    • Do you know the actual benefits the new solution will bring and how much time it will take to get a return on the investment of migrating?
    If you answer no to these questions, you’re probably making an emotional decision rather than a rational one. In this case, I advise you to meet with your team, expose the pros and cons of the migration, and check whether it pays off.

    Final Notes

    As a developer, you’re the source of truth when it comes to technical decisions. This power comes with the great responsibility of advising your management correctly.

    Stay up-to-date with everything that’s released every year and make sure you understand the pros and cons of each. Be a connoisseur when it comes to technology — that’s the way to be a great engineer, not recommending something just because you heard about it at a conference.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第792期:《火箭发射信息 SpaceX-API》

    3 6 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《火箭发射信息 SpaceX-API》
    今日推荐英文原文:《So You Broke Everything. Now What?》

    今日推荐开源项目:《火箭发射信息 SpaceX-API》传送门:GitHub链接
    推荐理由:r/SpaceX 是 SpaceX 粉丝自发组织的社区,该项目就是他们整理的 API,基本包含了 SPaceX 成立迄今的所有火箭数据(但是并不包含火箭的制作步骤)。
    今日推荐英文原文:《So You Broke Everything. Now What?》作者:Steven Popovich
    原文链接:https://medium.com/better-programming/so-you-broke-everything-now-what-2461c34b0a97
    推荐理由:如何面对突如其来的bug和甲方

    So You Broke Everything. Now What?

    How to handle on-call. Don’t worry, everything will be fine

    (Exactly. Photo by Jasmin Sessler on Unsplash)
    So shit hit the fan and you are out of toilet paper. And the fan is still blowing. And the plug welded into the wall. And everyone knows it was you. Now what?

    Well, as the roll suggests, the first thing you need to do is not panic. These things happen. Your job as an ethical, professional engineer is not to be perfect, it’s to try. This is how.


    Let’s set up a scenario. You built a new system to send messages between your users. But, uhhh, it’s not doing that. It’s doing nothing, actually. People send messages to it and then they don’t get anywhere. Oh boy.

    It was working for a week, but all of a sudden, it stopped. You were paged, and you test the system to see that messages are not being sent between users. At least your monitoring system works…

    So, what to do?

    Seriously, Remain Calm

    Do what you have to do to remain calm. Go for a walk, listen to music, do some deep breathing. I wouldn’t suggest taking a shot, but hey, no judgment. This is both for looks and will literally help you resolve the problem.

    I know it sounds like a cliche, but we all think better when we’re calm. And others around you will be calm, too. I know, it’s scary to break something customer-facing, but it’s not the end of the world, and it won’t be the end of your career if you handle it right.

    Blame Should Not Exist

    Well, when it is your fault, it’s okay to say “my bad.” But blame should not exist. Certainly, do not blame others.

    When addressing the issue or incident at hand, say “we made this decision” as opposed to “they made this decision.” Use us and I instead of him, her, or you.

    This language is very important to keep your team focused on fixing the problem at hand. Think about it — what does saying “so-and-so did xyz” do to get customers back to a usable state?

    Blame doesn’t even make sense

    Yeah, really. Think about that. When you assign fault to someone else, all you are doing is making yourself feel better. That’s it. I’ll explain.

    You built a messaging system and now it is broken. Was this your intention? Did you do everything in your power to make sure the system would work? Did you tick all the boxes to deliver the best possible system you could?

    If yes, and let’s assume everyone does that, then how can you be blamed? Sure, you built the system, and it’s broken. Shit happens! That’s how the cookie crumbles.

    Cars break down. Lawnmowers stop working. Sometimes your poop doesn’t flush. Should we hang the people that built and designed these systems? I think not.

    So don’t blame. It only serves to create bad tensions, slow down the restoration of your system, and swell egos.

    The software will always work itself out. Human relationships don’t always.

    Yes, I acknowledge that there are truly bad actors in the world. Sometimes people are lazy. Sometimes they don’t do the best job. But I refuse to operate on the premise in this sense. Trust is a two-way street.

    Don’t Stop Until the Problem Goes Away

    Okay, time to practice what you preach. Remember when I said that everyone tries their best? Now is the time to demonstrate it. Persistently investigate the problem and work towards a solution.

    Don’t be afraid to get help. You really are going to have to swallow your pride on this. There is nothing wrong with getting help when you need it. Trust me, your job is in much greater jeopardy if you try to quietly fix a customer-facing issue in the corner by yourself than if you just announce the issue and get it fixed faster.

    Remember, doing the best job means getting the issue fixed as soon as possible. Getting the issue fixed as soon as possible means getting help when you need it.

    And get the right help

    Now even though we aren’t blaming people, that doesn’t mean we can’t get help from people with context.

    Let’s say your co-worker Sammy actually built the messaging system, but you are on call so you are the one who gets paged for it. It is totally okay to ask Sammy for help. They have the most context on how to help.

    Don’t say “Hey, uh Sammy, your shit broke-ed.” Ugh, I cringe even writing that. Say, “Hey Sammy, it looks like user messaging is broken. I have no clue what’s going wrong — you have a second to help me look?”

    This is you doing your best job. Bringing in Sammy is the smart thing to do to mitigate customer impact as soon as possible.

    Keep Your Focus

    At all stages when dealing with a problem, keep in mind your number one job: Mitigate customer impact.

    Say it with me: Mitigate customer impact. As fast as possible. Without regard to a root cause.

    This makes a lot of developers cringe. It is at the core of our nature to try to understand the root cause of things. It’s literally what we do every day and it’s human nature.

    Fight this urge! It is so important. During the time of an incident or broken system, you need to stay focused on getting the customers back to an operational state.

    So your messaging is not working. You go to the cloud provider’s (AWS, Digital Ocean, the like) boxes that are supposed to have containers on them. Those containers that are supposed to be doing the work of sending messages back and forth between users are dead.

    Why, though?

    What happened to cause these containers to die? I guess the processes on them could stop, or maybe they ran out of memory, or I guess—Stop.

    If you are supposed to have running containers for your system to work, then shouldn’t restarting or recreating new containers get your system to a functional state? You can and should figure out what caused the containers to die—later. Right now, spin up new containers and get your system back up and functional.

    Have a Backup Plan

    Finally, I want to talk about something people seem to miss in dev ops. Part of doing the best job you can is realizing that things break and preparing for that eventuality.

    When doing something new, have a way to quickly roll it back. At my company, we have various in-house tools for managing our boxes and deployment images so if we roll out something that doesn’t work, we can roll back quickly.

    Or maybe you are making a configuration change. I hope you use something like Terraform so you can put configuration changes into something with history — Git, in the case of Terraform. Then you can easily roll back configuration changes and keep track of when and why you make certain changes.

    This isn’t always possible, though. With our new messaging system, we couldn’t roll back to an old, functioning system. So in cases like this, just have your system heavily documented and communicated. Maybe roll out the system in phases, and hopefully, you use staging environments.


    Alright, that’s it for today. Don’t freak out when something you wrote broke. If you write code for any period of time in any capacity, it will happen. There’s a 100% chance of that.

    What determines what kind of developer and teammate you are is how you handle it.

    Thanks for reading.


    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第791期:《python实践: practical-python》

    2 6 月, 2020
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《python实践: practical-python》
    今日推荐英文原文:《Trump terminates US relationship with the WHO》

    今日推荐开源项目:《python实践: practical-python》传送门:GitHub链接
    推荐理由:本项目是用于企业培训和专业开发的Python培训课程, 包括完成大约130个实际编码练习。自2007年以来,它一直在持续发展,并在现实世界的课堂上进行了测试。本课程的目标是涵盖Python编程的基本语法,着重于脚本编写、数据操作和程序组织。
    今日推荐英文原文:《Trump terminates US relationship with the WHO》作者:Corinne Reichert
    原文链接:https://www.cnet.com/health/trump-terminates-us-relationship-with-the-who/
    推荐理由:专业退群的川普又双叒叕退群了,这次连WHO的面子也不给了.为了甩锅,川普也是用尽了自己所有的招数来耍无赖了.

    Trump terminates US relationship with the WHO

    US President Donald Trump is ending the US relationship with the World Health Organization over allegations about the WHO’s handling of the coronavirus pandemic. The US will be withdrawing its funding from the WHO, Trump said in a press conference Friday, and instead “directing those funds to other worldwide and deserving urgent global public health needs.”

    The president’s reasoning behind terminating support included allegations that the WHO worked with China to “mislead the world when the virus was first discovered.” He alleged that “China has total control over the World Health Organization.” Trump further alleged that China covered up the coronavirus and “ignored their reporting obligations to the World Health Organization.”

    The US COVID-19 death toll hit 100,000 two days ago, out of more than 1.7 million confirmed cases. Worldwide more than 360,000 people have died, with 5.87 million cases reported.

    The US had made detailed requests for reforms it wanted to see at the WHO, Trump said.

    “Because they have refused to make the requested and greatly needed reforms, we will be today terminating our relationship with the World Health Organization.”

    The WHO didn’t immediately respond to a request for comment.

    The international organization works to combat diseases globally, working with governments, other health organizations, foundations, professional associations, the UN and others. It helps direct and coordinate international health responses and systems, including preparing, surveilling and responding to pandemics and other health issues. It also helps monitor and coordinate vaccine development.

    The US is the biggest funder of the WHO, paying almost $60 million per year to the organization.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
←上一页
1 … 60 61 62 63 64 … 262
下一页→

Proudly powered by WordPress