Binary Options Brokers

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]

[TUTORIAL] How to use Multi-Monitors with Hybrid Graphics Card Intel-Nvidia in notebooks (tried with: Asus Rog Strix G531-GT) - DEBIAN BUSTER

Hello guys! I`m going to do this tutorial because i tried to use multi-monitor in my laptop for a long time and that was a big problem for my case.
This tutorial is for people who have a hybrid graphics card and bumblebee in debian.
My case:
- Rog Strix G531-GT (notebook)
- Intel® UHD Graphics 630
- GTX 1650

So, to it work, first you need to install all the NVIDIA drivers and get it working with the optirun command.
In my case i tried stable nvidia drivers which was Version 418.152, but it have some bugs after install when i tried to configure the xorg.conf file, which when start says something about missing device "mouse0". I reinstall all the debian and tried to use the backports, which have the Version 440.100 (via buster-backports) of nvidia drivers, and it installed well.
#ONLY USE BACKPORTS OR ONLY USE STABLE, DO NOT USE BOTH!
FIRST, VERY IMPORTANT: You should check which driver is okay for you, maybe trying one, if that is good and u dont see "bugs" when trying to configure, use it... In my case 418.152 give me a lot of bugs... i tried 440.100 and it worked ok. If you are using backports, try to download everything at the BACKPORTS, and not the STABLE one! If u are using the STABLE one, continues using the STABLE
To do it, first add the backport repository to /etc/apt/sources.list, which actually is
deb http://deb.debian.org/debian buster-backports main contrib non-free
deb-src http://deb.debian.org/debian buster-backports main contrib non-free

After that, to install linux headers and nvidia-driver do:
- apt update
- apt install -t buster-backports linux-headers-amd64
- apt install -t buster-backports nvidia-driver


Reboot and after that u already have the nvidia-drivers installed, BUT not working because the system dont use the nvidia driver by default. Next step is installation of two packages: bumblebee-nvidia and primus. So now you need to install bumblebee:
- apt install -t buster-backports bumblebee-nvidia primus
- apt install -t buster-backports mesa-utils \you will need the) mesa-utils too for some commands
I didnt need permissions to use the bumblebee commands, but if you need, follow that Post-installation


You may need to blacklist the nouveau drivers, because we are using the nvidia proprietary drivers. To do it, run:
- $ sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
- $ sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
then run
- $ cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf
And the output should be like that:
blacklist nouveau
options nouveau modeset=0
The nouveau drivers are blacklisted successfully!


Now we have a lot of configurations to do.
The next thing to do is go to /etc/bumblebee/bumblebee.conf and open with nano.
add - Driver=nvidia
it should looks like:
# Configuration file for Bumblebee. Values should **not** be put between quotes ## Server options. Any change made in this section will need a server restart # to take effect. [bumblebeed] # The secondary Xorg server DISPLAY number VirtualDisplay=:8 # Should the unused Xorg server be kept running? Set this to true if waiting # for X to be ready is too long and don't need power management at all. KeepUnusedXServer=false # The name of the Bumbleblee server group name (GID name) ServerGroup=bumblebee # Card power state at exit. Set to false if the card shoud be ON when Bumblebee # server exits. TurnCardOffAtExit=false # The default behavior of '-f' option on optirun. If set to "true", '-f' will # be ignored. NoEcoModeOverride=false # The Driver used by Bumblebee server. If this value is not set (or empty), # auto-detection is performed. The available drivers are nvidia and nouveau # (See also the driver-specific sections below) Driver=nvidia # Directory with a dummy config file to pass as a -configdir to secondary X XorgConfDir=/etc/bumblebee/xorg.conf.d # Xorg binary to run XorgBinary=/uslib/xorg/Xorg ## Client options. Will take effect on the next optirun executed. [optirun] # Acceleration/ rendering bridge, possible values are auto, virtualgl and # primus. Bridge=auto # The method used for VirtualGL to transport frames between X servers. # Possible values are proxy, jpeg, rgb, xv and yuv. VGLTransport=proxy # List of paths which are searched for the primus libGL.so.1 when using # the primus bridge PrimusLibraryPath=/uslib/x86_64-linux-gnu/primus:/uslib/i386-linux-gnu/primus # Should the program run under optirun even if Bumblebee server or nvidia card # is not available? AllowFallbackToIGC=false # Driver-specific settings are grouped under [driver-NAME]. The sections are # parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto- # detection resolves to NAME). # PMMethod: method to use for saving power by disabling the nvidia card, valid # values are: auto - automatically detect which PM method to use # bbswitch - new in BB 3, recommended if available 

After that, go to /etc/bumblebee/xorg.conf.nouveau and open with nano.
add - BusID "", ex. BusID "PCI:00:02:0" in the Section "Device" \ to see the ID of your graphic cards, run in console: lspci | egrep 'VGA|3D')
it should looks like:
# Configuration file for Bumblebee. Values should **not** be put between quotes ## Server options. Any change made in this section will need a server restart # to take effect. [bumblebeed] # The secondary Xorg server DISPLAY number VirtualDisplay=:8 # Should the unused Xorg server be kept running? Set this to true if waiting # for X to be ready is too long and don't need power management at all. KeepUnusedXServer=false # The name of the Bumbleblee server group name (GID name) ServerGroup=bumblebee # Card power state at exit. Set to false if the card shoud be ON when Bumblebee # server exits. TurnCardOffAtExit=false # The default behavior of '-f' option on optirun. If set to "true", '-f' will # be ignored. NoEcoModeOverride=false # The Driver used by Bumblebee server. If this value is not set (or empty), # auto-detection is performed. The available drivers are nvidia and nouveau # (See also the driver-specific sections below) Driver=nvidia # Directory with a dummy config file to pass as a -configdir to secondary X XorgConfDir=/etc/bumblebee/xorg.conf.d # Xorg binary to run XorgBinary=/uslib/xorg/Xorg ## Client options. Will take effect on the next optirun executed. [optirun] # Acceleration/ rendering bridge, possible values are auto, virtualgl and # primus. Bridge=auto # The method used for VirtualGL to transport frames between X servers. # Possible values are proxy, jpeg, rgb, xv and yuv. VGLTransport=proxy # List of paths which are searched for the primus libGL.so.1 when using # the primus bridge PrimusLibraryPath=/uslib/x86_64-linux-gnu/primus:/uslib/i386-linux-gnu/primus # Should the program run under optirun even if Bumblebee server or nvidia card # is not available? AllowFallbackToIGC=false # Driver-specific settings are grouped under [driver-NAME]. The sections are # parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto- # detection resolves to NAME). # PMMethod: method to use for saving power by disabling the nvidia card, valid # values are: auto - automatically detect which PM method to use # bbswitch - new in BB 3, recommended if available # switcheroo - vga_switcheroo method, use at your own risk # none - disable PM completely # https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods ## Section with nvidia driver specific options, only parsed if Driver=nvidia [driver-nvidia] # Module name to load, defaults to Driver if empty or unset KernelDriver=nvidia PMMethod=auto # colon-separated path to the nvidia libraries LibraryPath=/uslib/x86_64-linux-gnu/nvidia:/uslib/i386-linux-gnu/nvidia:/uslib/x86_64-linux-gnu:/uslib/i386-linux-gnu # comma-separated path of the directory containing nvidia_drv.so and the # default Xorg modules path XorgModulePath=/uslib/nvidia,/uslib/xorg/modules XorgConfFile=/etc/bumblebee/xorg.conf.nvidia # If set to true, will always unload the kernel module(s) even with # PMMethod=none - useful for newer Optimus models on which the kernel power # management works out of the box to power the card on/off without bbswitch. AlwaysUnloadKernelDriver=false ## Section with nouveau driver specific options, only parsed if Driver=nouveau [driver-nouveau] KernelDriver=nouveau PMMethod=auto XorgConfFile=/etc/bumblebee/xorg.conf.nouveau 

Do the same in /etc/bumblebee/xorg.conf.nvidia, and put the ID of the Discrete Nvidia Card.
add - BusID ""
add - Option "AllowEmptyInitialConfiguration" "true"
and at the END of the file, add
Section "Screen" Identifier "Screen0" Device "DiscreteNVidia" EndSection 
it should look like:
Section "ServerLayout" Identifier "Layout0" Option "AutoAddDevices" "true" Option "AutoAddGPU" "false" EndSection Section "Device" Identifier "DiscreteNvidia" Driver "nvidia" VendorName "NVIDIA Corporation" # If the X server does not automatically detect your VGA device, # you can manually set it here. # To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data # as you see in the commented example. # This Setting may be needed in some platforms with more than one # nvidia card, which may confuse the proprietary driver (e.g., # trying to take ownership of the wrong device). Also needed on Ubuntu 13.04. BusID "PCI:01:00:0" # Setting ProbeAllGpus to false prevents the new proprietary driver # instance spawned to try to control the integrated graphics card, # which is already being managed outside bumblebee. # This option doesn't hurt and it is required on platforms running # more than one nvidia graphics card with the proprietary driver. # (E.g. Macbook Pro pre-2010 with nVidia 9400M + 9600M GT). # If this option is not set, the new Xorg may blacken the screen and # render it unusable (unless you have some way to run killall Xorg). Option "ProbeAllGpus" "false" Option "AllowEmptyInitialConfiguration" "true" Option "NoLogo" "true" Option "UseEDID" "true" # Option "UseDisplayDevice" "none" EndSection Section "Screen" Identifier "Screen0" Device "DiscreteNVidia" EndSection 
REBOOT NOW, IS IMPORTANT!!


At this point, the TEST for bumblebee should be working!
Test
Install mesa-demos and use glxgears to test if if Bumblebee works with your Optimus system:
$ optirun glxgears -info
If it fails, try the following commands:
64 bit system:
$ optirun glxspheres64
32 bit system:
$ optirun glxspheres32
If the window with animation shows up, Optimus with Bumblebee is working.
Note: If glxgears failed, but glxspheresXX worked, always replace "glxgears" with "glxspheresXX" in all cases.
If the bumblebee still not working, you should look why isnt it working. You can ask me maybe i can help with some information! I tried a lot of things and maybe i can help.
now finally, you can run anything with the optirun command, like: optirun virtualbox... or optirun (a game) and it will work with you graphic card.
But still, when you connect a monitor at the HDMI output, the monitor will not work...
For that, finnaly, we can do that:
To use multi monitors, we need to see this section, which is what happen to me: Output wired to the NVIDIA chip
At this point, you may need to configure the /etc/X11/xorg.conf.d/20-intel.conf
and /etc/bumblebee/xorg.conf.nvidia, as it says in the tutorial. After that reboot your system and try again the command: optirun intel-virtual-output
It should finally works, if you have connected another monitor in HDMI output and try the command optirun intel-virtual-output, it will start in the monitor a continuation for the X session, which works pretty well!!

Well, that was hard to do for me, and i hope that information can help someone. If something is confusing or you cant do the second monitor work, just type in comments, i will try to help...

One important thing to do is: do not try to use xorg.conf file, just delete it and keep the linux to do it by itself. Every time which i tried to use the xorg.conf file it broke my gnome startup and i need to start debian in recovery mode and go to /etc/X11, and run rm -R xorg.conf (which delete the xorg file), or rename it to the linux do not read the informations there.
#TIPS: For a good use of that, you can go to debian keyboard configuration, and configure a new shortcut with the command optirun intel-virtual-output.
When you press ctrl+alt+y that will start the second monitor for you :D
https://preview.redd.it/3luethknnfj51.png?width=987&format=png&auto=webp&s=a7eaf1a4c029237fd9b25ca0194c99d84fcb83a5
so that is #learning_with_linux
thanks

https://preview.redd.it/8g753mxelfj51.jpg?width=4032&format=pjpg&auto=webp&s=1d24f618dcd3bb92a760a531112e5e3852e524d5
submitted by MrMineToons to debian [link] [comments]

Let me tell you about Doomwood 3: Legacy of Darkness

If you haven't played the saga, go play the saga before I, saga, make you play the saga. Also this thing is spoiler tagged so yeah.
If you're tired and want a summary, well sure, I liked it but it had some minor flaws with storytelling, as do most AE stories. Shined in another aspect though which is at the bottom, overall good.
If you're bored, well grab some popcorn and turn down your brightness. You might be here for a while. I'm gonna tell you about each separate part of the saga and give an opinion on it, along with maybe a rating of some sort? I dunno, I might be too tired for that part. Anyways....
Starting with the initial cutscene, fighting undead with Artix is no surprised, if the saga takes place in doomwood. This is also the first time he's decked out in his ArchPaladin armour while being here, and the song, A Fight of Light and Darkness playing in the background got me interested and even a little hyped for what might follow. Rookie mistake. You can see everything starts to dip as soon as we introduce an actual potty joke that serves to be the driving force between Artix and us just happening to split up temporarily. I have to give credit to the animator (hopefully Ghost) as the Swerve through the enemies option in the cutscene surprised me on how clean it looked. After not barrel rolling, we get to the outhouse, only to be confronted by a nameless chrono who sends us to some point in the future and dies. I'm fine with the chrono to the future part, but the outhouse and abruptly dying just seem so out of place; they made him nameless so he could literally be our Uber driver to the future and just disappear so we have no way back. Ignoring this, we meet Stellaria, a pink paladin who just happens to be in the random time and place we've teleported to. Yay, convenient. She asks for our help and being a hero we do all of her quests until we spy on who looks to be the boss of the release, Kalron. Props for making him actually look like a cool fusion of undead and technology that looks like it use lasers. Basically, instead of just mindlessly killing, we figure out what they're doing, Kalron drones a guy who's apparently more important than the chronomancer, and we fight him. Blue screen of death, and that's the end of the first part, with the revelation that Stellaria is Artix's daughter, and Kyger the kid we helped has been napped.
I will end up ranking this part as the worst, solely based on the setting and how exactly we got here, along with the fact that Kyger at the time just seemed to be dead weight which is weird when you think about how apparently important he is later. Fighting undead > Overused RPG character bathroom joke > Getting teleported into the future but we don't know when > Chrono just dies > Suddenly help a pink paladin fight a random army created through the fusion of Undead and Tech? That just SOUNDS messy before you even play it. However, the quests in the section themselves do make sense, especially Kyger's efforts to save his friends and things, so it's fine there. Just seems a little choppy. Rewards are now great and there's a solid amount of things to farm so I won't spend too much on the set grinding aspect of this.
Onto the next part. I originally had this as the best part and I might change this, due to how the pacing felt nice, and it almost felt like a little larger than the average release would be, due to the inclusion of two maps and slightly long cutscenes combined with quests that follow the story and weren't tedious. However, the very first cutscene almost throws it away for me. Queenadent Odessa from what I've heard is an Easter egg from MQ, and she's accompanied by two guards of the force that slips my mind. Anyways, this cutscene is almost the definition of unnecessary, and just ends being disappointing. Odessa doesn't say she's gonna help, all she tells us is that there's a time machine, which I guess is useful info but we could've gotten that from somewhere else; the obvious info source we have relating to the undead techy guys. Leaves and never appears again and great we tell her our plans as well. Just a weird interaction. That aside, we have an awkward LOL moment with some random bioknight who wants the axe for his people, and we beat him up as per usual. Skip a bit and we're holding the axe, and speaking with Artix, which isn't too farfetched considering if he died, he'd just become a spirit orb that sticks with his own axe. AQW doesn't really do heartfelt conversations and tries to break up the tension with O_O Artix has multiple children jokes, but I still felt like this scene served its purpose. You know what I said about pacing earlier? Surprisingly this release is basically just halfway done now. Speeding through, we rescue kyger and fight against Kalron, who we vanquish, or at least clear his browser history and reboot his OS or something. More computer jokes yay. Everything here is fine, and it honestly felt like I had a lot to play through, which is why I'm putting it near the top, if not on top. Also did some decent teases (although they weren't that important) with the scrolling binary and the switch between English and Binary making me actually want to go translate them myself. It also sets up a plan for the next release, which follows well.
Heading into stonewood deep, I'll give a quick summary. Asherion is Stellaria's big brother and the mole inside of the Deadtech fortress who now speaks to the Technolich directly, Artix has three children who we've all met now, and we're going to go teach Kyger how to be a paladin/archpaladin/warrior with rogue regen or something. After teaching kyger some actually important lessons, we whip out the old battle on line and defeat the boss of this week. They also say the probability of us succeeding in this next mission is smaller than the chance of triggering PWD. This one is either second, maybe even first on the list, as it also felt decently lengthy, and had some mechanics I haven't seen in a while. We had to build training dummies then fight those enemies, and we also just found a base of undead who we didn't massacre for no reason, which actually shows that we aren't just heartless. it's implied Kyger somehow actually helps us against Sir Kut which is unrealistic but whatever, kid somehow can wield an axe with one hand at like the age of what, 13? Self-inserts really don't work all the time do they...However the release ends with what I would call a wholesome photo montage that fades to a bleak looking success chance which, I guess you take any enjoyment you can get right?
Finally the Finally. I mean finale. 3rd on the list, as I don't know what I was expecting but this was not it. In short, It's a war without Odessa, Asherion opens the door, we fight a mad weak mini mini boss, into the boss, into the boss v2. Anything in these cutscenes feels like odd details just attached to quests. First cutscene, I can assume vortrix sends the Chronomancer, which goes against what we've already said and things, and it also seems like vortrix literally knows what is going to happen. Second one, they remodeled the pally armour, stuck skulls on it and gave it some red tech upgrades and called it vortrix. So much for something threatening. Not only that, Vortrix says the exact same thing Kalron does about their objective, and the next part is literally, Kyger swings the axe to get first hit, then leaves the room and we take on the boss. The transformation cutscene is surprisingly underwhelming. It just seemed like deadtrix took a shot then he turned into a black blob and grew. Nothing even behind it, just 2nd form thank you. Thank goodness the bosses actually do some decent damage with ranges in the 300s. Even that's not that much when it comes down to it. Final cutscene is

so dang disappointing. Even the photo montage isn't that important as it literally teleported twilly who was NOWHERE TO BE FOUND in the first cutscene into a random undead invasion for a stinky poop joke. I don't mind the cheers in the future, as those three are just celebrating their victory over a photo of us doing what we do best, while in our time, we're busy riding an outhouse down a hill. It ends with a moral and a powerpoint effect saying we beat the saga.
Ironically, where this saga actually shines is in the rewards. Each of the parts in the story had its own new rewards along with some daily gifts, and this accumulated to make one huge merge shop you can sift through for cool things. Along with a new BLoD "grind" and a couple of other neat looking undeadslaying boosted weapons. But story wise, no no no we don't do that here.
Remove Odessa and replace her with someone else we can learn the deadtech's objectives from other than just "spying" and that'll solidify my opinion of the second part starting in stonewood as the best. Did I mention Stonewood and the Tech Dungeon also have what seems to be a new unique track? Solid stuff but the order currently is as follows.
Stonewood/Tech Dungeon > Stonewood Deep > Tech Fortress > Thorngarde.
If you've been bored and made it here, lemme know what you think. I'm wasting hours writing about a flash game, so i need a break...
submitted by sagaosity to AQW [link] [comments]

Making a super low cost trainer/dev kit. What do you wish you had in the kits/trainers you used to learn electronics?

Useless Backstory:
My original plan was to design a digital logic trainer for my students that could be submerged in alcohol without damage, to sanitize between classes. I did that and the prototypes work great (Other components for scale)
It's fair to assume the campus will close pretty quickly after the first spikes in covid cases. This means the original design won't be useful, students won't be in to share the equipment. Many departments plan to just gut their lab courses while some plan to throw huge tool/equipment costs at their students for at-home labs. I don't consider removing hands-on work a viable option, and equipment would cost a ton because the school store is terrible as far as where they can get products from, plus it takes its own cut of ~20%. The school store is the only way to pay for things with financial aid, so I have to go through them.
I priced everything out for my original design and discovered the board is so unbelievably cheap ($22 vs the $350 we pay for just ONE of the trainers the students use) that I plan to just make a new version that also includes all the features from the analog, processor, and plc trainers. Should cover everything from learning ohm's law to designing and testing amplifiers, from digital logic through assembly language up to C++/Python, from relay/ladder logic to PLC programming.
To the point:
For reference, here's a google image search of what I am designing a replacement for. Click on some at random and check the prices and specs. There's no reason they should cost hundreds. The ones that don't cost a ton are just switches and buttons and leds wired to headers - something anyone here can do for $10.
My goal is to add all the features from every single trainer I've seen/used but keep below 10% of the price of what is currently available. Each unit of equipment my students use (scopes, generators, supplies, digital/analog trainers, processor boards, plcs, etc) cost the department $5k+, and that's even after I got them to approve sparkfun as a vendor to save money. Assuming the students pick up shitty, low spec versions of everything for doing their labs at home, we're still looking at $1k. I like <$100 better, and would like the students to have something they can continue using to learn/develop electronics even after graduation.
So far I'm at $48 per trainer, completely assembled and in a case and I'm just about ready to make the next batch of prototypes but want to know what additional features I should cram into it.
What should I add that isn't listed below?
Supplies:
(1)+/- 19V 3A isolated supply
(2)+/- 5V 1.5A supplies
(1) 19V variable supply
(1) Constant-current linear regulated supply
(2) CV/CC switchmode supplies (fairly well filtered)
Power input is by default USB-C 20V/100W but I got impatient waiting on the USB-C sockets to come in the mail and rigged one up with a laptop DC jack (19.5V) for testing. I liked it. Most people have a box of old adapters in their house so I might just throw empty spots all around the back edge with the traces and pads for 10 different types of sockets so that anyone can use any supply they have lying around within the 18-34v 3A+ range. It already has overvoltage/undervoltage/overcurrent protection, adding a receiver for laptop signal pins that tell the system what the power brick is rated for would be easy.
There's also a USB micro-b port that can power everything but the analog supplies. It is also used for reprogramming firmware in the event of serious corruption, but updates and changes by default occur over wifi.
Outputs:
(1) 500mA Isolated Function Generator (12.5Mhz)
(1) function generator that acts as a 16.5V 1A CT transformer output (max 1mhz)
(2) digital clocks (1hz - 40khz)
(1) digital clock (1khz to 200mhz)
(24) 50mA 3-state digital outputs, protected from short circuits to any other line on the board, including the analog voltages. Each is configurable to a switch, button, low frequency clock, or tied to the PLC emulator or processor used for teaching programming.
Communication:
Wifi/Bluetooth, USB client and host, Modbus TCP/IP, Modbus RTU, CAN bus, i2c, i2s, spi, plus anything slow enough to be bitbanged will also be available as a feature through the UI, but not have a dedicated port. For example, you can load a 1-24 bit binary string in through the switches and shift it into 74000 series shift registers.
Inputs:
(4) Multimeters with 10mV precision, two of which are differential and isolated.
(24) 3-state digital inputs (+/- 20V capable, configurable logic levels)
(2) analog inputs (1Msps) - I hesitate to call it an oscilloscope because the next revision will include an FPGA that can actually handle huge amounts of data at high frequency. For now it dumps the data to a RAM IC and the main processor grabs a selection of addresses and renders a graph on the screen. There's no interrupts or anything that could get sub-clockcycle measurements on transitions directly from that data.
(2) 100mhz counters with automatic or adjustable trigger.
User Interface:
3.5" color touch screen - while every feature can be accessed from the touch screen, it's mostly for configuring things. I've made sure to put all features as physical buttons, switches, and knobs.
Wifi AP with captive portal - same access as the touch screen, but also used for uploading code to the processors (ASM ide and arduino ide) or PLC emulator (openplc). Working with a friend to help ensure mobile/tablet compatibility.
Bluetooth - available but not currently used.
Features:
IC testing with learning function - throw any common DIP chip into a socket and it will test whether it's fried. The UI also allows you to add in new chips, where you define which pins are inputs, outputs, power, ground, oscillator, analog, etc and whether you want it to automatically learn from every possible input configuration or a set sequence of commands. This includes i2c/spi chips.
Programming microcontrollers - throw a dip uC into the same socket as the ic tester and it'll configure itself to whatever pinout you define or select from a list. Already have a USB ISP for AVR but will add loads of ports matching the most popular in-system-programmers.
Matrix I/O sniffing - plug any matrix keypad or matrix led display into the I/O lines and it will automatically map them for you.
Communications sniffing - find IR remote codes, i2c addresses, RF codes, etc without external circuitry.
Compatibility with the Analog Discovery 2, Atmel ICE, LabView/Multisim, and I'm tinkering with SCPI to connect to bench equipment.
PLC Programming through OpenPLC.
Full diagnostic utility with schematic and fault indication through the UI. It will literally tell you what is wrong within a 1 centimetre radius on the board, show you the PCB/silkscreen of the area and optionally the schematic, and tell you what to replace to fix it. I added fault detection with port expanders, analog multiplexers, and dummy loads to help me test my original prototypes. It was supposed to be temporary but the work is already done and only added $5 to the total cost so now it's going to be in every future revision. Not a big jump to add pictures of every subcircuit PCB traces/silkscreen.
As an added note, when I'm done with each set of prototypes I plan to give them away on this subreddit for free, but I want to be sure there's no liability on my part. I'm concerned because all but the last version won't have UL/FCC/CE compliance. If anyone could direct me to information on this sort of thing, I'd really appreciate it. I'm thinking maybe I just directly call them "as-is" or defective or scrap?
submitted by -Mikee to arduino [link] [comments]

Tried Logistic Regression - What Next? (classification problem)

I have data which is a mix of continuous variables and ordinal/categorical variables which I have created dummies for. I have tried to fit a logistic regression model to do binary or multiclass one vs rest classification. However the accuracy isn't great (not entirely unexpected) so now I am wondering where to go from here:
  1. Is it likely another model will give better results than logistic regression? Or is it just my data is not well correlated with the dependent variables?
  2. What other models should I be looking to try? I see https://scikit-learn.org/stable/supervised_learning.html has many options for classification but what should I start with?
Thanks!
submitted by nickzsnz to learnmachinelearning [link] [comments]

DEMOLITION DAYS, PART 95

Continuing
He still came around making trouble, but oddly enough, our little cul-de-sac corner was more-or-less Batshit Crazy-free for the next 34 months.
After that, things sort of calmed down. Well, one of his older boys thought it would be fun to attack Khris, push her off her bike, and try and steal the Uzbek sapphire amulet I had gotten her years earlier.
Khris is not a small girl; she is a corn-fed daughter of the vast cow-pocked hills and rolling pastures of Baja Canada. She didn’t take lightly to some weasely little Arab probably future pole-smokers trying to steal from and assaulting her.
It took more than one punch, but Khris coldcocked the elder of the Guano Insano clan and laid him out so an undertaker could have taken easy measurements. Oh, he was still breathing, but I nevertheless think he was shammin’, playin’ possum until Daddy Dearest could come and rescue him from the rage of wrathful Wisconsinians.
Liam and I were sitting in the porch area of his villa, smoking cigars, drinking our sunrisers, watching the tableau unfold. We both thought Khris handled the situation well, particularly the outcome. The miscreant was out cold’n a foundered mackerel and Khris didn’t heel-stamp him in the chuckle-bits nor curb-stomp his head even though he had initially, and without provocation, punched Khris in the head.
Major stylistic points, Khris.
After 6 or 7 of his offspring rant to alert him, Señor Srībaśita Inasēna came over to shovel his insensible frogspawn up off the tarmac. He was ranting and raving, screaming and splitting the air with threats, dark oaths and other forms of bad noise.
He headed straight for Khris to administer a smackdown, as Khris resolutely held her ground.
I merely stood up and asked Khris if she needed some help.
She replied in the negative, stating that this fool wasn’t going to be much more of a challenge than ‘his idiot kid’
I swear, he went, even more, batshit crazy. However, something clicked and Señor Srībaśita Inasēna looked over his shoulder to see not one, but two near-identical way-more-crazy than he extra-large people standing there, both with cigars and icy cold drinks. He suddenly seemed to experience a spate of total recall how one of the large apparitions said he’d begin him on his journey toward room temperature if he so much as sneered in our direction.
He scooped up his unconscious spawn, muttered something none of us could make out, and scurried back to his loathsome piece of home real estate.
That was more or less the end of our run-ins with Señor Srībaśita Inasēna and his extended tribe.
Swing forward to the late summer. The weather calmed a bit and one’s skin didn’t immediately bubble every time one went out to collect the local morning news-rag. Things were going well for the cul-de-sac; jobs were advancing apace, children were doing well in their various studies, people were, oh what was that word? Ah, yes, happy.
Happy people do fun things.
So, it was decided it was time we have a block party.
Of course, Liam came up with the brilliant idea that we should have a pig roast.
“Umm, Liam”, I ahemed, “In case you forgot, we live in an Arabic Muslim country in the Middle East. Pigs and pork and porcine parts are sort of verboten around here. “
“Ok, Rock”, Liam laughed, “I know that, you know that, my hat knows that. But we Brits must have our bacon, sausage, and chops. It’s in our DNA. Besides, I can get one flown in through my company; under the wire. I could sneak him over here easily. We’d just have to keep him under wraps until bar-be-que time rolls around. You’re from Texas, so…”
“Adopted native son” I corrected.
“Right”, Liam continued, “But you were from Baja Canada first, so you must know how to cook a whole pig…”
“That right, I do, but…, I said, “…you want to bring a live pig in here, and keep him for a while until we can sort out the cooking necessities. We can’t use the industrial-sized stoves in the rec center at the pool. That’d raise a few eyebrows…”
Es and Cassandra wander over, listen for a bit and exclaim “Are you both out of your tiny, little minds?”
I had to admit, as I poured Liam and myself a refill, that the idea did have a certain ‘Up Yours!’ mouthwatering bacon-scented charm.
So, all four of us sat outside and over beer, vodka, and white wine for the ladies, we brewed up a perhaps passable project for our pig party.
The thing was, I’d be gone offshore for a couple of weeks and the pig would have to live at someone’s villa, under wraps, for that time; which actually escalated to 3 months.
Esme, surprising as always, volunteered to take on the task.
Might have been the white wine talking, but she admitted to missing bacon as well.
“OK, but we’re going to need a bar-be-cue pit. Where and when?” Liam asked.
“I’ll talk to Shiehk Gungan and secure permission for a Hawaiian-style pit bar-be-cue for someone or other’s fake birthday. If we can get Vonn and Honey Bee on board, their villa’s backyard backs up to a tall brick wall bordering the alley behind the City Centre. I could put in a pit there easily, and it would be out of the purview of prying eyes.” I said.
“Good”, Casandra said, “Let me get the gin and tonic makin’s and get Vonn and Honey over here as well as Dane and Dyad. Gonna have a block party, make sure you invite the entire block.”
Over the term of the afternoon, we had our plans.
Liam would secure a pig for us; approximately 200-300 pounds, on the hoof. It’d stay in our backyard under both our sun tarp and Esme Srs.’ care until Pig Killin’ Time. Liam, Vonn, and I would handle that little chore. I’d get permission to ‘dig’ a pit and install the bar-be-cue pit in Honey and Vonn’s back yard. Liam and I would handle the actual roast, and we’d all chip in for charcoal and wood smokin’ chunks, and whatever else we could find.
Dyad said she knew many, many farmers it the area and many had fruit trees, in various stages of repair. Certainly, some of that would smoke up a treat. Persimmon, pomegranate, fig, mango, durian, banana…all the earmarks of a weird pig roast.
So we had a date, a plan and the ingredients for a complete fiasco. Since Sr. Guano Insano was no longer part of the picture, and as we had few interlopers, this might actually work without all of us being tossed into the hoosegow.
I’d liberate a bit of pit diggin’ materials from work, just a small amount of dynamite, C-4, and Primacord; I already had the blasting machines. Vonn and Liam would lay in the charcoal and wood for the actual pig roast and well, Bob’s your uncle.
I went offshore to complete the 12th well on the platform and had to deal with all the logistics, bureaucracy and other sanctioned horseshit that comes with the territory. It took almost exactly 3 weeks, and at that time, Esme’s initial negative reaction to pig-sitting had changed considerably.
She had named the critter and found it to be a rather clever, and even sociable, beast. She even allowed it free reign of our house.
The name she chose was one from an old, endearing structural professor: Prof Pinkus (Prof. Pink-ass).
Ahem.
This was an unforeseen complication.
“Es, remember, “ I said over the phone, “That pig is not a pet. It’s not your buddy. It’s not going shopping with you. It’s going to be the guest of honor at a block party. Perspective, please.”
“Oh, Rock”, Es gushed, “I know that. It just makes it easier to keep up with Prof. Pinkus if you treat him like a pet rather than livestock.”
“Es!”, I yell, “He IS livestock. Soon to be deadstock. Soon to be crisply pit barbequed to a crackly crunch. He’s not your friend, he’s breakfast, lunch, and dinner!”
“OK, love you too.” Es says, ignoring me, “See you soon. Safe flights. Keep the shiny side up.”
I hang up. “Oh, shit. This does not bode well.” I mused on the flight shoreward.
I have to admit, pigs can be personable animals. Canny, inquisitive, seemingly intelligent. But even so, that does not trump them being delicious, appetizing, and delectable generators of bacon. Prof. Pinkus is going to be ham, bacon, and sausage soon. Not a boon companion.
The next day I ‘dig’ the pit for the barbeque. I used a shovel for exactly 2 minutes and dynamite, C-4, and primacord for a few more. Vonn was astonished that I not only dug a 6’x6’x4’ wide hole in less than an afternoon, but that I did it while smoking a cigar, drinking an, ok, several icy adult beverages, and never even breaking a sweat in the hellish late summer heat.
The Bobcat with the mounted backhoe, which I had ‘borrowed’ from work, helped a little.
Liam wandered over after the pyrotechnics were done. He didn’t care for them as the noise ‘offended his ears’. Truth be told, he had seen enough pyro jobs go south in his line of work and wanted nothing to do with them. I assured him I was a licensed Master Blaster as well as the one and only Motherfucking Pro from Dover, but it took some time to get him up to speed on the use of explosives for fun and profit.
We let the pit settle, as it was in mostly in desert sand held together with a bit of aeolian clay, or loess. We kept it wet and covered with sheets of canvas. It’d be fine for our pit barbeque in the days hence.
Vonn, Liam and I fabricobbled a cover for the pit which was made of thatched palm fronds supported by ½” pine furring-strips frame along the outer surface. Dane found a hunk of tin stove pipe and we fashioned a nicely workable chimney for the cover. Once the fire was going, and the pig in its new home, we could set the cover over the pit, shovel earth over it to seal it off and use the iris-valve in the chimney to regulate airflow.
One looks at it now, it would almost appear that we knew what we were doing.
Probably nothing was further from the truth.
We needed to ‘season’ the pit, but first, we needed to line the pit with rocks. This serves to hold the heat, and will even out its distribution. But, all we have to use is limestone around here and if limestone ever gets wet, there might be water in the fractures of the rocks. Heat that up to over 1000C and you’ve got yourself a nifty little bomb.
Of course, this will not do…
So, I get on the phone with several ‘exotic’ marble companies in the big city of Duhu. I call around asking if they might have some scrap sheets of granite, quartzite, granodiorite or marble.
Sure, for a price.
However, there was this one place where I knew this guy…
He took in huge, and I mean 4m x 5m x 5m blocks of exotic rock from the subcontinent; black granite, “Reaping Equinox’ black and white ‘granite’; most all these ‘granites’ were granodiorites, Inferno Granite, Black Sunset granite sliced thin into façade facing dimension stone, it was absolutely gorgeous in cross-section. However, the best stuff was igneous-metamorphic, tougher than a $2 steak, and just laughed at diamond carbide saw blades.
“Oh, sure now Mr., Dr. Rock”, Mr. Prakash Dongerkerry, the owneoperator of one particular lot I scavenge for Esme’s continuing lapidary hobby, “I’ve got some beauty stuff here for you. But I need some help with these couple of blocks I received from Kerala. Great rock, very pretty, but too tough. Burn out many saws, boss. You can help maybe?”
“Sure, Prak”, I replied, “I can help, no sweat.”
So, next Friday Liam and me, we eased over to the granite factory, C-4, blasting caps and Primacord in hand. Prak was a little apprehensive about using high explosives in a densely populated area, but after Vonn reminded him that he was working with the Motherfucking Pro from Dover, he relaxed some.
I crawled all over those blocks, marking with orange spray paint the nature fractures, flaws, and features of each block. Asked Prak how he’d like them split, and he indicated parallel to the major axis.
It couldn’t be easier. There was a main body-fracture system normal to the σ1 stress direction. The one’s parallel to the σ2 and σ3 were minor and nowhere near as clearly developed.
I smooshed some C-4 into a test fracture, primed it and shot it without much ado. It was surprisingly quiet for a detonation. A cute little C-4 POP.
A large slab of rock fell off the main block, severed as nicely as a hunk of cold butter from a hot knife.
Prak was thrilled. I only had another 12 or so shots to go.
They all more or less came off as planned. One or two busted when they bounced, even after the addition of old car tires below where I was blasting.
Prak, good to his word, showed us a huge pile of 1.25” thick sawn quartzite slabs that were rejected for mostly cosmetic reasons. It takes a bit of math, a bit of doing, and a lot of C-4 to extract slabs enough to line our fire pit from stem to stern, top to bottom.
Once installed, the pit was a tad less wide, a bit less deep, and a smidge less long, but it was the only Precambrian-quartzite lined bar-be-que pit in this or any other known galaxy.
We celebrated the initial fire up with whiskey and hors-d'oeuvres. I stuck with vodka, ice, lime, citrus stuff, and a Jamaican cigar.
The pit flared from the amount of dry wood we initially used. It burned very quickly into a pile of glowing embers. Now, we added some local lump charcoal and popped on the top, now sporting an exhaust chimney with a rather large, intrinsically-safe, unusually commercial-looking dual-temperature thermometer that somehow just appeared out of the ether.
We took it all the way up to 1,000C. Although it was designed for ‘low and slow’, we wanted to see how it would perform under alternative conditions.
We let it simmer for a few hours, then decided to kill the fire by closing the iris valve. Thus deprived of oxygen, given a few hours, the pit would be cold to the touch.
The next day, we opened the pit and shoveled out the dead embers. The pit was well and truly cold. Upon examination, it seems that the quartzite had fused to the sand on the outside of the pit. Also, sand had filtered down into the cracks around the pit, like in the corners, along joints, and been fused there as well.
The damn thing would now hold water if we wanted. We had a natural glass-lined fire pit now. We decided to try out some racked & stacked chickens first before we slowly made our way pig-ward.
We staked split chickens out on various levels in the pit. We had worked up a series of adjustable metal frames where we could lay the staked-out poultry. The racks popped right in place and after a couple of hours, hey presto bar-be-qued peri-peri chicken. And hot-butter roasted chicken. And for the uninitiated, roast chicken with smoked Hungarian paprika and Indian ghee. A real Iron Chef fusion-style mixture.
Liam and I took his Grady White out on the Persian Gulf and managed a couple of dorados, or Mahi, a largish shark, and a couple of kingfish off the deeper shipping banks. Fileted up and tacked in place, we played around with the smoking woods. Mango was just weird. Fig was weirder, almost vinegary; but not terrible. Pomegranate/tangerine tree smoked Mahi, seasoned shark steak, and Kingfish was the hit of the week. So easy, yet so tasty. It went well with Es’ famous Navajo Fry Bread.
We were gaining confidence. Prof. Pinkus’ days were numbered. We decided that the Eid al Fitr would be the time that we’d been preparing our porky pit pig production.
How’s that for cultural sensitivity? Break the Ramadan fast with a pig roast.
We’re all about cultural sensitivity.
Anyways, we hemmed and hawed over the methods of dispatching our soon-to-be-delicious 325 pounds of Professor Pinkus.
One wag suggested we have it OD on tranquilizers, trip him out a la Heath Ledger. Use loads of Nytol®, Dramamine™, oxycodone, hydrocodone, diazepam, temazepam, alprazolam, and doxylamine."
It was straight out of the Fabulous Furry Freak Brothers©.
We all agreed it was funny as hell, but that it probably wouldn’t work.
Then we thought we might go all Halal, just slit the pig’s throat with a very sharp knife, and let it bleed out.
Rejected as to being too thrashing, too noisy, too Arabic, and just plain uncivilized.
I thought I could get hold of a 12 gauge shotgun and some Foster Deer slugs. But again, noisy and messy. Besides, I’d have to borrow a shotgun, and that might raise some eyebrows.
We’ve managed to keep Prof. Pinkus under wraps now for almost 3 months. Hate to blow it right before the feasting was to begin.
In the end, all it took was an 18-pound maul and a solid whack to the right side of the head.
More sensitive viewers might want to skip a dozen or so paragraphs ahead. Just fair warning™.
I was elected to deliver the coup de grâce.
After walloping a bound and gagged Prof. Pinkus upside the head and basically caving in the skull, severing the skull-spinal cord connection at the atlas/axis connection, it was instant lights-out, he felt nothing.
We had already apologized to Prof. Pinkus, and thanked him for his contribution.
Seldom before has lunch ever been so noble.
Prof. Pinkus freezes and collapse, the legs give way, and the neck goes rigid. We picked up the extraordinarily sharp butcher’s knife sitting there, one hand under the chin and pull the head back. The other hand takes the sharp, stout knife under the neck and slices across the neck back to the bone of the vertebrae.
The knife hand loops around to the poll of the head, pushes down and forward while the hand under the chin pulls back and rearwards, so the neck vertebrae connecting tissue cracks. Knife hand back down under the neck, chin hand slides up and a finger hooks into the trachea and slice between the separated vertebrae.
With our previous practice and experience, 10 to 15 seconds from hammer strike to the semi-decapitated head.
Grisly but necessary.
Hanging the beast by its back hocks, well out of sight of any casual interlopers, we bleed the animal out into 5-gallon buckets, saving the precious juice. Vonn and I have visions of homemade blütwurst, blood-n-tongue sausage, and zultze or schwartamaga; lovely, lovely headcheese.
But that’s for later. Vonn gathers the blood in gallon-size freezer zip bags.
Now to scalding the corpse, scraping off the hair and external epidermal debris. We had a tub of boiling water into which Prof. Pinkus went. It was a boring, tedious, annoying repeated dunk-soak-raise-scrape-return until the carcass was clean and smooth and removed of all nasty gunk on the outside.
Now comes the really icky part™, gutting and scraping out the carcass. Before opening the abdominal cavity, it was required to de-bung the animal. Cut around the anus, go in deep but not too, pull the bunghole out, seal with zip ties, and cut and discard. Now the lower GI tract is sealed from leaking when the rest is removed. We also have to remove the male dangly bits in a similar manner as Prof. Pinkus was a boy hog.
Still hanging, we open the hog from sternum to groin, letting gravity aid us in helping Prof. Pinkus literally spill his guts. Right down into a waiting gut-bucket, or galvanized 50-liter steel tub. The chest region is split open further and the lovely and delicious major organs are singly removed by hand. Heart, liver, kidneys, etc., lungs, gall bladder, spleen, pancreas, and a few other organs are discarded.
With that, we open the hog to where it will lay flat on the roasting rack. It is then hosed off and generally cleaned up before we give a good going over.
After it dries, the whole gutted critter is washed in wine. Evidently, it’s a French thing according to Honey Bee.
We wrap the hog in burlap, soak it down in cheap-ass wine and let it sleep 24 hours or so in Liam and Cassandra’s freezer chest.
The next day, the fire is started in the fire pit. We have lump charcoal, bucket after bucket of fruit tree chunks soaking in water and probably half a rick of firewood to keep the party going the next 24-36 hours.
We retrieve Prof. Pinkus from his cool, not frozen state, say hello and proceed to arrange him staked to the cooking frame in a belly-down, butterflied posture. Internally, he was well seasoned with dry rub after the obligatory internal rubdown with Napoleon brandy. We placed 40 garlic bulbs, kosher sea salt, olive oil, black pepper, and liberal amounts of Old Bay, to taste beneath him.
So, it was up to me to get the external goo ready for the pig. Kansas City-Style Sauce? Eastern North Carolina Vinegar Sauce? South Carolina-Style Mustard Sauce? Piedmont or Lexington-Style Dip? South Carolina-Style Mustard Sauce? Texas-Style Mop or Basting Sauce? Alabama White Sauce? Wisconsin Drunken Religious Experience Sauce?
“Ah, the hell with it!”, I venture, “Sauces come much later. Too early; they caramelize, crystallize, and burn. We’ll go for a good rub instead.”
I mean, who doesn’t enjoy a good rub now and again?
Anyways, which fucking rub? Kansas City Rib Rub? Mustard Rub? Spare Rib Rub? Memphis-Style Rib Rub? Porker's Rib Seasoning? Best Odds Rib Rub? Carolina Dry Rub? Texas Dry Rub? Jamaican Jerk Dry Rub? Classic Pork Dry Rub?
Too much choice! Seasoning overload!
I call over everyone involved in this little soiree and instruct them to come up with a rub we can all enjoy. I had to kill and gut the critter, it’s about time I go all Subsurface Manager, and delegate out some parts of this project.
So, over beer, G&T’s, vodka and lime soda and various Froggy wines, ‘my’ crew came up with a rub that was simple, tasty and ironically reflects some of the culinary aspects of the region we’re currently defiling.
Ingredients:
• Smoked Hungarian Red paprika
• Brown sugar
• Caster sugar
• Black pepper
• Kosher salt
• Cayenne pepper
• White pepper
• Chili pepper
• Dehydrated garlic
• Dehydrated onion
• Fenugreek
• Red Cardamom
• Turmeric
• Ginger
• Garam masala (Cumin, Coriander, Green and Black Cardamom, Cinnamon, Nutmeg, Cloves, Bay leaves, Peppercorns, Fennel, Mace, and dried Chilies.)
They went to the co-op, bought buckets of the individual spices and played the rest of the day at getting to that one perfect combination for our resting porker.
I don’t remember the exact breakdown of the proportion of the spices, but whatever it was, it tasted brilliant. Now we had about 8 or 9 pounds of the stuff. We were ready to go.
Prof. Pinkus was set on the cooking rack, belly open and down. He was doused internally once again liberally with cheap Indian Napoleon brandy and secured to the rack atop all the garlic, celeriac root, boudin, and small new potatoes.
He was tied in place with heavy organic hemp twine and had his mouth propped open to facilitate circulation of the pit’s heat and convection. He looked very Pink Floydian. One almost expected him to take flight.
The exterior of the porker was treated to a nice rubdown. I swear I saw him smile once or twice when Honey Bee insisted on a sensual massage to make the resultant meat that much more tender. Olive oil infused with lime oil and garlic after a thorough wash with more brandy. Followed by a liberal rubbing of dry rub.
Finally, ready to go, we tented the porker loosely with industrial-strength silver aluminum foil. The frame with its cargo was lowered and locked into place for at least 24 hours. Probably closer to 36, as we’re going ‘low and slow’.
We take turns, between hands of poker, cribbage, and Schafskopf, as well as numerous G&Ts, Yorshs, and vodka and lime drink cocktails, to check on our prized porker. We kept the temperature right at 2050 F as best we could.
The voluminous smoke coming off the barbeque pit was our one concern. It packed an amazing aroma and filtered around the whole compound, dragging in expectant pikers, leeches, and other forms of human ectoparasites.
We told them we were smoking a whole camel, Texas-style, a la filét de hump, and wouldn’t be ready for another couple of days; so piss off. That seemed to get rid of all but the most insistent. We finally got rid of him by using a leaf blower and directing a stream of high-velocity roast-pork laden smoke his direction each time we had to add more fuel to the fire.
Time marched on and the time finally came: the deep internal ham’s temperature hit 180 degrees F.
Prof. Pinkus was ready to make his debut. But first, we needed to get him out of the barbeque pit and over to Vonn’s garage to rest a while.
More futzing, more aluminum foil, and more beers later, Prof. Pinkus, in all his delectable roasted glory was cooling out from atop a pair of sawhorses. Of course, he had to rest after his ordeal, but that didn’t mean we couldn’t manage a few samples.
He was done to a turn. It was incredible. Crispy-crunchy-crackly over lean, moist and insanely flavorful meat. Not bad for a bunch of bumbling international mugs on their first Middle Eastern pig-roast pit-roast endeavor.
Everyone made up their own version of sauce for sandwiches and dipping. We decided that we’d never all agree on one sauce, and 4 or 5 on one porker would be just too damn many.
So, please yourself. Just do it, yourself.
Behind closed doors, Liam and I were once again elected to reduce Prof. Pinkus to primary parts. We were hopefully disguising the fact that here sits 185 pounds of delectable roast pork in a very Muslim country on one of their highest holy days.
So it was a bit unnerving when Sheik Gungan showed up and asked: “What was that wonderful aroma?”
We said smoked beef…lamb…camel…turducken…Tyrannosaur… anything other than what it really was.
He asked for a sample.
What could we do? We couldn’t well refuse now, could we?
We gave him some of the best bits to try.
“Lovely, gents, just lovely. Next time, for reference, more garam masala, and a little more rosemary. I find it really brings out the subtle flavors of pork.” He smiled, wiping his pork-sticky fingers on my HGGTG towel.
“You old fraud”, we all smiled at once.
“What?”, he shied, raising his eyebrows, “It’s for scientific evaluation purposes. It’s therefore allowed. Now, do you have any cold beer, gin-n-tonics, or vodka and lime, which I’m hearing is very nice together, that I might also scientifically sample?” he smiled toothily through his long white beard.
We had made another powerful friend. Although it cost us one smoked Boston Butt, actually off the shoulder, that’s butcher’s for you, and a half a liter of homemade Texas-style barbeque sauce and another of Esme’s homemade fennel and caraway-infused coleslaw.
Everyone on the cul-de-sac now had a freezer full of pit-roasted pork. The Brits got their sausage once Vonn and Liam figured out how to use the Osterizer® Stuffing Horn. That was almost as much fun as doing the pit-barbeque. Never leave to Brits what Baja Canadians can better do.
We distributed the bacon and hams, and the rest divided whatever was left. Which was a lot of pit-roasted pig pieces and parts.
The bones made their way into gaily wrapped gifts and were posted anonymously to Mr. Guano Insano. We hoped he appreciated all our effort.
I used Esme’s great-grandmother’s old German recipe for Headcheese. Basically, boiled smoked pork head meat in aspic jelly. With dill pickles. And pickled eggs. With special spices.
Well, I don’t give a shit. We like it.
Anyways, summer slowly slid south and the temperatures during the day got slightly more tolerable. Liam and I decided to forego his boat for a while, as launching and recollecting required us to put Liam’s boat in the water HERE and recover the boat THERE. It was trucked, via road, from the recovery place to the launch place.
Why? Damnifweknow.
It only cost something like US$5 to ship the boat back to the launch area and they actually did a good job hosing and steam cleaning the boat before parking it back in its rental dry dock. These were still the early days before gas was king in Qutur, so things were still ridiculously cheap. There were exactly 3 high rise hotels back then, as compared to the insane silhouette presented by Duhu’s current evening sun.
I had flown over some likely looking flats that might hold snook, grouper, and tarpon on my last flight back from the rig. I translated that onto whatever road maps we could find here, as most everything was a state secret, ground verification was a must.
Liam and I tossed a couple of surf rods, a cooler full of beer and some bait into the back of his new diesel Mitsobitchy Prago™, and we were off to the north of town, the least developed chunk of Duhu real estate to date.
We drove down a rip-rap road that was more just a pile of random rocks trucked into the bay area and dumped into something that resembled a straight line.
I was less than confident that we weren’t going swimming today, but Liam relished every bounce, bolt and jolt. He confided in me that one of the big reasons he took the job here in the Middle East was that he’d never in a million years be able to afford a truck like this back in bonny Scotland™. He confided that he couldn’t have even afforded the fuel for this diesel-slurper back in the UK, it was that dear.
So, down the path we rebound. I was watching the water on both sides of the narrow groin, and saw it was getting deeper, but very slowly. I looked at my GPS and saw that we’d driven some 3.5 km out to sea at this point.
“Liam”, I said, “That’s a fuck of a long way to reverse.”
“Ah, Rock”, Liam assured me, “ No worries, Doctor. It’s all a loop. We can just drive our way out of any trouble.”
I remained unconvinced.
We came to a breach in the ‘jetty’. There was some heavy marine equipment mounted on barges. They were working a large cut, ostensibly for cargo ships to pass through. There was to be a swing-bridge built after they cleared the channel, but with all these loose rocks, it was putting paid to their scheme.
We parked and wandered over to who appeared to be the head guy.
“G’Day”, “Liam says, “What’ the big fucking holdup? We’ve got fish to catch, mate.”
Liam had previously spent a few years down in Australia as if it didn’t show.
“Oh, hello”, the natty clad black man said, “We’re having a bit of a time with loose rocks here. Supposed to be angular to lock in place, but by the time they get here from the quarry, they’re a sharp as bowling balls.”
I introduced myself and Liam as he was back in the boot snaking a beer. The black feller introduced himself as Zafir Djaballah, a civil engineer late from Algeria.
“So”, I said to Zafir, “If I’ve got this straight, you cut a channel and want to line it with rip rap. But the rocks won’t stay put. How deep are you cutting and what’s the size of the channel?”
“Oh, 35’ east-west, 15’ north-south. About 15 meters deep.” He relates.
“And the road metal? Where’s that from?” I ask.
“Arabia”, he tells us, “They quarry it there and transport it here. It’s costly, but that’s about the only option we have.”
Liam looks to Zafir. “Hey, Zafir?”, Liam asks, “Y’ken who this guy is?” as he points to me.
Zafir shakes his head “I just met Dr. Rock.”
“That’s not all who he is”, Liam smiles widely, “That, my friend, is the Motherfucking Pro from Dover! If he can’t fix your little problem, he can damn sure make it go away…”
Zafir looks to me as if to ask: “What the fuck, sir?”
“Well, Zafir, “ I say, “I’m a bit of a dab hand with explosives. This sounds like a really simple problem. Drill a grid of 2 meter centered holes, and prime them with a waterproof explosive. Detonate together electrically and there you go. Channel dug and already filled with angular limestone blocks. Easy-peasy.”
Zafir looks over the water and puzzles and puzzles.
“But sir’, he says, “Where would I find such explosives and such expertise?”
“Well…for starters”, I said, “You could ask me.”
He leads us over to a company trailer, where Liam and I drank beers, smoked cigars and told the superintendent of our plans. The Egyptian superintendent, Qaaid al-Zahra, later ‘Randy’ (Quaid?…never mind) scrutinized all our identification. He was actually very impressed when he came across my Blaster’s credentials.
“Doctor”, Qaaid said, “I do like your plan. The drilling is no problem, the problem is obtaining the explosives.”
“Look, Qaaid”, I said, “Leave that to me. You’re working for a government company, I’m working for a government company. What difference does it make? How long to drill the grid of holes Liam and I laid out?”
“Oh, probably about a week”, Qaaid said.
“OK, how about this?”, I said, “Liam and I will be back out here unless the weather’s being stupid and we’ll set and prime the charges? After which, we’ll make certain everything’s green and blow this little project for you?”
“If you can, Inshallah.”, Qaaid said.
“Even if we’re out of shallah”, I said back to Randy.
That Sunday, after Liam backed us down the 3.6 km or bouncy un-turn-around-able path he drove us out on, I ordered some Kinepax liquid binaries, as it came in easy-to-use 1-meter threaded lengths in various diameters. Qaaid was drilling 3.5” diameter holes, so the 3.00” nominal OD threaded length would be a breeze. I ordered a couple of spools of shock tube, comb connectors, deflectors, and tie-ins, and a 25 kilo box of ‘Elephant Shit’.
We make sure each hole was blown clean with a high-pressure water hose. Since the water here was only 8 meters deep, we could get by with regular lightweight skin diving gear. I could leave my wetsuit, diver’s helmet and all that heavy-duty ice-diving gear at home for this trip.
Liam and I would pre-form the charges, each exactly 6 meters in length, to match the depth of the drilled holes. Individual 1-meter units just screwed together, pin and box style, it was the utmost in simplicity. Rather like Seismogel™, but packed a considerably higher wallop. All told, we would be setting off some 36 nodal points, each 6 meters deep with 6 meters of binary which weighed 5.3 kg/meter.
Turn the crank and we’d be planting approximately 1,145 kilograms or 2,524 pounds of high-energy binary explosive.
Hmph. A new personal record.
Like Guinness even cared.
So, once we got the high sign from Randy that the shot holes had been drilled and cleaned, the next part of the project was up to us.
We were both PADI-certified. Liam had done some oilfield related diving in the North Sea some years ago. I was a veteran of the Ice Wars from the days of Future Passed back in Baja Canada.
The waters here were calm, gin-clear, and warm.
The dives here weren’t work, this was a paid vacation.
I had liberated a trailer for all our pyrotechnics and Liam was elected to use his Prago as the tow vehicle. We bounded our way out to the Liam’s Pass, as we had dubbed it, with a work trailer containing some 2,750 pounds of high powered, binary explosives bouncing behind. I also had all my explosives paraphernalia there as well: new waterproof galvanometer, which in and of itself, is rather the achievement. Pliers, spare batteries, couple pair of blaster’s tools, the usual.
Lia and I had our dive gear in the back of his Prago.
A couple of single tanks, backpacks, regulators, hoses, and a few belts full of divers weights.
These must have been of Islamic origin as they are specifically prohibited by the Bible. Deuteronomy 25:13, “Thou shalt not have on thy belt divers weights, a great and a small.” And Proverbs 20:23, “Divers weights are an abomination unto the LORD; and a false balance is not good.
Why there should be proscriptions against SCUBA gear in ancient, desert-dwelling, shepherding Iron Age writings is what keeps Biblical Scholars up at night.
Although I agree, a false balance underwater keeps your Swimmer’s Ear from healing up.
At the pass, we park and call over for a half-dozen ‘helpers’. They were nominal employees of the company, but more indentured servants. Today, they were going to earn their water wings. We had a couple of large pneumatic rafts that we’d use to transport he charges to their final water resting site but damned if Liam and I are going to swim laps every time we needed to set a new charge.
So, indoctrination and Explosives For Dummies.
Safety first, second and last.
Who here can swim?
You guys can stay. OK, the rest of you blokes, bugger off.
Here’s the deal, Sparky. There are 36 lengths of Kinestix with primers already set. Those go last, as that’s where I tie in to detonate. The rest of the 1-meter long tubes are identical. Pin on one end, box on the other. Thread them together and use a single ‘O-ring’ between each. Snug them up good and tight, but don’t go too crazy. Those are binary liquids, and I’ll give them a good smack with a hammer before they go into the hole. I really only have to do the last one as once initiated, these liquids can mix in milliseconds, but I’m all for safety and doing things right the first time.
OK, so, one raft will carry the 36 initiators, that is, the last bits to go. The other rafts will carry the 5-meter long strings of connected explosives. Liam and I will be down on bottom and you guys just stay up on surface, dog paddling or treading water, but slowly feeding the lengths of tubing down to us. When you reach an end, pop on one of the other lengths, the one with the primer.
To be continued.
submitted by Rocknocker to Rocknocker [link] [comments]

Ordinal regression help

Hi all, I hope someone would be able to shed some light on my analysis that I’m doing for my masters thesis project. I have to analyze pre-existing survey data to determine if there’s an association between child maltreatment & Life satisfaction. (This is a long one, I’m sorry in advance)
As covid is going on, I’m not able to get prof help in person so I’ve been really struggling and any help is much appreciated!
My exposure variable is child maltreatment and composes 6 questions, of which the possible response options are: 1-5 (never, 1 or 2 times, 3 to 5 times, 6 to 10 times, 10+ times). I want to transform this variable into a binary variable of “ever abused -yes/no” as well as collate into a joint variable, so the scores will go from 6 (never abused for all 6 items) to 30 (abused 10+ times for all items). The dependent variable is life satisfaction measured on a scale of 1-10 and it has been condensed into a scale of 5 categories, from “very satisfied” to “very dissatisfied”. I’ve been using this grouped 5-category life satisfaction variable as the dependent variable in all my analyses so far, is this appropriate ? I’m confused how these analyses are actually accounting for each category of the dependent variable ?
My main question is regarding the analysis. I wanted to do a multiple linear regression but the dependent variable (life satisfaction) is not normally distributed so I feel I’m not able to do it that way. My second option is to do an ordinal regression and I’ve been testing the assumptions but can’t seem to understand how to test for assumption 4(proportional odds). I’m trying to do a binary logistic regression as some posts say online but the values that are computed for df and the -log (logit) values are so large they just can’t be right. Is the ordinal regression the appropriate analysis to use? And if so when I am checking assumptions Do I NOT have to clarify which variables I’m using as my confounders/interaction variables and which is my independent variable ?
Also, should I be using the newly computed independent variables (the 6-30 count variable& the binary yes/no abused variable) ? Or the 6 individual items that pertain to each question on abuse? And if so am I able to include all of these in the same model? All of my confounders/interaction terms I’m using are categorical variables with at least 2 categories, and at most 14 categories (age has been collapsed into 14 categories including 5 ages in each group, i.e., 15-19,20-24,25-29).
When I checked for multicollinearity, I was told to do a linear regression and include all terms; the categorical variables as their dummy variables (so to include the 3 dummy variables coded for a variable that had initially 4 categories) and if the VIF was larger than 10 then to not include that variable. Is this correct? SPSS ended up showing 6 different variables with VIF values much larger than 10 for several of the categories for each variable so does that mean I just take them out at this step and not even include them in the actual ordinal regression? Two of the problematic variables were two of the items on abuse, so when I removed one from the analysis then the other’s VIF value significantly dropped below 10. So in this case would I modify the joint 6-30 count variable on abuse to only be 5-25?
I’m so sorry for all the questions, I know this is such a ramble but if anyone has any experience with ordinal regression in SPSS and is willing to spare a few mins to speak with me I would be forever grateful! Thank you in advance!
submitted by amm173 to spss [link] [comments]

Error loading Python lib

The name of my python script is kled.py
This is the message I used to create it:
pyinstaller kled.py --windowed 
Here is the error message I get when I execute the terminal file located in dist(a folder called kled)(executable terminal file called kled)
[3173] Error loading Python lib '/Users/john/Documents/chill.py/kledfinal/dist/kled/Python': dlopen: dlopen(/Users/john/Documents/chill.py/kledfinal/dist/kled/Python, 10): no suitable image found. Did find: /Users/john/Documents/chill.py/kledfinal/dist/kled/Python: code signature invalid for '/Users/john/Documents/chill.py/kledfinal/dist/kled/Python' 

When I double click the application it has created it appears to open in my dock, and then goes away, nothing actually opens.

Here are the resources I've already looked at but didn't find success from:
https://github.com/pyinstallepyinstalleissues/2150
- I don't understand the solution they found. The two people troubleshooting didn't explain the steps they were taking so I couldn't follow.
https://github.com/pyinstallepyinstalleissues/3499
- This is where I got the idea to change my spec files, because in his pyinstaller command it seems like he has a specific spec file he was trying to use.
https://pyinstaller.readthedocs.io/en/stable/spec-files.html
- I thought maybe I could edit my spec file to include the modules or python version it might be missing, but no other results told me how to properly set up my spec file to do this. I was originally trying to use py2app and if any of you know it, you will know that setup.py basically lets you hand pick all the files and stuff you need. Unfortunately py2app has a huge amount of issues in general so I decided my error wasn't going to get fixed, but pyinstaller seems to have some experts so maybe you guys can help.
https://stackoverflow.com/questions/60678697/error-loading-python-lib-with-pyinstaller-on-macos
- went through the steps and it just didn't work for me. Same outcome where the application doesn't work and the executable terminal file called kled says that it had an Error loading python lib.

RESOURCES YOU MIGHT NEED (idk I'm just guessing but here is some stuff)
my kled.spec file:
# -*- mode: python ; coding: utf-8 -*- block_cipher = None a = Analysis(['kled.py'], pathex=['/Users/john/Documents/chill.py/kledfinal'], binaries=[], datas=[], hiddenimports=[], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, [], name='kled', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, upx_exclude=[], runtime_tmpdir=None, console=False ) app = BUNDLE(exe, name='kled.app', icon=None, bundle_identifier=None) 

Python version:
Python 3.8.2

Modules I am trying to use:
pygame time random sys os pickle

MacOS version:
macOS Catalina
Version 10.15.4

My warn-kled.txt file:
This file lists modules PyInstaller was not able to find. This does not necessarily mean this module is required for running you program. Python and Python 3rd-party packages include a lot of conditional or optional modules. For example the module 'ntpath' only exists on Windows, whereas the module 'posixpath' only exists on Posix systems. Types if import: * top-level: imported at the top-level - look at these first * conditional: imported within an if-statement * delayed: imported from within a function * optional: imported within a try-except-statement IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for yourself tracking down the missing module. Thanks! missing module named pyimod03_importers - imported by /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/PyInstalleloaderthooks/pyi_rth_pkgres.py (top-level) missing module named StringIO - imported by setuptools._vendor.six (conditional), numpy.testing._private.utils (conditional), numpy.lib.utils (delayed, conditional), numpy.lib.format (delayed, conditional), pkg_resources._vendor.six (conditional), py._io.capture (optional) missing module named 'pkg_resources.extern.pyparsing' - imported by pkg_resources._vendor.packaging.markers (top-level), pkg_resources._vendor.packaging.requirements (top-level) missing module named 'win32com.shell' - imported by pkg_resources._vendor.appdirs (conditional, optional) missing module named 'com.sun' - imported by pkg_resources._vendor.appdirs (delayed, conditional, optional) missing module named com - imported by pkg_resources._vendor.appdirs (delayed) missing module named nt - imported by os (delayed, conditional, optional), ntpath (optional), shutil (conditional), pathlib (conditional), ctypes (delayed, conditional) missing module named win32api - imported by distutils.msvccompiler (optional), pkg_resources._vendor.appdirs (delayed, conditional, optional) missing module named win32com - imported by pkg_resources._vendor.appdirs (delayed) missing module named _winreg - imported by platform (delayed, optional), pygame.sysfont (conditional), numpy.distutils.cpuinfo (delayed, conditional, optional), pkg_resources._vendor.appdirs (delayed, conditional), pygments.formatters.img (optional) missing module named winreg - imported by platform (delayed, optional), mimetypes (optional), urllib.request (delayed, conditional, optional), pygame.sysfont (conditional), distutils.msvccompiler (optional), distutils.msvc9compiler (top-level), distutils._msvccompiler (top-level), numpy.distutils.cpuinfo (delayed, conditional, optional), pkg_resources._vendor.appdirs (delayed, conditional), pygments.formatters.img (optional) missing module named netbios - imported by uuid (delayed) missing module named win32wnet - imported by uuid (delayed) missing module named _winapi - imported by encodings (delayed, conditional, optional), subprocess (optional), test.support (delayed, conditional), multiprocessing.connection (optional), multiprocessing.spawn (delayed, conditional), multiprocessing.reduction (conditional), multiprocessing.shared_memory (conditional), multiprocessing.heap (conditional), multiprocessing.popen_spawn_win32 (top-level), asyncio.windows_events (top-level), asyncio.windows_utils (top-level) missing module named msvcrt - imported by subprocess (optional), getpass (optional), test.support (delayed, conditional, optional), multiprocessing.spawn (delayed, conditional), multiprocessing.popen_spawn_win32 (top-level), asyncio.windows_events (top-level), asyncio.windows_utils (top-level), numpy.distutils.mingw32ccompiler (conditional, optional) missing module named urllib.urlretrieve - imported by urllib (conditional, optional), pygments.lexers._php_builtins (conditional, optional) missing module named urllib.FancyURLopener - imported by urllib (conditional, optional), pygments.lexers._sourcemod_builtins (conditional, optional) missing module named urllib.urlopen - imported by urllib (conditional, optional), pygments.lexers._postgres_builtins (conditional, optional), pygments.lexers._lua_builtins (conditional, optional) missing module named urllib.quote - imported by urllib (delayed), py._path.svnwc (delayed) missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), zipimport (top-level) excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional), zipimport (top-level) missing module named __builtin__ - imported by numpy.core.numerictypes (conditional), numpy.core.numeric (conditional), numpy.lib.function_base (conditional), numpy.lib._iotools (conditional), numpy.ma.core (conditional), numpy.distutils.misc_util (delayed, conditional), numpy (conditional), pkg_resources._vendor.pyparsing (conditional), setuptools._vendor.pyparsing (conditional), py._builtin (conditional), ptyprocess.ptyprocess (optional) missing module named ordereddict - imported by pkg_resources._vendor.pyparsing (optional), setuptools._vendor.pyparsing (optional) missing module named 'org.python' - imported by copy (optional), setuptools.sandbox (conditional), xml.sax (delayed, conditional) missing module named multiprocessing.TimeoutError - imported by multiprocessing (top-level), multiprocessing.pool (top-level) missing module named multiprocessing.get_context - imported by multiprocessing (top-level), multiprocessing.pool (top-level), multiprocessing.managers (top-level), multiprocessing.sharedctypes (top-level) missing module named multiprocessing.set_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level) missing module named multiprocessing.get_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level) missing module named 'java.lang' - imported by platform (delayed, optional), xml.sax._exceptions (conditional) missing module named multiprocessing.BufferTooShort - imported by multiprocessing (top-level), multiprocessing.connection (top-level) missing module named multiprocessing.AuthenticationError - imported by multiprocessing (top-level), multiprocessing.connection (top-level) missing module named _overlapped - imported by asyncio.windows_events (top-level) missing module named asyncio.DefaultEventLoopPolicy - imported by asyncio (delayed, conditional), asyncio.events (delayed, conditional) missing module named win32evtlog - imported by logging.handlers (delayed, optional) missing module named win32evtlogutil - imported by logging.handlers (delayed, optional) missing module named pkg_resources.extern.packaging - imported by pkg_resources.extern (top-level), pkg_resources (top-level) missing module named pkg_resources.extern.appdirs - imported by pkg_resources.extern (top-level), pkg_resources (top-level) missing module named 'pkg_resources.extern.six.moves' - imported by pkg_resources (top-level), pkg_resources._vendor.packaging.requirements (top-level) missing module named pkg_resources.extern.six - imported by pkg_resources.extern (top-level), pkg_resources (top-level), pkg_resources.py31compat (top-level) missing module named vms_lib - imported by platform (delayed, conditional, optional) missing module named java - imported by platform (delayed) missing module named 'multiprocessing.forking' - imported by /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/PyInstalleloaderthooks/pyi_rth_multiprocessing.py (optional) missing module named org - imported by pickle (optional) missing module named copy_reg - imported by cStringIO (top-level), numpy.core (conditional), pygame (conditional) missing module named 'pygame._view' - imported by pygame (delayed) missing module named OpenGL - imported by pygame (delayed) missing module named numpy.uint32 - imported by numpy (top-level), pygame._numpysurfarray (top-level) missing module named commands - imported by numpy.distutils.cpuinfo (conditional) missing module named setuptools.extern.packaging - imported by setuptools.extern (top-level), setuptools.dist (top-level), setuptools.command.egg_info (top-level) missing module named 'setuptools.extern.six' - imported by setuptools (top-level), setuptools.extension (top-level) missing module named 'setuptools.extern.packaging.specifiers' - imported by setuptools.config (top-level) missing module named 'setuptools.extern.packaging.version' - imported by setuptools.config (top-level), setuptools.msvc (top-level) missing module named setuptools.extern.six.moves.filterfalse - imported by setuptools.extern.six.moves (top-level), setuptools.dist (top-level), setuptools.msvc (top-level) missing module named setuptools.extern.six.moves.filter - imported by setuptools.extern.six.moves (top-level), setuptools.dist (top-level), setuptools.ssl_support (top-level), setuptools.command.py36compat (top-level) missing module named setuptools.extern.ordered_set - imported by setuptools.extern (top-level), setuptools.dist (top-level), setuptools.command.sdist (top-level) missing module named 'setuptools.extern.packaging.utils' - imported by setuptools.wheel (top-level) missing module named 'setuptools.extern.packaging.tags' - imported by setuptools.wheel (top-level) missing module named wincertstore - imported by setuptools.ssl_support (delayed, optional) missing module named 'backports.ssl_match_hostname' - imported by setuptools.ssl_support (optional) missing module named backports - imported by setuptools.ssl_support (optional) missing module named 'setuptools._vendor.six.moves' - imported by 'setuptools._vendor.six.moves' (top-level) missing module named 'setuptools.extern.pyparsing' - imported by setuptools._vendor.packaging.requirements (top-level), setuptools._vendor.packaging.markers (top-level) missing module named setuptools.extern.six.moves.winreg - imported by setuptools.extern.six.moves (conditional), setuptools.msvc (conditional) missing module named setuptools.extern.six.moves.map - imported by setuptools.extern.six.moves (top-level), setuptools.dist (top-level), setuptools.command.easy_install (top-level), setuptools.sandbox (top-level), setuptools.package_index (top-level), setuptools.ssl_support (top-level), setuptools.command.egg_info (top-level), setuptools.namespaces (top-level) runtime module named setuptools.extern.six.moves - imported by setuptools.dist (top-level), configparser (top-level), setuptools.command.easy_install (top-level), setuptools.sandbox (top-level), setuptools.command.setopt (top-level), setuptools.package_index (top-level), setuptools.ssl_support (top-level), setuptools.py33compat (top-level), setuptools.command.egg_info (top-level), setuptools.command.py36compat (top-level), setuptools.namespaces (top-level), setuptools.msvc (top-level), 'setuptools._vendor.six.moves' (top-level) missing module named setuptools.extern.six - imported by setuptools.extern (top-level), setuptools.monkey (top-level), setuptools.dist (top-level), setuptools.extern.six.moves (top-level), setuptools.config (top-level), setuptools.command.easy_install (top-level), setuptools.sandbox (top-level), setuptools.py27compat (top-level), setuptools.package_index (top-level), setuptools.py33compat (top-level), setuptools.wheel (top-level), setuptools.command.egg_info (top-level), setuptools.command.sdist (top-level), setuptools.command.bdist_egg (top-level), setuptools.unicode_utils (top-level), setuptools.installer (top-level), setuptools.command.develop (top-level) missing module named 'numpy_distutils.cpuinfo' - imported by numpy.f2py.diagnose (delayed, conditional, optional) missing module named 'numpy_distutils.fcompiler' - imported by numpy.f2py.diagnose (delayed, conditional, optional) missing module named 'numpy_distutils.command' - imported by numpy.f2py.diagnose (delayed, conditional, optional) missing module named numpy_distutils - imported by numpy.f2py.diagnose (delayed, optional) missing module named __svn_version__ - imported by numpy.f2py.__version__ (optional) missing module named numarray - imported by numpy.distutils.system_info (delayed, conditional, optional) missing module named Numeric - imported by numpy.distutils.system_info (delayed, conditional, optional) missing module named ConfigParser - imported by numpy.distutils.system_info (conditional), numpy.distutils.npy_pkg_config (conditional) missing module named win32con - imported by distutils.msvccompiler (optional) missing module named _dummy_threading - imported by dummy_threading (optional) missing module named twisted - imported by _pytest.unittest (delayed) missing module named zope - imported by _pytest.unittest (delayed) missing module named py.process - imported by py (top-level), py._path.svnurl (top-level) missing module named py.path - imported by py (top-level), py._path.svnurl (top-level), _pytest.doctest (top-level) missing module named apipkg - imported by py (optional) missing module named UserDict - imported by attr._compat (conditional) missing module named chardet - imported by pygments.lexer (delayed, conditional, optional) missing module named ctags - imported by pygments.formatters.html (optional) missing module named PIL - imported by pygments.formatters.img (optional) missing module named 'py.io' - imported by _pytest._io (top-level) missing module named importlib_metadata - imported by pluggy.manager (conditional), _pytest.compat (conditional) missing module named typing_extensions - imported by _pytest.outcomes (conditional), _pytest._code.code (conditional), _pytest._code.source (conditional), _pytest.config.argparsing (conditional), _pytest.runner (conditional), _pytest.main (conditional), _pytest.capture (conditional) missing module named pathlib2 - imported by _pytest.pathlib (conditional) missing module named colorama - imported by py._io.terminalwriter (conditional, optional), _pytest.capture (delayed, conditional, optional) missing module named atomicwrites - imported by _pytest.assertion.rewrite (conditional) missing module named argcomplete - imported by _pytest._argcomplete (conditional, optional) missing module named 'py.builtin' - imported by py._io.terminalwriter (top-level) missing module named compiler - imported by py._code._assertionold (top-level) missing module named 'nose.plugins' - imported by numpy.testing._private.noseclasses (top-level), numpy.testing._private.nosetester (delayed) missing module named scipy - imported by numpy.testing._private.nosetester (delayed, conditional) missing module named 'nose.util' - imported by numpy.testing._private.noseclasses (top-level) missing module named nose - imported by numpy.testing._private.utils (delayed, optional), numpy.testing._private.decorators (delayed), numpy.testing._private.noseclasses (top-level) missing module named psutil - imported by numpy.testing._private.utils (delayed, optional) missing module named numpy.core.number - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) missing module named numpy.core.object_ - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (delayed) missing module named numpy.core.signbit - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) missing module named win32pdh - imported by numpy.testing._private.utils (delayed, conditional) missing module named numpy.core.float32 - imported by numpy.core (top-level), numpy.testing._private.utils (top-level) missing module named numpy.core.intp - imported by numpy.core (top-level), numpy.testing._private.utils (top-level), numpy.linalg.linalg (top-level) missing module named numpy.lib.i0 - imported by numpy.lib (top-level), numpy.dual (top-level) missing module named dummy_thread - imported by numpy.core.arrayprint (conditional, optional) missing module named thread - imported by numpy.core.arrayprint (conditional, optional) missing module named cpickle - imported by numpy.compat.py3k (conditional) missing module named pickle5 - imported by numpy.compat.py3k (conditional, optional) missing module named numpy.core.integer - imported by numpy.core (top-level), numpy.fft.helper (top-level) missing module named numpy.core.sqrt - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.fft._pocketfft (top-level) missing module named numpy.core.conjugate - imported by numpy.core (top-level), numpy.fft._pocketfft (top-level) missing module named numpy.core.sign - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) missing module named numpy.core.divide - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) missing module named numpy.core.geterrobj - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) missing module named numpy.core.add - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) missing module named numpy.core.complexfloating - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) missing module named numpy.core.inexact - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) missing module named numpy.core.cdouble - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) missing module named numpy.core.csingle - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) missing module named numpy.core.double - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) missing module named numpy.core.single - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) missing module named future_builtins - imported by numpy.lib.npyio (conditional) missing module named urllib2 - imported by numpy.lib._datasource (delayed, conditional) missing module named urlparse - imported by numpy.lib._datasource (delayed, conditional) missing module named numpy.recarray - imported by numpy (top-level), numpy.ma.mrecords (top-level) missing module named numpy.dtype - imported by numpy (top-level), numpy.ma.mrecords (top-level), numpy.ctypeslib (top-level) missing module named numpy.expand_dims - imported by numpy (top-level), numpy.ma.core (top-level) missing module named numpy.array - imported by numpy (top-level), numpy.ma.core (top-level), numpy.ma.extras (top-level), numpy.ma.mrecords (top-level), numpy.ctypeslib (top-level), pygame._numpysurfarray (top-level) missing module named numpy.bool_ - imported by numpy (top-level), numpy.ma.core (top-level), numpy.ma.mrecords (top-level) missing module named numpy.iscomplexobj - imported by numpy (top-level), numpy.ma.core (top-level) missing module named numpy.amin - imported by numpy (top-level), numpy.ma.core (top-level) missing module named numpy.amax - imported by numpy (top-level), numpy.ma.core (top-level) missing module named numpy.ndarray - imported by numpy (top-level), numpy.ma.core (top-level), numpy.ma.extras (top-level), numpy.ma.mrecords (top-level), numpy.ctypeslib (top-level), pygame._numpysurfarray (top-level) missing module named numpy.histogramdd - imported by numpy (delayed), numpy.lib.twodim_base (delayed) missing module named numpy.eye - imported by numpy (delayed), numpy.core.numeric (delayed) missing module named 'pygame.scrap' - imported by pygame (optional) missing module named 'pygame.movie' - imported by pygame (optional) missing module named 'pygame.overlay' - imported by pygame (optional) missing module named Queue - imported by pygame.threads (conditional) missing module named Py25Queue - imported by pygame.threads (conditional) missing module named 'pygame.cdrom' - imported by pygame (conditional, optional) missing module named cStringIO - imported by pygame.compat (conditional) 
submitted by savoiry1 to u/savoiry1 [link] [comments]

Success To Be [OC, M.2 DualBoot, AMD R5, RX 5700 XT, 16GB RAM, BCM94360CD]

Success To Be [OC, M.2 DualBoot, AMD R5, RX 5700 XT, 16GB RAM, BCM94360CD]
--OUT OF DATE--

OpenCore AMD DualBoot Hackintosh! This would absolutely not have been possible without this community and especially Khronokernel! Many, many thanks - this is my first Hackintosh and self-built PC!! :D
https://preview.redd.it/ciem302abff41.png?width=1920&format=png&auto=webp&s=e8d551bec88509a6ff164d27c528dde794a3070a

Components

See also: OpenCore config below!
Part Model
Motherboard MSI B450 GAMING PRO CARBON AC ATX AM4
CPU AMD Ryzen 5 3600X 3.8GHz 6C
Video Card PowerColor Radeon RX 5700 XT 8GB Red Devil
Memory G.Skill Ripjaws V 2 x 8 GB DDR4-3200C14
Storage ADATA XPG SX8200 Pro 2TB M.2-2280 NVMe SSD
Power Supply Corsair HX750 750W 80+ Platinum Certified Fully Modular ATX
CPU Cooler Noctua NH-D15S
Case Fan 2x Noctua NF-A14 PWM 140 mm
Thermal Paste Thermal Grizzly Kryonaut, 1g
Case Fractal Design Meshify C ATX Mid Tower
Monitor AOC 24G2U/BK 24" 1920x1080 144Hz
Keyboard Apple MB110LL/B Wired
Mouse Logitech G Pro Wireless Optical
Wifi/BT Card via PCIe Fenvi BCM94360CD, AliExpress (Fenvi FV-A436CD)
USB 3.0 PCIe Card Some cheap thing (no brand found?!) I had laying around, not expected to work on macOS, good on Win10
PCPartPicker Part List (without BCM94360CD) About $1600, most parts - especially the expensive ones - where bought on sale, though!
I had these goals in mind:
  • Hackintosh, of course!
  • DualBoot
  • 2K Performance (Everyday PCing to AAA Gaming) with proper heat management, unlike Apple
  • Longevity, my previous Main, a MacBookPro 13'' (Early 2011), still flourishes! :) Good boi!
  • Low noise, hence the Powercolor Graphics Card and the beefy NH-D15S (also for performance)
  • As little dust as possible (see case)
  • As small as possible - without compromising on goals
  • As little RGB as possible (sorry.), which turns out to be difficult
Max credit goes here and here!! Also, here, here, here, here and here. Totally solid work, guys! This Project was started on December, 1st 2019. Now it is February, 7th 2020!

Features

  • Vanilla Hackintosh
  • OpenCore 0.5.5
  • DualBoot on one 2TB M.2 SSD with Win10
  • AMD Ryzen 5 Processor with RX 5700 XT (Navi 10) and 16GB RAM on MSI B450
  • Wifi and BT via BCM94360CD over PCIe (Windows compatible)
  • Sleep/wake works
  • Fixed iServices, even though I probably won't use them...
  • I consider my goals met.
  • Mapped USB ports, see below.

Known issues

  • Bluetooth is always "on", but not working. Probably USB Mapping; Resolved here.
  • Internal drives shown as externals (yellow-orange). Solved..
  • Black screen when setting resolution to 1080i instead of 1080p in system preferences. Minor issue.
  • Cannot boot into Recovery mode. Solved.
  • Won't sleep after set time (system prefs). "HibernateMode" set to "Auto" in config & port mapping KEXTs, see below.
  • Cannot adjust volume of built-in-monitor speaker (DisplayPort)~~~~. Solved with software.
  • Some Motherboard RGB issues - Solved by USB Mapping.
  • Choosing to boot into Windows via Bios (F11) - I don't consider this much of an issue.
I will try to solve these issues in separate threads and update this one, but any help much appreciated! Any comments - e.g. on Kexts; do I need them all?! - are welcome too...

Not tested yet

  • Microphone jack on case.
  • FileVault - don't need that, probably won't test

Advice for interested people


  • -- PLEASE BE ADISED THAT THERE ARE NEWER VERSIONS OF OPENCORE AND THAT THE PATH BELOW (ESPECIALLY THE CONFIG CHANGES) MIGHT NOT WORK WITH OC VERSIONS AFTER 0.5.5!! -- For a working EFI folder for OC 0.5.6 see in the comments.

My Hackintosh configuration

  • OpenCore 0.5.5
  • macOS Catalina 10.15.3
  • The following EFI is on my OpenCore stick. There is also the latest macOS on there. If you go for DualBoot, keep this stick around & updated as Windows seems to be able to mess around with your EFI... With this stick you'll always be able to boot your Hackintosh and repair its EFI partition.
  • FULL EFI FOLDER: See in comments ("PlatformInfo" has to be populated in config.plist - see below... You can copy over the info from your current config. Also, my changes in DeviceProperties/Add might be a problem for your storage setup.)
  • OpenCore EFI files:
  • Config.plist: http://www.filedropper.com/configreddit EDIT: See comments (only use if exactly same components as me; see below. Change according to OpenCore Guide!! [PlatformInfo removed; Populate this yourself like this!] I'd advice you to make your own config.plist.) Changed with ProperTree strictly according to the OpenCore Guide. Differences to sample.plist:
    • Probably outdated: All of the following modifications are for OC 0.5.5. If you are on a later version of OC it is likely that these have changed!
    • 5 initial Warnings removed.
    • DeviceProperties/Add: Removed "PciRoot(0x0)/Pci(0x1b,0x0)" and "PciRoot(0x0)/Pci(0x2,0x0)" as well as their children
      • Added Key "PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)" as child of "Add" with Type "Directory". Added child beneath the just made child with name "built-in", type "Data" and value "01000000". To address drive issue above, see here.
    • Populated this config.plist with OC snapshot function of ProperTree (CMD/CTRL+R, point to EFI/OC/) . Adds KEXTs and SSDT.
    • Kernel/Emulate: Removed "CpuidMask" and "CpuidData" (were blank anyway).
    • Kernel/Patch: Ryzen/Threadripper(17h) Patch applied.
    • Kernel/Quirks:
      • "DummyPowerManagement" set to True
      • "ExternalDiskIcons" set to True
      • "PanicNoKextDump" set to True
      • "PowerTimeoutKernelPanic" set to True
      • "XhciPortLimit" set to True (set to False after USB mapping in step F)
    • Misc/Boot:
      • "HibernateMode" set "Auto" after USB mapping
    • Misc/Debug: Nothing changed.
    • Misc/Security:
      • "AllowNvramReset" set to True
      • "AllowSetDefault" set to True
      • "AuthRestart" left False
      • "RequireSignature" set to False
      • "RequireVault" set to False
      • "ScanPolicy" set to 0
    • Misc/Tools: Shell.efi added by the OC snapshot function.
    • NVRAM/7C436110-AB2A-4BBB-A880-FE41995C9F82:
      • "boot-args" set to "-v keepsyms=1 debug=0x100 agdpmod=pikera alcid=1"
      • "nvda_drv" set to <>
      • "prev-lang:kbd" set to my preferences. (Use "656E2D55 533A30" = HEX for keyboard layout "en-US:0"; find your own with a TEXT to HEX converter and this.
    • NVRAM/"WriteFlash" set to True,
    • PlatformInfo: Populated with info according to the Guide with GenSMBIOS. Went with a "iMacPro1,1". Found "Purchase Date not Validated" numbers after about 3 (x10) times.
    • UEFI/Drivers: Drivers auto-added by the OC snapshot function.
    • UEFI/Input:
      • "PointerSupport" changed to "Data" and set to <>
      • "PointerSupportMode" changed to "Data" and set to <>
    • UEFI/Protocols/"ConsoleControl" set to True
    • UEFI/Quirks:
      • "ProvideConsoleGop" set to True
      • "RequestBootVarFallback" set to True
  • Bios settings strictly according to the OpenCoreGuide:
    • Disabled:
      • "Fast Boot"
      • "CSM" [UEFI instead]
    • Enabled:
      • "EHCI/XHCI Hand-off"
      • "Above 4G decoding"

My process (only successful part)

(You'll need 3 USB sticks! 2 with at least 4GB, 1 with at least 8GB. I am not sure, whether the Linux Part is really necessary, or if the partitioning can also be done from the macOS or Win10 stick...)
A) The basic build
  1. Built PC.
  2. Installed Windows 10 from USB stick [8GB] (made from Microsoft Media Creation Tool, instructions here, don't forget to install in UEFI mode - see second link in 3.!). Did some fan adjustments in BIOS too... Keep that stick!
  3. Set up Windows 10, installed drivers (see here, here).
  4. Installed Python 3.7! (For SSDTTime, below. Don't get Python 3.8.1!)
Do not set up Windows too much yet, it will be deleted completely and reinstalled again.

B) Creating the OpenCore Stick
  1. Followed Snazzy Lab's Video (read its description!) to create the OpenCore stick, everything on the above Win10: (useful additional help: khronokernel and VanillaAMD and Github)
    1. (Maybe format your stick to GUID HFS+ via Linux or Mac first... See Github.)
    2. Downloaded latest macOS via gibMacOs.bat (Recovery package!) (Admin privileges needed!). Update 7zip first for step B)1.II. and B)1.III. and use a Lan connection!
    3. Made a bootable install of that via Makeinstall.bat (Number + o) (Admin privileges needed!).
    4. Opened the EFI folder on the now newly made USB stick.
    5. Deleted everything (3 files) in EFI/OC/Drivers/, except FwRuntimeServices.efi.
    6. Deleted everything (2 files) in EFI/OC/Tools/.
  2. Put in the following drivers from AppleSupportPkg on the stick to EFI/OC/Drivers/:
    1. ApfsDriverLoader.efi
    2. VBoxHfs.efi
  3. Put KEXT and SSDT and Drivers on the stick:
    1. For troubleshooting afterwards - while booting from the stick - consult: khronokernel/troubleshooting!!
    2. Put the above KEXTs on the stick, all in EFI/OC/Kexts (instructions: khronokernel, more kexts: onedrive).
    3. Put the following SSDTs on my stick (into OC/ACPI)
      1. See above! SSDTTime not needed.
    4. Created config.plist with ProperTree (search with crtl+f!) (full instructions: khronokernel plus config documentation mentioned above in B)3.a.!!):
      1. Renamed "simple.plist" in the downloaded OpenCorePkg folder to "config.plist" and copied it over to the stick into EFI/OC/.
      2. Open Propertree.bat (Admin privileges maybe needed!) and opened said config.plist via the menu bar "File" of proper tree.
      3. Created my own config via "OC snapshot" in the menu bar "File", navigated to EFI/OC of my stick.
      4. Patched my config with patches.plist from AMD_Vanilla (17h): Open simultaneously in ProperTree. (See Snazzy Laps Video and this on how!)
    5. Edited config.plist, followed Vanilla Guide/amd-config.plist (partly later because of errors): See above!
    6. Saved via menu bar "File".

C) Created bootable Linux stick and made partitions on my internal SSD for dual boot (I was recommended this procedure here), install macOS:
  1. Still in Windows 10: Followed the Ubuntu Tutorial to make another stick.
  2. Shut down Windows 10.
  3. Booted again, with the OpenCore Stick connected, temporarily changed the boot partition with F11 and chose my stick (some of the above mentioned config.plist changes were applied AFTER this step, because certain errors occured):
  4. Got to the boot picker and reset NVRAM.
  5. Restarted the same way and chose the macOS installer (Step 3).
  6. Went into the macOS installer's Disk Manager. Formatted the whole internal SSD (maybe ExFat? Probably doesn't matter) and made two partitions for macOS (APFS) and Windows (don't remember what, maybe ExFat?, doesn't matter)
  7. Exit the Disk Manager and enter the installer. Install macOS. Maybe create a backup of that.
  8. Do this: Especially the EFI copying! How to mount the EFI partition on macOS.
  9. Shut down.

E) Created Windows:
  1. Booted into Linux, via Stick.
  2. Got synaptic and hfsprogs for Linux:
    1. Searched the Programs for "Software & Updates". Enable second option: Community-maintained free and open-source software (universe). "Close" this window and let it do it's download.
    2. Opened Terminal (Ctrl+Alt+T), entered:
      1. sudo apt-get update
      2. sudo apt-get install synaptic
      3. sudo apt-get install hfsprogs (not needed anymore?!)
  3. Searched for "Disks". Designated the 200MB partition from above as EFI (I believe via the cog wheels > Format Partition). Close that window.
  4. Searched in progs for "GParted":
    1. Format the second, partition to NTFS.
    2. (You should see three partitions on your internal SSD: EFI, Mac (APFS - probably unrecognised) and Windows)
  5. Shut down Linux.
  6. Boot with Windows Stick connected into the Windows installer.
  7. Install Windows on that NTFS partition.
  8. (Mac and Windows will write their EFI on the same partition! Keep at least your OpenCore Stick!!)
F) Finished. Set up both machines (Windows: here and here) completely!! :D
  • Mapped my ports by removing the XHC0 controller with this kext completely (lost two ports in the process, but that's ok) and (optionally) mapped the PTXH controller with this kext (you might have to adjust this!). For why, see here. See here and here, too!
  • Disabled OpenCore logging: Values set to 0. (In config above not included!)
  • Found "valid" SMBIOS numbers, fixed iServices according to this. (In config above not included!)
  • Didn't enable FileVault or OpenCore Security Features yet... Probably won't.
submitted by CrayCJ to hackintosh [link] [comments]

MAME 0.216

MAME 0.216

With the end of November in sight, it’s time to check out MAME 0.216! We’ve addressed the reported issues with last month’s bgfx update, and made a whole lot of little improvements to MAME’s internal user interface. In particular, setting up controls should be easier, and several issues affecting macOS users with non-English number format settings have been fixed. Some of the issues caused bad settings to be written to INI files. If you still don’t see the filter list panel on the system selection menu, try removing the ui.ini file.
This month, we’re able to present two unreleased 1970s prototypes from Italian developer Model Racing: their internal code names are Cane and Orbite. With the assistance of former Model Racing employees, the source code was extracted from the original disks. These games are incomplete, but they provide a unique look into early CPU-based arcade development. Game & Watch titles continue to be emulated, with the addition of Mario The Juggler, and the panorama screen Mickey Mouse and Donkey Kong Circus games in this release.
This release brings GameKing emulation to MAME. The system-on-a-chip used in this low-cost, low-resolution hand-held console from the early 2000s has been identified and emulated. Games for the colour-screen GameKing III are also playable. Acorn BBC Micro emulation has been re-worked to support internal expansion boards, and a number of additional peripherals are now available. ZX Spectrum emulation has been enhanced with better open bus read behaviour and support for two Miles Gordon Technology peripherals.
Of course, these are just the highlights. You can get the source and Windows binary packages from the download page.

MAMETesters Bugs Fixed

New working machines

New working clones

Machines promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions

Source Changes

submitted by cuavas to emulation [link] [comments]

Options Trading Basics EXPLAINED (For Beginners) - YouTube Trading Binary Options Beginners Training To $500 Per Hour ... Binary Options book pdf for Dummies - YouTube NEVER LOSE 100% win Awesome Oscillator Indicator BINARY OPTION STRATEGY Strategies - 7 Binary Options for Dummies - YouTube

Binary options is one of the riskiest markets out there so it's a good idea to deal with local platforms that are registered in your home country. Most platforms require you to make a certain amount of trades before funds are released. Another hint is to not get into the market trying to become rich quickly as this is a recipe for disaster. Binary Options Trading for Dummies. Posted on June 20, 2017 by admin. Binary Options Trading is an interesting and novel method in financial markets. It has the term binary in it because as a trader, you are left with only two options in binary trading. Though as this may seem like a risky business, it’s predictable and with a certain amount ... Binary Options for Dummies? Without assets to trade the binary options market would not exist. Imagine a marketplace without a market. This wouldn’t make any sense. However, there are dozens of assets to trade on a daily basis. With binary options, you can trade all of the major currency pairs, stocks, indices, and commodities. Binary options basics are helpful to understand how they work. You do not need any binary trading for dummies pdf to understand it. Beginners guide to binary options trading. This is a short and simple binary options tutorial.They are easy to understand.This is why they are growing fast.They are easy for the beginners. Binary options demo accounts are the best way to try both binary options trading, and specific brokers’ software and platforms – without needing to risk any money. You can get demo accounts at more than one broker, try them out and only deposit real money at the one you find best.

[index] [3685] [4198] [979] [2042] [2280] [2702] [510] [3046] [3627] [5137]

Options Trading Basics EXPLAINED (For Beginners) - YouTube

https://binaryoptionsbeat.com/ #Binaryoptions #Nadex #Nadextutorial You can always contact me via [email protected] In this video I tried to explain ... USA Friendly Broker: https://secure.raceoption.com/tiny/dNeIk Graphic Trends Charts: https://www.investing.com/charts/forex-charts You make 30 minute trades ... and some learning about binary options trading for beginners as well as binary options trading for dummies, which associate with trading binary options on stocks. Get one projectoption course for FREE when you open and fund your first tastyworks brokerage account with more than $2,000: https://www.projectoption.com/fre... Are binary options a good idea? If you're thinking about trading binary options, watch this video first. Let's go through the truth about binary options. Is ...

#