How To Make With Binary Options - DropPDF

Passed OSCP - My Experience

Originally, I was leaning against doing an obligatory post-OSCP Reddit post because I didn’t want to come across as another “look at me - I passed OSCP!!” cringeworthy OSCP Oscar speech, but I decided to go ahead and do one because my experience was perhaps a little unique and answers the much-asked question “can I do OSCP without experience?”.
A quick background to add context…
I’m 31 years old and my employment history is a mixture of sales, graphics, and media-related job roles. I felt discontented for a long time earning (barely) living wage in job roles I had little passion for. Anyway, to cut a long story short, I decided to quit my latest sales job in November last year (2019) to pursue a career in cybersecurity/infosec. I didn’t know what ‘TCP’ or ‘UDP’ was, and I’d never heard of ‘Kali’ or how to run a VM, but I was convinced that this would be the career path for me.
Anyway, I went through Security+ and C|EH from November to March and, just as I was going to start applying for Security Analyst type job roles, our friendly neighbourhood Coronavirus came along and shut down the economy. Even though I had no intention of doing OSCP for another year or two, I thought it was a better option than twiddling my thumbs for a few months, so I decided to sign up for PWK labs and have a crack at it.
Fast-forwarding to yesterday, after a few brutal months and an incredible experience, I finally got the OSCP “you have successfully completed” email.
Apologies in advance for the essay but I just want to go through my journey for those of you that might be in a similar position to the one I was in - limited/zero IT experience and feeling intimidated by the dreaded OSCP mountain.
My journey…
In the weeks leading up to the wait to start my 60 days PWK material and labs, I went through The Cyber Mentor’s Practical Ethical Hacking Udemy course and then went on a Hack the Box rampage, so, by the time my lab time started, I felt like I was in a pretty decent position.
Unfortunately, because I was a naïve idiot, I tackled the labs straight away and went through the PWK PDF casually on the side. This was a big mistake and something I would definitely change in hindsight because it cost me 5 easy points on the exam (I thought I could smash through the PDF exercises during the last week of labs but this didn’t prove to be enough time).
In 60 days I ended up rooting around 40 machines - I didn’t bother going for the networks because it didn’t apply to the exam and, although valuable real-world experience, I didn’t want to get distracted and flood my brain with even more information when it wasn’t going to be relevant for my mission.
One big thing that I did get right was note-taking. I can’t express enough how valuable it is to take detailed notes and build your own cheat sheet library. After every machine I rooted, I did a walkthrough on OneNote and added any new tools/commands to my cheat sheet library. This not only saves precious time in the exam, but it helps you build your own knowledge instead of relying on other people’s cheat sheets without really understanding what you’re doing.
After my 60 days had finished, I spent 1 month on TJ Null’s OSCP Hack the Box list and IppSec’s video walkthroughs. I also can’t stress enough how valuable this learning methodology is. My only regret is that I rushed through it. I’d already booked my exam 30 days after lab time, so I ended up jumping through walkthroughs when I got stuck on boxes instead of exhausting all options. This was another naïve idiot mistake on my behalf and something I would do differently in hindsight. There’s a difference between “trying harder” and “trying harder, but in a smart way”. I was putting 10+ hours in every day but I wasn’t always being efficient with my time. I’d definitely recommend seeking hints and tips on boxes but only after you’ve exhausted all options first, something which I didn’t always do.
Anyway, my first exam attempt came around towards the end of July. Was I ready? No, but I had delusional confidence in myself that has paid off for me more often than not, so I was hoping it would pay off for me again.
My first exam was brutal. I sat in my chair for a total of 23 hours and 15 minutes, with only 3 short 5-minute breaks to get food to snack on. My VPN was shut down after 24 hours and I had a total of 65 points, which I’d been stuck on for the last 8 hours of my exam. I got the BO, root on one of the 20-point machines, root on the 10-point machine, and user on the other 20-point machine. I just couldn’t get root on that last machine.
I was pretty devastated because I’d put my heart and soul into Sec+, C|EH, and OSCP for 7 straight months and I wanted it bad. But my delusional confidence wasn’t enough.
After listening to depressing Taylor Swift songs for a few days (joke), I decided to book another exam in, 4 weeks after my first attempt.
This time around, I decided to go through Tib3rius’s Linux and Windows Privilege Escalation courses (they were great) and go back over some of the HTB machines. I honestly felt at this point that there wasn’t much more study material that I could go through.
2nd exam came up and it was an almost minute-for-minute repeat of the first exam. BO done, 20 point rooted, 10 point rooted, but could only get user on the other 20 point. 65 points again. This time I ended up listening to Taylor Swift + Lana Del Rey.
I was pretty adamant that I could do this and that I was very close, so I sent Off-Sec an email explaining my situation and they were kind enough to allow me another exam attempt without waiting 8 weeks - I booked another exam in 2 weeks after my second attempt.
This time, my preparation was entirely mental. In both my prior exams, I was sat on my chair for over 23 hours because I was flapping around aimlessly like a headless chicken, desperately firing off exploits that I knew wouldn’t work on the other 20-point machine. So, I went into the 3rd exam determined to go at a slow and steady pace, and not let the 24-hour timeframe pressure me into a wild goose chase.
Miraculously, it seemed to work. After 14 hours, I’d done the BO, rooted both 20-point machines, rooted the 10-point machine, and got user on the 25-point machine. 85-ish points in total.
The point of this story is to get across to people that you need to try simpler, not harder. I perhaps failed my first exam because I’d not gone through Tib3rius’s Priv Esc courses, but I failed on my 2nd 100% due to mentality. There was no skill-level difference between my 2nd exam and 3rd exam.
I’ll finish off with my recommended learning methodology and exam tips (for people with limited/zero IT experience):
. The Cyber Mentor Practical Ethical Hacking Udemy course (usually on offer at $14.99-ish)
. Tib3rius’s Linux and Windows Privilege Escalation course (usually on offer at $12.99 each)
. Try Hack Me OSCP Learning Path (I would recommend doing this before HTB - it is $10 for 30 days)
. PWK labs (I personally don’t feel more than 60 days are required - unless you work full-time)
. TJ Null’s OSCP Hack the Box list ($10 for retired HTB machines - very worth it)
. You should be ready for the exam
Exam tips:
. Become proficient with Nmap but use an enumeration tool like nmapAutomator for the exam
. You will need to understand what bash and Python scripts are doing (you don’t need to be able to write them from scratch)
. Don’t be tempted to use a fancy BO methodology for the exam, stick with PWK’s methodology - it works (some of the others don’t)
. Play around with various reverse shell payloads - sometimes a bash one-liner won’t work so you need to go with Python. Sometimes Bash, Python, and netcat won’t work, so you need to understand what alternatives you can use in that scenario
. Get into the habit of reading service manuals. In all 3 of my exams, I came up against machines that had services I’d never even heard of. Fortunately, I’d got into the habit reading service manuals, otherwise, I would have skipped over the services and got lost down a rabbit hole
. Get into the habit of exploiting conventional services in unconventional ways. Just because an SUID binary isn’t on Gtfobins, it doesn’t mean that you can’t exploit the SUID binary in an unconventional way. Again, get into the habit of reading manuals to understand what services do
. Become familiar with Burp Suite. Many exploits won’t work in the way you might expect them to, but they will work if you run them through Burp. Or, at the very least, you’ll be able to understand why they’re not working. This issue came up in my last exam and I would have been completely lost if it weren’t for Burp
. Take breaks if you get frustrated - this is said over and over again by people on this subreddit and it’s an absolute must. The 20 point machine that I couldn’t root after 8 hours on my 2nd exam was on my 3rd exam (thanks Off-Sec - I know you tried to fu*k me with that), but I was able to root it within 1 hour on my 3rd exam, simply because my mindset was different at the time.
. Trust your gut - by doing PWK and HTB machines, you should develop a gut feeling of when you are in a rabbit hole and when you’re on the right track. I ended up rooting over 100 machines before the exam (albeit with plenty of hints and tips) and it helped me develop a good gut feeling. I can’t explain why but there were times in my last exam where I knew I was in the right area even though I wasn’t able to enumerate the specific service version. This feeling simply came from experience. I’m sure many of you watch IppSec’s videos and wonder “how the hell does he know to do X or Y?”. I used to wonder this all the time but after going through dozens of machines, I finally got it. It comes down to experience. Try to do as many machines as you can before the exam to build that gut feeling, and trust it in the exam.
. Embrace failure - this is perhaps the most important thing that I can say. OSCP is a difficult journey and many people fail multiple times before passing. And you know what? That’s okay. It’s okay to fail. It’s how you react to failure that counts. I’m not particularly smart but I embrace failure and I know deep down that I will keep trying until I pass. I was prepared to take the OSCP exam 1000 times if I had to, I was never going to let the exam beat me. I suggest you approach it with the same mentality and not let silly pride prevent you from having a go at it.
One last thing! Join a solid Discord community. This journey has been amazing since day one and a big reason behind that is the amazing online community. I was very active in an HTB community and ended up talking to several people who were going through OSCP at the same time as me. This was honestly such a massive help to me because I didn’t know what the hell I was doing when I first started!
Sorry for the massive rant - I just see so many people on here treating OSCP like an unsurmountable mountain. It’s not. You can do it!
submitted by TheCrypt0nian to oscp [link] [comments]

Composition Challenge #25: September 14, 2020 – Sonata Form, Part 1: Exposition

Greetings, /musictheory! Welcome to our composition challenge. This is a space to put theory into practice by writing your own original music. An archive of all composition challenges, past and present, can be found in the wiki.
This challenge thread will be stickied from September 14 through October 5.

Rules

The emphasis here is on skill acquisition. In order to build a knowledge base that will enable you to engage with the larger corpus of music theory and analysis, observe the following:
  1. Submissions must include standard notation. If you don't know how to read or write with standard notation, consult a music theory textbook or websites such as https://www.musictheory.net/ or http://teoria.com/.
  2. Satisfy all items on the challenge prompt. There is always room to write in excess of the prompt, but you should solve the compositional problems given in the challenge.
  3. Post submissions as replies to this thread.
  4. There is no deadline to submit and we encourage you to explore these prompts whenever you feel like it. However, know that challenge threads will be un-stickied and will receive less attention after the first Monday of the next month.

Challenge

