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

开源日报

  • 开源日报第618期:《对联 seq2seq-couplet》

    23 11 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《对联 seq2seq-couplet》
    今日推荐英文原文:《AI-Driven Software Engineering》

    今日推荐开源项目:《对联 seq2seq-couplet》传送门:GitHub链接
    推荐理由:马上还有两个月又要起新对联了,比起去附近的市场买一副对联,自己想一个似乎也是可选项。这个项目用 Python 完成了借助深度学习的对对联项目,也就是用机器来对你出的上联。对对联对用字用词都有很高的要求,哪怕是换一个字,都可能让对联的配合程度变化一个档次,而要想对出符合自己意思的上下联就连大量样本学习之后都难以做到,尽管自己对出了对联,也要考虑书法的问题,好兆头可不是那么容易就能讨到的。

    今日推荐英文原文:《AI-Driven Software Engineering》作者:Omar Rabbolini
    原文链接:https://medium.com/swlh/ai-driven-software-engineering-669f21742e91
    推荐理由:最起码在编码以外的部分,AI 与人类还有一段差距

    AI-Driven Software Engineering

    Will AI replace human engineers? An analysis based on the current state of the art

    This year, AI has once again been one of the hottest topics in the news. Startups marketing themselves as “AI-driven” have been raking in investors’ money while big tech has been taking this technology to the masses. Alexa, Google Assistant, Siri and the Night Mode offered by the Google Pixel’s camera have been wowing users worldwide while serving as a showcase for the state of the art of its applications.

    Thanks to this level of exposure, consumers have also started to become more aware of the moral and ethical implications surrounding AI. Much has been written about the use of personal data for training commercial systems, serve ads, and even create nanny state-like surveillance programs in technologically advanced, but ultimately dictatorial nations.

    And as with any other misunderstood technology before it, it was only time before people became paranoid and started asking the same age-old question:
    Will AI ever take over my job?
    Today, I want to look at this question from the perspective of the very industry that brought AI to life, software engineering. I’m sure you appreciate the irony of this proposition: the Frankensteinian monster destroying its creator’s life. But how realistic is this concern? Will AI ever take over software engineering jobs?

    In short, at least for now, not likely, but this is certainly something worth giving some further thought.

    Software engineering beyond coding


    Photo by Campaign Creators on Unsplash

    Often, when talking about the impact of AI in software engineering, the argument goes straight to coding and its dependence on creative problem solving, a skill that only the best human minds can offer. Fine, let’s stick with this assumption for now, but building software is much more than just coding.

    There are many activities taking place in the software development lifecycle that still require an engineer’s expertise and have very little to do with typing out lines upon lines of their favorite programming language. Think about the time spent analyzing requirements, designing systems, dealing with scalability and performance concerns, doing code reviews, etc. All of these activities are important to the production of good software, but don’t require any coding.

    Can AI help here then? Yes, and in fact, that’s one of the trends we’ve seen coming up in the past couple of years.

    Engineers often use tools to perform non-coding activities more effectively: knowledge base systems are commonly employed to help with estimation of new projects based on past experience, code linting saves the engineers time during code review, and the list goes on.

    AI can make these tools smarter, and in turn more effective. Here are a couple of example of this in action:
    • Microsoft’s Visual Studio Intellicode : An extension for Visual Studio / VS Code that allows a developer to quickly access the relevant methods and classes based on current context, instead of hunting them down in an alphabetical list.
    • DeepCode.Ai : A tool for automated code reviews with a focus on security vulnerabilities.
    These tools aren’t going to replace an engineer any time soon, they’re just here to help. They’re no different than using an IDE to code instead of relying solely on text editors in the first place. The end result is that whatever used to take us longer to do (e.g. writing boilerplate code) can be done much more quickly so that we can spend more time on the things that matter and get stuff done more quickly.

    The real question is whether technology (AI or otherwise) can go beyond being a helper tool, and really replace engineers on their core tasks, those aforementioned things that matter.

    To answer this question, we must take a closer look at the current state of the art for AI systems.

    The state of the art


    Photo by Alex Knight on Unsplash

    AI today in common parlance is pretty much a synonym for Deep Learning. This is a specific set of techniques that rely largely on brute force and luck to make sense of large amounts of data. This approach isn’t particularly new in itself. Convolutional neural networks (CNNs) for instance, which are at the basis of AI-powered computer vision, have been studied since the early 80s. What is new is that today we have enough data and enough computational power to create, train and analyze complex models within reasonable timeframes.

    Researchers today, both academic and commercial, spend most of their time creating more and more complex networks out of some common building blocks, achieving more and more interesting results as this complexity grows. However, beneath it all these very building blocks have a common flaw: they all require a lot of data in order to be trained to produce accurate results.

    And this data isn’t sufficient on its own. It needs to be paired with an expected output for the system so that the network can self-evaluate its accuracy and adjust its results as self-training is carried out. The outcome is that modern AI is good at tasks where the expected end result is easy to define, for instance:
    • Object recognition : Given a picture, can you recognize the objects contained within? End result: zero or more object labels
    • Speech recognition : Given a sequence of sounds (think “Hey Siri”), can you recognize a specific trigger word? End result: recognized / not
    • Language translation : Given a passage in language A, can you produce the same passage in language B? End result: the translated sentence
    • Speech synthesis : Given some text, can you produce sounds akin to a person speaking it? End result: audio data corresponding to the text being spoken
    The last two examples are an interesting demonstration of another characteristic of current AI systems: they’re good at approximating. And for some problems, an approximation of the end result is good enough.

    This is what allows modern AI to produce convincing art, or aged versions of our selfies (and deep fakes too, unfortunately). Our brain doesn’t need a pixel-perfect representation of a Van Gogh to get the general idea that our picture has been turned into a portrait in his style. As long as the result is close enough to the original, it is acceptable.

    What does this mean for software engineering?

    Quite simply: it’s currently impossible for deep learning techniques to produce advanced code by themselves. There are infinite ways to state a problem and just as many ways to solve it, although some are more efficient or sensible than others, so the expected end result is not as straightforward to define as, say, identifying whether a picture represents a dog or a cat. Let’s also not forget that software engineering is a precise art, approximation like in the case of speech synthesis isn’t going to be good enough. The code must work, be understandable and be maintainable.

    Realistically, the current style of AI can only produce boilerplate, such as translating UI mockups into its corresponding frontend code, which then would need to be “massaged” or otherwise completed by a software engineer before it can be considered production-worthy.

    But deep learning isn’t all there is to AI. Evolutionary algorithms (EA), for instance, are better suited at producing code than deep learning. Perhaps in future what we’ll see is a combination of different AI techniques to finally have a system that can spit out good code on its own.

    Sadly, given that currently there is very little ongoing research in other AI techniques aside deep learning / neural networks, I don’t see this happening anytime soon.

    Where does that leave us?


    Photo by Carlos Muza on Unsplash

    Ultimately the question of obsolescence of any highly skilled job is less about the technology that threatens it, and more about the adaptability of the workforce.

    Computing has evolved exponentially since the microprocessor revolution of the early 1970s. In the intervening years, we’ve built a completely new industry based around software, an industry which is by now pretty mature. Specialists as diverse as UX designers and DevOps engineers are working together to build more and more complex applications every day and advance the industry further. Some of these jobs only appeared in the past 5 years, and with them, some of the older jobs disappeared. This is the natural evolution of business, only made more evident by the breakneck speed of innovation in our specific field.

    Today, a good chunk of software engineering work is done through high-level languages and high-level frameworks (e.g. Flutter, Tensorflow, React). Most of the underlying hardware is abstracted by APIs, and even completely virtual sometimes, as is the case for containerized cloud deployments.

    In the years to come, it wouldn’t be too far fetched to imagine that AI can raise software engineering to an even higher level of abstraction. Think about telling an AI what to build, maybe by directly plugging in information from user stories coming from the product management team, and checking the resulting codebase. Initially, the code produced by the AI would be of poor quality and require a lot of human intervention, but if the AI is designed to learn from this manual changes, perhaps by being contextually aware of the product and the general rules governing the system’s architecture, it will get better and better over time.

    Again, not something that would happen in the next few years, especially if the research stays focused only on deep learning, but nevertheless an interesting proposition. If this happens, a new category of engineering jobs will appear, while older jobs will become obsolete. The engineers who will thrive the most are the ones embracing this change and adapting to it.

    In conclusion, the key to survival in the ever evolving world of software engineering is the same one I always talk about:
    Never stop learning
    Keep an open mind, and keep your eyes open to new technology and what it brings to your industry. Only by doing so you can ensure you’re not going to be made obsolete by an AI, or any other technology that might come along. Fear and suppression of new technology is never the key to success, it’s only an obstacle that will hold you back as the world inevitably moves on.

    In the end, I’d like to think that we chose to be software engineers because we have a curious mind and like to solve problems. Until there are no problems left to solve, our skills will always be in demand, regardless of the technology currently in the spotlight.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第617期:《颜色 github-language-colors》

    22 11 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《颜色 github-language-colors》
    今日推荐英文原文:《6 Lies We Tell Ourselves That Keep Us Stuck》

    今日推荐开源项目:《颜色 github-language-colors》传送门:GitHub链接
    推荐理由:GitHub 上每个项目都用颜色来标注了项目中使用的代码成分,他们到底哪找的这么多颜色来标识这么多的编程语言呢?这个项目用 Python 收集了 GitHub 上代码成分标注中不同语言使用的不同色号,虽然颜色并不能显著的改变我们对某个编程语言的观感,但是这也让为编程语言选择一种颜色变得意外的不太容易,不过最起码,他们没有拿重复的颜色来蒙混过关,这点还是很细致的。

    今日推荐英文原文:《6 Lies We Tell Ourselves That Keep Us Stuck》作者:
    原文链接:https://medium.com/@Shesreallyfat/6-lies-we-tell-ourselves-that-keep-us-stuck-612d7f56c2b3
    推荐理由:不仅是写作,其他任何职业都能用得上这些建议

    6 Lies We Tell Ourselves That Keep Us Stuck

    1. We don’t have the time.

    This is the lie that stops most creatives dead in their tracks before they even begin.

    It’s true that finding the time to create can be hard, particularly when you’ve got other daily obligations like school, work, or family. You might have less free time than most people, but the reality is that you are still the captain of your ship.
    “Do not wait; the time will never be ‘just right.’ Start where you stand, and work with whatever tools you may have at your command, and better tools will be found as you go along.” ― George Herbert
    If there’s something that you want to pursue, like writing, you’ve got to invest some time in that endeavor. If you can’t devote hours, try scheduling smaller time blocks.

    Even 5 minutes a day becomes more than 30 hours a year. Fifteen minutes a day becomes over 90 hours, and half an hour turns into 182.5 hours each year.

    Those minutes add up. And most of us have more time than we think, if we cut out certain habits that may not even serve us well. Like mindless social media scrolling.

    It’s all about consistency. Think of your big goal as a block of marble, and every day you chisel away just a little bit more until you reveal your complete masterpiece.

    Five minutes of writing every day will always accomplish more than never writing because you tell yourself you don’t have enough time.

    2. We’re not good enough.

    The truth is that nobody (or practically nobody) is good enough when they first start out doing anything. I actually started my personal writing career in 2018 with the sincere belief that I wasn’t good enough and that I might never get better.

    You might wonder why on earth I would even bother trying to make a living writing if I didn’t think I was any good. To be fair, telling myself that I wasn’t good enough did keep me stuck until I was 35 years old.

    And it certainly didn’t serve me. I stayed scared and stuck. Once I tried anyway? I got better and I finally started going somewhere with my work.
    “You get ideas from daydreaming. You get ideas from being bored. You get ideas all the time. The only difference between writers and other people is we notice when we’re doing it.” ― Neil Gaiman
    Oftentimes, getting better at something starts with simply paying attention. Notice your ideas. And then, of course, act on them. Practice and put in the work to get better.

    If you don’t bother to try, you can never be good enough. Being good enough means that at some point you decided to make an effort.

    3. Nobody will care about our work.

    Do you care about your work? And for reasons beyond money? If so, chances are that someone else is going to care too.

    It helps to be passionate about the work you want to do. It helps to find a purpose in our work that makes some kind of difference in not just our life, but the lives of others too.
    “Those who have a ‘why’ to live, can bear with almost any ‘how’.” ― Viktor E. Frankl
    Knowing why we’re doing something keeps us driven, and there’s something about being driven and persistent that is pretty damn contagious. I have found that after a while of working passionately for a greater good, people do start to care.

    Yes, it’s scary to worry that nobody will care about what you’re trying to do. But it’s a helluva lot scarier to stay stuck in your fears.

    Move forward and let yourself be surprised by how many people do care.

    4. There’s no room for us.

    Creativity might seem like an oversaturated market, but every single creative has a different story which needs to be told.

    Try to remember that there are so many different flavors of writing and creativity. You don’t need to spend time worrying about how to be unique. Instead, you need to think about how to be yourself.
    “The greatest gift you ever give is your honest self.” ― Fred Rogers
    The world has space for people to do the work they love. We need more people with a deep sense of who they are, and a willingness to unabashedly be themselves.

    If you want to talk about oversaturation, consider the copycats or phonies. We don’t need more people pretending to be something they’re not. Too many folks are already caught up in doing what they think they should do and their hearts just aren’t in it.

    5. We’ve missed our chance.

    It doesn’t matter if you are wanting to write, draw, paint, sculpt or even act. Every single creative industry boasts examples of folks who got started late in the game.

    I have to admit that I went through a very deep depression and battle with mental illness that essentially took my 20s away from me. Those are years that I will never get back, and for a long time, I felt doomed to go nowhere as a result.

    It has been a great comfort to me to read about people who do not become successful until they hit middle-age or beyond. America has an obsession with youth and we love rags to riches stories which feature young adults.

    Many people dream of being an acclaimed novelist by age 25 and somehow feel like a failure when that doesn’t happen. Time for a reality check: most writers who “make it big” don’t make it big when they’re that young. It often takes years of rejections first.

    6. We had a chance… but blew it.

    Nothing keeps us stuck harder than the sting of failure. Everybody is susceptible because we all fail at some point. Sometimes, failure happens after great success.

    Other times, a heartbreaking failure happens once we think we’re finally on our way.

    It’s tempting to say we blew it just because we failed. Tempting to think we only have one shot at getting this right.

    Fortunately, success is not linear. You cannot run out of chances. And anyone who has amassed great success has also racked up a pile of misfires.
    “Failure is so important. We speak about success all the time. It is the ability to resist failure or use failure that often leads to greater success. I’ve met people who don’t want to try for fear of failing.” — J.K. Rowling
    Don’t let failure keep you stuck. In fact, don’t allow any of these lies to keep you from going after your goals. Hard work is never going to become magically easy.

    There’s a part of us all that seeks the easy way out and would rather stay stuck than do what it takes to succeed because there is always a risk when you make an effort.

    You might feel that you risk nothing when you try nothing, but the truth is you forfeit your future when you do not try at all.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第616期:《有声音的代码 rockstar》

    21 11 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《有声音的代码 rockstar》
    今日推荐英文原文:《Did You Know There’s an Elvis Operator?》

    今日推荐开源项目:《有声音的代码 rockstar》传送门:GitHub链接
    推荐理由:写代码,自然也能够算是一门艺术——你可以把代码写的很简洁,很易懂,很高效,或者是很能让人唱出来。这个项目是一个编程语言,目的就是要让程序代码在可以运行的同时也可以像歌词一样,因为这样“似乎很有意思”。尽管这样在操作上更为繁琐复杂,但是这样的代码读起来将会更有趣味性(或者说唱起来),而且这样你就可以很轻松的把你的程序们贴在墙上了,这还会让你变得像个很酷的歌手。

    今日推荐英文原文:《Did You Know There’s an Elvis Operator?》作者:Jonathan Hsu
    原文链接:https://medium.com/better-programming/did-you-know-theres-an-elvis-operator-1406cb364929
    推荐理由:给运算符起名的人到底是怎么想的呢……

    Did You Know There’s an Elvis Operator?

    What other clever operator names are out there?


    Photo by Greg Ortega on Unsplash
    After Python 3.8 released the Walrus Operator and I began experimenting with it, I couldn’t help but be impressed with the creativity in naming. I mean, it really does look like a walrus. So I asked myself the question: what other clever operator names are out there?

    This led me to the Elvis operator, ?:, which is named after its resemblance to his famous hair. While I can’t say this is the “king” of operators, I found it valuable enough to share.

    What Is the Elvis Operator?

    Like other operators with colloquial names, Elvis has a technical or formal name as well. Falling in the class of binary assignment operators — meaning it takes two operands used for assignment — the Elvis operator is a “logical or” for the purpose of assignment to a variable (or constant).

    Also called a null-safety, the Elvis operator will take the first of two operands if that value’s boolean expression is true; otherwise, the second value is taken.
    // example is language agnostic
    // assume variable 'a' is null
    
    // This would store the default string
    my_var = a ?: "a default string"
    
    The intention of the Elvis operator is to condense a ternary operator statement where the boolean evaluation of the “if true” value is the determinant expression.
    // examples are language agnostic
    
    // ternary example
    my_var = a ? a : b
    
    // expanded if/else example
    if(a) {
       my_var = a
    } else {
       my_var = b
    }
    

    Does My Language Have the Elvis Operator?

    Most likely, yes; although it may not bear resemblance to the King. The specific character sequence “?:” is present in many languages, such as C, C++, Kotlin, Groovy, and ColdFusion.

    In PHP’s implementation of the ternary operator, the middle operand may be omitted, in which case the ternary operator resembles the Elvis operator and behaves the same.

    In Python, JavaScript, Ruby, and Perl, the Elvis operator does not exist; however, the OR operator (||,or) functions similarly. In these cases, the determination between assigning the first or second operand is not entirely dependent on the first being null, but rather the first being truthy; or evaluating to a true result. What this means is that empty strings, empty arrays/lists, and undefined keys in objects/dictionaries evaluate to false and cause the second operand to be assigned.

    JavaScript example:
    let name = "";let user = name || "Default Name"; # Default Name
    
    Python example:
    person = {
       "first_name": "Jonathan",
       "last_name": "Hsu"
    }middle_initial = person['middle_name'][0] or None # None
    

    Why Would I Use the Elvis Operator?

    The primary reason to use the Elvis operator is to consolidate statements for clarity. This consolidation is not only visual, but in the event a in our example above is a long function, the Elvis operator has the potential to influence performance as well.

    I’ve found the primary reason for using the Elvis operator is to safeguard against null or undefined values; hence I gravitate towards its identity as a null-safety. For me, this most often presents itself when dealing with Python command-line scripts that take in arguments.
    import argparseparser = argparse.ArgumentParser(description='')
    parser.add_argument('--server', dest='server', help='iFormBuilder server name (ie. app.iformbuilder.com)')
    
    args = parser.parse_args()
    server = args.server or ""
    
    The intent is to provide default values in a concise manner in the event an argument is not supplied in the command line.

    Why would I want a default value for an argument? Two reasons:

    First, oftentimes subsequent functions are expecting a specific data type such as a string. Rather than pass along an undefined or null value, I can use this technique to assign an empty string.

    Secondly, if I want to avoid the hindrance of entering in all arguments at the command line, or I want to simplify execution for a specific customer, I can skip the arguments (assuming I’ve made them optional) and set the customer’s specific values as the second operand.
    import argparseparser = argparse.ArgumentParser(description='')
    parser.add_argument('--server', dest='server', help='iFormBuilder server name (ie. app.iformbuilder.com)')
    
    args = parser.parse_args()
    server = args.server or "default.iformbuilder.com"
    

    Conclusion

    You can make use of the Elvis/null-safety/short-circuiting OR operator in your code to safeguard against null values and to provide default assignment values when the primary option fails.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
  • 开源日报第615期:《弹幕 DPlayer》

    20 11 月, 2019
    开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
    今日推荐开源项目:《弹幕 DPlayer》
    今日推荐英文原文:《Do You Have a Vulnerability Practice Daily?》

    今日推荐开源项目:《弹幕 DPlayer》传送门:GitHub链接
    推荐理由:所谓弹幕,即是在观看视频的某一刻有感而发写下的文字,而后人在同样的时刻能够读到这段文字正是它最大的魅力所在——可以在观看时快速的交换思想。这个项目是一个支持弹幕的视频播放器,听起来就和 B 站上面那个差不多,只不过使用范围更广了,同样是弹幕视频播放器它自然也可以通过 API 读取 B 站视频的弹幕并显示出来,毕竟比起一个人看视频有时候还是一群人看视频更热闹啊。
    今日推荐英文原文:《Do You Have a Vulnerability Practice Daily?》作者:Jun Wu
    原文链接:https://medium.com/@junwu_46652/do-you-have-a-vulnerability-practice-daily-eaa59d2b5c29
    推荐理由:直截了当的说出想法同样需要勇气,特别是在你知道这会对自己不利时更为如此

    Do You Have a Vulnerability Practice Daily?

    Try it for a day and you may find deeper connections to people in the process.

    I have a problem with vulnerability. Yes, I’m that girl at the front of the classroom answering every teacher’s questions. But, if you ask me when was the last time I confessed my intimate feelings to someone, I will tell you to f-ck-off. I can hang with the guys any day, mastermind, program, project-manage, whatever the business, I’m your ambitious, entrepreneurial woman. But, just don’t ask me to ask for help. Unless my heels are stuck in the cracks of the pavement, I won’t do it. It’s just not me.

    When a friend kindly suggested to me that I have a “vulnerability” problem, my response was, “I know.” I’ve known for years. To be precise, I’ve known this ever since I read “Daring Greatly”, by Brene Brown. Years later, even though the book is still on the must-read-over-and-over-again list of books on my bookshelf, I am still struggling to master the art of “vulnerability”.
    “Courage starts with showing up and letting ourselves be seen.” — Brene Brown
    You may think that spilling my guts writing personal essays on Medium is being “vulnerable”. Yes and no. It’s way too easy to hide behind the computer screen and write your intimate thoughts. I don’t have to see the faces of my readers. I don’t have to feel their hearts pulsating when they read this paragraph about my embarrassing past. I don’t have to even really respond to comments if I didn’t want to. These essays were written in my morning hours of inspiration.

    Even though the experiences might have been raw, reflecting on the experiences to write these essays gave me closure. I didn’t write them to sink deeper into my feelings. I wrote them to put these feelings away. Instead of leaning into the myriad of feelings, I was trying to pivot to a place where I can have a fresh start: free from bad childhood memories, free from traumas from the workplace, free from awful past relationships. I was trying to strip away all of that gritty messy emotions because they made me feel vulnerable.

    So, yes, I have a “vulnerability” problem. Being a problem-solver by nature, faced with this new problem of mine, all I want to do is to solve it.

    If I was a self-help guru giving me advice, I’d tell myself that I needed a “vulnerability practice”. I need a 20 days trial period in which I instituted this practice into my daily life, it will give me a much-needed reminder to feel vulnerable, be vulnerable, and relate to people who are willing to be vulnerable with me.

    The 1–2–3 Vulnerability Practice

    At the heart of being vulnerable is honesty. Honesty implies authenticity. When someone asks you a question, do you answer this person honestly or do you explain things away, deflect, or switch the subject?
    “Because true belonging only happens when we present our authentic, imperfect selves to the world, our sense of belonging can never be greater than our level of self-acceptance.” — Brene Brown
    Using unusually complicated methods to avoid answering questions is the tale-tell sign of your struggle with vulnerability. You are actively avoiding any scenarios where you might be wrong, might not know the answer, or simply does not want to reply.

    Instead of responding with all of these complicated methods of avoidance, do you just say to the person, “I don’t know. I have no idea. I don’t want to. No!”

    So really being vulnerable is so simple, it’s almost stupid.
    1. Notice your tendency to construct overly complicated scenarios in social situations.
    2. Stop! Be straight forward and honest about your experiences and responses.
    3. Bravely deal with the consequences whether they are good or bad.
    That’s it. There’s no trick to being vulnerable. You simply have to lean into your experiences, own up to your responsibilities in situations. Then, you step forward and give the most direct and honest response that you can.

    Your manager asks you for the late work.

    Instead of making up an excuse, you say, “I’m sorry, I was distracted. It will be on your desk by 5 pm today.”

    Your spouse asks you to go to a work party you don’t want to go to.

    Instead of making up an excuse, you say, “I don’t like to go to your work parties. If you need me there, I need to have some fun, too.”

    Your child asks you to do work for them that they can do themselves.

    Instead of doing it for them, you say, “I’m sorry. You can do it yourself. If you need help, then I will be there.”

    Vulnerability is a gateway to sharing with empathy our thoughts and our feelings with people we are communicating with. People are not mind-readers. No one has time to figure out what you mean. Instead, just let people know what is on your mind.
    “What we know matters but who we are matters more.” — Brene Brown
    Everyone’s different. But, we are all human. We can relate to each other’s experiences if we just communicated our feelings. An honest response will have a higher chance of receiving honest feedback. When you show up, own up, and speak up, how the world perceives you changes.

    By knowing exactly who you are, the world can finally give you what you want: trust and acceptance.
    下载开源日报APP:https://opensourcedaily.org/2579/
    加入我们:https://opensourcedaily.org/about/join/
    关注我们:https://opensourcedaily.org/about/love/
←上一页
1 … 104 105 106 107 108 … 262
下一页→

Proudly powered by WordPress