Calculating Pips in Binary Options - Demystifying Currency ...

Fallout 4 feels to me like a huge, shallow time sink with no payoff and not enough memorable things. [POTENTIAL FALLOUT 4 STRUGGLE SESSION]

I've spent about 60 hours on Fallout 4 in the last few weeks, and I've finally realised that Bethesda games are enormous time wasters. At least Fallout 4 and Skyrim are. The complaints below might be anodyne to a lot of the people here, or they might be very controversial, but these things are hitting me particularly hard while replaying Fallout 4. I've played it before, but having spent so much time with it recently, the realisation has dawned on me more harshly.
Bethesda build these amazing worlds with so much detail and complexity to them, only to inundate you with hours of fetch quests, bore you with a main quest that has no substance, and have you follow a map marker to the detriment of the world they’ve built. They encourage you to look down at the bottom of the screen to the degree that you never have to actually look around at the world to try and find a solution to whatever problem the game throws at you. Even if you turn the objective marker off, the problem that the games have is that 1) some quests require you to know the exact location of an item for you to progress and 2) you're incentivised to look at the bottom of the screen to find new locations to explore instead of just stumbling across them naturally (or with the help of your Pip-Boy map). You're not encouraged to just look at the world. You're not encouraged to memorise the landscapes or routes from one location to another. The fast travel isn't the problem here, either. It has everything to do with the way the game pushes you to walk in one direction nonstop until you reach your objective, and the way new locations are shown to you before you even find them. It's hard to call this "distracting" when it's a fundamental way the game is constructed. You're meant to look at the bottom of the screen. They clearly want your eyes there at all times.
Another problem I have is that almost no companion in either Fallout 4 has a legitimate reason to follow you or feels motivated - ideologically or opportunistically - to do so. I can’t recall a single one of them struggling to have a reason to follow you and just doing it because that’s what the game expects of them. While this problem extends to Skyrim, I want to keep the complaints to Fallout 4 since that's the topic of the sub. Preston has possibly the best reason to follow you: You saved his life and the lives of his friends, and he has nothing else to fight for after the Minutemen are disbanded and his friends find safe haven in Sanctuary. So he doesn't bug me that much. But Piper follows you for basically no reason, because you answer some questions. Does she require you to find her a scoop for her newspaper, or uncover dirt on the mayor? Nope. Nick Valentine kind of abandons his job to follow you after he does a job for you, which makes it seem like he doesn't actually have a full-time job with an employee working for him; he doesn't even require your assistance to work through a different job before he agrees almost unconditionally to follow you. Paladin Danse following a wastelander - even one that helped him in a rough spot - makes even less sense because that's the sort of shit that if his commanders found out about they'd probably reprimand him. They fucking hate Paladins associating with wastelanders. This is established canon. Deacon immediately likes you despite knowing very little about you and requires no convincing for him to follow you. John Hancock is pretty similar. There's just no depth to these companions and even though they all have distinct personalities, the lack of conflict and the lack of conversation options makes them feel very boring and bland. They're fun and entertaining but only on a surface level.
What annoys me more about this is that they will idolise you if you do enough odd tasks to placate them. Pick a bunch of locks with Piper around? She'll sleep with you after you pass a speech check. Use chems around Hancock? He'll tell you what a hip, rad person you are with basically no effort on my part as a player. Just be an asshole to everybody with Cait around? She will fall in love with you. It's so stupid to me. Again, Preston is the one whose affection for the player makes the most sense and requires the most effort; you have to do a lot of pro-Minutemen quests or do a lot of good deeds and stand up to shitty people for him to like you. His loyalty feels earned, and he's pretty much the only one that applies to. But I honestly don't think the level of trust applies to the other characters. They trust you if you just do enough random things they like. They'll spill their guts to you or sleep with you despite having few conversations with them and not helping them with any personal problems. Give Piper a pep talk about her sister, and you're all set. It's frustratingly shallow.
Literally nothing in this game comes anywhere close to earning Cass's or Boone's or Arcade's or Veronica's trust in Fallout: New Vegas. It's honestly kind of a joke by comparison. Those characters won't just follow you for any reason. You can't just twiddle your thumbs to make Boone follow you. You have to help him meaningfully, and even then he only leaves because he doesn't trust anybody and wants to be gone. Veronica follows you only after she senses you aren't hostile to the Brotherhood of Steel, and because she wants a traveling companion. There are explicit and clear reasons why people follow you in that game. And if you want to earn their trust and get them to live in the endgame with relative peace, you need to do an enormous amount to do so. And if you don't want to help them? If you dislike them and don't want anything to do with them? You can literally kill them yourself. The game gives you that option. With Fallout 4 the character relationships feel arbitrary and meaningless, like there's no weight to the beliefs or decisions of anybody. It doesn't help that every character is potentially bisexual and you can technically fuck every single one of them. Just throw on some Fashionable Glasses, drink some alcohol, and wear some fancy clothes, and passing their speech checks is easy. You can coerce people in this game to do things easily.
Which I guess brings me to the fact that there is almost no capacity to roleplay in this ostensibly roleplaying game. You don't have to make sacrifices to accomplish goals, and you don't have to choose a specific path. You can pretty much do anything you want with few limitations, which sounds freeing and liberating, but it actually removes the whole idea of playing a role from a series that has emphasised that for years. An RPG where you can pretty much do anything without risking alienating most people in the world because you chose one side over another is not really an RPG. And when you get around to interacting with people, the dialogue choices are limited as hell, you can't kill essential characters like Preston (which makes saving or helping him a foregone conclusion), questlines play out in an incredibly boring and linear fashion, and outside of a few moments the game doesn't actually give you a lot of room to decide the outcome of major incidents. You don't even have to actually choose one group over another when it comes to combating the Institute. The endings are simplistic and practically binary. I know it's a bit of a meme to compare the choices you have in other Fallout games with this one, and the consequences of those choices, but you have no room to roleplay as a person you want to be in this game. High or low INT doesn't impact the dialogue or speech checks. High or low charisma impacts things minimally. You're pretty much going to have 1 of 2 conversations every time you talk with anybody about anything. Even when you come to the crossroad where you have to choose a side in the main conflict of the game, you can play your cards right and bring everybody together, which sounds good in theory, but it isn't earned in a way that makes the opposing sides set aside their conflict. Ideology dissolves under the weight of the player making decisions that has fuckall to do with these people and their opposition to one another, and it makes it seem like the Minutemen, Brotherhood, and Railroad opposing one another in any way is baseless and petty. There's just nothing to these conflicts. If the characters in your game set aside their differences because the player did 1 thing, then you haven't written compelling conflicts. You've written lousy artifices to trick people into being motivated into bringing them together (which is insultingly easy) or choosing one side over another (which you don't actually need to do).
The settlement minigame is kind of cool, but ultimately pointless. The game doesn't change the least bit whether you decide to build settlements or not. There's no reward to it, and very rarely do you need to build settlements to unlock questlines or get a character to like you. It all feels so damn hollow and pointless. For a game that demands so much time from the player to do things, there's nowhere near enough payoff to justify it. I could just go play Rust or Minecraft or another type of game for a more thorough and less frustrating experience building settlements.
So yeah, that's how I feel about Fallout 4, and even Skyrim for the most part. They're big beautiful time wasters with no real substance. I remember next to nothing about Skyrim after spending a hundred hours in it and while I remember more about Fallout 4, I don't remember being challenged in any meaningful way. I mostly remember shambling from place to place, helping settlement after settlement with raiders and super mutants, until I got bored and went off to Diamond City to fuck around with the main quest that I found underwhelming, and meeting people who don't force me to analyse their beliefs or my own. The conflicts are mostly petty, the quests I'm given feel like tedious chores, and it's all an excuse to get you to explore the world that they ultimately don't even want you to look at because they force your eyes down to the bottom of the screen. It's numbing, repetitious, and draining. I feel part of my soul dying the more I play either one of these games.
Apologies for the melodrama of the writing by the end there, but I'm very frustrated with this game and don't think I'm gonna play it further. I really don't feel like there's a point to anything. I'm becoming a nihilist thanks to this game.
submitted by DouggieMohamJones to Fallout [link] [comments]

A LONG"Rant" About the Talents System

Ay yo, it’s everybody’s least-favourite user, comin’ atcha with another long-ass pseudo-essay that nobody asked for. This time, the topic is on talents.
What is the Talent system?
The talent system is one of the primary features of Paladins that sets it apart from its… competitors. At the beginning of each match, each player is allowed to select 1 talent from 3 to boost their champion. This talent chosen will usually synergize with the player’s chosen loadout, and will alter the champion’s performance in some way.
I feel the Talents system is incredible. It allows each champion to fill a variety of different roles and have various methods of filling the roles they already have. Essentially, the talents system allows one to customize their champion and make them more unique to the user, or allowing the user to adapt to various situations (team compositions).
So why the rant?
Not all talents are created equal-- not even close. Before I go on, I’d like to establish what (in my opinion) makes a talent great, good, alright, or blasphemous. Note that this doesn’t necessarily correspond to the strength of the talent, only the talent’s creativity or individuality of its design.

A GREAT talent should be able to recontextualize a champion’s entire kit.

A great talent doesn’t just change a champion’s playstyle, it can change their entire ROLE. However, this must be done carefully, in such a way that the champion’s base kit and/or available cards remain largely relevant. The cards from the champion’s loadout should remain impactful, but perhaps focus can be placed on other cards that may not have been used otherwise, or using already-utilized cards differently.
Undoubtedly, two of the best examples of this would be Pip’s Catalyst and Seris’ Soul Collector. Catalyst causes enemies slowed by Pip’s weapon shots to take an additional 30% damage from his primary attacks, and Soul Collector gives up to 15 2% boosts to Seris’ maximum health and primary attack damage for each Soul Charge she detonates.
No matter how you feel about these talents, there is a clear difference between a Soul Collector Seris and a stock/Mortal Reach Seris, or a Catalyst Pip and a stock/Mega Potion Pip.
Namely, that they’re dunking on you.
One of the most notable things about these talents is that, again, the champions’ cards remain relevant. I play much more Seris than Pip, so I feel much safer discussing her cards.
ALL BUT ONE of Seris’ cards (Soul Forge) remain relevant when she picks Soul Collector. Even if she chooses to play a more aggressive build, her Restore Soul cards remain relevant. The ability may no longer be the Seris’ primary focus, but its cards allow it to potentially remain relevant by providing ammo without reloading, providing healing to her on a short cooldown, or reducing the lengthy 14s base cooldown of Shadow Travel.
Even the cards not related to Restore Soul gain new roles: Umbral Gait goes from allowing Seris to retreat more quickly from advancing enemies to also allowing her to close the distance between her and her target(s) with a *massive* speed boost of up to 40%. Essence Rip and Wickedness allow her to combat the crippling presence of Cauterize later in the round by improving her only self-sustain when on her own, allowing her to engage more confidently.
This is, to me, the best talent in the game, just for how much it puts a twist on an otherwise simple champion, all while keeping her coherent. Well done, Evil Moji. Well done indeed.

A GOOD Talent recontextualizes a single ability.

A step below changing the entire kit of a champion, some talents change how a single ability is used. Examples of this include Maeve’s Rogue’s Gambit, Furia’s Solar Blessing, Vivian’s Booby Traps, (arguably) Makoa’s Half Shell, Pip’s Combat Medic, and Skye’s Grade A Medicinal Kush Smoke and Dagger. These are distinguished from the category below them by actually *changing how the ability is used.\* Simply improving a talent’s ability to do what it already does does not count for this.
Maeve’s Rogue’s Gambit provides a small 10% damage boost to Pounce, but more notably resets its cooldown whenever she gets an elimination or killing blow. This allows for better dives through more reliable escape, but also improves her mobility greatly, especially if the player is skilled. It allows her to be a bit more loose with the otherwise fairly harsh possibility of having to expend her lengthy 20s cooldown of Nine Lives to escape, and can be the thing that allows great Maeves to play The Floor is Lava for what feels like the whole match.
Vivian’s Booby Traps is simple: Drones go boom. It gives her a form of damage outside of shooting her gun at her opponent, and grants a bit of burst (as though she needed that), but also some fairly-reliable AoE damage. It incentivises using her drones multiple times during a fight rather than relying on a single pre-placed one as the drones will go boom, requiring her to replace them if she wants to continue gaining benefits from any reveal-based cards that may be in her loadout.
Furia’s Solar Blessing is perhaps the strongest example of recontextualizing an ability, simply due to how drastic the change is. It changes her Pyre Strike from being a primarily defensive CC tool to being an extremely powerful healing ability. This comes at the cost of her often casting it when she’s not being attacked, potentially leaving her more vulnerable to flanks until it’s off cooldown. Likewise, if she uses to fight off a flank, she’s now missing the ability to burst-heal her tank back from the brink of death to near-full. A trade-off of self-defence or support. Nice.

An OK talent simply focuses on an ability, without changing its use very much.

This primarily means that X talent is now better at doing whatever it already did. Buck already likely uses Heroic Leap to engage; Bounce House just makes it a better tool to do so. Seris was already going to use Restore Soul to heal; Mortal Reach just improved its restorative capabilities. Inara was probably already going to use Warder’s Field to impede movement; Treacherous Ground just makes that infinitely easier.
These talents are… fine. They’re often the ‘meta’ talents for champions (think Mega Potion, Bounce House, Luminary, etc.), and I believe that’s because they’re the ‘safe” options. They improve on what’s already there, and make the champion better at doing whatever they already do. It just makes sense that a talent to make a tank even tankier is going to be a common pick, right?
These talents are, again, fine. They’re usually not overly offensive, and the worst thing about them will likely be that the numbers are a bit too high or low. Uncreative, but it’s not a crime to have most/every champion have a talent to improve their performance at their base job.

A BAD/SHIT talent focuses on a champion’s primary, without changing its use very much.

Let me specify: a bad talent likely focuses on the champion’s primary attack, adding some bonus effect (usually damage). It doesn’t particularly encourage the champion to do much else than what they’d do without the talent.
You may be able to see where I’m going with this. Drogoz’ Fusillade, Vivian’s Opportunity in Chaos, Willo’s Blastflower, Pyromania in its pre-Vora state, and probably some others all fall under this category. Basically, if you can’t tell the champion is using a particular talent as opposed to not using a talent at all by anyway except your health bar drops faster, it’s probably a shit talent.
But wouldn’t this include Lex’s Death Hastens, Jenos’ Binary Star and Androxus’ Cursed Revolver?
Well… kind of. These talents, particularly the former and latter, are notably special cases. While they do focus on the weapons, they change them in such a way that more focus is placed on aim and allowing greater opportunities to headshot. A difference between these three and their stock variants can easily be felt. What distinguishes Death Hastens and Cursed Revolver further is that they serve as sorts of fanservice, restoring their respective champions to older states for players who preferred these slow-firing and more accuracy-dependent forms. Whether you wish to include these talents in this category is up to you, but I’d personally just put them off to the side.
The running theme here is change and identity. How much change can I feel when I play this talent? What identity does this talent establish for the champion, and possibly even for the player playing them? If the talents and card systems exist to customize a champion to a specific playstyle, the talent shouldn’t just make X ability Y% better at doing Z than it was before. There’s a very fine line between the criteria on this list for a good talent and a shit one, and one that may not be possible to explain with words.
So, what the hell was the point of you writing all this?
Hopefully, to gather feedback and see how correct people feel these criteria are. If positively received, I’d love for more talents to take routes that would lead them to being higher up on this list. If every talent changed the champion’s playstyle to the extent of Soul Collector and Catalyst, I feel this game would be infinitely closer to reaching its maximum potential, gaining customizability and potential creativity among playstyles perhaps rivalling the likes of TF2 (if we aren’t there already).
As long as uncreative (damage) talents such as Fusillade, Opportunity in Chaos, and Blastflower exist, though, I feel like the game is not living up to its full potential. At the very least, I would like to see these bland talents reworked.
submitted by SpiritualBanana1 to Paladins [link] [comments]

ESP8266 development on OpenBSD with platformio

I got platformio running on OpenBSD-current (it should work with older releases, too) and was able to compile a firmware for my ESP8266 NodeMCUv2. I haven't uploaded it to the board, yet, since it's still somewhere in the attic. Will test this soon and update this post. I guess it'll just work.


You have to install the packages arduino-esp8266 and py3-pip:
# pkg_add arduino-esp8266 py3-pip 
And install platformio via pip:
# pip install platformio 

create project

The next steps were done as non-root user.
Now, create your project folder:
$ mkdir -p ~/code/myproject $ cd ~/code/myproject 
and initialize a platformio project:
$ pio init 
It should look something like this:
$ ls -la total 64 drwxr-xr-x 6 lotherk lotherk 512 Nov 1 09:02 . drwxr-xr-x 28 lotherk lotherk 1536 Nov 1 09:02 .. -rw-r--r-- 1 lotherk lotherk 5 Nov 1 09:02 .gitignore drwxr-xr-x 2 lotherk lotherk 512 Nov 1 09:02 include drwxr-xr-x 2 lotherk lotherk 512 Nov 1 09:02 lib -rw-r--r-- 1 lotherk lotherk 364 Nov 1 09:02 platformio.ini drwxr-xr-x 2 lotherk lotherk 512 Nov 1 09:02 src drwxr-xr-x 2 lotherk lotherk 512 Nov 1 09:02 test 
Now start writing code in src/main.cpp:
#include  #include  void setup() { } void loop() { } 
And edit platformio.ini:
[platformio] default_envs = nodemcuv2 [env:nodemcuv2] platform = espressif8266 framework = arduino board = nodemcuv2 
Please see the official Documention for which platform, framework or board you might need. Remember, this is all for esp8266 chips.

first build

It's now time for the first build, which will very likely fail:
$ pio run 
This will give you:
Processing nodemcuv2 (platform: espressif8266; framework: arduino; board: nodemcuv2) -------------------------------------------------------------------------------- Tool Manager: Installing toolchain-xtensa @ ~2.40802.191122 Error: Could not find the package with 'toolchain-xtensa @ ~2.40802.191122' requirements for your system 'openbsd_amd64' 
Researching this error led me to What @trombik did was creating a fake platformio package with symlinks to the right files on the system. In his case it was FreeBSD but I tried it anyway. It mostly worked out of the box, I just had to symlink the xtensa-lx106-elf-* binaries from /uslocal/bin into the package. I created my own fake package for OpenBSD at
Clone the repository and place it to ~/.platformio/packages/toolchain-xtensa. It is important to name the folder toolchain-xtensa! Ensure that xtensa is installed, but it should come with the arduino-esp8266 package:
$ pkg_info |grep xtensa xtensa-lx106-elf-binutils-2.32 binutils for xtensa-lx106-elf cross-development xtensa-lx106-elf-gcc-5.2.0 gcc for xtensa-lx106-elf cross-development xtensa-lx106-elf-newlib-2.1.0p0 newlib for xtensa-lx106-elf cross-development 
Now change to the directory and run, which will create all the symlinks you need.
$ cd ~/.platformio/packages/toolchain-xtensa/ $ ./ 
Back to our project and re-run pio:
$ cd ~/code/myproject $ pio run 
This time it does a lot more, but now fails complaining it can't find tools-esptool:
Processing nodemcuv2 (platform: espressif8266; framework: arduino; board: nodemcuv2) ----------------------------------------------------------------------------------- Tool Manager: Installing framework-arduinoespressif8266 @ ~3.20704.0 Tool Manager: Warning! More than one package has been found by framework-arduinoespressif8266 @ ~3.20704.0 requirements: - platformio/framework-arduinoespressif8266 @ 3.20704.0 - jason2866/framework-arduinoespressif8266 @ - tasmota/framework-arduinoespressif8266 @ Tool Manager: Please specify detailed REQUIREMENTS using package owner and version (showed above) to avoid name conflicts Unpacking [####################################] 100% Tool Manager: framework-arduinoespressif8266 @ 3.20704.0 has been installed! Tool Manager: Installing tool-esptool @ <2 Tool Manager: Warning! More than one package has been found by tool-esptool @ <2 requirements: - platformio/tool-esptool @ 1.413.0 - volcas/tool-esptool @ 1.413.1 Tool Manager: Please specify detailed REQUIREMENTS using package owner and version (showed above) to avoid name conflicts Error: Could not find the package with 'tool-esptool @ <2' requirements for your system 'openbsd_amd64' 
Fortunately this is as easy as fixing toolchain-xtensa. I've created a fake package for esptool aswell. esptool must be installed, tho. Which it already should be because of the arduino-esp8266 package. Clone to ~/.platformio/packages/tool-esptool (naming is important...) and run as you've done with the toolchain-xtensa package.
Rerun pio and it should compile now:
$ cd ~/code/myproject $ pio run Processing nodemcuv2 (platform: espressif8266; framework: arduino; board: nodemcuv2) -------------------------------------------------------------------------------- Verbose mode can be enabled via `-v, --verbose` option CONFIGURATION: PLATFORM: Espressif 8266 (2.6.2) > NodeMCU 1.0 (ESP-12E Module) HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash PACKAGES: - framework-arduinoespressif8266 3.20704.0 (2.7.4) - tool-esptool 0.1.0 - tool-esptoolpy 1.20800.0 (2.8.0) - toolchain-xtensa 2.40802.191122 (4.8.2) LDF: Library Dependency Finder -> LDF Modes: Finder ~ chain, Compatibility ~ soft Found 29 compatible libraries Scanning dependencies... Dependency Graph |--  1.0 Building in release mode Compiling .pio/build/nodemcuv2/src/main.cpp.o Generating LD script .pio/build/nodemcuv2/ld/ Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/BearSSLHelpers.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/CertStoreBearSSL.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/ESP8266WiFi.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/ESP8266WiFiAP.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/ESP8266WiFiMulti.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/ESP8266WiFiSTA.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/ESP8266WiFiScan.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/WiFiClient.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/WiFiClientSecureAxTLS.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/WiFiServer.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/WiFiServerSecureAxTLS.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o Compiling .pio/build/nodemcuv2/lib74a/ESP8266WiFi/WiFiUdp.cpp.o Archiving .pio/build/nodemcuv2/libFrameworkArduinoVariant.a Indexing .pio/build/nodemcuv2/libFrameworkArduinoVariant.a Compiling .pio/build/nodemcuv2/FrameworkArduino/Crypto.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/Esp-frag.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/Esp-version.cpp.o Archiving .pio/build/nodemcuv2/lib74a/libESP8266WiFi.a Indexing .pio/build/nodemcuv2/lib74a/libESP8266WiFi.a Compiling .pio/build/nodemcuv2/FrameworkArduino/Esp.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/FS.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/FSnoop.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/FunctionalInterrupt.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/HardwareSerial.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/IPAddress.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/MD5Builder.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/Print.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/Schedule.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/StackThunk.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/Stream.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/StreamString.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/Tone.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/TypeConversion.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/Updater.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/WMath.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/WString.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/abi.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/base64.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/cbuf.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/cont.S.o Compiling .pio/build/nodemcuv2/FrameworkArduino/cont_util.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_app_entry_noextra4k.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_eboot_command.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_features.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_flash_quirks.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_flash_utils.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_i2s.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_main.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_noniso.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_phy.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_postmortem.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_si2c.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_sigma_delta.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_spi_utils.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_timer.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_waveform.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_wiring.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_wiring_analog.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_wiring_digital.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_wiring_pulse.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_wiring_pwm.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_wiring_shift.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/crc32.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/debug.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/flash_hal.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/gdb_hooks.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/heap.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/libb64/cdecode.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/libb64/cencode.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/libc_replacements.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/sntp-lwip2.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/spiffs/spiffs_cache.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/spiffs/spiffs_check.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/spiffs/spiffs_gc.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/spiffs/spiffs_hydrogen.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/spiffs/spiffs_nucleus.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/spiffs_api.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/sqrt32.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/time.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/uart.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/umm_malloc/umm_info.c.o Compiling .pio/build/nodemcuv2/FrameworkArduino/umm_malloc/umm_integrity.c.o Compiling .pio/build/nodemcuv2/FrameworkArduino/umm_malloc/umm_local.c.o Compiling .pio/build/nodemcuv2/FrameworkArduino/umm_malloc/umm_malloc.cpp.o Compiling .pio/build/nodemcuv2/FrameworkArduino/umm_malloc/umm_poison.c.o Archiving .pio/build/nodemcuv2/libFrameworkArduino.a Indexing .pio/build/nodemcuv2/libFrameworkArduino.a Linking .pio/build/nodemcuv2/firmware.elf Retrieving maximum program size .pio/build/nodemcuv2/firmware.elf Checking size .pio/build/nodemcuv2/firmware.elf Building .pio/build/nodemcuv2/firmware.bin Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [=== ] 32.7% (used 26776 bytes from 81920 bytes) Flash: [== ] 24.6% (used 256780 bytes from 1044464 bytes) Creating BIN file ".pio/build/nodemcuv2/firmware.bin" using "/home/lotherk/.platformio/packages/framework-arduinoespressif8266/bootloaders/eboot/eboot.elf" and ========================= [SUCCESS] Took 70.35 seconds ========================= 
Et voila, you've compiled a firmware for your esp8266 chip on OpenBSD.
Uploading the firmware should only be a matter of configuring the right serial port in platformio.ini. As soon as I get mine from the attic, I will try it and update this post.

Edit: spelling
submitted by lotherk to openbsd [link] [comments]

I get an error when trying to install OpenCV to Python 3.9

Hi guys, as you see in the title, my problem is about installing OpenCV on my Windows 10 machine. I searched through internet but cannot found working solution. As I read all solutions, my guess is Python 3.9 not support OpenCV yet but I wanted to make sure if I'm right. Then if I'm right, what should I do? I want to learn OpenCV and I need to use for learning.
My Python version is 3.9, and I'm using Pycharm if you are interested.
I tried this for installing:
pip install opencv-python 
Then I get this error:
ERROR: Command errored out with exit status 1: command: 'c:\users\gamer\appdata\local\programs\python\python39\python.exe' 'c:\users\gamer\appdata\local\programs\python\python39\lib\site-packages\pip' install --ignore-installed --no-user --prefix 'C:\Users\gamer\AppData\Local\Temp\pip-build-env-gx1t9ptn\overlay' --no-warn-script-location --no-binary :none: --only-binary :none: -i -- setuptools wheel scikit-build cmake pip 'numpy==1.11.3; python_version=='"'"'3.5'"'"'' 'numpy==1.13.3; python_version=='"'"'3.6'"'"'' 'numpy==1.14.5; python_version=='"'"'3.7'"'"'' 'numpy==1.17.3; python_version>='"'"'3.8'"'"'' cwd: None Complete output (310 lines): Ignoring numpy: markers 'python_version == "3.5"' don't match your environment Ignoring numpy: markers 'python_version == "3.6"' don't match your environment Ignoring numpy: markers 'python_version == "3.7"' don't match your environment Collecting setuptools Using cached setuptools-50.3.2-py3-none-any.whl (785 kB) Collecting wheel Using cached wheel-0.35.1-py2.py3-none-any.whl (33 kB) Collecting scikit-build Using cached scikit_build-0.11.1-py2.py3-none-any.whl (72 kB) Collecting cmake Using cached cmake-3.18.2.post1-py3-none-win_amd64.whl (34.7 MB) Collecting pip Using cached pip-20.2.4-py2.py3-none-any.whl (1.5 MB) Collecting numpy==1.17.3 Using cached (6.4 MB) Collecting distro Using cached distro-1.5.0-py2.py3-none-any.whl (18 kB) Collecting packaging Using cached packaging-20.4-py2.py3-none-any.whl (37 kB) Collecting pyparsing>=2.0.2 Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67 kB) Collecting six Using cached six-1.15.0-py2.py3-none-any.whl (10 kB) Using legacy ' install' for numpy, since package 'wheel' is not installed. Installing collected packages: setuptools, wheel, distro, pyparsing, six, packaging, scikit-build, cmake, pip, numpy Running install for numpy: started Running install for numpy: finished with status 'error' ERROR: Command errored out with exit status 1: command: 'c:\users\gamer\appdata\local\programs\python\python39\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\gamer\\AppData\\Local\\Temp\\pip-install-z884oy5x\\numpy\\'"'"'; __file__='"'"'C:\\Users\\gamer\\AppData\\Local\\Temp\\pip-install-z884oy5x\\numpy\\'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);'"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\gamer\AppData\Local\Temp\pip-record-3iwjg99e\install-record.txt' --single-version-externally-managed --prefix 'C:\Users\gamer\AppData\Local\Temp\pip-build-env-gx1t9ptn\overlay' --compile --install-headers 'C:\Users\gamer\AppData\Local\Temp\pip-build-env-gx1t9ptn\overlay\Include\numpy' cwd: C:\Users\gamer\AppData\Local\Temp\pip-install-z884oy5x\numpy\ Complete output (277 lines): Running from numpy source directory. Note: if you need reliable uninstall behavior, then install with pip instead of using ` install`: - `pip install .` (from a git repo or downloaded source release) - `pip install numpy` (last NumPy release on PyPi) blas_opt_info: blas_mkl_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries mkl_rt not found in ['c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\libs'] NOT AVAILABLE blis_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries blis not found in ['c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\libs'] NOT AVAILABLE openblas_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries openblas not found in ['c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\libs'] get_default_fcompiler: matching types: '['gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95', 'intelvem', 'intelem', 'flang']' customize GnuFCompiler Could not locate executable g77 Could not locate executable f77 customize IntelVisualFCompiler Could not locate executable ifort Could not locate executable ifl customize AbsoftFCompiler Could not locate executable f90 customize CompaqVisualFCompiler Could not locate executable DF customize IntelItaniumVisualFCompiler Could not locate executable efl customize Gnu95FCompiler Could not locate executable gfortran Could not locate executable f95 customize G95FCompiler Could not locate executable g95 customize IntelEM64VisualFCompiler customize IntelEM64TFCompiler Could not locate executable efort Could not locate executable efc customize PGroupFlangCompiler Could not locate executable flang don't know how to compile Fortran code on platform 'nt' NOT AVAILABLE atlas_3_10_blas_threads_info: Setting PTATLAS=ATLAS No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries tatlas not found in ['c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\libs'] NOT AVAILABLE atlas_3_10_blas_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries satlas not found in ['c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\libs'] NOT AVAILABLE atlas_blas_threads_info: Setting PTATLAS=ATLAS No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries ptf77blas,ptcblas,atlas not found in ['c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\libs'] NOT AVAILABLE atlas_blas_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries f77blas,cblas,atlas not found in ['c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\libs'] NOT AVAILABLE accelerate_info: NOT AVAILABLE C:\Users\gamer\AppData\Local\Temp\pip-install-z884oy5x\numpy\numpy\distutils\ UserWarning: Optimized (vendor) Blas libraries are not found. Falls back to netlib Blas library which has worse performance. A better performance should be easily gained by switching Blas library. self.calc_info() blas_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries blas not found in ['c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\libs'] NOT AVAILABLE C:\Users\gamer\AppData\Local\Temp\pip-install-z884oy5x\numpy\numpy\distutils\ UserWarning: Blas ( libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [blas]) or by setting the BLAS environment variable. self.calc_info() blas_src_info: NOT AVAILABLE C:\Users\gamer\AppData\Local\Temp\pip-install-z884oy5x\numpy\numpy\distutils\ UserWarning: Blas ( sources not found. Directories to search for the sources can be specified in the numpy/distutils/site.cfg file (section [blas_src]) or by setting the BLAS_SRC environment variable. self.calc_info() NOT AVAILABLE 'svnversion' is not recognized as an internal or external command, operable program or batch file. non-existing path in 'numpy\\distutils': 'site.cfg' lapack_opt_info: lapack_mkl_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries mkl_rt not found in ['c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\libs'] NOT AVAILABLE openblas_lapack_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries openblas not found in ['c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\libs'] NOT AVAILABLE openblas_clapack_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries openblas,lapack not found in ['c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\libs'] NOT AVAILABLE flame_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries flame not found in ['c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\libs'] NOT AVAILABLE atlas_3_10_threads_info: Setting PTATLAS=ATLAS No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries lapack_atlas not found in c:\users\gamer\appdata\local\programs\python\python39\lib No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries tatlas,tatlas not found in c:\users\gamer\appdata\local\programs\python\python39\lib No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries lapack_atlas not found in C:\ No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries tatlas,tatlas not found in C:\ No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries lapack_atlas not found in c:\users\gamer\appdata\local\programs\python\python39\libs No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries tatlas,tatlas not found in c:\users\gamer\appdata\local\programs\python\python39\libs  NOT AVAILABLE atlas_3_10_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries lapack_atlas not found in c:\users\gamer\appdata\local\programs\python\python39\lib No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries satlas,satlas not found in c:\users\gamer\appdata\local\programs\python\python39\lib No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries lapack_atlas not found in C:\ No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries satlas,satlas not found in C:\ No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries lapack_atlas not found in c:\users\gamer\appdata\local\programs\python\python39\libs No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries satlas,satlas not found in c:\users\gamer\appdata\local\programs\python\python39\libs  NOT AVAILABLE atlas_threads_info: Setting PTATLAS=ATLAS No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries lapack_atlas not found in c:\users\gamer\appdata\local\programs\python\python39\lib No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries ptf77blas,ptcblas,atlas not found in c:\users\gamer\appdata\local\programs\python\python39\lib No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries lapack_atlas not found in C:\ No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries ptf77blas,ptcblas,atlas not found in C:\ No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries lapack_atlas not found in c:\users\gamer\appdata\local\programs\python\python39\libs No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries ptf77blas,ptcblas,atlas not found in c:\users\gamer\appdata\local\programs\python\python39\libs  NOT AVAILABLE atlas_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries lapack_atlas not found in c:\users\gamer\appdata\local\programs\python\python39\lib No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries f77blas,cblas,atlas not found in c:\users\gamer\appdata\local\programs\python\python39\lib No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries lapack_atlas not found in C:\ No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries f77blas,cblas,atlas not found in C:\ No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries lapack_atlas not found in c:\users\gamer\appdata\local\programs\python\python39\libs No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries f77blas,cblas,atlas not found in c:\users\gamer\appdata\local\programs\python\python39\libs  NOT AVAILABLE lapack_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries lapack not found in ['c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\lib', 'C:\\', 'c:\\users\\gamer\\appdata\\local\\programs\\python\\python39\\libs'] NOT AVAILABLE C:\Users\gamer\AppData\Local\Temp\pip-install-z884oy5x\numpy\numpy\distutils\ UserWarning: Lapack ( libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [lapack]) or by setting the LAPACK environment variable. if getattr(self, '_calc_info_{}'.format(lapack))(): lapack_src_info: NOT AVAILABLE C:\Users\gamer\AppData\Local\Temp\pip-install-z884oy5x\numpy\numpy\distutils\ UserWarning: Lapack ( sources not found. Directories to search for the sources can be specified in the numpy/distutils/site.cfg file (section [lapack_src]) or by setting the LAPACK_SRC environment variable. if getattr(self, '_calc_info_{}'.format(lapack))(): NOT AVAILABLE c:\users\gamer\appdata\local\programs\python\python39\lib\distutils\ UserWarning: Unknown distribution option: 'define_macros' warnings.warn(msg) running install running build running config_cc unifing config_cc, config, build_clib, build_ext, build commands --compiler options running config_fc unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options running build_src build_src building py_modules sources creating build creating build\ creating build\\numpy creating build\\numpy\distutils building library "npymath" sources No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": ---------------------------------------- ERROR: Command errored out with exit status 1: 'c:\users\gamer\appdata\local\programs\python\python39\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\gamer\\AppData\\Local\\Temp\\pip-install-z884oy5x\\numpy\\'"'"'; __file__='"'"'C:\\Users\\gamer\\AppData\\Local\\Temp\\pip-install-z884oy5x\\numpy\\'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);'"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\gamer\AppData\Local\Temp\pip-record-3iwjg99e\install-record.txt' --single-version-externally-managed --prefix 'C:\Users\gamer\AppData\Local\Temp\pip-build-env-gx1t9ptn\overlay' --compile --install-headers 'C:\Users\gamer\AppData\Local\Temp\pip-build-env-gx1t9ptn\overlay\Include\numpy' Check the logs for full command output. ---------------------------------------- ERROR: Command errored out with exit status 1: 'c:\users\gamer\appdata\local\programs\python\python39\python.exe' 'c:\users\gamer\appdata\local\programs\python\python39\lib\site-packages\pip' install --ignore-installed --no-user --prefix 'C:\Users\gamer\AppData\Local\Temp\pip-build-env-gx1t9ptn\overlay' --no-warn-script-location --no-binary :none: --only-binary :none: -i -- setuptools wheel scikit-build cmake pip 'numpy==1.11.3; python_version=='"'"'3.5'"'"'' 'numpy==1.13.3; python_version=='"'"'3.6'"'"'' 'numpy==1.14.5; python_version=='"'"'3.7'"'"'' 'numpy==1.17.3; python_version>='"'"'3.8'"'"'' Check the logs for full command output. 
Thanks in advance.
submitted by mkutlutas to learnpython [link] [comments]

I created an INFO AGGREGATOR for YouTube channels! Has sections for note taking, marking videos as watched, marking videos to rewatch, and a link to every video posted by that channel 🤓

I wanted to have an easy way to take notes on videos I watch on YouTube, and ended up making a Python package to automate the video scraping process for any channel. This package is specifically for scraping videos posted by one channel, and does not support scraping info from multiple channels or linking related videos.
Sources: GitHub, PyPI, releases
pip3 install -U yt-videos-list # MacOS/Linux pip install -U yt-videos-list # Windows python3 # MacOS/Linux python # Windows from yt_videos_list import ListCreator my_driver = 'firefox' # SUBSTITUTE DRIVER YOU WANT (opera, safari, chrome, brave, edge) lc = ListCreator(driver=my_driver, scroll_pause_time=0.8) lc.create_list_for(url='') lc.create_list_for(url='') # see the new files that were just created: import os os.system('ls -lt | head') # MacOS/Linux os.system('dir /O-D | find "_videos_list"') # Windows # for more information on using the module: help(lc) 
For more info about the API and debugging common setup problems, see the API guide. There's also more configuration information and options about which driver to use there, so take a look if you want a better idea! :)


This package uses Selenium with additional logic (in this submodule) to automatically download the relevant Selenium drivers for all browsers you already have. This was crucial since setting up Selenium is often a nightmare the first time (you need to configure path variables if you download it from one place but not another, or you need to move it after you download it, or you need to unzip it, etc...), so the added logic uses curl and tar to download the binaries directly and places the binaries in a location where you don't need to configure anything.
There are also tests here (see the and run_tests.bat files for an overview) to ensure the output files are consistent every time and across platforms (using hashes to compare expected file to output file). This was initially a source of error since Windows uses CRLF line endings and *nix typically uses LF endings, so I thought this would require manual modification, but turns out it doesn't and this required a bit of tinkering to get right (this is what I incorrectly did the first time, and this is the fix after I realized the problem, and this is the additional configuration you need to do to synchronize output for csv files).
I also added a custom minifier to shrink the source code to save space. This takes all the code from the dev/ directory, strips whitespace and comments, then recreates it in the yt_videos_list/ directory. The goal was to create a minifier similar to the one used by front-end frameworks to shrink shipped code to minimize bandwidth usage. I realize this isn't something that's typically done in Python, but figured since most users just pip installthe package and rarely look at the actual source code, this could be something I could do without causing much problems. 🤓
All this said, is there anything else I can do to make this project better? Mainly looking for feedback on design choices and readability, since these 2 things tend to cause the most problems when working on a new codebase, but if any of you have other feedback I'd love to hear it!
submitted by __forever_curious to Python [link] [comments]

[FO4] After loading a save during combat, cannot save at all anymore, not sure which mod is causing it

For some reason, if I die during combat and load a save up from there, all the save options will be greyed out for the rest of the time I play, and things like exit auto saves or saving on waits will also not work. I'm not sure what mod is causing it. Heres my list: Fallout4.esm
Unofficial Fallout 4 Patch.esp
Robot Home Defence.esm
Consistent Power Armor Overhaul.esp
AES_Renovated Furniture.esp
SOTS.esp Armorsmith Extended.esp
Binary Speech Checks V.4 Hard.esp
dD-Enhanced Blood Basic.esp
Eli_Crafting Shiz 9000.esp
Extended weapon mods.esp
Faster Terminal Displays (20x).esp
GR123 West Tek Tactical Gloves.esp
Homemaker - Streetlights Use Passive Power.esp
Homemaker - Unlocked Institute Objects.esp
Metro Gas Masks.esp
Multiple Floors Sandboxing.esp
Reverb and Ambiance Overhaul.esp
OCDecorator - No Experience.esp
Passive Camera Shake - Reduced.esp
Realistic Roads - Black Asphalt.esp
USP .45_by_tooun.esp
WET NAC Patch.esp
Vivid Fallout - All in One - Best Choice.esp
Unique NPCs.esp
Unique NPCs - Creatures and Monsters.esp
Brotherhood Power Armor Overhaul.esp
More Power Armour Mods.esp
America Rising - A Tale of the Enclave.esp
Some Assembly Required.esp
Ferals After Dark.esp
Glowing Animals Emit Light.esp
LOST Audio Tweaks.esp
SuperMutantRedux VIS Patch.esp
Unique NPCs - Creatures and Monsters_SMR_AE.esp
Synth Overhaul.esp
Eli_Faction Housing Overhaul - Prydwen.esp
The Sanctuary Bridge.esp
FO4 NPCs Travel.esp
AT - Atomic Radio RAO Patch.esp
Realistic Death Physics - ALL DLC.esp
Project Reality Footsteps FO4.esp
AT - True Storms and RAO Patch.esp
Fallout Suite.esp
chem redux.esp
Ambient Wasteland.esp
Unique NPCs FarHarbor.esp
Unique NPCs_SpecialSettlers_Robots_Synths.esp
AnS Wearable Backpacks and Pouches.esp
Companion Infinite Ammo.esp
DV-Very Durable Vertibirds.esp
More Where That Came From Diamond City.esp
PA-Quick Animations.esp
Tactical Flashlights.esp
Tactical Flashlights - Settings.esp
The Eyes Of Beauty.esp
Insignificant Object Remover.esp
CPAO - PAMAP 2.0 Patch.esp
More Power Armour Mods - Automatron.esp
Pip-Boy Flashlight.esp
submitted by CreamGravyPCMR to FalloutMods [link] [comments]

Forex Signals Reddit: top providers review (part 1)

Forex Signals Reddit: top providers review (part 1)

Forex Signals - TOP Best Services. Checked!

To invest in the financial markets, we must acquire good tools that help us carry out our operations in the best possible way. In this sense, we always talk about the importance of brokers, however, signal systems must also be taken into account.
The platforms that offer signals to invest in forex provide us with alerts that will help us in a significant way to be able to carry out successful operations.
For this reason, we are going to tell you about the importance of these alerts in relation to the trading we carry out, because, without a doubt, this type of system will provide us with very good information to invest at the right time and in the best assets in the different markets. financial
Within this context, we will focus on Forex signals, since it is the most important market in the world, since in it, multiple transactions are carried out on a daily basis, hence the importance of having an alert system that offers us all the necessary data to invest in currencies.
Also, as we all already know, cryptocurrencies have become a very popular alternative to investing in traditional currencies. Therefore, some trading services/tools have emerged that help us to carry out successful operations in this particular market.
In the following points, we will detail everything you need to know to start operating in the financial markets using trading signals: what are signals, how do they work, because they are a very powerful help, etc. Let's go there!

What are Forex Trading Signals?
Before explaining the importance of Forex signals, let's start by making a small note so that we know what exactly these alerts are.
Thus, we will know that the signals on the currency market are received by traders to know all the information that concerns Forex, both for assets and for the market itself.
These alerts allow us to know the movements that occur in the Forex market and the changes that occur in the different currency pairs. But the great advantage that this type of system gives us is that they provide us with the necessary information, to know when is the right time to carry out our investments.
In other words, through these signals, we will know the opportunities that are presented in the market and we will be able to carry out operations that can become quite profitable.
Profitability is precisely another of the fundamental aspects that must be taken into account when we talk about Forex signals since the vast majority of these alerts offer fairly reliable data on assets. Similarly, these signals can also provide us with recommendations or advice to make our operations more successful.

»Purpose: predict movements to carry out Profitable Operations

In short, Forex signal systems aim to predict the behavior that the different assets that are in the market will present and this is achieved thanks to new technologies, the creation of specialized software, and of course, the work of financial experts.
In addition, it must also be borne in mind that the reliability of these alerts largely lies in the fact that they are prepared by financial professionals. So they turn out to be a perfect tool so that our investments can bring us a greater number of benefits.

The best signal services today

We are going to tell you about the 3 main alert system services that we currently have on the market. There are many more, but I can assure these are not scams and are reliable. Of course, not 100% of trades will be a winner, so please make sure you apply proper money management and risk management system.

1. 1000pipbuilder (top choice)

Fast track your success and follow the high-performance Forex signals from 1000pip Builder. These Forex signals are rated 5 stars on, so you can follow every signal with confidence. All signals are sent by a professional trader with over 10 years investment experience. This is a unique opportunity to see with your own eyes how a professional Forex trader trades the markets.
The 1000pip Builder Membership is ordinarily a signal service for Forex trading. You will get all the facts you need to successfully comply with the trading signals, set your stop loss and take earnings as well as additional techniques and techniques!
You will get easy to use trading indicators for Forex Trades, including your entry, stop loss and take profit. Overall, the earnings target per months is 350 Pips, depending on your funding this can be a high profit per month! (In fact, there is by no means a guarantee, but the past months had been all between 600 – 1000 Pips).
>>>Know more about 1000pipbuilder
Your 1000pip builder membership gives you all in hand you want to start trading Forex with success. Read the directions and wait for the first signals. You can trade them inside your demo account first, so you can take a look at the performance before you make investments real money!
  • Free Trial
  • Forex signals sent by email and SMS
  • Entry price, take profit and stop loss provided
  • Suitable for all time zones (signals sent over 24 hours)
  • MyFXBook verified performance
  • 10 years of investment experience
  • Target 300-400 pips per month
VISIT 1000ipbuilder here

2. DDMarkets

Digital Derivatives Markets (DDMarkets) have been providing trade alert offerings since May 2014 - fully documenting their change ideas in an open and transparent manner.
September 2020 performance report for DD Markets.
Their manner is simple: carry out extensive research, share their evaluation and then deliver a trading sign when triggered. Once issued, daily updates on the trade are despatched to members via email.
It's essential to note that DDMarkets do not tolerate floating in an open drawdown in an effort to earnings at any cost - a common method used by less professional providers to 'fudge' performance statistics.
Verified Statistics: Not independently verified.
Price: plans from $74.40 per month.
Year Founded: 2014
Suitable for Beginners: Yes, (includes handy to follow trade analysis)

3. JKonFX

If you are looking or a forex signal service with a reliable (and profitable) music record you can't go previous Joel Kruger and the team at JKonFX.
Trading performance file for JKonFX.
Joel has delivered a reputable +59.18% journal performance for 2016, imparting real-time technical and fundamental insights, in an extremely obvious manner, to their 30,000+ subscriber base. Considered a low-frequency trader, alerts are only a small phase of the overall JKonFX subscription. If you're searching for hundreds of signals, you may want to consider other options.
Verified Statistics: Not independently verified.
Price: plans from $30 per month.
Year Founded: 2014
Suitable for Beginners: Yes, (includes convenient to follow videos updates).

The importance of signals to invest in Forex

Once we have known what Forex signals are, we must comment on the importance of these alerts in relation to our operations.
As we have already told you in the previous paragraph, having a system of signals to be able to invest is quite advantageous, since, through these alerts, we will obtain quality information so that our operations end up being a true success.

»Use of signals for beginners and experts

In this sense, we have to say that one of the main advantages of Forex signals is that they can be used by both beginners and trading professionals.
As many as others can benefit from using a trading signal system because the more information and resources we have in our hands. The greater probability of success we will have. Let's see how beginners and experts can take advantage of alerts:
  • Beginners: for inexperienced these alerts become even more important since they will thus have an additional tool that will guide them to carry out all operations in the Forex market.
  • Professionals: In the same way, professionals are also recommended to make use of these alerts, so they have adequate information to continue bringing their investments to fruition.
Now that we know that both beginners and experts can use forex signals to invest, let's see what other advantages they have.

»Trading automation

When we dedicate ourselves to working in the financial world, none of us can spend 24 hours in front of the computer waiting to perform the perfect operation, it is impossible.
That is why Forex signals are important, because, in order to carry out our investments, all we will have to do is wait for those signals to arrive, be attentive to all the alerts we receive, and thus, operate at the right time according to the opportunities that have arisen.
It is fantastic to have a tool like this one that makes our work easier in this regard.

»Carry out profitable Forex operations

These signals are also important, because the vast majority of them are usually quite profitable, for this reason, we must get an alert system that provides us with accurate information so that our operations can bring us great benefits.
But in addition, these Forex signals have an added value and that is that they are very easy to understand, therefore, we will have a very useful tool at hand that will not be complicated and will end up being a very beneficial weapon for us.

»Decision support analysis

A system of currency market signals is also very important because it will help us to make our subsequent decisions.
We cannot forget that, to carry out any type of operation in this market, previously, we must meditate well and know the exact moment when we will know that our investments are going to bring us profits .
Therefore, all the information provided by these alerts will be a fantastic basis for future operations that we are going to carry out.

»Trading Signals made by professionals

Finally, we have to recall the idea that these signals are made by the best professionals. Financial experts who know perfectly how to analyze the movements that occur in the market and changes in prices.
Hence the importance of alerts, since they are very reliable and are presented as a necessary tool to operate in Forex and that our operations are as profitable as possible.

What should a signal provider be like?
As you have seen, Forex signal systems are really important for our operations to bring us many benefits. For this reason, at present, there are multiple platforms that offer us these financial services so that investing in currencies is very simple and fast.
Before telling you about the main services that we currently have available in the market, it is recommended that you know what are the main characteristics that a good signal provider should have, so that, at the time of your choice, you are clear that you have selected one of the best systems.

»Must send us information on the main currency pairs

In this sense, one of the first things we have to comment on is that a good signal provider, at a minimum, must send us alerts that offer us information about the 6 main currencies, in this case, we refer to the euro, dollar, The pound, the yen, the Swiss franc, and the Canadian dollar.
Of course, the data you provide us will be related to the pairs that make up all these currencies. Although we can also find systems that offer us information about other minorities, but as we have said, at a minimum, we must know these 6.

»Trading tools to operate better

Likewise, signal providers must also provide us with a large number of tools so that we can learn more about the Forex market.
We refer, for example, to technical analysis above all, which will help us to develop our own strategies to be able to operate in this market.
These analyzes are always prepared by professionals and study, mainly, the assets that we have available to invest.

»Different Forex signals reception channels

They must also make available to us different ways through which they will send us the Forex signals, the usual thing is that we can acquire them through the platform's website, or by a text message and even through our email.
In addition, it is recommended that the signal system we choose sends us a large number of alerts throughout the day, in order to have a wide range of possibilities.

»Free account and customer service

Other aspects that we must take into account to choose a good signal provider is whether we have the option of receiving, for a limited time, alerts for free or the profitability of the signals they emit to us.
Similarly, a final aspect that we must emphasize is that a good signal system must also have excellent customer service, which is available to us 24 hours a day and that we can contact them at through an email, a phone number, or a live chat, for greater immediacy.
Well, having said all this, in our last section we are going to tell you which are the best services currently on the market. That is, the most suitable Forex signal platforms to be able to work with them and carry out good operations. In this case, we will talk about ForexPro Signals, 365 Signals and Binary Signals.

Forex Signals Reddit: conclusion

To be able to invest properly in the Forex market, it is convenient that we get a signal system that provides us with all the necessary information about this market. It must be remembered that Forex is a very volatile market and therefore, many movements tend to occur quickly.
Asset prices can change in a matter of seconds, hence the importance of having a system that helps us analyze the market and thus know, what is the right time for us to start operating.
Therefore, although there are currently many signal systems that can offer us good services, the three that we have mentioned above are the ones that are best valued by users, which is why they are the best signal providers that we can choose to carry out. our investments.
Most of these alerts are quite profitable and in addition, these systems usually emit a large number of signals per day with full guarantees. For all this, SignalsForexPro, Signals365, or SignalsBinary are presented as fundamental tools so that we can obtain a greater number of benefits when we carry out our operations in the currency market.
submitted by kayakero to makemoneyforexreddit [link] [comments]

ASIC Regulation Thread - Regarding the proposed changes ( Australians effected the most )

I'm hopeless at formatting text, so if you think you can structure this post better take everything i write and put it into an easy to digest way. I'm just going to type out everything i know in text as fast as possible. I'm not a legal expert, I'm not somehow who understands every bit of information in the PDF's below, but i know I'm a retail trader that uses leverage to make profit which is why I'm posting this, in the hope that someone who can run a charge better than me, will.
Some of you are already aware of what might be happening, this is just a post to educate retail traders on changes that might be coming to certain brokers. This effects Australian Customers the most, but also effects those living in other countries that use Australian brokers, such as Pepperstone and others.
Last year in August 2019, ASIC ( Australian Securities and Investments Commission ) was concerned about retail traders going into Forex and Binary options without understanding these instruments properly and started sticking their noses in for tough regulation.
ASIC asked brokers and anyone with interest in the industry to write to them and explain what should and should not change from the changes they proposed, some of the proposed changes are very misguided and come from a lack of understanding exactly how OTC derivatives actually work.
I will provide the link to the paper further down so you can read it yourself and i will provide a link to all the submission made by all parties that sent submissions to ASIC, however the 2 main points of debate are:
1, To reduce the overall leverage available to retail traders to either 20:1 or 30:1. This means people who currently use leverage such as 100:1 to 500:1 and everything in between will be effected the most, even more so are those traders with relatively small accounts, meaning in order to get your foot in the door to trading you will need more capital for it to be viable.
^^ This point above is very important.
2, The removing of Binary options trading, which basically includes products like "Bet if gold will rise to this price in the next 30 seconds" This sort of stuff. So far from all the submissions from brokers and individuals nobody really cares if this changes as far as i know, though if you have concerns about this i would start voicing your disapproval. Though i would not waste your time here, all is pointing to this being eradicated completely with brokers also supporting the changes, I've never used such a product and know very little about them.
^^ This point above isn't very important and will probably be enforced in the future.
Still to this day i see retail traders not understanding leverage, they think of it as "dangerous and scary", it's not, position size is the real danger, not leverage. So ASIC is aiming to limit retail traders access to high leverage, they are claiming it is a way to protect traders who don't really understand what they are getting into by attacking leverage and not the real problem which is position size relative to your capital.
If it was truly about protecting retail traders from blowing up their accounts, they would look for ways to educate traders on "understanding position sizes and why it's important" rather than attacking leverage, but their goal is misguided or has an ulterior motive . I will give you a small example below.
EXAMPLE - We will use 2 demo accounts for demonstration purposes. If you don't understand my example, i suggest you try it for yourself. - Skip if not interested in examples.
Lets say we open 2 demo accounts with $1000 in both, one with 20:1 leverage and one with 500:1 leverage and we open an identical position on both accounts ( say a micro lot '0.01' on EURUSD ). You are safer on the 500:1 account as you don't need to put up as much margin as collateral as you would on the 20:1. If the trade we just opened goes against us and continues against us, the account with 20:1 leverage will run out of free margin a lot faster than the 500:1 account. In this simple example is shows you that leverage is not dangerous but safer and gives you a lot more breathing room. This trade was a small micro lot, so it would take hundreds of pips movements to get margin called and blow up that $1000 on each account. Lets now use a different position size to truly understand why retail traders blow up accounts and is the reason why trading can be dangerous.
This time instead of opening a micro lot of '0.01' on our $1000 dollar demo accounts, lets open a position size much larger, 5 lots. Remember we only have $1000 and we are about to open a position much larger relative to our capital ( which we should never do because we can't afford to do that ) the 20:1 probably wont even let you place that trade if you don't have enough margin as collateral or if you could open the position you would have a very tiny amount of free margin left over, meaning a small pip movement against you will instantly blow up your $1000 account. On the 500:1 account you wouldn't need to put up as much margin as collateral with more free margin if the trade goes bad, but again a small movement could blow up your account. In this example, both accounts were dangerous because the lack of understanding position sizes, opening a position you can't afford to open. This is what the true danger is, not the leverage.
Even in the second example, the higher leverage would "margin call" you out later. So i would go as far to say that lower leverage is more dangerous for you because it margin calls you out faster and just by having a lower leverage doesn't stop you from opening big positions that can blow you up in a 5 pip movement anymore, any leverage size is dangerous if you're opening positions you can't afford to open. This is also taking into consideration that no risk management is being used, with risk management higher leverage is even more powerful.
ASIC believes lowering leverage will stop people opening positions that they can't afford. When the reality is no matter how much capital you have $500, $1000, $5000, $50,000, $500,000, $5,000,000. You don't open position sizes that will blow that capital up completely with small movements. The same thing can happen on a 20:1 or 500:1 account.
Leverage is a tool, use it, if your on a lower leverage already such as 20:1, 30:1 it means your country has been regulated and you already have harder trading conditions. Just remember higher leverage allows you to open larger position sizes in total for the amount of money you own, but the issue is NOT that your using the higher leverage but because you are opening positions you can't afford, for what ever reason that is, the only fix for this is education and will not be fixed by simply lowing leverage, since you can just as easy blow up your account on low leverage just as fast or if not faster.
So what is going on?
There might ( get your tinfoil hats on ) be more that is involved here, deeper than you think, other agendas to try and stop small time retail traders from making money via OTC products, theories such as governments not wanting their citizens to be traders, rather would prefer you to get out there and work a 9 to 5 instead. Effective ways to do this would be making conditions harder with a much larger barrier of entry and the best way to increase the barrier of entry for retail traders is to limit leverage, lower leverage means you need to put up more money, less breathing room for trades, lower potential. They are limiting your upside potential and the downside stays the same, a blown account is a blow account.
Think of leverage as a weapon, a person wielding a butchers knife can probably destroy a person wielding a steak knife, but both knifes can prove fatal. They want to make sure your holding the butter knife then tell you to butcher a cow with it. 30:1 leverage is still workable and can still be profitable, but not as profitable as 500:1 accounts. This is why they are allowing professionals to use high leverage, this gives them another edge over successful retail traders who will still be trying to butcher a cow with a butter knife, while they are slaying limbs off the cow with machetes.
It's a way to hamstring you and keep you away rather than trying to "protect" you. The real danger is not leverage, they are barking up the wrong tree, how convenient to be barking up the very tree most retail traders don't fully understand ( leverage) , pass legislation to make trading conditions harder and at the same time push the narrative that trading is dangerous by making it even harder. A full circle strategy to make your trading conditions worse, so you don't succeed.
Listen carefully especially if you trade with any of the brokers that have provided their submissions to ASIC. Brokers want to seem like they are on your side and so far some of the submissions ( i haven't read them all ) have brokers willing to drop their leverage down to 30:1 because they know by dropping the leverage down it will start margin calling out their clients at a much faster rate, causing more blown up accounts / abandoned accounts with residual margin called funds, but they also know that if they make trading environments too hard less people will trade or even worse move their funds elsewhere offshore to unregulated brokers that offer higher leverage.
Right now it's all just a proposal, but as governments expand and continue to gain more control over it's citizens, it's just a matter of time till it's law, it's up to you to be vocal about it, let your broker know that if they drop their leverage, you're out, force them to fight for you.
If you have any more information related to this, or have anything to add, post below. I'm not an expert at this technical law talk, i know that i do well with 500:1 leverage and turn profits with it, it would be harder for me to do on a lower leverage, this is the reason for my post.
All related documents HERE
CP-322 ( Consultation paper 322 ) & Submissions from brokers and others.
submitted by southpaw_destroyer to Forex [link] [comments]

From being PIP'd at a startup to leveling up into a FANG in four months.

When my manager sat me down in our 1:1 to deliver me the news that I was about to be put on a PIP the next week and to use the weekend to think what my next step should be, my initial reaction was to want to take it and save my job. I knew I've been in a bit of a slump, sleeping very poorly, and not outputting as much as I could have. But to be quite honest, this was a blessing in disguise.
The company I've been working at wasn't doing that well to begin with. We raised a series D in just under two years of existence and my options have quintupled in value since joining, but we've had regulational troubles and the hardware team has been slipping. Our CTO was fired four months after I joined, and our new CTO promised to double our engineering headcount by the end of last year. We've maybe only added 5 people to a team of 30 instead by that point. To that end, I've had multiple manager changes within that time period: a total of five managers and six manager changes all within 12 months. As this was my first job out of college, I thought this was all normal for a startup.
In addition, the pay was very low. For a new grad that didn't know better, like yours truly, that number was a lot for someone who was only ever paid hourly. But after discussing with friends that went onto working at FANGs and other, more established unicorn startups, it was abundantly clear that me and my fellow colleagues were severely underpaid. Like, over 50% lower in base salary alone underpaid for the same line of work and more stress.
The work itself wasn't that great either. It was a system that had to be supported globally with different rules in different countries and with physical hardware that we had little control over. Nobody left the office before dinner was served, and seldom did people start going home after dinner was finished (well, up until recently since people stopped giving fucks). We had almost no senior engineers either, most of the work was done by fresh grads or interns from top CS schools. We maybe had only four veteran IC's, but the rest of the "senior" staff were in management. Everyone else was a new grad or junior engineer. You wouldn't find anyone that had more than two years of experience in the rest of the crowd. It's fun to be around people my age, but the work was sloppy and stressful when shit broke because you're trying to build something with little guidance and your code reviewers are other new grads that are equally as experienced as yourself. Nobody (besides maybe three people) has ever coded in the framework we used, and everyone learned the language and framework right on the job. Our only training was a link to an official guide.
I'm not going to get into the company politics, but it's sufficient to say our Blind was so spicy to the point screenshots of several call-out threads were brought up in meetings and mentioned in all-hands. It was pretty bad.
But going back to me getting served a PIP. My manager gave me an ultimatum: either take the PIP, or take severance and interview for another company. Over that weekend, I thought really hard about all the things I've seen and done in the past year, and quite frankly, I found that I haven't been happy at that place for a while now. It doesn't make sense to try to save a job I wasn't going to be happy at, where I get paid peanuts, and where my contributions are invisible to upper management because the longest I've had the same manager for was two and a half months. I decided to take the severance and leave.
This gave me time to relax, exercise, enjoy hobbies I haven't done in months, and most importantly, spend time with family and friends I haven't been around with because of this job. Oh, I forgot to mention that the company moved headquarters halfway through my tenure and bumped my commute from 20 minutes to over an hour.
I haven't touched leetcode or interview prep materials in ages since joining, so I really only hit the books about two weeks after leaving. My daily routine would be to exercise in the day, eat a protein heavy meal, and study up leetcode into the night at a 24/7 cafe. I would usually do this with a buddy or two who are freelance developers. I also kept a spreadsheet of jobs I was interested in and updated their statuses in where I was at in the process, who the point of contact was, when the interview dates are, etc. I wanted to end up at a FANG company since their offices were much closer to where I lived and the culture there would help me grow more as an engineer. My process was that I started off with companies I didn't quite care about to practice interviewing, and then build up to places I did want to end up working at.
I slowly but steadily practiced coding problems, took my time to understand what the solutions were, and apply those skills onto other problems that came up. In reality, most programming problems you encounter are really just other problems in disguise, and you just need to know the fundamentals of CS to get through them. I'm sure everyone wants to know what my stats are, so here they are: 64 easy, 50 medium, 15 hard.
After a few months of practice and interviewing at companies I wasn't particularly interested in, I started applying for places that actually interested me. In the end, I got two offers and was able to negotiate with a FANG company that has an office 10 minutes away from my house. I not only nearly tripled my TC, but I also got leveled up to an L4. After being stuck in L3 for almost two years with shit pay, I am glad my patience and steady progress paid off.
My lessons learned in this whole experience:
As for my tips for the interview prep:
Most of my system design solutions came from experiences I've had and a lot were creative, open-ended questions. My advice is to be likeable to the interviewer and not BS your thought process. For some reason, system design is something that comes the most natural to me, so I sadly can't give much tips for studying on it besides seeing for yourself how current systems are built.
And in general, you should be likeable to the interviewer. Smile, ask them what they work on, what cool projects they've done at the company, what their work life balance is like, etc. You're interviewing for the company and you're interviewing the company for yourself. Your interviewer is judging on whether you'd be a good person to be around with for 8 hours and help contribute to solving their problems, and you're judging whether the company you're interviewing for will make you enjoy yourself being there.
Everyone's experience is unique and certainly not as relaxed as mine. I thankfully had enough savings to last me almost a whole year without a job, but I realize others might not be fortunate enough to have that luxury. It'll be hard, but worth it to study up in the evenings and then take days off to go to onsites. In the end, what matters most is your sanity and happiness.
Tl;dr: job sucked, I got PIP'd, quit, took time off, studied, interviewed, and accepted a FANG offer that tripled my pay in four months.
submitted by worried_about_pip to cscareerquestions [link] [comments]

pip install pyinptplus failing for automatetheboringstuff

I'm working through Automate The Bring Stuff and I need to install PyInputPlus for some of the exercises but it keeps failing. Pip install is working fine for other products.

Here's the output I get...
c:\Program Files\Python37\Scripts>pip3 install --user pyinputplus WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip. Please see for advice on fixing the underlying issue. To avoid this problem you can invoke Python with '-m pip' instead of running pip directly. Collecting pyinputplus Using cached PyInputPlus-0.2.10.tar.gz (19 kB) Installing build dependencies ... error ERROR: Command errored out with exit status 1: command: 'c:\program files\python37\python.exe' 'C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\pip' install --ignore-installed --no-user --prefix 'C:\Users\Ian\AppData\Local\Temp\pip-build-env-v6bzucfl\overlay' --no-warn-script-location --no-binary :none: --only-binary :none: -i -- 'setuptools>=40.8.0' wheel cwd: None Complete output (42 lines): Traceback (most recent call last): File "c:\program files\python37\lib\", line 193, in _run_module_as_main "__main__", mod_spec) File "c:\program files\python37\lib\", line 85, in _run_code exec(code, run_globals) File "C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\pip\", line 26, in  sys.exit(_main()) File "C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\pip\_internal\cli\", line 73, in main command = create_command(cmd_name, isolated=("--isolated" in cmd_args)) File "C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\pip\_internal\commands\", line 104, in create_command module = importlib.import_module(module_path) File "c:\program files\python37\lib\importlib\", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1006, in _gcd_import File "", line 983, in _find_and_load File "", line 967, in _find_and_load_unlocked File "", line 677, in _load_unlocked File "", line 728, in exec_module File "", line 219, in _call_with_frames_removed File "C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\pip\_internal\commands\", line 17, in  from pip._internal.cli.req_command import RequirementCommand, with_cleanup File "C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\pip\_internal\cli\", line 16, in  from pip._internal.index.collector import LinkCollector File "C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\pip\_internal\index\", line 14, in  from pip._vendor import html5lib, requests File "C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\pip\_vendor\requests\", line 125, in  from . import utils File "C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\pip\_vendor\requests\", line 25, in  from . import certs File "C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\pip\_vendor\requests\", line 15, in  from pip._vendor.certifi import where File "C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\pip\_vendor\certifi\", line 1, in  from .core import contents, where File "C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\pip\_vendor\certifi\", line 12, in  from importlib.resources import path as get_path, read_text File "c:\program files\python37\lib\importlib\", line 11, in  from typing import Iterable, Iterator, Optional, Set, Union # noqa: F401 File "C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\", line 1347, in  class Callable(extra=collections_abc.Callable, metaclass=CallableMeta): File "C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\", line 1003, in __new__ self._abc_registry = extra._abc_registry AttributeError: type object 'Callable' has no attribute '_abc_registry' ---------------------------------------- ERROR: Command errored out with exit status 1: 'c:\program files\python37\python.exe' 'C:\Users\Ian\AppData\Roaming\Python\Python37\site-packages\pip' install --ignore-installed --no-user --prefix 'C:\Users\Ian\AppData\Local\Temp\pip-build-env-v6bzucfl\overlay' --no-warn-script-location --no-binary :none: --only-binary :none: -i -- 'setuptools>=40.8.0' wheel Check the logs for full command output. 
I don't understand what the error is or even how to interpret this output to really start looking for the error.
Any help would be much appreciated.
submitted by ibecs to learnpython [link] [comments]

Problem with Dataflow /apache beams external dependency

Problem with Dataflow /apache beams external dependency
Good evening,
I'm kinda new to GCP, even though I am more or less acknowledged in AWS.
I'm creating a tool that is responsible to load apache logs from a Cloud Storage to a BigQuery table. I've decided to use something like this. When parsing the file I've tried to use an external dependency (apache-log-parser).
My problem is passing this external dependency to the dataflow job.
I run the job using a virtual environment (virtualenv -p python3 venv):
python \ --project=$PROJECT \ --runner=DataflowRunner \ --save_main_session \ --staging_location=$BUCKET_STAGGING/staggingJob \ --temp_location $BUCKET_STAGGING/TempJob \ --input '$BUCKET_INPUT/InputFiles/test1.log' \ --region europe-west3
When i do this I get the error:
I tried to include a --requirements_file requirements.txt option but then the Job gets stuck even before starting up:
From what I've tried the options "exists-action" and "no-binary" are deprecated but I can't do anything about it it because it is internal from Apache Beams.
Does anyone has any idea how can I do this? Is there any way circumvent to this? I can give more details if you want.
Thank you
Edit: Solved by deleting the apache beam package from the requirements.txt. previously generated from pip freeze.

submitted by duca2208 to googlecloud [link] [comments]

Полезно. ПО Fawkes - клоакинг фотографий для защиты от систем распознавания лиц. Защитите ваши фото ! Скачать ПО Fawkes. Как использовать ПО Fawkes установка. Image "Cloaking" for Personal Privacy. Fawkes Usage - Setup Instructions

Как защититься от системы распознавания лиц при помощи ПО Fawkes
Как защититься от массовой слежки и идентификации людей по лицу

Полезно. ПО Fawkes - клоакинг фотографий для защиты от систем распознавания лиц. Защитите ваши фото !
Скачать ПО Fawkes. Как использовать ПО Fawkes , установка.
Image "Cloaking" for Personal Privacy. Fawkes Usage - Setup Instructions

Алгоритм Fawkes эффективно подрывает базу обучения «вражеской» нейросети. Перед публикацией каждой фотографии в ней делаются незаметные попиксельные изменения, после чего она становится не то что непригодной для использования при обучении, а буквально портит систему распознавания лиц.

Обработайте ваши фотографии с помощью Fawkes -> Загружайте ваши фото в социальные сети


Fawkes - Image "Cloaking" for Personal Privacy
For more information about the project, please refer to our project webpage

Как использовать ПО Fawkes и установка - Fawkes Usage - Setup Instructions

Инструкции по установке Fawkes Setup Instructions
Publication & Presentation - PDF
Fawkes: Protecting Personal Privacy against Unauthorized Deep Learning Models.
Shawn Shan, Emily Wenger, Jiayun Zhang, Huiying Li, Haitao Zheng, and Ben Y. Zhao.
In Proceedings of USENIX Security Symposium 2020. ( Download PDF here )

Frequently Asked Questions


Скачать ПО Fawkes:

Downloads and Source Code - Version 0.3 (July 2020)

Download the Fawkes Software:

Fawkes.dmg for Mac (v0.3)
DMG file with installer app
Compatibility: MacOS 10.13, 10.14, 10.15

Fawkes.exe for Windows (v0.3)
EXE file
Compatibility: Windows 10

Бинарник для Mac
Fawkes Executable Binary

Бинарник для Windows
Fawkes Executable Binary

Бинарник для Linux
Fawkes Executable Binary

Инструкции по установке Setup Instructions

Исходный код Fawkes на GitHub
Fawkes Source Code on Github, for development


Клоакинг фотографий для защиты от систем распознавания лиц
23 июля 2020
Информационная безопасность,
Open source,
Обработка изображений,
Современные системы распознавания лиц представляют угрозу личной приватности. Уже сейчас такие системы ежедневно сканируют миллионы лиц в Китае, Великобритании и России без их согласия. Поставлена задача, чтобы в следующем году 100% пассажиров в топ-20 аэропортов США незаметно подвергали этой процедуре.

Исследователи из Чикагского университета придумали любопытный алгоритм клоакинга, который позволяет защититься от распознавания лиц.

Дело в том, что системы распознавания лиц берут фотографии для обучения своей системы из ваших открытых данных — в основном, из профилей в социальных сетях и других открытых источников.

Например, крупнейшая система распознавания лиц для обучения использовала более трёх миллиардов фотографий из интернета и социальных сетей. демонстрирует, насколько легко построить такую систему распознавания на снимках из Facebook и «Вконтакте».

Так вот, новый алгоритм Fawkes эффективно подрывает базу обучения «вражеской» нейросети. Перед публикацией каждой фотографии в ней делаются незаметные попиксельные изменения, после чего она становится не то что непригодной для использования при обучении, а буквально портит систему распознавания лиц.

Схема работы Fawkes

Программа Fawkes работает локально на вашем компьютере и выполняет клоакинг фотографий. После обработки вы можете использовать фотографии как угодно — публиковать в социальных сетях, передавать друзьям или распечатывать на бумаге. В любом случае, для распознавания лиц они уже бесполезны, как показала проверка в ходе научного исследования чикагской группы.

Интуитивно понятное пояснение в 2D-пространстве из четырёх признаков A, B, U, T, почему модель, обученная на искажённых фотографиях, не распознаёт лица на оригиналах. Слева — границы принятия решений при обучении на оригиналах, справа — границы принятия решений при обучении после клоакинга

Тестирование показало, что эффект клоакинга трудно распознать при обучении нейросети и он не вызывает ошибок при обучении. Другими словами, операторы системы распознавания лиц не заподозрят ничего неладного. Но просто если кто-то попытается выполнить распознавание на вашем оригинальном изображении (например, с камер наблюдения), поиск по базе не найдёт совпадений.

Fawkes протестирован и показал эффективность 100% против самых известных моделей распознавания Microsoft Azure Face API, Amazon Rekognition и Face++.

Алгоритмы сжатия изображений тоже не портят защиту клоакинга. Исследователи проверяли материал на прогрессивном JPEG, который используется в Facebook и Twitter для пережатия картинок, на уровнях качества от 5 до 95. В общем, сжатие немного ослабляет защиту клоакинга, но при этом ещё более значительно снижается качество распознавания лиц. То есть нашей задачи помех в классификации это не мешает.

Как ни странно, заблюривание фотографий и применение разных графических фильтров тоже не снимает защиту, поскольку по своей сути клоакинг происходит не на уровне пикселей, а на уровне пространства признаков, то есть пиксельные измененимя на самом деле имеют глубокую природу и не стираются в растровом редакторе.

Техническая статья с описанием алгоритма (pdf) будет представлена на ближайшем симпозиуме USENIX по безопасности 12? 14 августа 2020 года.

Кстати, название программы позаимствовано от маски Гая Фокса из фильма «V — значит вендетта».

Скачать программу Fawkes:
Open Source
Обработка изображений
Информационная безопасность
распознавание лиц
V — значит вендетта
Информационная безопасность
Обработка изображений

How to Setup
Fawkes Binary

This application is built for individuals to cloak their images before uploading to the Internet. For more information about the project, please refer to our project webpage.

If you are a developer or researcher planning to customize and modify on our existing code. Please refer to fawkes.

How to Setup


Download the binary following this link and unzip the download file.
Create a directory and move all the images you wish to protect into that directory. Note the path to that directory (e.g. ~/Desktop/images).
Open terminal and change directory to fawkes (the unzipped folder).
(If your MacOS is Catalina) Run sudo spctl --master-disable to enable running apps from unidentified developer. We are working on a solution to bypass this step.
Run ./protection-v0.3 -d IMAGE_DIR_PATH to generate cloak for images in IMAGE_DIR_PATH.
When the cloaked image is generated, it will output a *_min_cloaked.png image in IMAGE_DIR_PATH. The generation takes ~40 seconds per image depending on the hardware.


Download the binary following this link and unzip the download file.
Create a directory and move all the images you wish to protect into that directory. Note the path to that directory (e.g. ~/Desktop/images).
Open terminal(powershell or cmd) and change directory to protection (the unzipped folder).
Run protection-v0.3.exe -d IMAGE_DIR_PATH to generate cloak for images in IMAGE_DIR_PATH.
When the cloaked image is generated, it will output a *_min_cloaked.png image in IMAGE_DIR_PATH. The generation takes ~40 seconds per image depending on the hardware.


Download the binary following this link and unzip the download file.
Create a directory and move all the images you wish to protect into that directory. Note the path to that directory (e.g. ~/Desktop/images).
Open terminal and change directory to protection (the unzipped folder).
Run ./protection-v0.3 -d IMAGE_DIR_PATH to generate cloak for images in IMAGE_DIR_PATH.
When the cloaked image is generated, it will output a *_min_cloaked.png image in IMAGE_DIR_PATH. The generation takes ~40 seconds per image depending on the hardware.

More details on the optional parameters check out the github repo


Fawkes is a privacy protection system developed by researchers at SANDLab, University of Chicago. For more information about the project, please refer to our project webpage. Contact us at [[email protected]](mailto:[email protected]).

We published an academic paper to summarize our work "Fawkes: Protecting Personal Privacy against Unauthorized Deep Learning Models" at USENIX Security 2020.

NEW! If you would like to use Fawkes to protect your identity, please check out our software and binary implementation on the website.
This code is intended only for personal privacy protection or academic research.
We are currently exploring the filing of a provisional patent on the Fawkes algorithm.


$ fawkes


-m, --mode : the tradeoff between privacy and perturbation size. Select from min, low, mid, high. The higher the mode is, the more perturbation will add to the image and provide stronger protection.
-d, --directory : the directory with images to run protection.
-g, --gpu : the GPU id when using GPU for optimization.
--batch-size : number of images to run optimization together. Change to >1 only if you have extremely powerful compute power.
--format : format of the output image (png or jpg).

when --mode is custom:

--th : perturbation threshold
--max-step : number of optimization steps to run
--lr : learning rate for the optimization
--feature-extractor : name of the feature extractor to use
--separate_target : whether select separate targets for each faces in the diectory.


fawkes -d ./imgs --mode min

The perturbation generation takes ~60 seconds per image on a CPU machine, and it would be much faster on a GPU machine. Use batch-size=1 on CPU and batch-size>1 on GPUs.
Turn on separate target if the images in the directory belong to different people, otherwise, turn it off.

How do I know my images are secure?

We are actively working on this. Python scripts that can test the protection effectiveness will be ready shortly.
Quick Installation

Install from PyPI:

pip install fawkes

If you don't have root privilege, please try to install on user namespace: pip install --user fawkes.

Image "Cloaking" for Personal Privacy

Original Cloaked

Original Cloaked

2020 is a watershed year for machine learning. It has seen the true arrival of commodized machine learning, where deep learning models and algorithms are readily available to Internet users. GPUs are cheaper and more readily available than ever, and new training methods like transfer learning have made it possible to train powerful deep learning models using smaller sets of data.

But accessible machine learning also has its downsides. A recent New York Times article by Kashmir Hill profiled, an unregulated facial recognition service that has downloaded over 3 billion photos of people from the Internet and social media and used them to build facial recognition models for millions of citizens without their knowledge or permission. demonstrates just how easy it is to build invasive tools for monitoring and tracking using deep learning.

So how do we protect ourselves against unauthorized third parties building facial recognition models that recognize us wherever we may go? Regulations can and will help restrict the use of machine learning by public companies but will have negligible impact on private organizations, individuals, or even other nation states with similar goals.

The SAND Lab at University of Chicago has developed Fawkes1, an algorithm and software tool (running locally on your computer) that gives individuals the ability to limit how their own images can be used to track them. At a high level, Fawkes takes your personal images and makes tiny, pixel-level changes that are invisible to the human eye, in a process we call image cloaking. You can then use these "cloaked" photos as you normally would, sharing them on social media, sending them to friends, printing them or displaying them on digital devices, the same way you would any other photo. The difference, however, is that if and when someone tries to use these photos to build a facial recognition model, "cloaked" images will teach the model an highly distorted version of what makes you look like you. The cloak effect is not easily detectable by humans or machines and will not cause errors in model training. However, when someone tries to identify you by presenting an unaltered, "uncloaked" image of you (e.g. a photo taken in public) to the model, the model will fail to recognize you.

Fawkes has been tested extensively and proven effective in a variety of environments and is 100% effective against state-of-the-art facial recognition models (Microsoft Azure Face API, Amazon Rekognition, and Face++). We are in the process of adding more material here to explain how and why Fawkes works. For now, please see the link below to our technical paper, which will be presented at the upcoming USENIX Security Symposium, to be held on August 12 to 14.

The Fawkes project is led by two PhD students at SAND Lab, Emily Wenger and Shawn Shan, with important contributions from Jiayun Zhang (SAND Lab visitor and current PhD student at UC San Diego) and Huiying Li, also a SAND Lab PhD student. The faculty advisors are SAND Lab co-directors and Neubauer Professors Ben Zhao and Heather Zheng.

1The Guy Fawkes mask, a la V for Vendetta

In addition to the photos of the team cloaked above, here are a couple more examples of cloaked images and their originals. Can you tell which is the original? (Cloaked image of the Queen courtesy of TheVerge).
Publication & Presentation

Fawkes: Protecting Personal Privacy against Unauthorized Deep Learning Models.
Shawn Shan, Emily Wenger, Jiayun Zhang, Huiying Li, Haitao Zheng, and Ben Y. Zhao.
In Proceedings of USENIX Security Symposium 2020. ( Download PDF here )


Вступайте в наши сообщества - Join Us:

Делитесь со всеми, распространяйте информацию!
Революция в России. Фашизм в России. Власть в России оккупационная! Пора менять власть!

Что делать, как сменить власть в России на народную? Надо выходить на улицу на массовые многотысячные митинги - это единственное действенное решение.

Изменить ситуацию в России и сменить преступную власть мировых хозяев денег, путина и его банды из Совета безопасности, ФСБ и олигархов могут только протесты на улице:
постоянные массовые многотысячные протесты народа во многих городах и населенных пунктах России, протесты каждый день, протесты без уведомлений власти !

Организуйте митинги, шествия, марши по улицам, протест в виде уличной вечеринки.
Организуйте протесты каждый день в вашем районе! Мирный протест.
ПРОТЕСТЫ на УЛИЦЕ и МАССОВОСТЬ - это ГЛАВНОЕ для эффективного протеста и смены власти!
Руководство по сопротивлению. Советы по протестам. Как организовать сопротивление и мирные протесты. Советы как бороться. Как защищаться. Поведение на митинге. Как вести себя на митинге. Что делать на акции протеста, на митинге.

читайте "Руководство по сопротивлению. Советы по протестам - Часть №1":

читайте "Руководство по сопротивлению. Советы по протестам. Часть №2":

читайте "Руководство по сопротивлению. Советы по протестам. Часть №3":

Руководства и советы по сопротивлению, протестам, митингам - читать тут:

Сохраните себе текст статьи - пригодится!
Распространяйте информацию. Поделитесь ссылкой. Поделитесь этой информацией с другими людьми. И просите друзей распространять информацию.

True Russia - Истинная Россия. Сопротивление. Мирный протест. Протесты на улице. Протестные Марши Шествие Митинги.
Борьба за народ России, за справедливость.
Resistance. Peaceful protest. Street protest. Protest Marches. Meeting Demonstrations

Фашизм в России Fascism in Russia. Social Justice Социальная Справедливость. Revolution in Russia Революция в России
Global News. IT Cybersecurity Privacy cybercrime Security and Surveillance. Top and breaking news, pictures and videos. International Journal business politics science economics видео video
Новости РФ и мира. Политика Наука Экономика. IT Информационная безопасность Защита данных. Руководства Советы Анонимность Защита от слежки. Обход блокировок сайтов и цензуры в России. Как защищаться от слежки. интернет Internet СОРМ Cybersecurity cybercrime privacy safety security anonymity and surveillance Тотальный контроль Total Control
сообщество сабреддит реддит на русском языке in Russian русский язык Russian language по-русски student студент студентка школа школьник школьница мем мэм мемы финансы силовики news resist protest социализм социалист солидарность сопротивление протест свобода единство борьба socialism socialist solidarity resistance protest freedom unity fighting видео video Кризис в России Мировой Кризис
submitted by DarkRedFist to True_Russia [link] [comments]

| Getting started with BSPWM for beginners! [Polybar][Powerline][Picom][Pywal]

A while back I made a post on getting started with BSPWM (Binary Space Partition Window Manager) on this subreddit; I plan on deleting that and using this guide as the go-to for it. I was really all over the place, and at the time there wasn't really a lot of information on the tiling window manager so there were a lot of mistakes on it and things I could have done better. Now that I've grown more experienced throughout the years with Linux in general, I feel like I've perfected the art of ricing with BSPWM and Polybar together. And I'm here to show you how it's done.
A couple of comments before we begin, I'm going to assume you have experience with the following:
And I'm going to tell you that although you can replace your overall desktop environment with a tiling window manager, I'm really hoping that you have an open mind for keeping desktop environment in your system because tiling window managers tend to become more of a general struggle to deal with if you lack a solid background in Bash scripting. However, lucky for you in this tutorial I will not be using any bash scripting. The main idea here is a tiling window manager (aka Tiling WM) is not a desktop environment (aka DE), please research the difference between the two.
[Part 1: Installing BSPWM and Polybar]
Technically speaking you can install any tiling window manager on any distribution. However I'm going to split the line here between Debian (mostly Ubuntu) and Arch (I'm going to ignore Solus, Gentoo, and other Linux OS with unique file systems). If you're on Ubuntu you can install BSPWM without issues by simply running:
sudo apt install bspwm
However your efforts for viability in using the Polybar status bar ends there as you will have to install the extra dependencies to get Polybar to work, and even after installing the dependencies you have to reconfigure the cmake file to recognize where to find the siji font you have to install. Luckily for you if you know bash scripting really well and know how to for example pull out the clock configuration and print it into a UI, then you can use the default status bar bspwm installs called lemonbar which you can find out more of here:
But if you are like me and don't want to learn Bash scripting, and you want to hop right into Polybar without issues, then Arch Linux is the operating system for you. I'm going to assume you know how to install it, if you don't it's alright I don't either, which is why I use anarchy to install it; it's an iso that has a cli interface to help you install Arch into your system
In this tutorial I will be using Arch Linux as my OS and Gnome as my desktop environment of choice. It's one of the best desktop environments out there, and easy to apply themes to. Configure your desktop of choice how you like it, rice it up even if you wish to do so.
In Arch Linux packages aren't located in one place like they are in Ubuntu, instead you have a core set of packages the Arch Linux organization caters, and the default manager for packages is called pacman ; then you have a collection of extra packages maintained by users who lovingly love Arch's simplicity called the Arch User Repository (AUR), and to get a package from the AUR you need to use a community package manager. I do not recommend using any AUR package manager (aka helper) mentioned on the web instead use ones from this list that comes from the official Arch Linux organization:
I'm going to be using pikaur for this tutorial, to get it simply follow the instructions here: and you'll be set.
A note on using your community package helper and pacman: you want to have the mindset that if something can be gotten from pacman, that you'll get it from pacman because pacman uses sudo priveleges; meaning that the maintainers of the software are telling you that you can trust a certain package and it's because it will be installed within your root folders. Community packages can contain malware; and by some god given miracle some bastard has written malware, it will have a tough time escalating privileges because community packages are installed on your home directory. Believe me I've genuinely tried this and it's hard to do; it ain't easy to do for hackers.
Now lets assume I'm starting from my gnome desktop, to install BSPWM on Arch, and while were at it lets install the other packages (note that one is a font) were going to focus on, simply run:
sudo pacman -S bspwm sxhkd picom ttf-font-awesome rxvt-unicode dmenu powerline python-pip feh neofetch zsh-theme-powerlevel9k lxappearance zsh rofi scrot
and while were at it lets install Polybar and the extra community packages (note that one is a font):
pikaur -S polybar nerd-fonts-complete cava bash-pipes cmatrix
Follow the prompts for each and install them. Note nerd fonts takes an incredibly long time to install, this is normal, you'll see pikaur stall at "compressing package" don't freak out!
Were also going to use pywal from dylanarlaps (, please donate to him, he's done incredible work in creating this amazing tool were going to use:
sudo pip3 install pywal
All of these software have githubs to them, feel free to google search for them and skim their wikis!
I also use zsh by default even though I'm not a mac user, but only real hacktivists use Oh My ZSH!
run the little curl command they got there, and you'll be part of the cool kids club!
At this point you might be tempted to switch to BSPWM and get started, but you'll meet with the impasse of being unable to do anything, even log out of the session. To prevent this, you need to understand how BSPWM works. To start off, you first need to navigate to a hidden folder called .config in your home directory. In here you need to create two folders, one named bspwmand the other sxhkd, and within them you're going to create two empty files called bspwmrcin the bspwm folder and sxhkdrc in the sxhkd folder. The rc files (running configuration) are responsible for handling the behavior of the window manager (bspwmrc does this) and the keystrokes (sxhkdrc does this). I'm going to give you the default content Baskerville created in his github ( for BSPWM below, later we are going to modify this for some extra functionality, so for now just copy and paste these into the files you created:
And the last thing you want to do is make bspwmrc an executable, simply navigate to the file, right click it on your file manager, select properties>permissions, and tick the box to allow the file to be run as an executable. For sxhkdrc I won't be using urxvt, although I will give you the Xresources I created for it a long time ago, instead I'm going to use the gnome terminal to keep things easier. If you want to use the gnome terminal, simply replace urxvt with gnome-terminal in the sxhkdrc file.
Once you're done with this, log out and change your environment to BSPWM, to open a terminal press super+enter where super is your windows or mac key on your keyboard to bring up a terminal. To change your workspace press Super+2, and to open firefox, press super+space to use dmenu to search for it.
The way BSPWM works is through a socket-client model in which the handler (bspc) connects to a socket created by bspwm. You don't need to know too much about this in relation to this guide, but the config file I provide will get you started on how to setup commands for bspc. For now I want you to focus on that sxhkdrc is where you set your keybinds, sxhkd is the program that handles those keybinds, and bspc tells bspwm how to handle its backend. Consult the manual for BSPWM using man bspwm for more info.
[Part 2: Ricing and Modding BSPWM]
To start off I want you to select a background of your choice, and I want you to choose a background that doesn't just have two or three colors, but a mesh of beautiful colors, the more colors used the better. This background will model all of the colors used in your window borders and terminal through the use of a program called pywal:
Now before going any further, I highly recommend that if you ever get stuck on any of this, that you go into the github pages of these packages and consult their READMEs and wikis, because I wont be there to hold your hand unless I feel like it. However to satisfy your inner demon I'll be sure to supply you with as much information as I possibly can and split this by sections to build the killer desktop you crave. As a reference you can always refer to my dotfiles here: ; I'll probably have made some changes here and there, but nothing major since the inception of this guide.
What I will NOT be dealing with is URxvt. Although the terminal seems to be the weapon of choice for BSPWM users I like my comfy Gnome Terminal, and to be fair, you can always pick the one you like; as far as this goes, any terminal will work with pywal because what it's actually dependent on is the zsh running config or .zshrc file hiding in your home directory. Oh and one last thing I had you install a program called dmenu, which you can use to bring up programs. Here are some basic keybinds to help you run stuff you need:
So assuming you've managed to install Oh My Zsh, and installed pywal like I told you to, and you have chosen your wallpaper you simply need to navigate to your bashrc file and add my stuff to it. Don't panic, really try to read my comments follows with (#) :
#set your wallpaper upon logging in &
feh --bg-fill $HOME/Path/to/youpicture &
#This invokes pywal with your image simply replace the path
wal -i $HOME/Path/to/youpicture &
#source the colors located within a shell script from your cache (you don't need to touch this).
. "${HOME}/.cache/wal/"
#Set the border colors for your windows for focused, active and inactive ones.
bspc config normal_border_color "$color1"
bspc config active_border_color "$color2"
bspc config focused_border_color "$color15"
#Use the line below if you are on bspwm >= 0.9.4
bspc config presel_feedback_color "$color1"
#Use the line below if you are on bspwm < 0.9.4
#bspc config presel_border_color "$color1"
#place the focus on where the mouse is; if you like clicking windows to focus, comment this line
bspc config focus_follows_pointer true
After placing this in your bspwmrc file log out and log back in and you'll see the borders have adapted the color of the wallpaper behind it when you open your terminal. Neat right? But you might be asking, why doesn't the terminal take any colors? And the answer is in the shell it's using; remember that hidden file .zshrc in your home directory that you can't see if you don't have a show hidden files checkbox clicked on your file manager? open it, and at the very bottom of it, add this line:
wal -i $HOME/Path/to/youpicture
Now zsh is set to run pywal every time you open it. So now upon re-opening your terminal, you should see that the terminal has now taken the colors of your wallpaper. Feel free to adjust and modify these settings as you see fit. Change the colors, do as you please, as an added bonus to my setup I adjusted the gaps between my windows to be 25 pixels apart, like so:
#Define window settings
bspc config border_width 2
bspc config window_gap 25
bspc config split_ratio 0.52
bspc config borderless_monocle true
bspc config gapless_monocle true
If and only if you have more than one monitor like I do, simply adjust your bspc monitor line to look like so:
#Define Workspace Rules
bspc monitor HDMI-1 -d Terminal Sublime Firefox
bspc monitor DVI-D-1 -d ws4 ws5
#These options for follow and focus put you on the workspace these programs start on; the -a = activate
bspc rule -a Gnome-terminal desktop='^1' follow=on focus=on
bspc rule -a Sublime_text desktop='^2' follow=on focus=on
bspc rule -a firefox desktop='^3' follow=on focus=on
bspc rule -a ws4 desktop='^4' follow=on
bspc rule -a ws5 desktop='^5' follow=on
And replace the desktops with the appropriate names, which you can find by simply running xrandrin your terminal. Again it doesn't have to be copy and paste what I have you can always replace the programs and workspace configuration with your own to your liking.
[Part 3: Pimping Polybar]
At this point you must feel all proud of your new little setup, but you can't be satisfied until you've got some method of looking at what the time is, or what workspace your on, or even better, a way to turn of your computer.
That's where Polybar comes in, and now all you have to do is go to the github page for Polybar, and look through the wiki to find what you need. I've taken the liberty of copy and pasting every module I wanted; and put it all into one nice neat config file you can refer to. I don't feel like explaining how Polybar works as the wiki is more than acceptable.
Here's my file in raw format, you can copy and paste it, but there are certain parts on it you need to modify to make it work on your pc. So the first parts are within the first set of parameters under "Bar Module"; upon skimming carefully you'll notice that I've set up two bars named future1 and future2, and within them I've placed the respective monitors I want them on.
You'll also notice I've set some lines to set the fonts for them; now I use a font called font awesome to grab icons for the bar from:
within these lines:
;Define fonts to be used, check fc-list to see all the ones you have
font-0 = "Unifont:size=12:weight=bold;"
font-1 = "Font Awesome 5 Free,Font Awesome 5 Free Solid: style=Solid: size=12;"
font-2 = "Font Awesome 5 Free,Font Awesome 5 Free Regular: style=Regular: size=12"
font-3 = "Font Awesome 5 Brands,Font Awesome 5 Brands Regular:style=Regular"
I mention this and even put a comment on it to remind you of where and what to edit in the event that the creators of Font Awesome come out with a Font Awesome 6 and suddenly your icons on Polybar break. I once fell victim to this when Font Awesome 4 got released and it gave me a lot of frustration, so here I am saving you a massive headache should you choose to update your machine. So when Font Awesome 6 comes out change the 5 in Font Awesome 5 to a 6 and things should be okay again.
The rest of my file is pretty much ripped off straight from the wiki, so please consult each section as needed.
Alas to finally get Polybar to work you need to add it as a startup program in your bspwmrc file; in my case the lines would be:
polybar future1 &
polybar future2 &
because I named my bars future1 and future2.
My colors parameters section is ripped straight from from the pywal wiki here: . Just click on the Polybar Title and you'll see exactly what I put in there. The only thing is I added my own version of the background color because Pywal doesn't generate transparency in its code; only 6 Hex color codes, not the extra (AA) I added for transparency, I've also colored it dark purple.
[Part 3: Going blind the right way with Picom]
In the land before this guide was created, we used something called Compton to handle all of our compositor needs. If you don't know what a compositor does, it's a tool that lets you define shadows and transparency for your windows, and what I've done, which has viciously taken me 6 hours to achieve through trail and error, I am simply going to explain the config the best way I possibly can and give it to you. What I've managed to achieve is a subversive blur effect in addition to transparency, it's something you don't normally see in Unixporn configs, nor in desktop managers that use compton by default.
Here it is:
This was originally created by code_nomad and is a file ripped straight from the official Arch Linux website. Here's the original:
And to this day I still don't know what everything on it, but I've made educated guesses, and will try and explain it from my perspective. Note that at the time of writing this Picom has only its terminal manual to explain things man picom, so I'm doing you a favor here. To get Picom going you need to add it as a startup program to your bspwmrc file:
#please replace accordingly
picom --config $HOME/path/to/youcreated/picom.conf/file &
The first and obvious mods I made are for the shadows, all I did is reset their offsets to 0 and set the opacity to 1 for them so you can clearly see them when you start picom. I did not touch the excluded shadows section.
The only section I truly played around with is the Opacity section. The first group of settings speak for themselves as they're pretty self explanatory (I'm ignoring the override I have no idea what that does). The opacity rules is the meat of this config file. The way it works is each window has a property to it internally that has a class name to it. Each rule on the list is defined as PERCENTOPAQUE:RULE. It's best to take an example, so let me use this one to start off with:
"99:class_g = 'firefox' && focused",
So what this rule does is set the opacity of my window with window class 'firefox' to 99 if I am focused on it. If I am not focused it will revert to the inactive opacity setting of 0.5 that I have. The class names are very specific to the program you're working with, sometimes, simply supplying the class name wont work because the specified window doesn't have a WM_OPACITY property set on it; so you're left to use just the class name on it like I did with sublime so that it matches the class to anything resembling the name of the program (that's what I was told the ? is for):
"99:class_g ?= 'sublime_text' && focused",
In order to find the proper class names you have to use a program called xprop (I'll let you figure out how to use this), the class name will be within WM_CLASS(STRING) = "some name here". As a general rule of thumb, for any program you use first try and see if using just the "=" works, and if it doesn't then just use the "?=". In the examples above if I don't want the opacity to change on focus, then just remove the && focusedlike I did with Rofi.
Blurring is a whole other concept I still don't fully understand however I played around with my settings and use a 7x7box kernel setting. If it lags for you, you can always try the 3x3box or the 5x5box kernel. You can also use the one in the original example with the crazy list of numbers, and just play around with it. I leave you to trial and error everything regarding blurring. I've chatted with some people on Unixporn about this, and I came across a neat little program called kawase, but according to Yshui, the maintainer of Picom, lack of manpower makes its integration hard, so if you're balsy enough to tackle this mountain, by all means help this person .
[Part 4: URxvt Lovers (if you're not using URxvt skip this)]
I don't mess around with this too much, here's my old .Xresources file, it includes some settings for Rofi, which I will cover later:
but it should work fine as long as you have Adobe source code pro fonts installed into your system. Here's the package index for the font in case if you don't have it:
Simply place that file in your home directory and you should be okay.
[Part 5: Fast Execution with Rofi]
Rofi is a neat little tool used to replace dmenu I recommend trying it out on your terminal just to get the feel for it. All I'm doing is applying the pywal instructions to play here, so here you go:
Original Instructions:
Just follow steps 1, 2, and 3 on this:
your end file for config.rasi should look like so:
configuration {
theme: "~/.cache/wal/colors-rofi-dark.rasi";
Be sure to replace your keybind dmenu for sxhkdrc for rofi, your keybind should look like so:
#program launcher
super + @space
rofi -show run
[Part 6: Setting the themes and default cursor]
If you're on Unixporn you probably already know how to setup User themes from source by putting them in your home directory so I wont explain that. However I will tell you that you need to use lxappearance to set the icons and theme. It's pretty self explanatory once you actually open lxappearance and play around with it.
The cursor however isn't permanent, at least in my case it wasn't, and luckily for you I found the solution. To set the default cursor:
1 - copy cursor theme to /usshare/icons
2 - change the default Inherits value to theme name as shown in lxappearance inside this file: /usshare/icons/default/index.theme
and you should be set. [There is a bug that changes the cursor when focusing on windows that aren't related to lxde, as soon as I figure out how to fix that I'll add that onto here].
[Part 7: POWUHLEVEL9000 (powerline ricing)]
Ricing Powerline has been a massive headache for me. However everything is done within the .zshrc file. I'll just give you what I have and the beefy github wiki created for it ( It uses the entire nerdfonts collection which is why it took so long to install, so for all intents and purposes, if you can change my zshrc file to your liking then by all means do so (
neofetch --ascii $HOME/path/to/some/file/with/ascii/art
wal -i $HOME/Path/to/youpicture -q
source /usshare/zsh-theme-powerlevel9k/powerlevel9k.zsh-theme
I've muted neofetch and pywal, I won't go into too much detail about neofetch only that I've muted it and used ascii art instead of an image. If you want to know more about neofetch this is your friend: .
[Part 7: GODLEVEL10000 (Powerlevel10k) ]
I decided to add this as part of this guide, Powerlevel10k acts as a fork to Powerlevel9k that was introduced in March 2019, in which it absolutely speaks for itself. If you would love to try it out check out the github for it! I'll show you how to get started on it, I recommend starting off with migrating from Powerlevel9k. Assuming you have installed the nerd fonts and everything else, you should be good to go!
Start off by installing it from your AUR helper:
pikaur -S zsh-theme-powerlevel10k-git
Then simply run:
sudo git clone --depth=1 $ZSH_CUSTOM/themes/powerlevel10k
sed 's/powerlevel9k/powerlevel10k/g' -i ~/.zshrc
exec zsh
p10k configure
Follow the prompt and enjoy your now god level powerline config!
[The End]
This pretty much covers everything I hope to see some pretty gnarly configs down the line BSPWM is really on the rise and I think it's a much easier alternative to work with than i3, I love it so far, and hope its users come to love it as much as I do too someday!
submitted by Volteos to unixporn [link] [comments]

5 minute Binary Option or quick pip gathering Trade using TradingPredictor Juxtapose version PIP™ Tip #3: Trade Binary Options! Understanding Pips (Percentage in Point) What Are Pips? Trading for Beginners What is a pip? How to find your pips and determine how many pips to set your Take Profit What is a Trending Market in Forex and Binary Options Trading

The word “pip”, initially going back to an acronym PIP which means Point In Percentage, is now an absolutely normal word, one of the most frequently used by traders and investors in Forex industry. A pip is the smallest unit of currency rate change. While trading in the Forex market, you will have to closely monitor the currency rates and how they change. You will be able to do so easily ... Binary option trading is a relatively new development in the retail trading world. Five years ago, no one had even heard of it. Since 2012 however, the popularity of binary options surged as a result of aggressive marketing by binary option brokers, and the promotion of binary trading software by the trading “gurus”. Conclusion: In Binary Options, Pip Values are Most Important for Perspective Rather than Gains or Losses. On the whole, if you do not feel you have a strong understanding of how to calculate a pip — don’t worry about it. A pip is simply the smallest unit measure in a currency pair. It is no different than a penny in a stock price movement. It should be understood that there are some small ... Binary options allow you to trade on a wide range of underlying markets. One of the advantages of trading binary options is that you are not buying or selling an actual asset, only a contract that determines how that asset performs over a period of time. This limits your risk and makes it easy for anyone to start trading. Binary Options Pro generates a base accuracy of 55-60% without added filters! HOW MANY SIGNALS GENERATED? Binary Options Pro generates many signals so you can filter them using other indicators & further improve results. The number of signals increases when you use lower time frames. HOW ARE SIGNALS GENERATED? Signals are instantly generated on the "Open" of the bar. CAN IT BE COMBINED TO ... Pip is an acronym for "percentage in point" or" price interest point." A pip is the smallest price move that an exchange rate can make based on forex market convention. Most currency pairs are ... pip offers a number of package index options for modifying how packages are found. pip looks for packages in a number of places: on PyPI (if not disabled via --no-index), in the local filesystem, and in any additional repositories specified via --find-links or --index-url. There is no ordering in the locations that are searched.

[index] [22079] [5521] [16554] [5774] [11332] [21007] [11352] [13465] [10815] [29883]

5 minute Binary Option or quick pip gathering Trade using TradingPredictor Juxtapose version

60 seconds binary options strategy winning 22 out of 24 trades-100% profit guaranteed - Duration: 26 ... PIP™ Tip #1: Compounding Results - Duration: 3:29. Nes Vquez 203 views. 3:29 . How to ... Here is another trade example and how to use TradingPredictor 'Juxtapose' version to win a 5 minute Binary Option trade or just gather pips/points from a short trade. This video explains the concept of a pip (Percentage in Point), which is a term that we run into often in the context of foreign exchange trading, and related venues. An illustrative example is ... In Forex you are not gaining any profitable pips in a ranging market, and in the Binary Options the direction will keep playing around an ITM and OTM every couple of seconds. A very risky ... Pip count is one of the most important things to a trader, apart from the profits. They can indicate how successful, or unsuccessful a trade was. Learn what they mean exactly and why you should ... If you work with me or are a member of my Binary Options And Forex Made Easy group, you will only go by what Metatrader says about pips. In Metatrader, the last and final digit is always the pip ...