Compose a two-part sonata form exposition for piano. (The next challenge will involve crafting a development section and recapitulation, so don't worry about the rest of the form just yet.)
  • Use the formal scheme P TR MC S C. (See theory section for details.)
  • If P is in the major mode, S should be in the dominant key.
  • If P is in the minor mode, S should be in the relative major key or the minor dominant key.
  • Use periods and/or sentences as the basis of your P and S themes.
  • Use a linear intervallic pattern (LIP) somewhere in your exposition.

Theory

Sonata Theory

This challenge uses terminology and concepts from James Hepokoski and Warren Darcy's landmark treatise, Elements of Sonata Theory: Norms, Types, and Deformations in the Late-Eighteenth-Century Sonata. You will construct a Type-3 sonata, as this is what most sources mean when they say "sonata form." This is your Exposition/Development/Recapitulation model, where a tonal and rhetorical problem is set up in the exposition and eventually worked out by the time the recapitulation rolls around.
This is what a two-part exposition looks like. You will be composing one of these. Observe the tonal plan and arrangement of items. And here is a zoomed out vie of a Type-3 Sonata Form. (Both diagrams are from page 17 of Hepokoski & Darcy's book.)
Abbreviation Definition
P Primary Theme The first theme and the beginning of sonata space; sets the feel for the movement.
TR Transition Facilitates the modulation from the home key to the new key in the exposition. Recomposed in the recapitulation so that it doesn't modulate. Builds energy.
MC Medial Caesura A cadence followed by a rest that separates TR from S.
S Secondary Theme Structurally and sometimes rhetorically opposes P.
EEC Essential Expositional Closure The cadential goal of an exposition. The first cadence after S in the expo.
ESC Essential Structural Closure The cadential goal of a recapitulation and of the whole movement. The first cadence after S in the recap.
C Closing Zone Postcadential material that follows S and concludes a rotation of sonata space. May be as little as a small codetta, may include a genuine closing theme, may have several modules.
Thematic areas may contain more than one "theme," but for this exercise try to focus on producing one really good P theme and one really good S theme.
Videos:

Sentences & Periods

Linear Intervallic Patterns & Sequences

Linear intervallic patterns are voice-leading patterns that prolong a harmony and possibly bridge the space between two structural chords. Sequences are built upon LIPs, but not all LIPs are sequences.

Examples

  • The primary theme and transition of Mozart's C major piano sonata, K.545, contains a sequence/LIP. Analysis. Note that P is a sentence ending on a half-cadence (with the continuation prolonged by its merger with TR). These things don't have to be long; the total path from P to the MC only takes 12 measures in this sonata.
  • Beethoven - Piano Sonata No. 19, Op.49, No.1, I. / Score – P is a modulating period (with a sentential antecedent!), where the consequent also acts as the TR. There is no MC here (rather, it is filled in — called "caesura fill"). The S theme is a parallel period beginning at m.16; the consequent begins at m.21 and goes to m.25, but then consequent repeats (what Janet Schmalfeldt calls the "one more time" technique), so the resolution happens at the downbeat of m.29. The C zone is just 4 measures with a pickup, from mm.30-33 (derived from the beginning of S). Also, if you're following the video, the score is Heinrich Schenker's edition, which inexplicably has the measure numbers at the end of the measure, making it look like the measure numbers are one bar off from where they should be.
  • Marianne von Martinez – Piano Sonata No. 3 in E Major / Score — Kind of a cool thing going on here. Here is the exposition analyzed. First off, notice that there are two themes in the S group: one is a sentence (S1), the other is a period (S2). S2 elides with the beginning of the Closing Zone, and C itself is basically the material of P and TR transposed into the dominant key. It's a little unusual but not unheard of. This movement is actually a Type-2 Sonata Form (the so-called "binary" sonata form), but since we're only looking at the exposition, that doesn't matter so much for us right now. However, the fact that the C zone is so P/TR-based plays into the rotational nature of the Type-2.
  • Joseph Haydn – Keyboard Sonata in E minor, Hob.XVI:34/ Score – Here's one in the minor mode. Here is the exposition analyzed. The P theme is a parallel period with a modulation. I'm not really sure what the TR is supposed to be doing here, since it's basically just hanging out in the new key the entire time. It's interesting to note that in the recapitulation, P and TR are chopped up and put back together as the presentation and continuation of a sentence respectively. (And I'm sure there are other interpretations.) I have the theme type for S identified as a "phrase group," which John David White in The Analysis of Music defines as such: "A group of three or more phrases linked together without the two-part feeling of a period can be termed a phrase-group. Phrase-group is also the appropriate label for a pair of consecutive phrases in which the first is a repetition of the second or in which, for whatever reason, the antecedent-consequent relationship is absent (46)." In this case, we are dealing with the last option.

Notation Resources

You can find links to a variety of notation programs in the wiki.
submitted by Xenoceratops to musictheory [link] [comments]

Everything You Always Wanted To Know About Swaps* (*But Were Afraid To Ask)

Hello, dummies
It's your old pal, Fuzzy.
As I'm sure you've all noticed, a lot of the stuff that gets posted here is - to put it delicately - fucking ridiculous. More backwards-ass shit gets posted to wallstreetbets than you'd see on a Westboro Baptist community message board. I mean, I had a look at the daily thread yesterday and..... yeesh. I know, I know. We all make like the divine Laura Dern circa 1992 on the daily and stick our hands deep into this steaming heap of shit to find the nuggets of valuable and/or hilarious information within (thanks for reading, BTW). I agree. I love it just the way it is too. That's what makes WSB great.
What I'm getting at is that a lot of the stuff that gets posted here - notwithstanding it being funny or interesting - is just... wrong. Like, fucking your cousin wrong. And to be clear, I mean the fucking your *first* cousin kinda wrong, before my Southerners in the back get all het up (simmer down, Billy Ray - I know Mabel's twice removed on your grand-sister's side). Truly, I try to let it slide. I do my bit to try and put you on the right path. Most of the time, I sleep easy no matter how badly I've seen someone explain what a bank liquidity crisis is. But out of all of those tens of thousands of misguided, autistic attempts at understanding the world of high finance, one thing gets so consistently - so *emphatically* - fucked up and misunderstood by you retards that last night I felt obligated at the end of a long work day to pull together this edition of Finance with Fuzzy just for you. It's so serious I'm not even going to make a u/pokimane gag. Have you guessed what it is yet? Here's a clue. It's in the title of the post.
That's right, friends. Today in the neighborhood we're going to talk all about hedging in financial markets - spots, swaps, collars, forwards, CDS, synthetic CDOs, all that fun shit. Don't worry; I'm going to explain what all the scary words mean and how they impact your OTM RH positions along the way.
We're going to break it down like this. (1) "What's a hedge, Fuzzy?" (2) Common Hedging Strategies and (3) All About ISDAs and Credit Default Swaps.
Before we begin. For the nerds and JV traders in the back (and anyone else who needs to hear this up front) - I am simplifying these descriptions for the purposes of this post. I am also obviously not going to try and cover every exotic form of hedge under the sun or give a detailed summation of what caused the financial crisis. If you are interested in something specific ask a question, but don't try and impress me with your Investopedia skills or technical points I didn't cover; I will just be forced to flex my years of IRL experience on you in the comments and you'll look like a big dummy.
TL;DR? Fuck you. There is no TL;DR. You've come this far already. What's a few more paragraphs? Put down the Cheetos and try to concentrate for the next 5-7 minutes. You'll learn something, and I promise I'll be gentle.
Ready? Let's get started.
1. The Tao of Risk: Hedging as a Way of Life
The simplest way to characterize what a hedge 'is' is to imagine every action having a binary outcome. One is bad, one is good. Red lines, green lines; uppie, downie. With me so far? Good. A 'hedge' is simply the employment of a strategy to mitigate the effect of your action having the wrong binary outcome. You wanted X, but you got Z! Frowny face. A hedge strategy introduces a third outcome. If you hedged against the possibility of Z happening, then you can wind up with Y instead. Not as good as X, but not as bad as Z. The technical definition I like to give my idiot juniors is as follows:
Utilization of a defensive strategy to mitigate risk, at a fraction of the cost to capital of the risk itself.
Congratulations. You just finished Hedging 101. "But Fuzzy, that's easy! I just sold a naked call against my 95% OTM put! I'm adequately hedged!". Spoiler alert: you're not (although good work on executing a collar, which I describe below). What I'm talking about here is what would be referred to as a 'perfect hedge'; a binary outcome where downside is totally mitigated by a risk management strategy. That's not how it works IRL. Pay attention; this is the tricky part.
You can't take a single position and conclude that you're adequately hedged because risks are fluid, not static. So you need to constantly adjust your position in order to maximize the value of the hedge and insure your position. You also need to consider exposure to more than one category of risk. There are micro (specific exposure) risks, and macro (trend exposure) risks, and both need to factor into the hedge calculus.
That's why, in the real world, the value of hedging depends entirely on the design of the hedging strategy itself. Here, when we say "value" of the hedge, we're not talking about cash money - we're talking about the intrinsic value of the hedge relative to the the risk profile of your underlying exposure. To achieve this, people hedge dynamically. In wallstreetbets terms, this means that as the value of your position changes, you need to change your hedges too. The idea is to efficiently and continuously distribute and rebalance risk across different states and periods, taking value from states in which the marginal cost of the hedge is low and putting it back into states where marginal cost of the hedge is high, until the shadow value of your underlying exposure is equalized across your positions. The punchline, I guess, is that one static position is a hedge in the same way that the finger paintings you make for your wife's boyfriend are art - it's technically correct, but you're only playing yourself by believing it.
Anyway. Obviously doing this as a small potatoes trader is hard but it's worth taking into account. Enough basic shit. So how does this work in markets?
2. A Hedging Taxonomy
The best place to start here is a practical question. What does a business need to hedge against? Think about the specific risk that an individual business faces. These are legion, so I'm just going to list a few of the key ones that apply to most corporates. (1) You have commodity risk for the shit you buy or the shit you use. (2) You have currency risk for the money you borrow. (3) You have rate risk on the debt you carry. (4) You have offtake risk for the shit you sell. Complicated, right? To help address the many and varied ways that shit can go wrong in a sophisticated market, smart operators like yours truly have devised a whole bundle of different instruments which can help you manage the risk. I might write about some of the more complicated ones in a later post if people are interested (CDO/CLOs, strip/stack hedges and bond swaps with option toggles come to mind) but let's stick to the basics for now.
(i) Swaps
A swap is one of the most common forms of hedge instrument, and they're used by pretty much everyone that can afford them. The language is complicated but the concept isn't, so pay attention and you'll be fine. This is the most important part of this section so it'll be the longest one.
Swaps are derivative contracts with two counterparties (before you ask, you can't trade 'em on an exchange - they're OTC instruments only). They're used to exchange one cash flow for another cash flow of equal expected value; doing this allows you to take speculative positions on certain financial prices or to alter the cash flows of existing assets or liabilities within a business. "Wait, Fuzz; slow down! What do you mean sets of cash flows?". Fear not, little autist. Ol' Fuzz has you covered.
The cash flows I'm talking about are referred to in swap-land as 'legs'. One leg is fixed - a set payment that's the same every time it gets paid - and the other is variable - it fluctuates (typically indexed off the price of the underlying risk that you are speculating on / protecting against). You set it up at the start so that they're notionally equal and the two legs net off; so at open, the swap is a zero NPV instrument. Here's where the fun starts. If the price that you based the variable leg of the swap on changes, the value of the swap will shift; the party on the wrong side of the move ponies up via the variable payment. It's a zero sum game.
I'll give you an example using the most vanilla swap around; an interest rate trade. Here's how it works. You borrow money from a bank, and they charge you a rate of interest. You lock the rate up front, because you're smart like that. But then - quelle surprise! - the rate gets better after you borrow. Now you're bagholding to the tune of, I don't know, 5 bps. Doesn't sound like much but on a billion dollar loan that's a lot of money (a classic example of the kind of 'small, deep hole' that's terrible for profits). Now, if you had a swap contract on the rate before you entered the trade, you're set; if the rate goes down, you get a payment under the swap. If it goes up, whatever payment you're making to the bank is netted off by the fact that you're borrowing at a sub-market rate. Win-win! Or, at least, Lose Less / Lose Less. That's the name of the game in hedging.
There are many different kinds of swaps, some of which are pretty exotic; but they're all different variations on the same theme. If your business has exposure to something which fluctuates in price, you trade swaps to hedge against the fluctuation. The valuation of swaps is also super interesting but I guarantee you that 99% of you won't understand it so I'm not going to try and explain it here although I encourage you to google it if you're interested.
Because they're OTC, none of them are filed publicly. Someeeeeetimes you see an ISDA (dsicussed below) but the confirms themselves (the individual swaps) are not filed. You can usually read about the hedging strategy in a 10-K, though. For what it's worth, most modern credit agreements ban speculative hedging. Top tip: This is occasionally something worth checking in credit agreements when you invest in businesses that are debt issuers - being able to do this increases the risk profile significantly and is particularly important in times of economic volatility (ctrl+f "non-speculative" in the credit agreement to be sure).
(ii) Forwards
A forward is a contract made today for the future delivery of an asset at a pre-agreed price. That's it. "But Fuzzy! That sounds just like a futures contract!". I know. Confusing, right? Just like a futures trade, forwards are generally used in commodity or forex land to protect against price fluctuations. The differences between forwards and futures are small but significant. I'm not going to go into super boring detail because I don't think many of you are commodities traders but it is still an important thing to understand even if you're just an RH jockey, so stick with me.
Just like swaps, forwards are OTC contracts - they're not publicly traded. This is distinct from futures, which are traded on exchanges (see The Ballad Of Big Dick Vick for some more color on this). In a forward, no money changes hands until the maturity date of the contract when delivery and receipt are carried out; price and quantity are locked in from day 1. As you now know having read about BDV, futures are marked to market daily, and normally people close them out with synthetic settlement using an inverse position. They're also liquid, and that makes them easier to unwind or close out in case shit goes sideways.
People use forwards when they absolutely have to get rid of the thing they made (or take delivery of the thing they need). If you're a miner, or a farmer, you use this shit to make sure that at the end of the production cycle, you can get rid of the shit you made (and you won't get fucked by someone taking cash settlement over delivery). If you're a buyer, you use them to guarantee that you'll get whatever the shit is that you'll need at a price agreed in advance. Because they're OTC, you can also exactly tailor them to the requirements of your particular circumstances.
These contracts are incredibly byzantine (and there are even crazier synthetic forwards you can see in money markets for the true degenerate fund managers). In my experience, only Texan oilfield magnates, commodities traders, and the weirdo forex crowd fuck with them. I (i) do not own a 10 gallon hat or a novelty size belt buckle (ii) do not wake up in the middle of the night freaking out about the price of pork fat and (iii) love greenbacks too much to care about other countries' monopoly money, so I don't fuck with them.
(iii) Collars
No, not the kind your wife is encouraging you to wear try out to 'spice things up' in the bedroom during quarantine. Collars are actually the hedging strategy most applicable to WSB. Collars deal with options! Hooray!
To execute a basic collar (also called a wrapper by tea-drinking Brits and people from the Antipodes), you buy an out of the money put while simultaneously writing a covered call on the same equity. The put protects your position against price drops and writing the call produces income that offsets the put premium. Doing this limits your tendies (you can only profit up to the strike price of the call) but also writes down your risk. If you screen large volume trades with a VOL/OI of more than 3 or 4x (and they're not bullshit biotech stocks), you can sometimes see these being constructed in real time as hedge funds protect themselves on their shorts.
(3) All About ISDAs, CDS and Synthetic CDOs
You may have heard about the mythical ISDA. Much like an indenture (discussed in my post on $F), it's a magic legal machine that lets you build swaps via trade confirms with a willing counterparty. They are very complicated legal documents and you need to be a true expert to fuck with them. Fortunately, I am, so I do. They're made of two parts; a Master (which is a form agreement that's always the same) and a Schedule (which amends the Master to include your specific terms). They are also the engine behind just about every major credit crunch of the last 10+ years.
First - a brief explainer. An ISDA is a not in and of itself a hedge - it's an umbrella contract that governs the terms of your swaps, which you use to construct your hedge position. You can trade commodities, forex, rates, whatever, all under the same ISDA.
Let me explain. Remember when we talked about swaps? Right. So. You can trade swaps on just about anything. In the late 90s and early 2000s, people had the smart idea of using other people's debt and or credit ratings as the variable leg of swap documentation. These are called credit default swaps. I was actually starting out at a bank during this time and, I gotta tell you, the only thing I can compare people's enthusiasm for this shit to was that moment in your early teens when you discover jerking off. Except, unlike your bathroom bound shame sessions to Mom's Sears catalogue, every single person you know felt that way too; and they're all doing it at once. It was a fiscal circlejerk of epic proportions, and the financial crisis was the inevitable bukkake finish. WSB autism is absolutely no comparison for the enthusiasm people had during this time for lighting each other's money on fire.
Here's how it works. You pick a company. Any company. Maybe even your own! And then you write a swap. In the swap, you define "Credit Event" with respect to that company's debt as the variable leg . And you write in... whatever you want. A ratings downgrade, default under the docs, failure to meet a leverage ratio or FCCR for a certain testing period... whatever. Now, this started out as a hedge position, just like we discussed above. The purest of intentions, of course. But then people realized - if bad shit happens, you make money. And banks... don't like calling in loans or forcing bankruptcies. Can you smell what the moral hazard is cooking?
Enter synthetic CDOs. CDOs are basically pools of asset backed securities that invest in debt (loans or bonds). They've been around for a minute but they got famous in the 2000s because a shitload of them containing subprime mortgage debt went belly up in 2008. This got a lot of publicity because a lot of sad looking rednecks got foreclosed on and were interviewed on CNBC. "OH!", the people cried. "Look at those big bad bankers buying up subprime loans! They caused this!". Wrong answer, America. The debt wasn't the problem. What a lot of people don't realize is that the real meat of the problem was not in regular way CDOs investing in bundles of shit mortgage debts in synthetic CDOs investing in CDS predicated on that debt. They're synthetic because they don't have a stake in the actual underlying debt; just the instruments riding on the coattails. The reason these are so popular (and remain so) is that smart structured attorneys and bankers like your faithful correspondent realized that an even more profitable and efficient way of building high yield products with limited downside was investing in instruments that profit from failure of debt and in instruments that rely on that debt and then hedging that exposure with other CDS instruments in paired trades, and on and on up the chain. The problem with doing this was that everyone wound up exposed to everybody else's books as a result, and when one went tits up, everybody did. Hence, recession, Basel III, etc. Thanks, Obama.
Heavy investment in CDS can also have a warping effect on the price of debt (something else that happened during the pre-financial crisis years and is starting to happen again now). This happens in three different ways. (1) Investors who previously were long on the debt hedge their position by selling CDS protection on the underlying, putting downward pressure on the debt price. (2) Investors who previously shorted the debt switch to buying CDS protection because the relatively illiquid debt (partic. when its a bond) trades at a discount below par compared to the CDS. The resulting reduction in short selling puts upward pressure on the bond price. (3) The delta in price and actual value of the debt tempts some investors to become NBTs (neg basis traders) who long the debt and purchase CDS protection. If traders can't take leverage, nothing happens to the price of the debt. If basis traders can take leverage (which is nearly always the case because they're holding a hedged position), they can push up or depress the debt price, goosing swap premiums etc. Anyway. Enough technical details.
I could keep going. This is a fascinating topic that is very poorly understood and explained, mainly because the people that caused it all still work on the street and use the same tactics today (it's also terribly taught at business schools because none of the teachers were actually around to see how this played out live). But it relates to the topic of today's lesson, so I thought I'd include it here.
Work depending, I'll be back next week with a covenant breakdown. Most upvoted ticker gets the post.
*EDIT 1\* In a total blowout, $PLAY won. So it's D&B time next week. Post will drop Monday at market open.
submitted by fuzzyblankeet to wallstreetbets [link] [comments]

Unable to run custom scripts via dmenu when it is started with i3's mod+d key

I have encountered strange behaviour regarding dmenu_run and dmenu_recency. When I run dmenu_run or dmenu_recency from terminal and then execute simple script like echo "test" value test is printed in the terminal. However when I run dmenu_recency or dmenu_run with i3 keybinding like:
bindsym $mod+d exec --no-startup-id dmenu_recency
and then execute same simple script, then nothing happens. Dmenu lunches for other installed programs works well, it just doesen't work for execuution of my custom scripts.
What am I missing here? I suspect I have to add something else to my scripts but i dont know what. For now it is jsut plain this:
echo "test"

EDIT: Ok maybe script: echo "test" is not the best example since it is true that there is no opened terminal to write to.
But same thing happens if I try to execute script that looks like this:
code ~/.i3/config
This jsut opens the i33 config file with visual studio code. Again this works when I execute it via dmenu_run that was called from existing termina but it doesen't work when executed via dmenu_run that was called via i3 keybinding mod+d
EDIT 2:
.i3/config
# i3 config file (v4) # Please see http://i3wm.org/docs/userguide.html for a complete reference! # Set mod key (Mod1=, Mod4=) set $mod Mod4 # My testing shortcuts bindsym $mod+c exec code bindsym $mod+Shift+x exec terminal; exec terminal bindsym $mod+F4 exec /home/erik/Programs/pycharm-community-2020.2.1/bin/pycharm.sh bindsym $mod+Shift+F2 exec /home/erik/CustomScripts/google_calendar # CONFIGURABLE PRINTSCREENS OPTIONS # take a screenshot of a screen region and copy it to a clipboard #bindsym --release Shift+Print exec "ScreenCapture.sh -s /home/erik/Pictures/Screenshots/" # take a screenshot of a whole window and copy it to a clipboard #bindsym --release Print exec "ScreenCapture.sh /home/erik/Pictures/Screenshots/" # set default desktop layout (default is tiling) # workspace_layout tabbed  # Configure border style  default_border pixel 2 default_floating_border normal # Hide borders hide_edge_borders none # change borders bindsym $mod+u border none bindsym $mod+y border pixel 1 bindsym $mod+n border normal # You can also use any non-zero value if you'd like to have a border (this is to prevent issues with gaps) # for_window [class=".*"] border pixel 1 # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. font xft:URWGothic-Book 11 # Use Mouse+$mod to drag floating windows floating_modifier $mod # start a terminal bindsym $mod+Return exec terminal # kill focused window bindsym $mod+Shift+q kill # start program launcher # bindsym $mod+d exec --no-startup-id dmenu_recency bindsym $mod+d exec --no-startup-id home/erik/CustomScripts/redit_solution dmenu_recency # launch categorized menu bindsym $mod+z exec --no-startup-id morc_menu ################################################################################################ ## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ## ################################################################################################ #exec --no-startup-id volumeicon #bindsym $mod+Ctrl+m exec terminal -e 'alsamixer' exec --no-startup-id start-pulseaudio-x11 exec --no-startup-id pa-applet bindsym $mod+Ctrl+m exec pavucontrol ################################################################################################ # Screen brightness controls # bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'" # bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'" # Start Applications bindsym $mod+Ctrl+b exec terminal -e 'bmenu' bindsym $mod+F2 exec chromium bindsym $mod+F3 exec pcmanfm # bindsym $mod+F3 exec ranger bindsym $mod+Shift+F3 exec pcmanfm_pkexec bindsym $mod+F5 exec terminal -e 'mocp' bindsym $mod+t exec --no-startup-id pkill compton bindsym $mod+Ctrl+t exec --no-startup-id compton -b bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'" bindsym Print exec --no-startup-id i3-scrot bindsym $mod+Print --release exec --no-startup-id i3-scrot -w bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s bindsym $mod+Shift+h exec xdg-open /usshare/doc/manjaro/i3_help.pdf bindsym $mod+Ctrl+x --release exec --no-startup-id xkill focus_follows_mouse no # change focus bindsym $mod+j focus left bindsym $mod+k focus down bindsym $mod+l focus up bindsym $mod+semicolon focus right # alternatively, you can use the cursor keys: bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right # move focused window bindsym $mod+Shift+j move left bindsym $mod+Shift+k move down bindsym $mod+Shift+l move up bindsym $mod+Shift+semicolon move right # alternatively, you can use the cursor keys: bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right # workspace back and forth (with/without active container) workspace_auto_back_and_forth yes bindsym $mod+b workspace back_and_forth bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth # split orientation bindsym $mod+h split h;exec notify-send 'tile horizontally' bindsym $mod+v split v;exec notify-send 'tile vertically' bindsym $mod+q split toggle # toggle fullscreen mode for the focused container bindsym $mod+f fullscreen toggle # change container layout (stacked, tabbed, toggle split) bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split # toggle tiling / floating bindsym $mod+Shift+space floating toggle # change focus between tiling / floating windows bindsym $mod+space focus mode_toggle # toggle sticky bindsym $mod+Shift+s sticky toggle # focus the parent container bindsym $mod+a focus parent # move the currently focused window to the scratchpad bindsym $mod+Shift+minus move scratchpad # Show the next scratchpad window or hide the focused scratchpad window. # If there are multiple scratchpad windows, this command cycles through them. bindsym $mod+minus scratchpad show #navigate workspaces next / previous bindsym $mod+Ctrl+Right workspace next bindsym $mod+Ctrl+Left workspace prev # Workspace names # to display names or symbols instead of plain workspace numbers you can use # something like: set $ws1 1:mail # set $ws2 2: set $ws1 1 set $ws2 2 set $ws3 3 set $ws4 4 set $ws5 5 set $ws6 6 set $ws7 7 set $ws8 8 # switch to workspace bindsym $mod+1 workspace $ws1 bindsym $mod+2 workspace $ws2 bindsym $mod+3 workspace $ws3 bindsym $mod+4 workspace $ws4 bindsym $mod+5 workspace $ws5 bindsym $mod+6 workspace $ws6 bindsym $mod+7 workspace $ws7 bindsym $mod+8 workspace $ws8 # Move focused container to workspace bindsym $mod+Ctrl+1 move container to workspace $ws1 bindsym $mod+Ctrl+2 move container to workspace $ws2 bindsym $mod+Ctrl+3 move container to workspace $ws3 bindsym $mod+Ctrl+4 move container to workspace $ws4 bindsym $mod+Ctrl+5 move container to workspace $ws5 bindsym $mod+Ctrl+6 move container to workspace $ws6 bindsym $mod+Ctrl+7 move container to workspace $ws7 bindsym $mod+Ctrl+8 move container to workspace $ws8 # Move to workspace with focused container bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 # Open applications on specific workspaces # assign [class="Thunderbird"] $ws1 # assign [class="Pale moon"] $ws2 # assign [class="Pcmanfm"] $ws3 # assign [class="Skype"] $ws5 # Open specific applications in floating mode for_window [title="alsamixer"] floating enable border pixel 1 for_window [class="calamares"] floating enable border normal for_window [class="Clipgrab"] floating enable for_window [title="File Transfer*"] floating enable for_window [class="fpakman"] floating enable for_window [class="Galculator"] floating enable border pixel 1 for_window [class="GParted"] floating enable border normal for_window [title="i3_help"] floating enable sticky enable border normal for_window [class="Lightdm-settings"] floating enable for_window [class="Lxappearance"] floating enable sticky enable border normal for_window [class="Manjaro-hello"] floating enable for_window [class="Manjaro Settings Manager"] floating enable border normal for_window [title="MuseScore: Play Panel"] floating enable for_window [class="Nitrogen"] floating enable sticky enable border normal for_window [class="Oblogout"] fullscreen enable for_window [class="octopi"] floating enable for_window [title="About Pale Moon"] floating enable for_window [class="Pamac-manager"] floating enable for_window [class="Pavucontrol"] floating enable for_window [class="qt5ct"] floating enable sticky enable border normal for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal for_window [class="Simple-scan"] floating enable border normal for_window [class="(?i)System-config-printer.py"] floating enable border normal for_window [class="Skype"] floating enable border normal for_window [class="Timeset-gui"] floating enable border normal for_window [class="(?i)virtualbox"] floating enable border normal for_window [class="Xfburn"] floating enable # switch to workspace with urgent window automatically for_window [urgent=latest] focus # reload the configuration file bindsym $mod+Shift+c reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $mod+Shift+r restart # exit i3 (logs you out of your X session) bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" # Set shut down, restart and locking features bindsym $mod+0 mode "$mode_system" set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown mode "$mode_system" { bindsym l exec --no-startup-id i3exit lock, mode "default" bindsym s exec --no-startup-id i3exit suspend, mode "default" bindsym u exec --no-startup-id i3exit switch_user, mode "default" bindsym e exec --no-startup-id i3exit logout, mode "default" bindsym h exec --no-startup-id i3exit hibernate, mode "default" bindsym r exec --no-startup-id i3exit reboot, mode "default" bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" # exit system mode: "Enter" or "Escape" bindsym Return mode "default" bindsym Escape mode "default" } # Resize window (you can also use the mouse for that) bindsym $mod+r mode "resize" mode "resize" { # These bindings trigger as soon as you enter the resize mode # Pressing left will shrink the window’s width. # Pressing right will grow the window’s width. # Pressing up will shrink the window’s height. # Pressing down will grow the window’s height. bindsym j resize shrink width 5 px or 5 ppt bindsym k resize grow height 5 px or 5 ppt bindsym l resize shrink height 5 px or 5 ppt bindsym semicolon resize grow width 5 px or 5 ppt # same bindings, but for the arrow keys bindsym Left resize shrink width 5 px or 5 ppt bindsym Down resize grow height 5 px or 5 ppt bindsym Up resize shrink height 5 px or 5 ppt bindsym Right resize grow width 5 px or 5 ppt # exit resize mode: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" } # Lock screen bindsym $mod+9 exec --no-startup-id blurlock # Autostart applications exec --no-startup-id /uslib/polkit-gnome/polkit-gnome-authentication-agent-1 exec --no-startup-id nitrogen --restore; sleep 1; compton -b # exec --no-startup-id manjaro-hello exec --no-startup-id nm-applet exec --no-startup-id xfce4-power-manager exec --no-startup-id pamac-tray exec --no-startup-id clipit exec --no-startup-id picom # exec --no-startup-id blueman-applet # exec_always --no-startup-id sbxkb exec --no-startup-id start_conky_maia # exec --no-startup-id start_conky_green exec --no-startup-id xautolock -time 10 -locker blurlock exec_always --no-startup-id ff-theme-util exec_always --no-startup-id fix_xcursor # Color palette used for the terminal ( ~/.Xresources file ) # Colors are gathered based on the documentation: # https://i3wm.org/docs/userguide.html#xresources # Change the variable name at the place you want to match the color # of your terminal like this: # [example] # If you want your bar to have the same background color as your # terminal background change the line 362 from: # background #14191D # to: # background $term_background # Same logic applied to everything else. set_from_resource $term_background background set_from_resource $term_foreground foreground set_from_resource $term_color0 color0 set_from_resource $term_color1 color1 set_from_resource $term_color2 color2 set_from_resource $term_color3 color3 set_from_resource $term_color4 color4 set_from_resource $term_color5 color5 set_from_resource $term_color6 color6 set_from_resource $term_color7 color7 set_from_resource $term_color8 color8 set_from_resource $term_color9 color9 set_from_resource $term_color10 color10 set_from_resource $term_color11 color11 set_from_resource $term_color12 color12 set_from_resource $term_color13 color13 set_from_resource $term_color14 color14 set_from_resource $term_color15 color15 # Start i3bar to display a workspace bar (plus the system information i3status if available) bar { i3bar_command i3bar status_command i3status position bottom ## please set your primary output first. Example: 'xrandr --output eDP1 --primary' # tray_output primary # tray_output eDP1 bindsym button4 nop bindsym button5 nop # font xft:URWGothic-Book 11 strip_workspace_numbers yes colors { background #222D31 statusline #F9FAF9 separator #ff9a1f # border backgr. text focused_workspace #ff9a1f #ff9a1f #292F34 active_workspace #595B5B #353836 #FDF6E3 inactive_workspace #595B5B #222D31 #EEE8D5 binding_mode #16a085 #2C2C2C #F9FAF9 urgent_workspace #16a085 #FDF6E3 #E5201D } } # hide/unhide i3status bar bindsym $mod+m bar mode toggle # Theme colors # class border backgr. text indic. child_border client.focused #ff9a1f #ff9a1f #000000 #ff9a1f client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948 client.unfocused #2F3D44 #2F3D44 #1ABC9C #454948 client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2 client.placeholder #000000 #0c0c0c #ffffff #000000 client.background #2B2C2B ############################# ### settings for i3-gaps: ### ############################# # Set inneouter gaps gaps inner 0 gaps outer 0 # Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size. # gaps inner|outer current|all set|plus|minus  # gaps inner all set 10 # gaps outer all plus 5 # Smart gaps (gaps used if only more than one container on the workspace) smart_gaps on # Smart borders (draw borders around container only if it is not the only container on this workspace) # on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0) smart_borders on # Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outeinner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces. set $mode_gaps Gaps: (o) outer, (i) inner set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global) bindsym $mod+Shift+g mode "$mode_gaps" mode "$mode_gaps" { bindsym o mode "$mode_gaps_outer" bindsym i mode "$mode_gaps_inner" bindsym Return mode "default" bindsym Escape mode "default" } mode "$mode_gaps_inner" { bindsym plus gaps inner current plus 5 bindsym minus gaps inner current minus 5 bindsym 0 gaps inner current set 0 bindsym Shift+plus gaps inner all plus 5 bindsym Shift+minus gaps inner all minus 5 bindsym Shift+0 gaps inner all set 0 bindsym Return mode "default" bindsym Escape mode "default" } mode "$mode_gaps_outer" { bindsym plus gaps outer current plus 5 bindsym minus gaps outer current minus 5 bindsym 0 gaps outer current set 0 bindsym Shift+plus gaps outer all plus 5 bindsym Shift+minus gaps outer all minus 5 bindsym Shift+0 gaps outer all set 0 bindsym Return mode "default" bindsym Escape mode "default" } 
.bashrc
# # ~/.bashrc # [[ $- != *i* ]] && return colors() { local fgc bgc vals seq0 printf "Color escapes are %s\n" '\e[${value};...;${value}m' printf "Values 30..37 are \e[33mforeground colors\e[m\n" printf "Values 40..47 are \e[43mbackground colors\e[m\n" printf "Value 1 gives a \e[1mbold-faced look\e[m\n\n" # foreground colors for fgc in {30..37}; do # background colors for bgc in {40..47}; do fgc=${fgc#37} # white bgc=${bgc#40} # black vals="${fgc:+$fgc;}${bgc}" vals=${vals%%;} seq0="${vals:+\e[${vals}m}" printf " %-9s" "${seq0:-(default)}" printf " ${seq0}TEXT\e[m" printf " \e[${vals:+${vals+$vals;}}1mBOLD\e[m" done echo; echo done } [ -r /usshare/bash-completion/bash_completion ] && . /usshare/bash-completion/bash_completion # Change the window title of X terminals case ${TERM} in xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*) PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"' ;; screen*) PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"' ;; esac use_color=true # Set colorful PS1 only on colorful terminals. # dircolors --print-database uses its own built-in database # instead of using /etc/DIR_COLORS. Try to use the external file # first to take advantage of user additions. Use internal bash # globbing instead of external grep binary. safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM match_lhs="" [[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)" [[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(/dev/null \ && match_lhs=$(dircolors --print-database) [[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true if ${use_color} ; then # Enable colors for ls, etc. Prefer ~/.dir_colors #64489 if type -P dircolors >/dev/null ; then if [[ -f ~/.dir_colors ]] ; then eval $(dircolors -b ~/.dir_colors) elif [[ -f /etc/DIR_COLORS ]] ; then eval $(dircolors -b /etc/DIR_COLORS) fi fi if [[ ${EUID} == 0 ]] ; then PS1='\[\033[01;31m\][\h\[\033[01;36m\] \W\[\033[01;31m\]]\$\[\033[00m\] ' else PS1='\[\033[01;32m\][\[email protected]\h\[\033[01;37m\] \W\[\033[01;32m\]]\$\[\033[00m\] ' fi alias ls='ls --color=auto' alias grep='grep --colour=auto' alias egrep='egrep --colour=auto' alias fgrep='fgrep --colour=auto' else if [[ ${EUID} == 0 ]] ; then # show [email protected] when we don't have colors PS1='\[email protected]\h \W \$ ' else PS1='\[email protected]\h \w \$ ' fi fi unset use_color safe_term match_lhs sh alias cp="cp -i" # confirm before overwriting something alias df='df -h' # human-readable sizes alias free='free -m' # show sizes in MB alias np='nano -w PKGBUILD' alias more=less xhost +local:root > /dev/null 2>&1 complete -cf sudo # Bash won't get SIGWINCH if another process is in the foreground. # Enable checkwinsize so that bash will check the terminal size when # it regains control. #65623 # http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11) shopt -s checkwinsize shopt -s expand_aliases # export QT_SELECT=4 # Enable history appending instead of overwriting. #139609 shopt -s histappend # # # ex - archive extractor # # usage: ex  ex () { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xjf $1 ;; *.tar.gz) tar xzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xf $1 ;; *.tbz2) tar xjf $1 ;; *.tgz) tar xzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1;; *.7z) 7z x $1 ;; *) echo "'$1' cannot be extracted via ex()" ;; esac else echo "'$1' is not a valid file" fi } #Custom programs export PATH="/home/uusePrograms/pycharm-community-2020.2.1/bin:$PATH" # Custom scritps export PATH="/home/useCustomScripts:$PATH" 

submitted by Amuoeba8 to i3wm [link] [comments]

Practicing SR since July 2017; currently have a 3+ month streak

2 accounts got shadowbanned for uploading this post. Spam filter kept on removing it this post. Messaged the moderators, but received no answer. Removed many links, so check post history for full version.

First time making a Reddit post. Estimated Reading Time: 15 minutes
Brief summary of post:
  1. History of Journey
  2. Using Subliminals (affirmations converted into audio) to reprogram the subconscious, overcome nocturnal emissions, and turbo-charge the Law of Attraction
  3. Experience from meditation retreats
  4. Massive booklist covering psychotherapy, spirituality, and general books such as negotiating and advanced social skills
  5. Fundamental shifts that occurred
  6. Experiences with semen-retention benefits
  7. How I overcame and conquered negative entities
  8. Tantric meditation method that actually works with zero side effects
  9. Experience on speaking Japanese for 1 full hour with native speakers without notes after 3 months of learning

Terminology:
Wet dream/WD – sexual dream causing semen emission while sleeping
Nocturnal Emission/NE – semen emission occurring while sleeping even without dreaming
Semen-retention/SR streak – avoiding porn, masturbation, and ejaculation whether conscious or unconscious
Nofap Hardmode – avoiding porn, masturbation, and conscious ejaculation. Unconscious ejaculation/WD is considered fine.

As the title suggests, my current streak started in the middle of June 2017. Haven’t watched any porn or masturbated in 3 years. Experienced almost all the benefits such as massive attraction (men, women, children), an aura/energy surrounding me, enhanced charisma, less need for sleep, insane levels of energy, drive, and motivation, zero anxiety or fear, massive confidence occasionally bordering on arrogance, increased manifestation/LOA, people admiring/respecting me for no reason, online attraction, less procrastination, better athletic performance, greater creativity/intelligence, the desire to live a purposeful life, greater emphasis on spirituality, and much much more. Could probably write several posts just on the benefits themselves. Only thing that didn’t improve was my skin, which was later fixed using subliminals.
It’s been a long journey, so I’ll start with background information, and later elaborate on how I managed to go from nocturnal emissions every 5 days (avg) to having a perfect SR streak for 3 months.
Used to watch anime which led to hentai (2013), and eventually western/japanese porn. Don’t even bother to search these terms on Google. It’s not worth it. Thankfully, those days are long behind me. As a side-note, I discovered the nofap/semen-retention subreddit in November 2017. Didn’t even know about SR before that.
I was raised a Catholic in a fairly religious family. Always started various streaks, and eventually broke them due to boredom/emotional coping/curiosity about new videos. Thankfully, I got good grades, read books, and was interested in self-development, but all that time spent on porn was a complete waste. Assuming I spent at least 2 hours everyday for 4 years (1460 days), it amounts to 122 complete days or around 4 months in total. It’s pretty sad on reflection, but at least the experience is now absorbed, and I can write this post.
On June 2017, after summer break started and final exams were over, I decided to permanently quit this habit. Downloaded an application called Cold Turkey and completely blocked all websites I used to visit. Now use Leechblock, which is available on most browsers (also use it to block/restrict access to non-NSFW websites which impair productivity like ESPN). Started 30 minutes of daily meditation (mindfulness + metta). Still continue the habits to this day, although the length is increased to 1 hour. Read Mindfulness in Plain English by Bhante Gunaratana and Lovingkindness by Sharon Salzberg for instructions. Have re-read these books multiple times.
Mindfulness will allow you to be self-aware of your mental conditioning, while metta (feeling compassion for yourself, a friend, neutral person, and enemy) can remove thoughts of lust and fundamentally alter your mental programming. Compassion is a very powerful exercise. Read “The Mindful Path to Self-Compassion by Christopher Germer” while you’re at it and learn tonglen. All of these books contain zero fluff, and are invaluable reads.
Started drinking 16 glasses of water (thought it would help skin, but helped in other ways), and doing 100 pushups + 100 sit-ups everyday. Increased it to 200 pushups + 200 sit-ups after 1 month. After 2 months, I made a decent amount of gains (SR helps), and people started asking me workout tips and what gym I go to. Had a Kindle Paperwhite, which is frankly one of my most valued possessions. Still works perfectly fine after 5 years, and costs only $130. Buy one now. Read a lot of books mostly consisting of biographies/spirituality/practical social skills/800+ page novels for around 6 hours per day. Still try to read for at least 15 minutes/1 chapter even when extremely busy. Will post a small booklist at the end of this post.
You can upload books to it for free if you lack money. Visit (gen.lib.rus.ec), download the ebook in epub/mobi format, open it with Calibre (https://calibre-ebook.com/), and send it to Kindle using USB. Knowledge is an investment that produces continuous returns. Warren Buffett spends 80% of his time just reading! and takes action based on that knowledge.
Even managed to have the motivation to learn Japanese by joining a foreign language exchange website. People, especially women, accepted and sent a lot of invitations to have a conversation; didn’t realize online attraction was due to SR back then. None of us showed our faces, so my physical appearance had nothing to do with it. From experience, the best way to learn a language was to make a phrase sheet with the most common phrases/questions, such as “okay”, “that’s awesome”, “what is that word in English/Japanese?” Basically a human AI bot. Don’t waste time trying to learn how to write the alphabet, although my primary purpose was to learn how to speak. Google Translate is good enough to understand the pronunciation.
I learned Japanese primarily by watching Terrace House. First watched the episode with subtitles, then re-watched it without, while simultaneously writing all the connectives/conversational phrases. You can try unique methods to remember, but brute-force memorization/review worked the best. Never tried Anki since it was cumbersome to use.
For the accent, the best way is to watch Japanese people trying to speak English, and try to mirror their accent as much as possible. It honestly helps. After 3 months, I could have a full 1 hour conversation in Japanese with a native speaker without looking at any notes. I wasn’t “fluent” (still stuttered and made mistakes), but it was a huge amount of progress for starting from scratch. Eventually after 6 months, I gave up practicing/speaking the language. I was mainly trying to fulfill a childhood fantasy, and I’m glad I tried since I learned a lot from it and got to talk with interesting people. But in reality, I stopped watching anime, and honestly never needed to speak Japanese in real-life. Now I barely remember any of the words, except a few basic phrases. Could probably last 30 seconds of full conversation at best.
So, everything was going great until December 2017. During this time period, I probably had wet dreams/nocturnal emissions every 1 – 2 months. Barely felt much difference since there was a decent time interval between emissions. Drank 2 glasses of water everyday before bed, slept on my stomach, and ate spicy food (practices that cause nocturnal emissions), but was perfectly fine. However in December I started having emissions every 2 weeks. Initially didn’t care about it. In January it started happening every 1 week. Nothing really changed in my life during this time to cause emissions to increase. Then it started happening every 5 days, every 3 days, sometimes even 2 days in a row!
Most of you will have no idea how terrible it feels to be on top of the world, and then suddenly crash down. The difference between living life with/without SR benefits is night and day. Even after sleeping 10 hours, I used to feel completely exhausted. People ignored me, or worse started “joking” around me. Complete disrespect by friends, family, and acquaintances. No energy/motivation to do anything. Constant brain fog, could barely concentrate. Felt even worse than my porn days when I ejaculated everyday. Voice completely shot, started feeling anxious about oral presentations for no reason, when I always excelled. Felt like my soul was dying. Those were really dark times. People started saying I “changed”, and started pointing out and constantly magnifying my flaws. It’s strange how people exaggerate our skills/talents on SR, while they completely ignore them post WD/ejaculation, and focus only on your flaws/mistakes. It makes you lose trust in everyone around you, as if all of them are energy vampires who only like you due to SR.
I grew desperate. During this whole time I meditated, practiced no lust/no arousal as best as possible since July 2017, yet emissions increased massively in frequency. Some occurred due to sexual dreams, but most were nocturnal emissions. Thought I had a UTI at first, and went to a general practitioner. He didn’t seem very reliable, so I went to a prominent urologist. Did all sorts of tests, paid a good amount of money, and the doctor said everything was fine. Having nocturnal emissions every 5 days was perfectly normal at my age. Encouraged me to masturbate regularly if it became an inconvenience :)
So medical science obviously failed. Started following all the tips/methods in this subreddit, and believe me I tried almost everything no matter how uncomfortable or time-consuming. Omad, avoid food/water before bed, vegetarianism, tantric meditation, different diets, various sleeping positions, no/increased meditation before bed, no/more exercise, yogic exercises, qigong, some tips mentioned by Soaring Eagle, prayed to God. None of them worked. The only method I didn’t try extensively were kegels. Initially tried a normal + reverse kegel routine, then found an article by coincidence on this subreddit about someone who permanently damaged their penis from doing kegels. Immediately stopped, thank you to that person for sharing your experience. It’s as if the universe was looking out for me. Best to avoid such risky methods even if you’re desperate. Currently sleep on my back since it avoids any "accidental physical stimulation" from occurring.
So this nocturnal emission phenomena continued for over a year. Some methods worked better than others, while for some, I wasn’t sure if it was merely the placebo effect. In mid-2019 I came across subliminal videos (finally the good part!) on YouTube. (https://www.youtube.com/watch?v=P0W5AB1sGr0) This video explains it more thoroughly, but basically you convert affirmations (sentences like “I am happy/smart/handsome”) into audio using text-to-speech software and reprogram your subconscious mind. Tried a beauty subliminal (https://www.youtube.com/watch?v=xEXaAsm-Iys) as a joke, but the next day I noticed changes in my facial structure. Listened for an hour the first day, which was easy given the music. You have no idea how amazing it feels to know that you can control your reality just by using your mind. Completely magical. Supposedly it works due to the Law of Attraction; you can find out more by reading/watching “The Secret” by Rhonda Byrne, and later reading all the books by Neville Goddard. Started using a skin subliminal as well (https://www.youtube.com/watch?v=iqi8Q80pspk and later moved onto https://www.youtube.com/watch?v=COxz8hvl14Y ), and now my skin is completely normal. Visited prominent US dermatologists, tried all sorts of acne medicine including Accutane, and even did SR, yet none of them worked. Skin was pretty terrible, and I was glad it got fixed. Took around 4 months of daily listening although it can be shortelonger depending on your belief, blockages, and levels of positivity. There’s a CIA document on holographic universes, astral projection, time travel, and psychic powers if you need scientific validation: https://www.cia.gov/library/readingroom/docs/CIA-RDP96-00788R001700210016-5.pdf
Disclaimer: Although there can be bad subliminal makers, they are very rare, and there has been only 2 of them in the history of the community. Someone named MindPower and Rose subliminals. The vast majority (99%) put positive affirmations. It’s best that you verify by checking all the comments, seeing their subscriber count, general personality, etc, but ultimately there’s no guarantee. The only way to make sure the affirmations are 100% positive and safe are to make them yourself or use a subliminal that blocks negative affirmations.
One thing to note is that physical change (biokinesis; search that term)/spiritual subliminals utilize the prana in your body to a certain extent to make changes. It makes sense since physical change is essentially a psychic poweenergy work. So your SR benefits/aura might temporarily decrease. Hydration is also recommended, and you will notice feeling thirsty. Personally drink 20 glasses of water everyday.
Obviously, my interest now turned towards using subliminals to cure nocturnal emissions. Unfortunately there’s a huge lack of subliminals regarding semen-retention or those targeted towards nocturnal emissions. Initially bought a subliminal using a paid request (you pay a subliminal maker for a specialized subliminal), but it didn’t work that well. Desired to be permanently free of nocturnal emissions, or at least reduce the frequency to once a month. So I decided to make my own subliminal. The affirmations will be posted below, and this is how I eventually cured my nocturnal emissions.
Steps on how to make your own subliminal:
  1. Write all the affirmations in a word document and save it.
  2. Download text-to-speech software like Balabolka and output the audio file in wav format (you want both uncompressed + lossless)
  3. Optional but recommended; download an audio editor like Audacity, and fast-forward the audio as much as possible using the “Change Tempo” effect. Personally I speed the audio to one second and then loop it 1000x. Continue the process as much as possible, but never make the audio length less than 1 second. Some subliminal makers make their subliminals even more powerful by creating multiple audio streams of their affirmations using different voices, merging all the voices together, and speeding them up. It’s called layering. Why super-sped affirmations work better can be somewhat explained by this article (https://www.psychologytoday.com/us/blog/sensorium/201812/experiments-suggest-humans-can-directly-observe-the-quantum), but science still doesn’t have all the answers. Will take time.
  4. Converting the affirmations to binary code (https://www.rapidtables.com/convert/numbeascii-to-binary.html) is a technique some subliminal makers use. Supposedly it penetrates the subconscious faster.
Affirmations Link: https://www.reddit.com/pureretention/comments/hg0tjb/practicing_sr_since_july_2017_finally_conquered/ (same content; scroll down to the subliminal section and download the affirmations file from the mega link)
Listened to this personal subliminal for 1 hour everyday for an entire month. Still listen just to be safe. Took months of testing and editing affirmations to make it perfect. Experienced massive sexual dreams on certain days, more than normal, and found out that entities could be responsible. Try to avoid this subreddit as well, since reading the posts can trigger memories. More energetically sensitive now, and sometimes there’s a lot of low-vibrational energy. On a side-note, porn cripples your aura and invites negative entities (https://www.awakeningstaryoga.com/blog/expanding-away-from-porn-aura).
Non-subliminal solutions:
  1. https://www.youtube.com/watch?v=lMx69hgYq0s (morphic field)
  2. https://www.youtube.com/watch?v=EWK0D1g069I (powerful aura cleanse; Tibetan bowl sounds)
  3. https://www.youtube.com/watch?v=7moRsibNyMA (reiki)
Subliminal solutions (ordered in terms of effectiveness):
  1. https://www.youtube.com/watch?v=8Kt9s5tY1YE
  2. https://www.youtube.com/watch?v=XvyPscRD1ss
  3. https://www.youtube.com/watch?v=NTmnrFzR0_Q (for spells, curses, black magic, etc)
  4. https://www.youtube.com/watch?v=8Kt9s5tY1YE (last resort)
The entire channel is a gem; these were some of the best. Have used them for a few months and feel much lighter and peaceful; experienced only headaches due to subconscious absorbing the affirmations, but zero negative effects.
Advice: Remember to immediately download any subliminal video you find that is useful in wav format (https://www.savethevideo.com/download). Subliminal channels are sometimes deleted by YouTube (spam filter) or the creators themselves.
Waited 3 whole months before deciding to make a Reddit post to make sure the method was 100% foolproof. Remember many people offering solutions in the past, yet 1 month later they would have another wd/nocturnal emission.
The first month there was a lot of fear. Will I have a wet dream/nocturnal emission tonight? Was so traumatized it was difficult getting to sleep every night. After the 2nd month, I experimented with sleeping on my stomach and eating/drinking before bed. Nothing happened. Stopped recently to stay careful.
After 2 years of suffering, this is a method that has worked. Try and see for yourself.
Present day:
How do you feel now? Some days it’s meh (due to flatline) like today; on other days I feel divine. No idea why flatline still occurs. Have regained all the benefits, feel love and happiness all the time. Experience intense states of bliss in meditation more frequently, although it’s just a distraction.
Religiously/Spiritually I’ve moved from Christianity to Buddhism/Advaita Vedanta/parts of New Age. Found them more practical and useful in life. Was inspired to aim for spiritual enlightenment after reading “The 3 pillars of Zen” by Philip Kapleau. Read it, it might change your life.
Have attended a number of meditation retreats now, along with 10-day ones. Everyone reading this post should try it. Understood how much our mental programming defined us, and that we aren’t are thoughts. Our childhood traumas define so much of our habitual reactions. Realized its okay to feel bored rather than chasing after constant stimulation.
Even attended a Jhana retreat, which is exclusive for people who have attended prior retreats. Entered intense states of meditative absorption, understood the permeability/impermanence of reality, and had all sorts of mystical experiences. Experienced past lives; can confirm my mind did not make it up, since it’s an experience you can constantly replicate using the same methods. Before attempting such methods, you need to have the ability to sit down and meditate continuously for at least 3 hours. If you live in the US, attend IMS (Insight Meditation Society) or any prominent Vipassana/Theravada related retreat. Zen is a valid form of enlightenment, but it personally felt unstructured.
Gave up music, took time since I was convinced it was needed for creativity. Instead, it was just a substitute source of dopamine and a way to avoid my emotions. Have much less brain fog after quitting. Only communicate using regular phone calls these days, which no one uses, and Snapchat/WhatsApp for texting. Avoid stories, waste of time. Instagram/TwitteFacebook are a waste of time unless you are using it for business purposes. The only social media you really need is LinkedIn.
Women: You’ll learn more about them by reading romantic novels, Korean mangas, and watching Kdramas then reading all that seduction/red pill stuff. Focus on general charisma (men and women) instead of a specific gender. Read “The Charisma Myth” by Olivia Fox Cabane; it’s the most practical book on social skills I have ever read, and possibly the most life-changing as well. Teaches you self-awareness, applies Buddhist psychology to social interaction. Used to train executives in Google, read it now (and do all the exercises). The bibliography sent me on a rabbit hole that made me read ton of books on psychotherapy, meditation, mindfulness, and Buddhism; this was before SR. Inspired me to practice meditation, although the habit only became regular after SR.
Read books such as Crucial Conversations by Al Switzer, Difficult Conversations by Douglas Stone, How to Talk so Kids will Listen by Adele Faber (works very well in general since even adults have childhood programming, and can act like children), Never Split the Difference by Chris Voss (FBI's chief international hostage and kidnapping negotiator from 2003 to 2007), Getting More by Stuart Diamond (trains negotiators at Google), and Pitch Anything by Oren Klaff (more theoretical but useful). Also read The Definitive Book of Body Language by Allan Pease and What Every Body is Saying by Joe Navarro. These are all books that will greatly improve your human interactions and contain limited fluff. Have re-read all of these books in difficult times, and they have never let me down. You should read it as well. Even if you become a monk, there’s lots of social infighting even in monasteries. Highly-developed social skills are invaluable whenever you are dealing with individuals. Read “How to make friends and influence people” by Dale Carnegie once in a while, since most forget to apply his “basic” advice. Learned a lot about oral presentations by watching Alan Shore on Boston Legal (TV show).
Current position in life? Studying for a bachelor’s degree. My family is financially well-off, and my father is paying for my college tuition and dorm. Scholarships aren’t available for all income levels. Although I come from “privilege”, the above information can help anyone regardless of their financial position. We live in an era where information is accessible to all social classes, so excuses aren’t that relevant. If you’re practicing SR, you are already 20 steps closer to success. The tips above can be applied for free as long as you have a computesmartphone. Read books starting from today, knowledge is a source of power. People spend so much time reading the news, scrolling social media feeds, reacting to comments, chatting about useless things with friends, binging shows on Netflix, browsing YouTube/Reddit, that time quietly passes by. Time is the most valuable commodity you have; don’t waste such a limited resource on things that will contribute nothing towards your purpose in life. Once it’s spent, you can never get it back.
Personally, I schedule the next day before going to bed. Leisure, Reading, Schoolwork, Meditation, everything is mapped out perfectly. Try to eliminate habits that just waste time and stick to your schedule perfectly (working on it myself). If you feel tired after work/studying, take a nap or meditate instead of receiving even more stimulation from videogames, YouTube, or other artificial dopamine sources. Try NoSurf.

Basic Booklist:

Spirituality:
  1. The End of Your World by Adyashanti (fantastic writer; must-read if you have had an awakening experience or believe you are "enlightened")
  2. How to Attain Enlightenment -> The Essence of Enlightenment by James Swartz (best introduction to Advaita Vedanta I have read so far)
  3. I am That by Sri Nisargadatta Maharaj
  4. In the Buddha's Words by Bhikkhu Bodhi (best introduction to Buddhist scripture)
  5. Why Buddhism is True by Robert Wright (secular perspective but informative; his previous book The Moral Animal is a good introduction to evolutionary psychology. Read this first if you are non-spiritual)
  6. Wisdom Wise and Deep by Shaila Catherine (comprehensive introduction by one of the best Jhana teachers in the US)
  7. Manual of Insight by Mahasi Sayadaw
  8. Emptiness: A Practical Guide by Guy Armstrong (good introduction to the Buddhist version of reality)
  9. Books by Loch Kelly (practical guide to non-dual meditation practices within Buddhism; The Little Book of Being by Diana Winston may be a better introduction)
  10. Seeing that Frees by Rob Burbea (really advanced but profound)
  11. http://awakeningtoreality.blogspot.com/2007/03/thusnesss-six-stages-of-experience.html (Buddhism > Advaita)
  12. Books by Robert Bruce such as Psychic Self-Defence and Energy Work
  13. Psychic Witch by Mat Auryn
  14. Dream Yoga by Andrew Holecek (amazing/practical book on lucid dreaming -> dream yoga)
  15. Autobiography of a Yogi
  16. The Practice of Brahmacharya by Swami Sivananda and Soaring Eagle (https://forum.nofap.com/index.php?threads/6-years-clean-rebooting-as-the-best-remedy.135983/) if you haven’t read already
  17. Xunzi trans. by Eric Hutton (final evolution of Confucianism)
Novels (use translators mentioned):
http://gen.lib.rus.ec/fiction/? for foreign literature

  1. Musashi by Eiji Yoshikawa (Taiko is decent as well, but this one was a masterpiece)
  2. Romance of the Three Kingdoms trans. Moss Roberts
  3. The Dream of the Red Chamber trans. David Hawkes (read it in the summer of 2017, profound but not all may see the deeper meaning)
  4. The Nine Cloud Dream trans. Heinz Insu Fenkl
  5. Atlas Shrugged by Ayn Rand (Inspirational for Entrepreneurs, however don’t start adopting this book as economic philosophy. It’s just a novel!)
  6. The Alchemist by Paulo Coelho (read now if you are experiencing an existential crisis)
  7. Dostoevsky’s Crime and Punishment + The Brothers Karamazov (optional reading; prefer Pevear translation)
  8. Perry Mason and Sherlock Holmes Series (pleasure reading but not useless)
Psychotherapy (never visited a therapist, but found these useful):
  1. Getting Past Your Past by Francine Shapiro (by the founder of EMDR, best practical book on trauma and exercises to resolve it)
  2. Complex PTSD: From Surviving to Thriving (another immensely practical book on recovering from trauma)
  3. Breaking the Cycle by George Collins (best practical workbook on sexual addiction I have read; all should read)
  4. Get out of your mind and into your life by Steven Hayes (Was mentioned in the charisma myth booklist; take control of your thoughts and mind by the founder of ACT)
  5. Mindful Compassion by Paul Gilbert and Choden (prominent researcher on compassion applied to therapy; part one can be boring, but part two on practical exercises is invaluable)
  6. Feeling Book by David Burns (rightfully a classic book on therapy and CBT; read if you are suffering from depression)
  7. Healing Development Trauma by Laurence Heller (best book on the impact of childhood/development trauma but meant for therapists, might explain why we use addiction to cope from childhood memories; google ACE study as well)
  8. The Boy who was raised as a Dog by Bruce Perry (stories about children experiencing trauma. Increases empathy for yourself and others; you realize how childhood trauma affects how a lot of people think and behave)
  9. Whole Again: Healing Your Heart and Rediscovering Your True Self After Toxic Relationships and Emotional Abuse by Jackson MacKenzie (fantastic book on recovering from relationship abuse. Many of us have emotional baggage that fuels coping and addiction loops. Read Healing from Hidden Abuse by Shannon Thomas as well.)
  10. Self-Compassion by Kristen Neff (optional reading, but complimentary)
For biographies, read those of presidents and important leaders. Also about famous/successful individuals. Read all of Ron Chernow’s books. Abuse the Amazon Search Engine and look through their categories. Reading biographies can fundamentally enhance your worldview so you realize that real-life issues are much more nuanced and gray rather than black and white. Also shows how successful people deal with difficult crises and their perspective on life. Especially for public policy. If a President implements an economic policy that has short-term gains, but long-term loss, he has a greater chance of being re-elected. However, short-term loss in favor of long-term gain is the correct policy. Employ critical-thinking! Avoid cable news even if you need to stay informed. Don’t even have a television in my house. Unnecessary. Just read 2 – 3 reputable news sources for 20 minutes max. Sometimes I even avoid the news since there’s too much negativity.
https://www.reddit.com/kundalini/comments/1unyph/a_tantric_perspective_on_the_use_of_sexual_energy/ (tantric meditation technique that actually works; you are supposed to do it for 1 hour. Optional.)
https://www.reddit.com/kundalini/comments/2zn8ev/grounding_201_two_effective_quick_methods/ (energetic protection + grounding method after doing the tantric meditation)
Avoid learning Mantak Chia’s techniques from a book, since some have suffered side-effects to their energetic/biological body. For NEO, Tibetan buddhists practice meditation for 13 years before attempting it (https://en.wikipedia.org/wiki/Karmamudr%C4%81). Not easy. Not sure about women, since SR streak is more important. Don’t pick a partner to fulfill some kind of emotional void, or due to societal programming where women are held to be the ultimate goal. Spiritual Enlightenment is the ultimate goal now, but even enlightened people need money for food and shelter.
Youtubers I follow are Graham Stephan, Ryan Serhant, Rupert Spira, and https://www.youtube.com/channel/UCUX1V5UNWP1RUkhLewe77ZQ (cured women objectification for me; wholesome content) although mostly I avoid the website. Easy to loose track of time.
Avoid smoking, alcohol, recreational drug use (https://www.elitedaily.com/wellness/drugs-alcohol-aura-damage/1743959), casual sex (https://mywakingpath.wordpress.com/tag/aura/; sensitive images but useful), and fast food. Budget your money, and learn how to save as much as possible.
Hope everyone reading this post experiences their definition of success and leads a purposeful life. Will end it by stating two quotes that have inspired and guided me:
“You yourself have to change first, or nothing will change for you!”
― Hideaki Sorachi
“It is not important to be better than someone else, but to be better than you were yesterday.”
― Jigoro Kano (Founder of Judo)
Update 1, 2, 3: Added a post summary and the audio as well in the affirmations link
Update 4: https://starseedsunited.com/negative-entities-and-psychic-attacks (basic article on entities)
Some solutions are posted above. Updated* daily routine:
  1. https://www.reddit.com/kundalini/comments/1xyp5k/a_simple_and_universal_white_light_protection/ (basic psychic self-defence)
  2. https://www.youtube.com/watch?v=8Kt9s5tY1YE (at least once everyday; cures sexual dreams and flushes all entities)
  3. https://www.youtube.com/watch?v=yLeubTQv65Q (best shielding subliminal so far; general protection. Listen at least once everyday)
Note: Will continuously update this post based on further clarification. Close to 40,000 character word limit.
submitted by RisingSun7799 to Semenretention [link] [comments]

Best TTRPGs for Play by Post Games.

Hey all, I'm trying to put together a list of good potential systems for play by post games. I'm going to be running one for some of my friends, so I'm trying to think of what would need to change and what would not work.
  1. It likely can't have heavy emphasis on turns, especially combat. Tactical combat wouldn't work pretty much at all. This rules out some of my favorite systems like Lancer and D&D 4e. Instead, combat should flow naturally as part of the game's narrative, which is something Powered by the Apocalypse does well.
  2. Character creation and customization should be flexible but simple to track. This likely rules out another of my favorite systems, Mutants and Masterminds. It's mostly narrative driven for actual play but the character creation process is quite literally college level algebra at times and may be hard to keep track of everything.
  3. If there are dice rolls, they should be simple without too many multipliers and should allow for something more flexible than a success or failure binary. Again Powered by the Apocalypse handles this well, though so does Fate and a few other narrative driven systems. I would say dice pool systems like the Storyteller system and variations of it would not suit things well here. Preferably, they should have rolls that rely mostly on one die type, like d6 systems.
Those are the main three factors I'm trying to keep in mind. Meanwhile, here are the systems I'm considering.
Powered by the Apocalypse: This seems like the most well suited for play by post. The actions are more narrative driven, with the rolls being based off what makes most sense for the story rather than being set by gameplay. Lots of options exist here too, Dungeon World, Masks, Urban Shadows, and Monsterhearts tend to be the most well known, but it allows for plenty of variation. Many of the games have SRDs, free pdfs, or pay what you want pdfs, making it easy to get a hold of the content.
Forged in the Dark: This is essentially a variation of Powered by the Apocalypse with some deeper mechanics to it. There are a few major differences though, the biggest and most interesting in my opinion being the heavier focus on group play, with essentially leveling up the team and receiving group actions alongside the individual player ones. Blades in the Dark and Beamsaber are probably the most well known right now. SRDs, free pdfs, and pay what you want pdfs exist for some of the more popular versions of this system.
Ryutama: This is basically if a Ghibli film was a ttrpg. There's very low focus on combat, though when fights do happen it follows what could be described as a traditional JRPG aesthetic. There's initiative, a front row, and a back row. Despite that, since combat is meant to be extremely rare, I feel it's still well suited for play by post. Individual character classes are very simple in the abilities they get but again there's a big focus on group play. Not only do players need to work together and pool resources to accomplish larger tasks, but there's a mechanic where their actions power up a special NPC/DMPC called a dragon that gives the party major bonuses based on the campaign type. (An exploration campaign might get a dragon that lets them cross great distances while one that is battle focused might get a powerful attack they can call on.) The pdf for the book is available for about $14 on itch.io and drivethrurpg.
Fate: This is one of the most well known and "original" narrative driven games. There's a simpler version called Accelerated as well as one with more stats and skills called Core. The Fate point system is great, letting you get bonuses or rerolls similar somewhat to D&D's advantage system, but also being able to be used to bring in narrative effects. For instance, finding a contact in town or deciding you know there's a secret passage somewhere nearby. While it's a cool system I worry it may be too open ended with no set stunts or traits and instead leaving the players and GM to determine which ones make sense for the characters. An SRD is available that has all the rules for Core, Accelerated, and some other versions of the game.
These are the systems I'm familiar with. I've heard of others, like Into the Odd, Maze Rats, White Hack, and Black Hack, but have no experience with them and didn't feel right saying anything that may affect opinions. If others have played these games and can provide thoughts on them, please do! What systems have you found work best for Play by Post? What aspects do you think need to be kept in mind or changed between a standard session and PbP? Please share your thoughts and opinions here.
submitted by Ignisiel to rpg [link] [comments]

Practicing SR since July 2017; finally conquered Nocturnal Emissions for 3 Whole Months using Subliminals

2 accounts got shadowbanned for uploading this post. Spam filter kept on removing it on Semenretention. Messaged the moderators for help, but they didn't care. Takes less than 3 minutes to approve a post from the spam folder. No idea if they read this post.

First time making a Reddit post.
Terminology:
Wet dream/WD – sexual dream causing semen emission while sleeping
Nocturnal Emission/NE – semen emission occurring while sleeping even without dreaming
Semen-retention/SR streak – avoiding porn, masturbation, and ejaculation whether conscious or unconscious
Nofap Hardmode – avoiding porn, masturbation, and conscious ejaculation. Unconscious ejaculation/WD is considered fine.

As the title suggests, my current streak started in the middle of June 2017. Haven’t watched any porn or masturbated in 3 years. Experienced almost all the benefits such as massive attraction (men, women, children), an aura/energy surrounding me, enhanced charisma, less need for sleep, insane levels of energy, drive, and motivation, zero anxiety or fear, massive confidence occasionally bordering on arrogance, increased manifestation/LOA, people admiring/respecting me for no reason, online attraction, less procrastination, better athletic performance, greater creativity/intelligence, the desire to live a purposeful life, greater emphasis on spirituality, and much much more. Could probably write several posts just on the benefits themselves. Only thing that didn’t improve was my skin, which was later fixed using subliminals.
It’s been a long journey, so I’ll start with background information, and later elaborate on how I managed to go from nocturnal emissions every 5 days (avg) to having a perfect SR streak for 3 months.
Used to watch anime which led to hentai (2013), and eventually western/japanese porn. Don’t even bother to search these terms on Google. It’s not worth it. Thankfully, those days are long behind me. As a side-note, I discovered the nofap/semen-retention subreddit in November 2017. Didn’t even know about SR before that.
I was raised a Catholic in a fairly religious family. Always started various streaks, and eventually broke them due to boredom/emotional coping/curiosity about new videos. Thankfully, I got good grades, read books, and was interested in self-development, but all that time spent on porn was a complete waste. Assuming I spent at least 2 hours everyday for 4 years (1460 days), it amounts to 122 complete days or around 4 months in total. It’s pretty sad on reflection, but at least the experience is now absorbed, and I can write this post.
On June 2017, after summer break started and final exams were over, I decided to permanently quit this habit. Downloaded an application called Cold Turkey and completely blocked all websites I used to visit. Now use Leechblock, which is available on most browsers (also use it to block/restrict access to non-NSFW websites which impair productivity like ESPN). Started 30 minutes of daily meditation (mindfulness + metta). Still continue the habits to this day, although the length is increased to 1 hour. Read Mindfulness in Plain English by Bhante Gunaratana and Lovingkindness by Sharon Salzberg for instructions. Have re-read these books multiple times.
Mindfulness will allow you to be self-aware of your mental conditioning, while metta (feeling compassion for yourself, a friend, neutral person, and enemy) can remove thoughts of lust and fundamentally alter your mental programming. Compassion is a very powerful exercise. Read “The Mindful Path to Self-Compassion by Christopher Germer” while you’re at it and learn tonglen. All of these books contain zero fluff, and are invaluable reads.
Started drinking 16 glasses of water (thought it would help skin, but helped in other ways), and doing 100 pushups + 100 sit-ups everyday. Increased it to 200 pushups + 200 sit-ups after 1 month. After 2 months, I made a decent amount of gains (SR helps), and people started asking me workout tips and what gym I go to. Had a Kindle Paperwhite, which is frankly one of my most valued possessions. Still works perfectly fine after 5 years, and costs only $130. Buy one now. Read a lot of books mostly consisting of biographies/spirituality/practical social skills/800+ page novels for around 6 hours per day. Still try to read for at least 15 minutes/1 chapter even when extremely busy. Will post a small booklist at the end of this post.
You can upload books to it for free if you lack money. Visit “gen.lib.rus.ec” without quotes, download the ebook in epub/mobi format, open it with Calibre (https://calibre-ebook.com/), and send it to Kindle using USB. Knowledge is an investment that produces continuous returns. Warren Buffett spends 80% of his time just reading! and takes action based on that knowledge.
Even managed to have the motivation to learn Japanese by joining a foreign language exchange website. People, especially women, accepted and sent a lot of invitations to have a conversation; didn’t realize online attraction was due to SR back then. None of us showed our faces, so my physical appearance had nothing to do with it. From experience, the best way to learn a language was to make a phrase sheet with the most common phrases/questions, such as “okay”, “that’s awesome”, “what is that word in English/Japanese?” Basically a human AI bot. Don’t waste time trying to learn how to write the alphabet, although my primary purpose was to learn how to speak. Google Translate is good enough to understand the pronunciation.
I learned Japanese primarily by watching Terrace House. First watched the episode with subtitles, then re-watched it without, while simultaneously writing all the connectives/conversational phrases. You can try unique methods to remember, but brute-force memorization/review worked the best. Never tried Anki since it was cumbersome to use.
For the accent, the best way is to watch Japanese people trying to speak English, and try to mirror their accent as much as possible. It honestly helps. After 3 months, I could have a full 1 hour conversation in Japanese with a native speaker without looking at any notes. I wasn’t “fluent” (still stuttered and made mistakes), but it was a huge amount of progress for starting from scratch. Eventually after 6 months, I gave up practicing/speaking the language. I was mainly trying to fulfill a childhood fantasy, and I’m glad I tried since I learned a lot from it and got to talk with interesting people. But in reality, I stopped watching anime, and honestly never needed to speak Japanese in real-life. Now I barely remember any of the words, except a few basic phrases. Could probably last 30 seconds of full conversation at best.
So, everything was going great until December 2017. During this time period, I probably had wet dreams/nocturnal emissions every 1 – 2 months. Barely felt much difference since there was a decent time interval between emissions. Drank 2 glasses of water everyday before bed, slept on my stomach, and ate spicy food (practices that cause nocturnal emissions), but was perfectly fine. However in December I started having emissions every 2 weeks. Initially didn’t care about it. In January it started happening every 1 week. Nothing really changed in my life during this time to cause emissions to increase. Then it started happening every 5 days, every 3 days, sometimes even 2 days in a row!
Most of you will have no idea how terrible it feels to be on top of the world, and then suddenly crash down. The difference between living life with/without SR benefits is night and day. Even after sleeping 10 hours, I used to feel completely exhausted. People ignored me, or worse started “joking” around me. Complete disrespect by friends, family, and acquaintances. No energy/motivation to do anything. Constant brain fog, could barely concentrate. Felt even worse than my porn days when I ejaculated everyday. Voice completely shot, started feeling anxious about oral presentations for no reason, when I always excelled. Felt like my soul was dying. Those were really dark times. People started saying I “changed”, and started pointing out and constantly magnifying my flaws. It’s strange how people exaggerate our skills/talents on SR, while they completely ignore them post WD/ejaculation, and focus only on your flaws/mistakes. It makes you lose trust in everyone around you, as if all of them are energy vampires who only like you due to SR.
I grew desperate. During this whole time I meditated, practiced no lust/no arousal as best as possible since July 2017, yet emissions increased massively in frequency. Some occurred due to sexual dreams, but most were nocturnal emissions. Thought I had a UTI at first, and went to a general practitioner. He didn’t seem very reliable, so I went to a prominent urologist. Did all sorts of tests, paid a good amount of money, and the doctor said everything was fine. Having nocturnal emissions every 5 days was perfectly normal at my age. Encouraged me to masturbate regularly if it became an inconvenience :)
So medical science obviously failed. Started following all the tips/methods in this subreddit, and believe me I tried almost everything no matter how uncomfortable or time-consuming. Omad, avoid food/water before bed, vegetarianism, tantric meditation, different diets, various sleeping positions, no/increased meditation before bed, no/more exercise, yogic exercises, qigong, some tips mentioned by Soaring Eagle, prayed to God. None of them worked. The only method I didn’t try extensively were kegels. Initially tried a normal + reverse kegel routine, then found an article by coincidence on this subreddit about someone who permanently damaged their penis from doing kegels. Immediately stopped, thank you to that person for sharing your experience. It’s as if the universe was looking out for me. Best to avoid such risky methods even if you’re desperate. Currently sleep on my back since it avoids any "accidental physical stimulation" from occurring.
So this nocturnal emission phenomena continued for over a year. Some methods worked better than others, while for some, I wasn’t sure if it was merely the placebo effect. In mid-2019 I came across subliminal videos (finally the good part!) on YouTube. (https://www.youtube.com/watch?v=P0W5AB1sGr0) This video explains it more thoroughly, but basically you convert affirmations (sentences like “I am happy/smart/handsome”) into audio using text-to-speech software and reprogram your subconscious mind. Tried a beauty subliminal (https://www.youtube.com/watch?v=xEXaAsm-Iys) as a joke, but the next day I noticed changes in my facial structure. Listened for an hour the first day, which was easy given the music. You have no idea how amazing it feels to know that you can control your reality just by using your mind. Completely magical. Supposedly it works due to the Law of Attraction; you can find out more by reading/watching “The Secret” by Rhonda Byrne, and later reading all the books by Neville Goddard. Started using a skin subliminal as well (https://www.youtube.com/watch?v=iqi8Q80pspk and later moved onto https://www.youtube.com/watch?v=COxz8hvl14Y ), and now my skin is completely normal. Visited prominent US dermatologists, tried all sorts of acne medicine including Accutane, and even did SR, yet none of them worked. Skin was pretty terrible, and I was glad it got fixed. Took around 4 months of daily listening although it can be shortelonger depending on your belief, blockages, and levels of positivity. There’s a CIA document on holographic universes, astral projection, time travel, and psychic powers if you need scientific validation: https://www.cia.gov/library/readingroom/docs/CIA-RDP96-00788R001700210016-5.pdf
Disclaimer: Although there can be bad subliminal makers, they are very rare, and there has been only 2 of them in the history of the community. Someone named MindPower and Rose subliminals. The vast majority (99%) put positive affirmations. It’s best that you verify by checking all the comments, seeing their subscriber count, general personality, etc, but ultimately there’s no guarantee. The only way to make sure the affirmations are 100% positive and safe are to make them yourself or use a subliminal that blocks negative affirmations.
One thing to note is that physical change (biokinesis; search that term)/spiritual subliminals utilize the prana in your body to a certain extent to make changes. It makes sense since physical change is essentially a psychic poweenergy work. So your SR benefits/aura might temporarily decrease. Hydration is also recommended, and you will notice feeling thirsty. Personally drink 20 glasses of water everyday.
Obviously, my interest now turned towards using subliminals to cure nocturnal emissions. Unfortunately there’s a huge lack of subliminals regarding semen-retention or those targeted towards nocturnal emissions. Initially bought a subliminal using a paid request (you pay a subliminal maker for a specialized subliminal), but it didn’t work that well. Desired to be permanently free of nocturnal emissions, or at least reduce the frequency to once a month. So I decided to make my own subliminal. The affirmations will be posted below, and this is how I eventually cured my nocturnal emissions.
Steps on how to make your own subliminal:
  1. Write all the affirmations in a word document and save it.
  2. Download text-to-speech software like Balabolka (http://www.cross-plus-a.com/balabolka.htm) and output the audio file in wav format (you want both uncompressed + lossless)
  3. Optional but recommended; download an audio editor like Audacity (https://www.audacityteam.org/), and fast-forward the audio as much as possible using the “Change Tempo” effect. Personally I speed the audio to one second and then loop it 1000x. Continue the process as much as possible, but never make the audio length less than 1 second. Some subliminal makers make their subliminals even more powerful by creating multiple audio streams of their affirmations using different voices, merging all the voices together, and speeding them up. It’s called layering. Why super-sped affirmations work better can be somewhat explained by this article (https://www.psychologytoday.com/us/blog/sensorium/201812/experiments-suggest-humans-can-directly-observe-the-quantum), but science still doesn’t have all the answers. Will take time.
  4. Converting the affirmations to binary code (https://www.rapidtables.com/convert/numbeascii-to-binary.html) is a technique some subliminal makers use. Supposedly it penetrates the subconscious faster.
Affirmations + Audio Link: https://mega.nz/foldeWcwhhAia#RmD8e0I3uzjyeDdW22wEHg
Listened to this personal subliminal for 1 hour everyday for an entire month. Still listen just to be safe. Took months of testing and editing affirmations to make it perfect. Experienced massive sexual dreams on certain days, more than normal, and found out that entities could be responsible. Try to avoid this subreddit as well, since reading the posts can trigger memories. More energetically sensitive now, and sometimes there’s a lot of low-vibrational energy. On a side-note, porn cripples your aura and invites negative entities (https://www.awakeningstaryoga.com/blog/expanding-away-from-porn-aura).
Non-subliminal solutions:
  1. https://www.youtube.com/watch?v=g5-DrYahaSc (morphic field)
  2. https://www.youtube.com/watch?v=EWK0D1g069I (powerful aura cleanse; Tibetan bowl sounds)
  3. https://www.youtube.com/watch?v=7moRsibNyMA (reiki)
Subliminal solutions (ordered in terms of effectiveness):
  1. https://www.youtube.com/watch?v=yLeubTQv65Q
  2. https://www.youtube.com/watch?v=XvyPscRD1ss
  3. https://www.youtube.com/watch?v=NTmnrFzR0_Q (for spells, curses, black magic, etc)
  4. https://www.youtube.com/watch?v=8Kt9s5tY1YE (last resort)
The entire channel is a gem; these were some of the best. Have used them for a few months and feel much lighter and peaceful; experienced only headaches due to subconscious absorbing the affirmations, but zero negative effects.
Advice: Remember to immediately download any subliminal video you find that is useful in wav format (https://www.savethevideo.com/download). Subliminal channels are sometimes deleted by YouTube (spam filter) or the creators themselves.
Waited 3 whole months before deciding to make a Reddit post to make sure the method was 100% foolproof. Remember many people offering solutions in the past, yet 1 month later they would have another wd/nocturnal emission.
The first month there was a lot of fear. Will I have a wet dream/nocturnal emission tonight? Was so traumatized it was difficult getting to sleep every night. After the 2nd month, I experimented with sleeping on my stomach and eating/drinking before bed. Nothing happened. Stopped recently to stay careful.
After 2 years of suffering, this is a method that has worked. Try and see for yourself.

Present day:
How do you feel now? Some days it’s meh (due to flatline) like today; on other days I feel divine. No idea why flatline still occurs. Have regained all the benefits, feel love and happiness all the time. Experience intense states of bliss in meditation more frequently, although it’s just a distraction.
Religiously/Spiritually I’ve moved from Christianity to Buddhism/Advaita Vedanta/parts of New Age. Found them more practical and useful in life. Was inspired to aim for spiritual enlightenment after reading “The 3 pillars of Zen” by Philip Kapleau. Read it, it might change your life.
Have attended a number of meditation retreats now, along with 10-day ones. Everyone reading this post should try it. Understood how much our mental programming defined us, and that we aren’t are thoughts. Our childhood traumas define so much of our habitual reactions. Realized its okay to feel bored rather than chasing after constant stimulation.
Even attended a Jhana retreat, which is exclusive for people who have attended prior retreats. Entered intense states of meditative absorption, understood the permeability/impermanence of reality, and had all sorts of mystical experiences. Experienced past lives; can confirm my mind did not make it up, since it’s an experience you can constantly replicate using the same methods. Before attempting such methods, you need to have the ability to sit down and meditate continuously for at least 3 hours. If you live in the US, attend IMS (Insight Meditation Society) or any prominent Vipassana/Theravada related retreat. Zen is a valid form of enlightenment, but it personally felt unstructured.
Gave up music, took time since I was convinced it was needed for creativity. Instead, it was just a substitute source of dopamine and a way to avoid my emotions. Have much less brain fog after quitting. Only communicate using regular phone calls these days, which no one uses, and Snapchat/WhatsApp for texting. Avoid stories, waste of time. Instagram/TwitteFacebook are a waste of time unless you are using it for business purposes. The only social media you really need is LinkedIn.
Women: You’ll learn more about them by reading romantic novels, Korean mangas, and watching Kdramas then reading all that seduction/red pill stuff. Focus on general charisma (men and women) instead of a specific gender. Read “The Charisma Myth” by Olivia Fox Cabane; it’s the most practical book on social skills I have ever read, and possibly the most life-changing as well. Teaches you self-awareness, applies Buddhist psychology to social interaction. Used to train executives in Google, read it now (and do all the exercises). The bibliography sent me on a rabbit hole that made me read ton of books on psychotherapy, meditation, mindfulness, and Buddhism; this was before SR. Inspired me to practice meditation, although the habit only became regular after SR.
Read books such as Crucial Conversations by Al Switzer, Difficult Conversations by Douglas Stone, How to Talk so Kids will Listen by Adele Faber (works very well in general since even adults have childhood programming, and can act like children), Never Split the Difference by Chris Voss (FBI's chief international hostage and kidnapping negotiator from 2003 to 2007), Getting More by Stuart Diamond (trains negotiators at Google), and Pitch Anything by Oren Klaff (more theoretical but useful). Also read The Definitive Book of Body Language by Allan Pease and What Every Body is Saying by Joe Navarro. These are all books that will greatly improve your human interactions and contain limited fluff. Have re-read all of these books in difficult times, and they have never let me down. You should read it as well. Even if you become a monk, there’s lots of social infighting even in monasteries. Highly-developed social skills are invaluable whenever you are dealing with individuals. Read “How to make friends and influence people” by Dale Carnegie once in a while, since most forget to apply his “basic” advice. Learned a lot about oral presentations by watching Alan Shore on Boston Legal (TV show).
Current position in life? Studying for a bachelor’s degree. My family is financially well-off, and my father is paying for my college tuition and dorm. Scholarships aren’t available for all income levels. Although I come from “privilege”, the above information can help anyone regardless of their financial position. We live in an era where information is accessible to all social classes, so excuses aren’t that relevant. If you’re practicing SR, you are already 20 steps closer to success. The tips above can be applied for free as long as you have a computesmartphone. Read books starting from today, knowledge is a source of power. People spend so much time reading the news, scrolling social media feeds, reacting to comments, chatting about useless things with friends, binging shows on Netflix, browsing YouTube/Reddit, that time quietly passes by. Time is the most valuable commodity you have; don’t waste such a limited resource on things that will contribute nothing towards your purpose in life. Once it’s spent, you can never get it back.
Personally, I schedule the next day before going to bed. Leisure, Reading, Schoolwork, Meditation, everything is mapped out perfectly. Try to eliminate habits that just waste time and stick to your schedule perfectly (working on it myself). If you feel tired after work/studying, take a nap or meditate instead of receiving even more stimulation from videogames, YouTube, or other artificial dopamine sources. Try NoSurf.

Basic Booklist:

Spirituality:
  1. The End of Your World by Adyashanti (fantastic writer; must-read if you have had an awakening experience or believe you are "enlightened")
  2. How to Attain Enlightenment -> The Essence of Enlightenment by James Swartz (best introduction to Advaita Vedanta I have read so far)
  3. I am That by Sri Nisargadatta Maharaj (essence of Advaita)
  4. In the Buddha's Words by Bhikkhu Bodhi (best introduction to Buddhist scripture)
  5. Why Buddhism is True by Robert Wright (secular perspective but informative; his previous book The Moral Animal is a good introduction to evolutionary psychology. Read this first if you are non-spiritual)
  6. Wisdom Wise and Deep by Shaila Catherine (comprehensive introduction by one of the best Jhana teachers in the US)
  7. The Visuddhimagga
  8. Manual of Insight by Mahasi Sayadaw
  9. Emptiness: A Practical Guide by Guy Armstrong (good introduction to the Buddhist version of reality)
  10. Books by Loch Kelly (practical guide to non-dual meditation practices within Buddhism; The Little Book of Being by Diana Winston may be a better introduction)
  11. Seeing that Frees by Rob Burbea (really advanced but profound)
  12. http://awakeningtoreality.blogspot.com/2007/03/thusnesss-six-stages-of-experience.html (Buddhism > Advaita; ebooks in sidebar)
  13. Books by Robert Bruce such as Psychic Self-Defence and Energy Work
  14. Psychic Witch by Mat Auryn
  15. Dream Yoga by Andrew Holecek (amazing/practical book on lucid dreaming -> dream yoga)
  16. Autobiography of a Yogi
  17. The Practice of Brahmacharya by Swami Sivananda and Soaring Eagle (https://forum.nofap.com/index.php?threads/6-years-clean-rebooting-as-the-best-remedy.135983/) if you haven’t read already
  18. Xunzi trans. by Eric Hutton (final evolution of Confucianism)
Novels (use translators mentioned):
http://gen.lib.rus.ec/fiction/ for foreign literature

  1. Musashi by Eiji Yoshikawa (Taiko is decent as well, but this one was a masterpiece)
  2. Romance of the Three Kingdoms trans. Moss Roberts
  3. The Dream of the Red Chamber trans. David Hawkes (read it in the summer of 2017, profound but not all may see the deeper meaning)
  4. The Nine Cloud Dream trans. Heinz Insu Fenkl
  5. Atlas Shrugged by Ayn Rand (Inspirational for Entrepreneurs, however don’t start adopting this book as economic philosophy. It’s just a novel!)
  6. The Alchemist by Paulo Coelho (read now if you are experiencing an existential crisis)
  7. Dostoevsky’s Crime and Punishment + The Brothers Karamazov (optional reading; prefer Pevear translation)
  8. Perry Mason and Sherlock Holmes Series (pleasure reading but not useless)
Psychotherapy (never visited a therapist, but found these useful):
  1. Getting Past Your Past by Francine Shapiro (by the founder of EMDR, best practical book on trauma and exercises to resolve it)
  2. Complex PTSD: From Surviving to Thriving (another immensely practical book on recovering from trauma)
  3. Breaking the Cycle by George Collins (best practical workbook on sexual addiction I have read; all should read)
  4. Get out of your mind and into your life by Steven Hayes (Was mentioned in the charisma myth booklist; take control of your thoughts and mind by the founder of ACT)
  5. Mindful Compassion by Paul Gilbert and Choden (prominent researcher on compassion applied to therapy; part one can be boring, but part two on practical exercises is invaluable)
  6. Feeling Book by David Burns (rightfully a classic book on therapy and CBT; read if you are suffering from depression)
  7. Healing Development Trauma by Laurence Heller (best book on the impact of childhood/development trauma but meant for therapists, might explain why we use addiction to cope from childhood memories; google ACE study as well)
  8. The Boy who was raised as a Dog by Bruce Perry (stories about children experiencing trauma. Increases empathy for yourself and others; you realize how childhood trauma affects how a lot of people think and behave)
  9. Whole Again: Healing Your Heart and Rediscovering Your True Self After Toxic Relationships and Emotional Abuse by Jackson MacKenzie (fantastic book on recovering from relationship abuse. Many of us have emotional baggage that fuels coping and addiction loops. Read Healing from Hidden Abuse by Shannon Thomas as well.)
  10. Self-Compassion by Kristen Neff (optional reading, but complimentary)
For biographies, read those of presidents and important leaders. Also about famous/successful individuals. Read all of Ron Chernow’s books. Abuse the Amazon Search Engine and look through their categories. Reading biographies can fundamentally enhance your worldview so you realize that real-life issues are much more nuanced and gray rather than black and white. Also shows how successful people deal with difficult crises and their perspective on life. Especially for public policy. If a President implements an economic policy that has short-term gains, but long-term loss, he has a greater chance of being re-elected. However, short-term loss in favor of long-term gain is the correct policy. Employ critical-thinking! Avoid cable news even if you need to stay informed. Don’t even have a television in my house. Unnecessary. Just read 2 – 3 reputable news sources for 20 minutes max. Sometimes I even avoid the news since there’s too much negativity.
https://www.reddit.com/kundalini/comments/1unyph/a_tantric_perspective_on_the_use_of_sexual_energy/ (tantric meditation technique that actually works; you are supposed to do it for 1 hour. Optional.)
https://www.reddit.com/kundalini/comments/2zn8ev/grounding_201_two_effective_quick_methods/ (grounding method after doing the tantric meditation)
Avoid learning Mantak Chia’s techniques from a book, since some have suffered side-effects to their energetic/biological body. Zero advice for those practicing NEO. Must be hard. Not sure about women, since SR streak is more important. Don’t pick a partner to fulfill some kind of emotional void, or due to societal programming where women are held to be the ultimate goal. Spiritual Enlightenment is the ultimate goal now, but even enlightened people need money for food and shelter.
Youtubers I follow are Graham Stephan, Ryan Serhant, Rupert Spira, and https://www.youtube.com/channel/UCUX1V5UNWP1RUkhLewe77ZQ (cured women objectification for me; wholesome content) although mostly I avoid the website. Easy to loose track of time.
Avoid smoking, alcohol, recreational drug use (https://www.elitedaily.com/wellness/drugs-alcohol-aura-damage/1743959, http://sshc.in/?p=1123 ), casual sex (https://mywakingpath.wordpress.com/tag/aura/; sensitive images but useful), and fast food. Budget your money, and learn how to save as much as possible.
Hope everyone reading this post experiences their definition of success and leads a purposeful life. Will end it by stating two quotes that have inspired and guided me:
“You yourself have to change first, or nothing will change for you!”
― Hideaki Sorachi
“It is not important to be better than someone else, but to be better than you were yesterday.”
― Jigoro Kano (Founder of Judo)

Update 1: Made the instructions regarding super-sped affirmations more clearer.
Update 2: Added the audio file as well to the affirmations link since someone requested it
Update 3: https://starseedsunited.com/negative-entities-and-psychic-attacks (basic article on entities)
Some solutions are posted above. Updated* daily routine:
  1. https://www.reddit.com/kundalini/comments/1xyp5k/a_simple_and_universal_white_light_protection/ (basic psychic self-defence)
  2. https://www.youtube.com/watch?v=8Kt9s5tY1YE (at least once everyday; cures sexual dreams and flushes all entities)
  3. https://www.youtube.com/watch?v=yLeubTQv65Q (best shielding subliminal so far; general protection. Listen at least once everyday)
Note: Will continuously update this post based on further clarification.
submitted by RisingSun7799 to pureretention [link] [comments]

AJ ALMENDINGER

glimpse into the future of Roblox

Our vision to bring the world together through play has never been more relevant than it is now. As our founder and CEO, David Baszucki (a.k.a. Builderman), mentioned in his keynote, more and more people are using Roblox to stay connected with their friends and loved ones. He hinted at a future where, with our automatic machine translation technology, Roblox will one day act as a universal translator, enabling people from different cultures and backgrounds to connect and learn from each other.
During his keynote, Builderman also elaborated upon our vision to build the Metaverse; the future of avatar creation on the platform (infinitely customizable avatars that allow any body, any clothing, and any animation to come together seamlessly); more personalized game discovery; and simulating large social gatherings (like concerts, graduations, conferences, etc.) with tens of thousands of participants all in one server. We’re still very early on in this journey, but if these past five months have shown us anything, it’s clear that there is a growing need for human co-experience platforms like Roblox that allow people to play, create, learn, work, and share experiences together in a safe, civil 3D immersive space.
Up next, our VP of Developer Relations, Matt Curtis (a.k.a. m4rrh3w), shared an update on all the things we’re doing to continue empowering developers to create innovative and exciting content through collaboration, support, and expertise. He also highlighted some of the impressive milestones our creator community has achieved since last year’s RDC. Here are a few key takeaways:
And lastly, our VP of Engineering, Technology, Adam Miller (a.k.a. rbadam), unveiled a myriad of cool and upcoming features developers will someday be able to sink their teeth into. We saw a glimpse of procedural skies, skinned meshes, more high-quality materials, new terrain types, more fonts in Studio, a new asset type for in-game videos, haptic feedback on mobile, real-time CSG operations, and many more awesome tools that will unlock the potential for even bigger, more immersive experiences on Roblox.

Vibin’

Despite the virtual setting, RDC just wouldn’t have been the same without any fun party activities and networking opportunities. So, we invited special guests DJ Hyper Potions and cyber mentalist Colin Cloud for some truly awesome, truly mind-bending entertainment. Yoga instructor Erin Gilmore also swung by to inspire attendees to get out of their chair and get their body moving. And of course, we even had virtual rooms dedicated to karaoke and head-to-head social games, like trivia and Pictionary.
Over on the networking side, Team Adopt Me, Red Manta, StyLiS Studios, and Summit Studios hosted a virtual booth for attendees to ask questions, submit resumes, and more. We also had a networking session where three participants would be randomly grouped together to get to know each other.

What does Roblox mean to you?

We all know how talented the Roblox community is from your creations. We’ve heard plenty of stories over the years about how Roblox has touched your lives, how you’ve made friendships, learned new skills, or simply found a place where you can be yourself. We wanted to hear more. So, we asked attendees: What does Roblox mean to you? How has Roblox connected you? How has Roblox changed your life? Then, over the course of RDC, we incorporated your responses into this awesome mural.
📷
Created by Alece Birnbach at Graphic Recording Studio

Knowledge is power

This year’s breakout sessions included presentations from Roblox developers and staff members on the latest game development strategies, a deep dive into the Roblox engine, learning how to animate with Blender, tools for working together in teams, building performant game worlds, and the new Creator Dashboard. Dr. Michael Rich, Associate Professor at Harvard Medical School and Physician at Boston Children’s Hospital, also led attendees through a discussion on mental health and how to best take care of you and your friends’ emotional well-being, especially now during these challenging times.
📷
Making the Dream Work with Teamwork (presented by Roblox developer Myzta)
In addition to our traditional Q&A panel with top product and engineering leaders at Roblox, we also held a special session with Builderman himself to answer the community’s biggest questions.
📷
Roblox Product and Engineering Q&A Panel

2020 Game Jam

The Game Jam is always one of our favorite events of RDC. It’s a chance for folks to come together, flex their development skills, and come up with wildly inventive game ideas that really push the boundaries of what’s possible on Roblox. We had over 60 submissions this year—a new RDC record.
Once again, teams of up to six people from around the world had less than 24 hours to conceptualize, design, and publish a game based on the theme “2020 Vision,” all while working remotely no less! To achieve such a feat is nothing short of awe-inspiring, but as always, our dev community was more than up for the challenge. I’ve got to say, these were some of the finest creations we’ve seen.
WINNERS
Best in Show: Shapescape Created By: GhettoMilkMan, dayzeedog, maplestick, theloudscream, Brick_man, ilyannna You awaken in a strange laboratory, seemingly with no way out. Using a pair of special glasses, players must solve a series of anamorphic puzzles and optical illusions to make their escape.
Excellence in Visual Art: agn●sia Created By: boatbomber, thisfall, Elttob An obby experience unlike any other, this game is all about seeing the world through a different lens. Reveal platforms by switching between different colored lenses and make your way to the end.
Most Creative Gameplay: Visions of a perspective reality Created By: Noble_Draconian and Spathi Sometimes all it takes is a change in perspective to solve challenges. By switching between 2D and 3D perspectives, players can maneuver around obstacles or find new ways to reach the end of each level.
Outstanding Use of Tech: The Eyes of Providence Created By: Quenty, Arch_Mage, AlgyLacey, xJennyBeanx, Zomebody, Crykee This action/strategy game comes with a unique VR twist. While teams fight to construct the superior monument, two VR players can support their minions by collecting resources and manipulating the map.
Best Use of Theme: Sticker Situation Created By: dragonfrosting and Yozoh Set in a mysterious art gallery, players must solve puzzles by manipulating the environment using a magic camera and stickers. Snap a photograph, place down a sticker, and see how it changes the world.
OTHER TOP PICKS
HONORABLE MENTIONS
For the rest of the 2020 Game Jam submissions, check out the list below:
20-20 Vision | 20/20 Vision | 2020 Vision, A Crazy Perspective | 2020 Vision: Nyon | A Wild Trip! | Acuity | Best Year Ever | Better Half | Bloxlabs | Climb Stairs to 2021 | Double Vision (Team hey apple) | Eyebrawl | Eyeworm Exam | FIRE 2020 | HACKED | Hyperspective | Lucid Scream | Mystery Mansion | New Years at the Museum | New Year’s Bash | Poor Vision | Predict 2020 | RBC News | Retrovertigo | Second Wave | see no evil | Sight Fight | Sight Stealers | Spectacles Struggle | Specter Spectrum | Survive 2020 | The Lost Chicken Leg | The Outbreak | The Spyglass | Time Heist | Tunnel Vision | Virtual RDC – The Story | Vision (Team Freepunk) | Vision (Team VIP People ####) | Vision Developers Conference 2020 | Vision Is Key | Vision Perspective | Vision Racer | Visions | Zepto
And last but not least, we wanted to give a special shout out to Starboard Studios. Though they didn’t quite make it on time for our judges, we just had to include Dave’s Vision for good measure. 📷
Thanks to everyone who participated in the Game Jam, and congrats to all those who took home the dub in each of our categories this year. As the winners of Best in Show, the developers of Shapescape will have their names forever engraved on the RDC Game Jam trophy back at Roblox HQ. Great work!

‘Til next year

And that about wraps up our coverage of the first-ever digital RDC. Thanks to all who attended! Before we go, we wanted to share a special “behind the scenes” video from the 2020 RDC photoshoot.
Check it out:
It was absolutely bonkers. Getting 350 of us all in one server was so much fun and really brought back the feeling of being together with everyone again. That being said, we can’t wait to see you all—for real this time—at RDC next year. It’s going to be well worth the wait. ‘Til we meet again, my friends.
© 2020 Roblox Corporation. All Rights Reserved.

Improving Simulation and Performance with an Advanced Physics Solver

August

05, 2020

by chefdeletat
PRODUCT & TECH
📷In mid-2015, Roblox unveiled a major upgrade to its physics engine: the Projected Gauss-Seidel (PGS) physics solver. For the first year, the new solver was optional and provided improved fidelity and greater performance compared to the previously used spring solver.
In 2016, we added support for a diverse set of new physics constraints, incentivizing developers to migrate to the new solver and extending the creative capabilities of the physics engine. Any new places used the PGS solver by default, with the option of reverting back to the classic solver.
We ironed out some stability issues associated with high mass differences and complex mechanisms by the introduction of the hybrid LDL-PGS solver in mid-2018. This made the old solver obsolete, and it was completely disabled in 2019, automatically migrating all places to the PGS.
In 2019, the performance was further improved using multi-threading that splits the simulation into jobs consisting of connected islands of simulating parts. We still had performance issues related to the LDL that we finally resolved in early 2020.
The physics engine is still being improved and optimized for performance, and we plan on adding new features for the foreseeable future.

Implementing the Laws of Physics

📷
The main objective of a physics engine is to simulate the motion of bodies in a virtual environment. In our physics engine, we care about bodies that are rigid, that collide and have constraints with each other.
A physics engine is organized into two phases: collision detection and solving. Collision detection finds intersections between geometries associated with the rigid bodies, generating appropriate collision information such as collision points, normals and penetration depths. Then a solver updates the motion of rigid bodies under the influence of the collisions that were detected and constraints that were provided by the user.
📷
The motion is the result of the solver interpreting the laws of physics, such as conservation of energy and momentum. But doing this 100% accurately is prohibitively expensive, and the trick to simulating it in real-time is to approximate to increase performance, as long as the result is physically realistic. As long as the basic laws of motion are maintained within a reasonable tolerance, this tradeoff is completely acceptable for a computer game simulation.

Taking Small Steps

The main idea of the physics engine is to discretize the motion using time-stepping. The equations of motion of constrained and unconstrained rigid bodies are very difficult to integrate directly and accurately. The discretization subdivides the motion into small time increments, where the equations are simplified and linearized making it possible to solve them approximately. This means that during each time step the motion of the relevant parts of rigid bodies that are involved in a constraint is linearly approximated.
📷📷
Although a linearized problem is easier to solve, it produces drift in a simulation containing non-linear behaviors, like rotational motion. Later we’ll see mitigation methods that help reduce the drift and make the simulation more plausible.

Solving

📷
Having linearized the equations of motion for a time step, we end up needing to solve a linear system or linear complementarity problem (LCP). These systems can be arbitrarily large and can still be quite expensive to solve exactly. Again the trick is to find an approximate solution using a faster method. A modern method to approximately solve an LCP with good convergence properties is the Projected Gauss-Seidel (PGS). It is an iterative method, meaning that with each iteration the approximate solution is brought closer to the true solution, and its final accuracy depends on the number of iterations.
📷
This animation shows how a PGS solver changes the positions of the bodies at each step of the iteration process, the objective being to find the positions that respect the ball and socket constraints while preserving the center of mass at each step (this is a type of positional solver used by the IK dragger). Although this example has a simple analytical solution, it’s a good demonstration of the idea behind the PGS. At each step, the solver fixes one of the constraints and lets the other be violated. After a few iterations, the bodies are very close to their correct positions. A characteristic of this method is how some rigid bodies seem to vibrate around their final position, especially when coupling interactions with heavier bodies. If we don’t do enough iterations, the yellow part might be left in a visibly invalid state where one of its two constraints is dramatically violated. This is called the high mass ratio problem, and it has been the bane of physics engines as it causes instabilities and explosions. If we do too many iterations, the solver becomes too slow, if we don’t it becomes unstable. Balancing the two sides has been a painful and long process.

Mitigation Strategies

📷A solver has two major sources of inaccuracies: time-stepping and iterative solving (there is also floating point drift but it’s minor compared to the first two). These inaccuracies introduce errors in the simulation causing it to drift from the correct path. Some of this drift is tolerable like slightly different velocities or energy loss, but some are not like instabilities, large energy gains or dislocated constraints.
Therefore a lot of the complexity in the solver comes from the implementation of methods to minimize the impact of computational inaccuracies. Our final implementation uses some traditional and some novel mitigation strategies:
  1. Warm starting: starting with the solution from a previous time-step to increase the convergence rate of the iterative solver
  2. Post-stabilization: reprojecting the system back to the constraint manifold to prevent constraint drift
  3. Regularization: adding compliance to the constraints ensuring a solution exists and is unique
  4. Pre-conditioning: using an exact solution to a linear subsystem, improving the stability of complex mechanisms
Strategies 1, 2 and 3 are pretty traditional, but 3 has been improved and perfected by us. Also, although 4 is not unheard of, we haven’t seen any practical implementation of it. We use an original factorization method for large sparse constraint matrices and a new efficient way of combining it with the PGS. The resulting implementation is only slightly slower compared to pure PGS but ensures that the linear system coming from equality constraints is solved exactly. Consequently, the equality constraints suffer only from drift coming from the time discretization. Details on our methods are contained in my GDC 2020 presentation. Currently, we are investigating direct methods applied to inequality constraints and collisions.

Getting More Details

Traditionally there are two mathematical models for articulated mechanisms: there are reduced coordinate methods spearheaded by Featherstone, that parametrize the degrees of freedom at each joint, and there are full coordinate methods that use a Lagrangian formulation.
We use the second formulation as it is less restrictive and requires much simpler mathematics and implementation.
The Roblox engine uses analytical methods to compute the dynamic response of constraints, as opposed to penalty methods that were used before. Analytics methods were initially introduced in Baraff 1989, where they are used to treat both equality and non-equality constraints in a consistent manner. Baraff observed that the contact model can be formulated using quadratic programming, and he provided a heuristic solution method (which is not the method we use in our solver).
Instead of using force-based formulation, we use an impulse-based formulation in velocity space, originally introduced by Mirtich-Canny 1995 and further improved by Stewart-Trinkle 1996, which unifies the treatment of different contact types and guarantees the existence of a solution for contacts with friction. At each timestep, the constraints and collisions are maintained by applying instantaneous changes in velocities due to constraint impulses. An excellent explanation of why impulse-based simulation is superior is contained in the GDC presentation of Catto 2014.
The frictionless contacts are modeled using a linear complementarity problem (LCP) as described in Baraff 1994. Friction is added as a non-linear projection onto the friction cone, interleaved with the iterations of the Projected Gauss-Seidel.
The numerical drift that introduces positional errors in the constraints is resolved using a post-stabilization technique using pseudo-velocities introduced by Cline-Pai 2003. It involves solving a second LCP in the position space, which projects the system back to the constraint manifold.
The LCPs are solved using a PGS / Impulse Solver popularized by Catto 2005 (also see Catto 2009). This method is iterative and considers each individual constraints in sequence and resolves it independently. Over many iterations, and in ideal conditions, the system converges to a global solution.
Additionally, high mass ratio issues in equality constraints are ironed out by preconditioning the PGS using the sparse LDL decomposition of the constraint matrix of equality constraints. Dense submatrices of the constraint matrix are sparsified using a method we call Body Splitting. This is similar to the LDL decomposition used in Baraff 1996, but allows more general mechanical systems, and solves the system in constraint space. For more information, you can see my GDC 2020 presentation.
The architecture of our solver follows the idea of Guendelman-Bridson-Fedkiw, where the velocity and position stepping are separated by the constraint resolution. Our time sequencing is:
  1. Advance velocities
  2. Constraint resolution in velocity space and position space
  3. Advance positions
This scheme has the advantage of integrating only valid velocities, and limiting latency in external force application but allowing a small amount of perceived constraint violation due to numerical drift.
An excellent reference for rigid body simulation is the book Erleben 2005 that was recently made freely available. You can find online lectures about physics-based animation, a blog by Nilson Souto on building a physics engine, a very good GDC presentation by Erin Catto on modern solver methods, and forums like the Bullet Physics Forum and GameDev which are excellent places to ask questions.

In Conclusion

The field of game physics simulation presents many interesting problems that are both exciting and challenging. There are opportunities to learn a substantial amount of cool mathematics and physics and to use modern optimizations techniques. It’s an area of game development that tightly marries mathematics, physics and software engineering.
Even if Roblox has a good rigid body physics engine, there are areas where it can be improved and optimized. Also, we are working on exciting new projects like fracturing, deformation, softbody, cloth, aerodynamics and water simulation.
Neither Roblox Corporation nor this blog endorses or supports any company or service. Also, no guarantees or promises are made regarding the accuracy, reliability or completeness of the information contained in this blog.
This blog post was originally published on the Roblox Tech Blog.
© 2020 Roblox Corporation. All Rights Reserved.

Using Clang to Minimize Global Variable Use

July

23, 2020

by RandomTruffle
PRODUCT & TECH
Every non-trivial program has at least some amount of global state, but too much can be a bad thing. In C++ (which constitutes close to 100% of Roblox’s engine code) this global state is initialized before main() and destroyed after returning from main(), and this happens in a mostly non-deterministic order. In addition to leading to confusing startup and shutdown semantics that are difficult to reason about (or change), it can also lead to severe instability.
Roblox code also creates a lot of long-running detached threads (threads which are never joined and just run until they decide to stop, which might be never). These two things together have a very serious negative interaction on shutdown, because long-running threads continue accessing the global state that is being destroyed. This can lead to elevated crash rates, test suite flakiness, and just general instability.
The first step to digging yourself out of a mess like this is to understand the extent of the problem, so in this post I’m going to talk about one technique you can use to gain visibility into your global startup flow. I’m also going to discuss how we are using this to improve stability across the entire Roblox game engine platform by decreasing our use of global variables.

Introducing -finstrument-functions

Nothing excites me more than learning about a new obscure compiler option that I’ve never had a use for before, so I was pretty happy when a colleague pointed me to this option in the Clang Command Line Reference. I’d never used it before, but it sounded very cool. The idea being that if we could get the compiler to tell us every time it entered and exited a function, we could filter this information through a symbolizer of some kind and generate a report of functions that a) occur before main(), and b) are the very first function in the call-stack (indicating it’s a global).
Unfortunately, the documentation basically just tells you that the option exists with no mention of how to use it or if it even actually does what it sounds like it does. There’s also two different options that sound similar to each other (-finstrument-functions and -finstrument-functions-after-inlining), and I still wasn’t entirely sure what the difference was. So I decided to throw up a quick sample on godbolt to see what happened, which you can see here. Note there are two assembly outputs for the same source listing. One uses the first option and the other uses the second option, and we can compare the assembly output to understand the differences. We can gather a few takeaways from this sample:
  1. The compiler is injecting calls to __cyg_profile_func_enter and __cyg_profile_func_exit inside of every function, inline or not.
  2. The only difference between the two options occurs at the call-site of an inline function.
  3. With -finstrument-functions, the instrumentation for the inlined function is inserted at the call-site, whereas with -finstrument-functions-after-inlining we only have instrumentation for the outer function. This means that when using-finstrument-functions-after-inlining you won’t be able to determine which functions are inlined and where.
Of course, this sounds exactly like what the documentation said it did, but sometimes you just need to look under the hood to convince yourself.
To put all of this another way, if we want to know about calls to inline functions in this trace we need to use -finstrument-functions because otherwise their instrumentation is silently removed by the compiler. Sadly, I was never able to get -finstrument-functions to work on a real example. I would always end up with linker errors deep in the Standard C++ Library which I was unable to figure out. My best guess is that inlining is often a heuristic, and this can somehow lead to subtle ODR (one-definition rule) violations when the optimizer makes different inlining decisions from different translation units. Luckily global constructors (which is what we care about) cannot possibly be inlined anyway, so this wasn’t a problem.
I suppose I should also mention that I still got tons of linker errors with -finstrument-functions-after-inlining as well, but I did figure those out. As best as I can tell, this option seems to imply –whole-archive linker semantics. Discussion of –whole-archive is outside the scope of this blog post, but suffice it to say that I fixed it by using linker groups (e.g. -Wl,–start-group and -Wl,–end-group) on the compiler command line. I was a bit surprised that we didn’t get these same linker errors without this option and still don’t totally understand why. If you happen to know why this option would change linker semantics, please let me know in the comments!

Implementing the Callback Hooks

If you’re astute, you may be wondering what in the world __cyg_profile_func_enter and __cyg_profile_func_exit are and why the program is even successfully linking in the first without giving undefined symbol reference errors, since the compiler is apparently trying to call some function we’ve never defined. Luckily, there are some options that allow us to see inside the linker’s algorithm so we can find out where it’s getting this symbol from to begin with. Specifically, -y should tell us how the linker is resolving . We’ll try it with a dummy program first and a symbol that we’ve defined ourselves, then we’ll try it with __cyg_profile_func_enter .
[email protected]:~/src/sandbox$ cat instr.cpp int main() {} [email protected]:~/src/sandbox$ clang++-9 -fuse-ld=lld -Wl,-y -Wl,main instr.cpp /usbin/../lib/gcc/x86_64-linux-gnu/crt1.o: reference to main /tmp/instr-5b6c60.o: definition of main
No surprises here. The C Runtime Library references main(), and our object file defines it. Now let’s see what happens with __cyg_profile_func_enter and -finstrument-functions-after-inlining.
[email protected]:~/src/sandbox$ clang++-9 -fuse-ld=lld -finstrument-functions-after-inlining -Wl,-y -Wl,__cyg_profile_func_enter instr.cpp /tmp/instr-8157b3.o: reference to __cyg_profile_func_enter /lib/x86_64-linux-gnu/libc.so.6: shared definition of __cyg_profile_func_enter
Now, we see that libc provides the definition, and our object file references it. Linking works a bit differently on Unix-y platforms than it does on Windows, but basically this means that if we define this function ourselves in our cpp file, the linker will just automatically prefer it over the shared library version. Working godbolt link without runtime output is here. So now you can kind of see where this is going, however there are still a couple of problems left to solve.
  1. We don’t want to do this for a full run of the program. We want to stop as soon as we reach main.
  2. We need a way to symbolize this trace.
The first problem is easy to solve. All we need to do is compare the address of the function being called to the address of main, and set a flag indicating we should stop tracing henceforth. (Note that taking the address of main is undefined behavior[1], but for our purposes it gets the job done, and we aren’t shipping this code, so ¯\_(ツ)_/¯). The second problem probably deserves a little more discussion though.

Symbolizing the Traces

In order to symbolize these traces, we need two things. First, we need to store the trace somewhere on persistent storage. We can’t expect to symbolize in real time with any kind of reasonable performance. You can write some C code to save the trace to some magic filename, or you can do what I did and just write it to stderr (this way you can pipe stderr to some file when you run it).
Second, and perhaps more importantly, for every address we need to write out the full path to the module the address belongs to. Your program loads many shared libraries, and in order to translate an address into a symbol, we have to know which shared library or executable the address actually belongs to. In addition, we have to be careful to write out the address of the symbol in the file on disk. When your program is running, the operating system could have loaded it anywhere in memory. And if we’re going to symbolize it after the fact we need to make sure we can still reference it after the information about where it was loaded in memory is lost. The linux function dladdr() gives us both pieces of information we need. A working godbolt sample with the exact implementation of our instrumentation hooks as they appear in our codebase can be found here.

Putting it All Together

Now that we have a file in this format saved on disk, all we need to do is symbolize the addresses. addr2line is one option, but I went with llvm-symbolizer as I find it more robust. I wrote a Python script to parse the file and symbolize each address, then print it in the same “visual” hierarchical format that the original output file is in. There are various options for filtering the resulting symbol list so that you can clean up the output to include only things that are interesting for your case. For example, I filtered out any globals that have boost:: in their name, because I can’t exactly go rewrite boost to not use global variables.
The script isn’t as simple as you would think, because simply crawling each line and symbolizing it would be unacceptably slow (when I tried this, it took over 2 hours before I finally killed the process). This is because the same address might appear thousands of times, and there’s no reason to run llvm-symbolizer against the same address multiple times. So there’s a lot of smarts in there to pre-process the address list and eliminate duplicates. I won’t discuss the implementation in more detail because it isn’t super interesting. But I’ll do even better and provide the source!
So after all of this, we can run any one of our internal targets to get the call tree, run it through the script, and then get output like this (actual output from a Roblox process, source file information removed):
excluded_symbols = [‘.\boost.*’]* excluded_modules = [‘/usr.\’]* /uslib/x86_64-linux-gnu/libLLVM-9.so.1: 140 unique addresses InterestingRobloxProcess: 38928 unique addresses /uslib/x86_64-linux-gnu/libstdc++.so.6: 1 unique addresses /uslib/x86_64-linux-gnu/libc++.so.1: 3 unique addresses Printing call tree with depth 2 for 29276 global variables. __cxx_global_var_init.5 (InterestingFile1.cpp:418:22) RBX::InterestingRobloxClass2::InterestingRobloxClass2() (InterestingFile2.cpp.:415:0) __cxx_global_var_init.19 (InterestingFile2.cpp:183:34) (anonymous namespace)::InterestingRobloxClass2::InterestingRobloxClass2() (InterestingFile2.cpp:171:0) __cxx_global_var_init.274 (InterestingFile3.cpp:2364:33) RBX::InterestingRobloxClass3::InterestingRobloxClass3()
So there you have it: the first half of the battle is over. I can run this script on every platform, compare results to understand what order our globals are actually initialized in in practice, then slowly migrate this code out of global initializers and into main where it can be deterministic and explicit.

Future Work

It occurred to me sometime after implementing this that we could make a general purpose profiling hook that exposed some public symbols (dllexport’ed if you speak Windows), and allowed a plugin module to hook into this dynamically. This plugin module could filter addresses using whatever arbitrary logic that it was interested in. One interesting use case I came up for this is that it could look up the debug information, check if the current address maps to the constructor of a function local static, and write out the address if so. This effectively allows us to gain a deeper understanding of the order in which our lazy statics are initialized. The possibilities are endless here.

Further Reading

If you’re interested in this kind of thing, I’ve collected a couple of my favorite references for this kind of topic.
  1. Various: The C++ Language Standard
  2. Matt Godbolt: The Bits Between the Bits: How We Get to main()
  3. Ryan O’Neill: Learning Linux Binary Analysis
  4. Linkers and Loaders: John R. Levine
  5. https://eel.is/c++draft/basic.exec#basic.start.main-3
Neither Roblox Corporation nor this blog endorses or supports any company or service. Also, no guarantees or promises are made regarding the accuracy, reliability or completeness of the information contained in this blog.
submitted by jaydenweez to u/jaydenweez [link] [comments]

Binary Options book pdf for Dummies - YouTube Binary Options book pdf Fundamentals Explained - YouTube What Does Binary Options book pdf Do? - YouTube Some Known Details About Binary Options book pdf - YouTube All about Binary Options book pdf - YouTube binary options trading books pdf - fast money 15 min 52 ... All about Binary Options book pdf - YouTube

Binary options trading books pdf. The authors in this book are leading experts in trading Stocks, Options, Futures, Forex and Nadex. technology side makes option trading easier, more accurate, and increases your chance for sustained success. Binary trading option is a. Today, thanks to Binary.com, it’s possible for anyone to trade currencies – even with a small amount of money – and all ... Binary Options Trading This e-book was created by traders and for traders with the aim of equipping traders with the right skills of earning big returns from trading Binary Options online. With the help of this comprehensive and easy-to-follow e-book, you will soon be equipped with enough knowledge to start a fulfilling career in trading Binary Options. 1 www.traders-education.com. Contents ... Binary Options Conclusion Other Books By Todd Williams: SPECIAL BONUS The Online Trading Addiction Cure Introduction Online Trading VS Gambling How Online Trading Works Types of Online Trading . Online Trading to Gambling Why Does Online Trading Feel So Good? Reasons Why Online Trading is Addicting The Passionate Trader versus the Trading Addict At What Point Does Online Trading Become ... Binary Options books. We list the best books for binary traders, and explain who each book will appeal too. Suggested reading for all levels of binary trader. But when it comes to binary options trading, none of these pieces of technology will ever replace the good old way of studying by picking up a binary options book to read. Many of the trading topics covered by these books are still relevant today. Reading and studying binary options books is one way to enhance your knowledge of the markets. Traders who have actually studied the market ... To any beginner, trading binary options, be it the process of opening an account or placing an order, would look quite simple. On the contrary, any experienced binary options trader would vouch for the fact that trading binary options is as complex (if not more) as trading vanilla options. There cannot be any ifs or buts in the strategy employed thereby making it quite difficult to achieve ... This trading binary options for dummies PDF features the in and outs of BO as well as strategies needed to achieve success in trading binaries. Here are some of the topics you'll discover while reading the book: The single most critical factor to binary options strategy success - ignore it at your own perils. How to prevent falling prey to a dishonest broker. Simple, easy to copy ideas that ...

[index] [1441] [21426] [19360] [19349] [6736] [1978] [26636] [27499] [26612] [11031]

Binary Options book pdf for Dummies - YouTube

Straight From The Source: https://bit.ly/2Eo5piR - What Does Binary Options book pdf Do? IQ Alternative contact Trading Robots 2020 01 17. 9150 0. It is made... Read More Here: https://bit.ly/3aasMYx - Some Known Details About Binary Options book pdf Look at a scenario where you do not use a trading strategy. In the ... Breaking News: https://bit.ly/3irXPC8 - All about Binary Options book pdf And the ending point of your 50-candle low that you have actually determined. Just ... Resource Link: https://bit.ly/3b518g6 - Binary Options book pdf Fundamentals Explained Montfort Kay Ellen Gilbertson, age 70, died peacefully on Saturday Mar... 📚 bo turbo trader price action guide for binary options trader pdf... The full e-book is 64 pages long with at least 20 videos practically showing you how to... Click The Following Link: https://bit.ly/2PvgxfC - Binary Options book pdf for Dummies See These Helpful Hints: https://bit.ly/3icHjFH - Binary Options book ... Look For More Info: https://bit.ly/3iv6X93 - All about Binary Options book pdf 26 Pages 2013 1.06 MB 10,676 Downloads English" Don't be pleased with stories,...

https://binaryoptiontrade.comderofthetech.cf