Convert to binary and keep leading zeros in Python - Stack ...

CLI & GUI v0.17.1.3 'Oxygen Orion' released!

This is the CLI & GUI v0.17.1.3 'Oxygen Orion' point release. This release predominantly features bug fixes and performance improvements. Users, however, are recommended to upgrade, as it includes mitigations for the issue where transactions occasionally fail.

(Direct) download links (GUI)

(Direct) download links (CLI)

GPG signed hashes

We encourage users to check the integrity of the binaries and verify that they were signed by binaryFate's GPG key. A guide that walks you through this process can be found here for Windows and here for Linux and Mac OS X.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 # This GPG-signed message exists to confirm the SHA256 sums of Monero binaries. # # Please verify the signature against the key for binaryFate in the # source code repository (/utils/gpg_keys). # # ## CLI 38a04a7bd00733e9d943edba3004e44730c0848fe5e8a4fca4cb29c12d1e6b2f monero-android-armv7-v0.17.1.3.tar.bz2 0e94f58572646992ee21f01d291211ed3608e8a46ecb6612b378a2188390dba0 monero-android-armv8-v0.17.1.3.tar.bz2 ae1a1b61d7b4a06690cb22a3389bae5122c8581d47f3a02d303473498f405a1a monero-freebsd-x64-v0.17.1.3.tar.bz2 57d6f9c25bd1dbc9d6b39fcfb13260b21c5594b4334e8ed3b8922108730ee2f0 monero-linux-armv7-v0.17.1.3.tar.bz2 a0419993fbc6a5ca11bcd2e825acef13e429824f4d8c7ba4ec73ac446d2af2fb monero-linux-armv8-v0.17.1.3.tar.bz2 cf3fb693339caed43a935c890d71ecab5b89c430e778dc5ef0c3173c94e5bf64 monero-linux-x64-v0.17.1.3.tar.bz2 d107384ff7b1f77ee4db93940dbfda24d6045bf59c43169bc81a0118e3986bfa monero-linux-x86-v0.17.1.3.tar.bz2 79557c8bee30b229bda90bb9ee494097d639d60948fc2ad87a029359b56b1b48 monero-mac-x64-v0.17.1.3.tar.bz2 3eee0d0e896fb426ef92a141a95e36cb33ca7d1e1db3c1d4cb7383994af43a59 c9e9dde61b33adccd7e794eba8ba29d820817213b40a2571282309d25e64e88a # ## GUI 15ad80b2abb18ac2521398c4dad9b8bfea2e6fc535cf4ebcc60d99b8042d4fb2 monero-gui-install-win-x64-v0.17.1.3.exe 3bed02f9db5b7b2fe4115a636fecf0c6ec9079dd4e9284c8ce2c67d4996e2a4a monero-gui-linux-x64-v0.17.1.3.tar.bz2 23405534c7973a8d6908b76121b81894dc853039c942d7527d254dfde0bd2e8f monero-gui-mac-x64-v0.17.1.3.dmg 0a49ccccb561445f3d7ec0087ddc83a8b76f424fb7d5e0d725222f3639375ec4 # # # ~binaryFate -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEgaxZH+nEtlxYBq/D8K9NRioL35IFAl+oVkkACgkQ8K9NRioL 35Lmpw//Xs09T4917sbnRH/DW/ovpRyjF9dyN1ViuWQW91pJb+E3i9TY+wU3q85k LyTihDB5pV+3nYgKPL9TlLfaytJIQG0vYHykPWHVmYmvoIs9BLarGwaU3bjO0rh9 ST5GDMdvxmQ5Y1LTwVfKkmBJw26DAs0xAvjBX44oRQjjuUdH6JdLPsqa5Kb++NCM b453m5s8bT3Cw6w0eJB1FQEyQ5BoDrwYcFzzsS1ag/C4Ylq0l6CZfEambfOQvdUi 7D5Rywfhiz2t7cfn7LaoXb74KDA/B1bL+R1/KhCuFqxRTOQzq9IxRywh4VptAAMU UR7jFHFijOMoyggIbkD48JmAjlBnqIyQJt4D5gbHe+tSaSoKdgoTGBAmIvaCZIng jfn9pTNzIJbTptsQhhyZqQQIH87D8BctZfX7pREjJmMNGwN2jFxXqUNqYTso20E6 YLtC1mkZBBZ294xHqT1mQpfznc6uVJhhoJpta0eKxkr1ahrGvWBDGZeVhLswnBcq 9dafAkR14rdK1naiCsygb6hMvBqBohVu/bWuhycJcv6XRvlP7UHkR6R8+s6U4Tk2 zaJERQF+cHQpEak5aEJIvDlb/mxteGyvPkPyL7UmADEQh3C4nREwkDSdnitYnF+e HxJZkshoC98+YCkWUP4+JYOOT158jKao3u0laEOxVGOrPz1Nc64= =Ys4h -----END PGP SIGNATURE----- 

Upgrading (GUI)

Note that you should be able to utilize the automatic updater in the GUI that was recently added. A pop-up will appear shortly with the new binary.
In case you want to update manually, you ought to perform the following steps:
  1. Download the new binaries (the .zip file (Windows) or the tar.bz2 file (Mac OS X and Linux)) from the direct download links in this thread or from the official website. If you run active AV (AntiVirus) software, I'd recommend to apply this guide ->
  2. Extract the new binaries (the .zip file (Windows) or the tar.bz2 file (Mac OS X and Linux) you just downloaded) to a new directory / folder of your liking.
  3. Open monero-wallet-gui. It should automatically load your "old" wallet.
If, for some reason, the GUI doesn't automatically load your old wallet, you can open it as follows:
[1] On the second page of the wizard (first page is language selection) choose Open a wallet from file
[2] Now select your initial / original wallet. Note that, by default, the wallet files are located in Documents\Monero\ (Windows), Users//Monero/ (Mac OS X), or home//Monero/ (Linux).
Lastly, note that a blockchain resync is not needed, i.e., it will simply pick up where it left off.

Upgrading (CLI)

You ought to perform the following steps:
  1. Download the new binaries (the .zip file (Windows) or the tar.bz2 file (Mac OS X and Linux)) from the official website, the direct download links in this thread, or Github.
  2. Extract the new binaries to a new directory of your liking.
  3. Copy over the wallet files from the old directory (i.e. the v0.15.x.x, v0.16.x.x, or v0.17.x.x directory).
  4. Start monerod and monero-wallet-cli (in case you have to use your wallet).
Note that a blockchain resync is not needed. Thus, if you open monerod-v0.17.1.3, it will simply pick up where it left off.

Release notes (GUI)

Some highlights of this minor release are:
  • Android support (experimental)
  • Linux binary is now reproducible (experimental)
  • Simple mode: transaction reliability improvements
  • New transaction confirmation dialog
  • Wizard: minor design changes
  • Linux: high DPI support
  • Fix "can't connect to daemon" issue
  • Minor bug fixes
Some highlights of this major release are:
  • Support for CLSAG transaction format
  • Socks5 proxy support, automatically enabled on Tails
  • Simple mode transactions are sent trough local daemon, improved reliability
  • Portable mode, save wallets + config to "storage" folder
  • History page: improvements, incoming / outgoing labels
  • Transfer: new success dialog
  • CMake build system improvements
  • Windows cross compilation support using Docker
  • Various minor bug and UI fixes
Note that you can find a full change log here.

Release notes (CLI)

Some highlights of this minor release are:
  • Add support for I2P and Tor seed nodes (--tx-proxy)
  • Add --ban-list daemon option to ban a list of IP addresses
  • Switch to Dandelion++ fluff mode if no out connections for stem mode
  • Fix a bug with relay_tx
  • Fix a rare readline related crash
  • Use /16 filtering on IPv4-within-IPv6 addresses
  • Give all hosts the same chance of being picked for connecting
  • Minor bugfixes
Some highlights of this major release are:
  • Support for CLSAG transaction format
  • Deterministic unlock times
  • Enforce claiming maximum coinbase amount
  • Serialization format changes
  • Remove most usage of Boost library
  • Always send raw transactions through P2P, don't use bootstrap daemon
  • Update InProofV1, OutProofV1, and ReserveProofV1 to V2
  • ASM optimizations for wallet refresh (macOS / Linux)
  • Randomized delay when forwarding txes from i2p/tor -> ipv4/6
  • New show_qr_code wallet command for CLI
  • Add ZMQ/Pub support for txpool_add and chain_main events
  • Various bug fixes and performance improvements
Note that you can find a full change log here.

Further remarks

  • A guide on pruning can be found here.
  • Ledger Monero users, please be aware that version 1.7.4 of the Ledger Monero App is required in order to properly use CLI or GUI v0.17.1.3.

Guides on how to get started (GUI)
Older guides: (These were written for older versions, but are still somewhat applicable)
Sheep’s Noob guide to Monero GUI in Tails

Ledger GUI guides:

How do I generate a Ledger Monero wallet with the GUI (monero-wallet-gui)?
How do I restore / recreate my Ledger Monero wallet?

Trezor GUI guides:

How do I generate a Trezor Monero wallet with the GUI (monero-wallet-gui)?
How to use Monero with Trezor - by Trezor
How do I restore / recreate my Trezor Monero wallet?

Ledger & Trezor CLI guides

Guides to resolve common issues (GUI)

My antivirus (AV) software blocks / quarantines the Monero GUI wallet, is there a work around I can utilize?
I am missing (not seeing) a transaction to (in) the GUI (zero balance)
Transaction stuck as “pending” in the GUI
How do I move the blockchain (data.mdb) to a different directory during (or after) the initial sync without losing the progress?
I am using the GUI and my daemon doesn't start anymore
My GUI feels buggy / freezes all the time
The GUI uses all my bandwidth and I can't browse anymore or use another application that requires internet connection
How do I change the language of the 25 word mnemonic seed in the GUI or CLI?
I am using remote node, but the GUI still syncs blockchain?

Using the GUI with a remote node

In the wizard, you can either select Simple mode or Simple mode (bootstrap) to utilize this functionality. Note that the GUI developers / contributors recommend to use Simple mode (bootstrap) as this mode will eventually use your own (local) node, thereby contributing to the strength and decentralization of the network. Lastly, if you manually want to set a remote node, you ought to use Advanced mode. A guide can be found here:

Adding a new language to the GUI
If, after reading all these guides, you still require help, please post your issue in this thread and describe it in as much detail as possible. Also, feel free to post any other guides that could help people.
submitted by dEBRUYNE_1 to Monero [link] [comments]

2019 Hyperpop Rate (Slayyyter / 100 gecs / Dorian Electra / Hannah Diamond)

Hello ladies, gays, enbys, and other pots-and-pans enthusiasts and welcome to the 2019 Hyperpop Rate! I'm your host, quenched, and am here to guide you through this month's rate full of boundary-pushing, experimental, over-the-top bubblegum bass, or as it is more commonly called, hyperpop. The genre has come a long way since it's humble PC Music beginnings and has grown to boast a large cult fanbase, majority of which is made of members of the LGBTQ+ community.
Here are the cling clang bitches we will be rating:
In case you're impatient like me and already know the drill...
HERE is the link to the Spotify playlist
HERE is the link to submit scores

Slayyyter - Slayyyter

Up first, we have Slayyyter, queen of high-budget-sounding-but-actually-low-budget Grindrcore music, with her self-titled debut mixtape. After releasing a string of singles starting in 2018 with BFF, featuring hyperpop legend Ayesha Erotica, she has held the attention of gays and hyperpop fans everywhere, propelled by her dominating stan-like presence on social media. While not every loose single made the cut for her mixtape, she still has a versatile discography with zero misses, whether making filthy, horny bangers on songs like "Candy" and "Daddy AF", braggadocious bops "Cha Ching" and "Celebrity", or glittery bubblegum pop such as fan-favorite "Mine". Warning: you will become slightly gayer upon album completion.


  1. BFF (feat. Ayesha Erotica)
  2. Mine
  3. Alone
  4. Candy
  5. Cha Ching
  6. Devil
  7. Ur Man
  8. Daddy AF
  9. Motorcycle
  10. Celebrity
  11. Tattoo
  12. E-Boy (feat. That Kid)
  13. Touch My Body
  14. Ghosttt

100 gecs - 1000 gecs

This rate marks the first time in Popheads rate history we have cut an album from a rate and replaced it with another. LIZ's album "Planet Y2K" was supposed to be in the rate initially, but it came to my attention that she is a transphobic Trump supporter with NO apology or backtrack ever given. So, I posted this comment one day in a Daily Discussion post, and after 72 votes, 65% of you wanted LIZ to be replaced with 100 gecs (which honestly is better anyways musically speaking).
100 gecs are definitely one of the more well known hyperpop acts. The critically acclaimed duo are one of the few hyperpop acts to reach well beyond the LGBTQ+ audience. Consisting of Dylan Brady and Laura Les (who is trans!!!), the duo's debut album, especially money machine, has gone semi-viral within the music sphere and TikTok alike. If you can say one thing about this album, it's that you never know what to expect or what crazy sounds you're going to hear next! They also released a phenomenal remix album called "1000 gecs and The Tree of Clues", reimagining every song on this album and featuring many Popheads favorites such as Charli XCX and Kero Kero Bonito.


  1. 745 sticky
  2. money machine
  3. 800 db cloud
  4. I Need Help Immediately
  5. stupid horse
  6. xXXi_wud_nvrstøp_ÜXXx
  7. ringtone
  8. gecgecgec
  9. hand crushed by a mallet
  10. gec 2 Ü

Dorian Electra - Flamboyant

Challenging heteronormativity and the gender binary, Dorian exploded onto the scene with many loose singles, beginning with Clitopia in 2016. These singles led up to Flamboyant, an abrasive, electropop album that doesn't have a single skip! The album also features some production by Dylan Brady, who is one-half of 100 gecs, also present in this rate. Beyond the songs themselves all being bangers, lyrically Dorian explores different aspects of their sexuality and masculinity in songs such as "Emasculate", "Flamboyant", and Adam & Steve, a song which is sure to resonate which any religious gays participating in the rate. Dorian has already released their second album "My Agenda", which I also definitely recommend everyone streams after doing the rate!
Note: Dorian uses they/them pronouns so I'm gonna be mad if I get any ballots using anything otherwise!


  1. Mr. To You
  2. Career Boy
  3. Daddy Like
  4. Emasculate
  5. Man To Man
  6. Musical Genius
  7. Flamboyant
  8. Guyliner
  9. Live By The Sword
  10. Adam & Steve
  11. fReAkY 4 Life
  12. Tool For You
  13. Under The Armor
  14. Guyliner, Pt. 2
  15. Your Kinda Guy

Hannah Diamond - Reflections

Lastly we have Hannah Diamond, who has been around the longest of the artists in this rate, releasing her first song in 2013. She was one of the first names in PC Music, taking her until 2019 to release her debut album (giving Sky Ferreira a run for her money as far as album waits go). Featuring A.G. Cook production and dreamy vocals from Hannah, this album was definitely worth the long wait!


  1. Reflections
  2. Invisible
  3. Love Goes On
  4. Never Again
  5. True
  6. Concrete Angel
  7. The Ending
  8. Shy
  9. Fade Away
  10. Make Believe


Unfortunately for this rate, we couldn't include the queen of hyperpop, Emily Montes, as she did not debut until 2020, therefore not fitting the rate theme. At only 5 years old, she is already receiving fairly decent critical reception. She has two projects on Spotify, the self-titled debut album, Emily Montes and the also self-titled EP, Emily. Featuring experimental production, lyrics that touch on serious topics such as COVID-19 and BLM, and never-before-seen insight into a 5 year old's life, both projects are masterpieces. Despite the seemingly large amount of songs, the bonus rate only lasts 7 minutes and 47 seconds so I definitely recommend setting aside this short amount of time to participate and experience a true visionary.
This part is completely optional and is just for fun. You may rate as many or as few songs as you'd like. No 0's or 11's, and and no minimum artist average. Here are the songs for the bonus rate:

Emily Montes:

  1. EmiLy
  2. Emily montes
  3. Emily rose
  4. Emily montes (Breakup)
  5. Emily montes (Corona Is Crazy)
  6. Frozen
  7. Untitled
  8. Emily From The West
  9. Untitled 2
  10. If you know you know if you don't you don't
  11. Take me away
  12. Roblox is my life
  13. Give me my crown
  14. Roboticy


  1. Brand New - Intro
  2. Haters / BLM George Floyd / Dark
  3. Hungry / I Like to Go Outside

The Rules

  • Listen to EVERY SINGLE SONG in the main rate! Any ballots missing scores will not be accepted.
  • Scores should be between 1-10, with only one decimal place if desired. Anymore will crash the program!! (i.e. 5.5 is accepted, 5.55 is not)
  • You may give ONE song an 11, and ONE song a 0. Reserve these scores for your favorite and least favorite songs in the rate, respectively.
  • Submit scores via the prepared link at the bottom of this post.
  • If you let some of the songs marinate and end up wanting to change up your scores throughout the rate period, feel free to PM me at any time!
  • Scores will probably be due sometime early to mid-December, but try and have them in by the end of the month if you can!
  • Sabotage is NOT allowed, so leave the stan twitter mindset at the door! I reserve the right to question any seemingly over-the-top low or high averages.
  • Here is the only format accepted for scores and comments (you may also leave comments for the albums as a whole if you'd like):
Mine: 1 oh me oh my this song is shit
Album: 1000 gecs: the lil piss babies did THAT
Any other format for scores/comments is incorrect!



(Just in case the preprepared link doesn't work, here is a pastebin of the submission format. Just copy and paste it to me via DM with your scores and comments)
Happy rating!
submitted by DaHumanTorch to popheads [link] [comments]


I wanted to share this post I found in this subreddit from around 4 years ago. I have tried at least 10 different videos, 2 books, and 2 Udemy courses and IPv4 Subnetting made no f***ing sense to me. I didn't want to memorise a table, especially as I only have an option to take my CCNA test at home and Pearson doesn't allow writing on paper when testing at home. This is simple enough to do in a matter of seconds, as long as you can memorise the powers of 2 up to a power of 8. (2, 4, 8, 16, 32, etc.)
(I copied and pasted the comment as the embedding didn't work. Credit goes to u/dalgeek)
"No idea, but it looks overly complicated.
The most important thing to remember about subnetting is that networks always fall on binary boundaries, so multiples of 1, 2, 4, 8, etc. If someone gives you CIDR notation it makes things really easy:
32 - 28 = 4 bits for hosts, 24 = 16
What multiple of 16 is closest to 57 without going over? 48, so the network address is and the broadcast is (48 + 16 - 1)
It gets a little more tricky when you cross octets, like As as shortcut you can just ignore the last octet and pretend you're only dealing with 3 bits (the last octet is all 0s). 23 = 8, the multiple of 8 closest to 57 without going over is 56, so your network is and broadcast is (56 + 8 - 1 = 63)
Now let's reverse it. You need a network in that contains 17 hosts. The smallest binary boundary that is larger than 17 is 32, which is 25 , 32-5 = 27, so can be a network, and if you keep adding 32 you can use,, etc.
As for translating between network mask and CIDR, that is pretty easy. For a CIDR of /26, you do
32 - 26 = 6 2^6 = 64 255 - 64 + 1 = 192 
So your network mask is You add the 1 here because when you're counting boundaries you include the number you start on. For a CIDR of /17, you do the same as above where you ignore the last octet because they're all 0s.
24-17 = 7 2^7 = 128 255 - 128 + 1 = 128 
The last octet is all zeros so the network mask is
Hope that's not too confusing!"
If you're having as much an issue with IPv4 subnetting as I was, I recommend this method and practising along with this link:
I hope this helps everyone, and happy testing!
submitted by dhick33 to ccna [link] [comments]

A proposal to eliminate the spread of COVID-19 in Ireland

This is a long one. There is no TL;DR, but Google tells me it should take about 10 minutes to read. Or, you can skip to The Plan - Summary if you want the bullet points.
But why should you give this any time at all?
My background is in data analysis. Making sense of numbers is what I do for a living. I have been studying COVID-19 since I was locked down in March and the experience has been frustrating in equal measure. The difference between what was happening on the ground, and the story that the media told was genuinely alarming. The government / NPHET never even tried to stop the virus getting into the country, and no one held them to account for their (non)decisions. The disastrous consequences are all around us, and much of it was preventable.
Six months later, and the country has barely moved on. The ‘experts’ have no goals and little control over the virus. The media frame every issue as a crass binary choice between more or less restrictions and are otherwise happy just to have people to point their fingers at. The government / NPHET has nothing to offer the people, other than admonishments to do better and repeated cycle of restrictions.
Meanwhile students, artists, the over 70s, small business owners, the entire events and hospitality industries, and regular people who cannot WFH have been left swinging in the wind. Some have been evicted, others are relying on drugs to get by. This situation is not just a problem for one or two parts of our society: this is a widespread degradation of our quality of life. If I can do anything to help, I feel obliged to try.

As I see it, we have three choices:
I won’t argue over technocratic definitions like ‘elimination’, ‘eradication’ or ‘suppression’. These distinctions are semantic in an environment of oppressive civic restrictions, mass unemployment, waves of business closures, and general misery. Whatever gets us to a place where we can live our lives as normal (or close enough), and the public health infrastructure can take care of the virus, that’s what I’m aiming for.
This proposal cannot work without public support. No proposal can work without public support. Public adherence is the single most important variable in the equation, yet it is the one that the politicians and the media and the ‘experts’ have ignored. FG burned through a lot of goodwill in the first lockdown (and money, and resources, and lives…). Instead of vilifying people who aren’t adhering to the rules, policymakers need to recognise the sacrifices that the people made (which were subsequently squandered) and they need to earn that trust back.
This proposal cannot work without support from the North. That doesn’t mean that we need to convince them to adopt our plan. It means we need to convince them that the goal is worthwhile and achievable. From there we can work together to coordinate our policies. Managing our own affairs with competence, would be a good start. Picking up the phone to talk to them, instead of trying to browbeat them through the media, would also help.
Irrespective of your goals or beliefs, some facts are certain: there will be lockdowns, there will be government spending to support the economy, and the virus will demand public health resources. All of that will happen in the coming months and years, whether we have a plan or not. The question is whether those resources are used to solve the problem, or whether they are wasted on a plan that keeps us going around in circles.
So yes, there will be lockdowns in this proposal, but they will not be FG lockdowns i.e. lock them down and throw away the key. Through intelligent policies and a greater mobilisation of resources, we can do so much more with our lockdowns to reduce the burden on the people and make their experience more tolerable. Indeed, that trade-off always exists in public policy: better policymaking = happier people. Which is why the politicians usually get the blame, and rightly so.
We need to move to a more ‘war time’ mindset. Not because we need a shared enemy to unite us, but because we need to mobilise every possible resource at our disposal and focus it on the single most important issue affecting us all. We need more tests, we need vehicles for mobile testing units, we need facilities for quarantines. Wherever there is spare capacity, we need to find a way to put it to good use. We need to take most of the power away from the narrow-minded medics, and get the rest of our society and our civic infrastructure involved in planning e.g. community representatives, legal experts, business leaders, An Garda, the army etc.
People want to invest in their communities, they want to help their friends and neighbours. There are people all over the country who would rather be volunteering as part of a national plan to get rid of COVID-19, than to be sitting at home on the PUP, going crazy listening to the ‘experts’ – who failed to prevent this – talk about more lockdowns. We need to harness that latent energy and build it into the plan.
One of the most important factors that is within our control, is the degree to which policymakers communicate with the people. And I mean real communication, not press releases or attention-seeking speeches from the other side of the world. We need to talk to the people, listen to them, answer their questions, take their feedback on board. The people aren’t stupid. They know a good plan when they see it – which is why few are paying attention to the ‘Living With The Virus’ stuff – and they have valuable information that can help make that plan work.
Underlying these points is a need to create intelligent rules, and to enforce them strictly. Strict does not mean harsh. Strict enforcement is not authoritarianism, and it is not an invitation to a fight; it is simply administrative competence. In the context of a contagious outbreak, administrative competence is the difference between life and death.
I’ll finish this section with the caveat that all parameters are suggestions or placeholders. The exact numbers will depend on resources, on more data and further analysis, and on input from communities and other stakeholders – all of which is within our control.

The Plan – Summary
Like any problem in life, if you can’t solve it directly, you break it down into smaller, less complex parts.
Instead of putting the whole country into lockdown and trying to eradicate the virus from the whole island at the same time – a miserable experience for all – we should go county by county until the job is done. We seal off a county, flood it with resources, clear it of COVID-19, and then let it reopen as normal. We repeat the process for neighbouring counties and then combine them when they are cleared, to create a larger ‘Cleared Zone’. The process continues and the Cleared Zone keeps growing until it covers the whole island.
This approach allows us to focus our resources on one area at a time (nurses, doctors, tests, volunteers etc) instead of spreading them over the whole country. We can be more comprehensive in our testing and quarantining measures, and more confident in our plans. Short, sharp, strict lockdowns work best.
By maximising the ratio of resources to population, we also lower the burden on the people. In particular, we minimise the amount of time that people spend in lockdown, and the less time they spend in lockdown, the more likely the plan is to work.
This structured approach also makes it easier for us to measure our progress and make reliable forecasts. We can allocate our resources more efficiently and plan our responses more effectively. Observers can watch our progress and judge for themselves whether it is a good idea (i.e. politicians in the North and / or protestors in Dublin).
Perhaps most important of all, the structure makes it easier to explain the idea to the people and get buy-in before anything happens. We can outline the plan, explain how it works, explain how it compares to the alternatives, and then give them realistic estimates of what would be required and how long it would take. Then we can hear their feedback and take the conversation and planning from there.
I have heard any people talking about elimination and ZeroCovid, but do any of them have a plan for getting to zero? Or a plan to get the people on board?
Step 1: More structure and responsibility from leaders
Step 2: Less uncertainty, easier decisions, better outcomes, less stress for everyone
Step 3: Profit. Elimination.

The Plan – Implementation
We isolate a county and lock it down for an initial 3 weeks. An Garda man the county borders. They are supported by the army, who provide boots on the ground so that An Garda aren’t stretched. Most routes are closed off so that all essential travel goes through a few well-manned checkpoints. If we do a good job with planning and communication, there won’t be much work to do.
We test systemically high-risk households and high-risk individuals early and often i.e. large households and essential workers. With help from local volunteers, medics screen as many people as possible every day. We use multiple measures and repeated applications to improve the quality of our results. We want to identify and remove cases at the earliest possible point, both to reduce the chance of further infection, and to protect the individual’s health.
Low risk confirmed cases (young / healthy) go to a safe and comfortable quarantine. Local hotels and guest houses could be used, ideally before we invest in building quarantine facilities. Local taxis, kitted out with extra protective equipment, could take them there. High risk confirmed cases (older / comorbidities) go by ambulance to local medical facilities as required.
During this period, we work with local politicians, community leaders, residence associations etc to ensure that everyone is looked after (in reality, these conversations will have started weeks before). We get our neighbourhoods communicating, looking out for each other, making sure they’ve got enough food or heating or whatever else they need. Local volunteers and taxi drivers can do odd jobs like sending packages, collecting prescriptions, lifting heavy stuff, or just checking in on people. If it is feasible, we can even invite local artists to play gigs for people in their streets or apartments.
Towards the end of the second week, we begin a mass testing program with the ultimate goal of testing every person in the county (scale depends on resources). Once we have completed the tests and cleared the confirmed cases into quarantine, we can begin a slow, staggered opening process. We must be especially conservative at this point to ensure no slippage.
When one county is clear, we move to the next one, and repeat the process. When we have cleared two bordering counties, we can join them together in a bigger Cleared Zone and the process continues from there. Eventually the Cleared Zone covers the whole country, except Dublin (or more realistically, the Pale).
What would the other counties do while they wait for their turn? I’m assuming that, they would be doing whatever the ‘Living With The Virus’ plan dictates. This proposal succeeds in line with what happens in the sealed off zones, so I am more concerned with them. However, it would speed up the process if the bordering counties could be encouraged to get a head start. If the plan is going successfully, I’m confident they would.
With its population density and its complexity, Dublin / the Pale will be the last county to be cleared. However, given that every other county would be cleared by that point, and with so much effort having been put in, it might make more sense just to burn Dublin down. We could go with a concrete mausoleum as per Chernobyl, but it might be easier and quicker if we just raised the city and started from scratch. The country needs to rebalance, so it’d be two birds with one stone.
Or maybe we call that plan B. Dublin’s plan A would follow the same principles as for the rest of the country. Break it into smaller parts, focus resources on one area at a time, use layers of risk measures where precision isn’t an option, and get cases as early as possible, using whatever resources available. By that stage the rest of the country would be clear and the demand for medical resources low. We would have learned a lot along the way, and we would have plenty of ammo to throw at the problem.
In general, the more resources we have, the faster we can move. The county by county approach that I have outlined above is too slow. With greater resources, we can increase the number of counties that are being cleared at any one time. One option is to work by province. Another would be to define the zones with respect to observed travel routes, in order to reduce the risk of leakage and reduce the inconvenience on local communities.
At the end of the day, lines have to be drawn somewhere, and some people will inevitably lose out. The better we communicate with people in advance, the lower the burden on the people and the more of these problems we can avoid.
Following on from that, one of the skills we need to take from this crisis is the ability to isolate and quarantine regions. Whether it is a city, a town, a county, a specific building, or even the entire country, we need to be able to seal it off and control movement in and out. This is an essential tool for outbreak management – whatever the outbreak and whatever the disease.
The same goes for individuals. We need to be able to create and operate safe, comfortable, and effective quarantines, and to do so at short notice. It should be a matter of national embarrassment that FG and NPHET couldn’t even organise a quarantine in a pandemic.
The whole process might take 3 to 4 months. That means we would have cut off all non-essential air travel for that time, but it doesn’t mean the whole country is in lockdown for 3 or 4 months. The lockdown is staggered, and the individual’s experience will depend on their location and their place in the ‘queue’.
The first group of counties to go into lockdown will also be the first to come out. Once they have eliminated the spread of the virus, they will return to a normal, although somewhat isolated, society. The experience steadily improves as more and more counties join them in the Cleared Zone (or steadily deteriorates, depending on your county pride).
While the first group is in lockdown, the rest of the country continues as normal i.e. living with the virus. Everyone watches as the first group goes through its lockdown (just think of the #banter). Several weeks later, as the first group is opening up, the second group is preparing to go in to lockdown. As the second group comes out, the third group goes in etc etc and the staggered lockdowns roll like a wave across the country.
Every county goes from Living With The Virus -> intelligent lockdown (needs a better name) -> Cleared Zone. The earlier you are in the queue, the less time you spend Living With The Virus and the more time you spend in the Cleared Zone. The individual would only be in a strict lockdown for a matter of weeks, maybe 3-6 depending on the complexity of the region and the resources available. For counties with smaller populations that have shown that they can do a good lockdown, it will be quicker. For Dublin, it will be slower.

I think this proposal has a lot of strengths. It’s a plan, for a start. We haven’t had a plan since this thing began (the FG lockdown wasn’t a plan – it was the inevitable consequence of not having a plan). The leaders take more responsibility to lower the burden on the people, it mobilises idle resources, and it fosters communication and community across the country.
These are three strengths that I want to emphasise.
1 It provides clarity
This might be the most important point.
Uncertainty is painful. Uncertainty is a cost. Even if the bad thing is unlikely to happen, just the fact that it is a risk, or that it could happen means that you live with a cloud over your head. Suffering is bad enough on its own, but suffering for an unknown length of time is torture. And if that period is determined at the whim of a politician or an ‘expert’, that is a recipe for society-wide anger and even civil disorder.
With this proposal, we can forecast the length of the period of lockdown with greater accuracy. The people will be able to understand what is being asked of them. We can make plans around resources required versus those available. The economists can make forecasts. Businesses can plan their finances. The people can plan their weddings, book their holidays, get back to training, sign up for courses, and have things to look forward to.
At the end of the day, any successful proposal must remove the uncertainty and provide meaningful clarity to households and businesses.
2 Never let a crisis go to waste
This plan will require tools and capabilities like rapid local testing, safe quarantines, rapid isolation of towns and regions, emergency decision-making frameworks etc. If we don’t have a capability, then we need to build it. When people say ‘never let a crisis go to waste’ this is what they mean: you build the tools in the crisis that will help you protect yourself from the next one.
Nature works the same way. You lift weights until the muscle fibres tear, then they grow back stronger. We build aerobic endurance by pushing ourselves to a limit, then our body naturally reacts to increase the limit. A vaccine works similarly by stimulating antibodies for the disease. Well, we need a civic emergency vaccine for Ireland. These tools are the antibodies that will protect us next time. The sooner we build them, the better. Now is the time, not later.
3 It's the only way we can protect the economy
The risk to the economy isn’t the next few months of revenue. We can borrow to cover lost income in the short run. The real risk is a wave of defaults that precipitates a financial crisis.
As more individuals and businesses are put under financial pressure, more borrowers will default on their debts. But one man’s debt is another man’s asset, so as the borrowers default, the lender’s financial situation also deteriorates. Defaults are contagious, and if a wave of defaults threatens a major lender, the entire financial system will be at risk.
Only an elimination plan can protect the economy. Along with the virus and the uncertainty it creates, we need to eliminate the risk of financial contagion.

Could ya be arsed

The End Goal
Think about what’s on the other side of this…
This is a massive challenge – the kind that defines a nation. However you think of your community, this would give you something to be proud of for generations. It would be like Italia ’90, except 10 times bigger, because we would be the players, we would be the ones making it happen.
We’d become the first country in Europe to eliminate the virus. And of all the countries in the world, we’d be doing it from the largest deficit too. Those Taiwanese and Kiwis made it easy for themselves with their preparation and their travel restrictions and their competent leaders. Our challenge is much greater than theirs, but they show us what is possible.
Have you ever wanted to scoff at the Germans for being disorganised? Wouldn’t you love to have a reason to mock the Danes? Aren’t you sick of hearing about New Zealand? Let’s make the Kiwis sick of hearing about the Irish!
If we take this challenge on, the world’s media will be on us. The FT, the Economist, the NYT, the Guardian, Monacle, Wired, the New Scientist, China Daily, RT, Good Housekeeping, Horse and Hound, PornHub… all of these international media empires would be tracking our progress, interviewing key people, reporting daily, willing us on. The world is desperate for good news, and we can be the ones to give it to them.
We would become a model for other nations to follow. They would take the Irish model and adapt it to their own situation. Instead of us copying other nations, they would be copying us. Instead of a pat on the head for the diddy little Irish fellas, we would be literally LEADING THE WORLD.
Back at home, we get our lives back, and society can breathe again, free of restrictions. The over 70s come out of hibernation. The students go back to university. The protests stop because people go back to work and we announce an inquiry into what exactly happened in February and March. The pubs go back to being pubs. Our hospitality industry is taken off life support. The tidal wave of bankruptcies is avoided. We can play sport and celebrate the wins. We stop talking about things we can or can't do. Just imagine that first session... And imagine how good it would feel knowing that you had worked for it, and knowing that you had set the nation on a better path for generations to come...
I think it’s worth a lash! Don’t you?
submitted by 4SMD1MCW to ireland [link] [comments]

Gridcoin "Fern" Release
Finally! After over ten months of development and testing, "Fern" has arrived! This is a whopper. 240 pull requests merged. Essentially a complete rewrite that was started with the scraper (the "neural net" rewrite) in "Denise" has now been completed. Practically the ENTIRE Gridcoin specific codebase resting on top of the vanilla Bitcoin/Peercoin/Blackcoin vanilla PoS code has been rewritten. This removes the team requirement at last (see below), although there are many other important improvements besides that.
Fern was a monumental undertaking. We had to encode all of the old rules active for the v10 block protocol in new code and ensure that the new code was 100% compatible. This had to be done in such a way as to clear out all of the old spaghetti and ring-fence it with tightly controlled class implementations. We then wrote an entirely new, simplified ruleset for research rewards and reengineered contracts (which includes beacon management, polls, and voting) using properly classed code. The fundamentals of Gridcoin with this release are now on a very sound and maintainable footing, and the developers believe the codebase as updated here will serve as the fundamental basis for Gridcoin's future roadmap.
We have been testing this for MONTHS on testnet in various stages. The v10 (legacy) compatibility code has been running on testnet continuously as it was developed to ensure compatibility with existing nodes. During the last few months, we have done two private testnet forks and then the full public testnet testing for v11 code (the new protocol which is what Fern implements). The developers have also been running non-staking "sentinel" nodes on mainnet with this code to verify that the consensus rules are problem-free for the legacy compatibility code on the broader mainnet. We believe this amount of testing is going to result in a smooth rollout.
Given the amount of changes in Fern, I am presenting TWO changelogs below. One is high level, which summarizes the most significant changes in the protocol. The second changelog is the detailed one in the usual format, and gives you an inkling of the size of this release.



Note that the protocol changes will not become active until we cross the hard-fork transition height to v11, which has been set at 2053000. Given current average block spacing, this should happen around October 4, about one month from now.
Note that to get all of the beacons in the network on the new protocol, we are requiring ALL beacons to be validated. A two week (14 day) grace period is provided by the code, starting at the time of the transition height, for people currently holding a beacon to validate the beacon and prevent it from expiring. That means that EVERY CRUNCHER must advertise and validate their beacon AFTER the v11 transition (around Oct 4th) and BEFORE October 18th (or more precisely, 14 days from the actual date of the v11 transition). If you do not advertise and validate your beacon by this time, your beacon will expire and you will stop earning research rewards until you advertise and validate a new beacon. This process has been made much easier by a brand new beacon "wizard" that helps manage beacon advertisements and renewals. Once a beacon has been validated and is a v11 protocol beacon, the normal 180 day expiration rules apply. Note, however, that the 180 day expiration on research rewards has been removed with the Fern update. This means that while your beacon might expire after 180 days, your earned research rewards will be retained and can be claimed by advertising a beacon with the same CPID and going through the validation process again. In other words, you do not lose any earned research rewards if you do not stake a block within 180 days and keep your beacon up-to-date.
The transition height is also when the team requirement will be relaxed for the network.


Besides the beacon wizard, there are a number of improvements to the GUI, including new UI transaction types (and icons) for staking the superblock, sidestake sends, beacon advertisement, voting, poll creation, and transactions with a message. The main screen has been revamped with a better summary section, and better status icons. Several changes under the hood have improved GUI performance. And finally, the diagnostics have been revamped.


The wallet sync speed has been DRASTICALLY improved. A decent machine with a good network connection should be able to sync the entire mainnet blockchain in less than 4 hours. A fast machine with a really fast network connection and a good SSD can do it in about 2.5 hours. One of our goals was to reduce or eliminate the reliance on snapshots for mainnet, and I think we have accomplished that goal with the new sync speed. We have also streamlined the in-memory structures for the blockchain which shaves some memory use.
There are so many goodies here it is hard to summarize them all.
I would like to thank all of the contributors to this release, but especially thank @cyrossignol, whose incredible contributions formed the backbone of this release. I would also like to pay special thanks to @barton2526, @caraka, and @Quezacoatl1, who tirelessly helped during the testing and polishing phase on testnet with testing and repeated builds for all architectures.
The developers are proud to present this release to the community and we believe this represents the starting point for a true renaissance for Gridcoin!

Summary Changelog



Most significantly, nodes calculate research rewards directly from the magnitudes in EACH superblock between stakes instead of using a two- or three- point average based on a CPID's current magnitude and the magnitude for the CPID when it last staked. For those long-timers in the community, this has been referred to as "Superblock Windows," and was first done in proof-of-concept form by @denravonska.







As a reminder:









Detailed Changelog

[] 2020-09-03, mandatory, "Fern"





submitted by jamescowens to gridcoin [link] [comments]

Red Hat OpenShift Container Platform Instruction Manual for Windows Powershell

Introduction to the manual
This manual is made to guide you step by step in setting up an OpenShift cloud environment on your own device. It will tell you what needs to be done, when it needs to be done, what you will be doing and why you will be doing it, all in one convenient manual that is made for Windows users. Although if you'd want to try it on Linux or MacOS we did add the commands necesary to get the CodeReady Containers to run on your operating system. Be warned however there are some system requirements that are necessary to run the CodeReady Containers that we will be using. These requirements are specified within chapter Minimum system requirements.
This manual is written for everyone with an interest in the Red Hat OpenShift Container Platform and has at least a basic understanding of the command line within PowerShell on Windows. Even though it is possible to use most of the manual for Linux or MacOS we will focus on how to do this within Windows.
If you follow this manual you will be able to do the following items by yourself:
● Installing the CodeReady Containers
● Updating OpenShift
● Configuring a CodeReady Container
● Configuring the DNS
● Accessing the OpenShift cluster
● Deploying the Mediawiki application
What is the OpenShift Container platform?
Red Hat OpenShift is a cloud development Platform as a Service (PaaS). It enables developers to develop and deploy their applications on a cloud infrastructure. It is based on the Kubernetes platform and is widely used by developers and IT operations worldwide. The OpenShift Container platform makes use of CodeReady Containers. CodeReady Containers are pre-configured containers that can be used for developing and testing purposes. There are also CodeReady Workspaces, these workspaces are used to provide any member of the development or IT team with a consistent, secure, and zero-configuration development environment.
The OpenShift Container Platform is widely used because it helps the programmers and developers make their application faster because of CodeReady Containers and CodeReady Workspaces and it also allows them to test their application in the same environment. One of the advantages provided by OpenShift is the efficient container orchestration. This allows for faster container provisioning, deploying and management. It does this by streamlining and automating the automation process.
What knowledge is required or recommended to proceed with the installation?
To be able to follow this manual some knowledge is mandatory, because most of the commands are done within the Command Line interface it is necessary to know how it works and how you can browse through files/folders. If you either don’t have this basic knowledge or have trouble with the basic Command Line Interface commands from PowerShell, then a cheat sheet might offer some help. We recommend the following cheat sheet for windows:
Another option is to read through the operating system’s documentation or introduction guides. Though the documentation can be overwhelming by the sheer amount of commands.
Aside from the required knowledge there are also some things that can be helpful to know just to make the use of OpenShift a bit simpler. This consists of some general knowledge on PaaS like Dockers and Kubernetes.

System requirements

Minimum System requirements

The minimum system requirements for the Red Hat OpenShift CodeReady Containers has the following minimum hardware:
Hardware requirements
Code Ready Containers requires the following system resources:
● 4 virtual CPU’s
● 9 GB of free random-access memory
● 35 GB of storage space
● Physical CPU with Hyper-V (intel) or SVM mode (AMD) this has to be enabled in the bios
Software requirements
The minimum system requirements for the Red Hat OpenShift CodeReady Containers has the following minimum operating system requirements:
Microsoft Windows
On Microsoft Windows, the Red Hat OpenShift CodeReady Containers requires the Windows 10 Pro Fall Creators Update (version 1709) or newer. CodeReady Containers does not work on earlier versions or other editions of Microsoft Windows. Microsoft Windows 10 Home Edition is not supported.
On macOS, the Red Hat OpenShift CodeReady Containers requires macOS 10.12 Sierra or newer.
On Linux, the Red Hat OpenShift CodeReady Containers is only supported on Red Hat Enterprise Linux/CentOS 7.5 or newer and on the latest two stable Fedora releases.
When using Red Hat Enterprise Linux, the machine running CodeReady Containers must be registered with the Red Hat Customer Portal.
Ubuntu 18.04 LTS or newer and Debian 10 or newer are not officially supported and may require manual set up of the host machine.

Required additional software packages for Linux

The CodeReady Containers on Linux require the libvirt and Network Manager packages to run. Consult the following table to find the command used to install these packages for your Linux distribution:
Table 1.1 Package installation commands by distribution
Linux Distribution Installation command
Fedora Sudo dnf install NetworkManager
Red Hat Enterprise Linux/CentOS Su -c 'yum install NetworkManager'
Debian/Ubuntu Sudo apt install qemu-kvm libvirt-daemonlibvirt-daemon-system network-manage


Getting started with the installation

To install CodeReady Containers a few steps must be undertaken. Because an OpenShift account is necessary to use the application this will be the first step. An account can be made on “”, where you need to press login and after that select the option “Create one now”
After making an account the next step is to download the latest release of CodeReady Containers and the pulled secret on “”. Make sure to download the version corresponding to your platform and/or operating system. After downloading the right version, the contents have to be extracted from the archive to a location in your $PATH. The pulled secret should be saved because it is needed later.
The command line interface has to be opened before we can continue with the installation. For windows we will use PowerShell. All the commands we use during the installation procedure of this guide are going to be done in this command line interface unless stated otherwise. To be able to run the commands within the command line interface, use the command line interface to go to the location in your $PATH where you extracted the CodeReady zip.
If you have installed an outdated version and you wish to update, then you can delete the existing CodeReady Containers virtual machine with the $crc delete command. After deleting the container, you must replace the old crc binary with a newly downloaded binary of the latest release.
C:\Users\[username]\$PATH>crc delete 
When you have done the previous steps please confirm that the correct and up to date crc binary is in use by checking it with the $crc version command, this should provide you with the version that is currently installed.
C:\Users\[username]\$PATH>crc version 
To set up the host operating system for the CodeReady Containers virtual machine you have to run the $crc setup command. After running crc setup, crc start will create a minimal OpenShift 4 cluster in the folder where the executable is located.
C:\Users\[username]>crc setup 

Setting up CodeReady Containers

Now we need to set up the new CodeReady Containers release with the $crc setup command. This command will perform the operations necessary to run the CodeReady Containers and create the ~/.crc directory if it did not previously exist. In the process you have to supply your pulled secret, once this process is completed you have to reboot your system. When the system has restarted you can start the new CodeReady Containers virtual machine with the $crc start command. The $crc start command starts the CodeReady virtual machine and OpenShift cluster.
You cannot change the configuration of an existing CodeReady Containers virtual machine. So if you have a CodeReady Containers virtual machine and you want to make configuration changes you need to delete the virtual machine with the $crc delete command and create a new virtual machine and start that one with the configuration changes. Take note that deleting the virtual machine will also delete the data stored in the CodeReady Containers. So, to prevent data loss we recommend you save the data you wish to keep. Also keep in mind that it is not necessary to change the default configuration to start OpenShift.
C:\Users\[username]\$PATH>crc setup 
Before starting the machine, you need to keep in mind that it is not possible to make any changes to the virtual machine. For this tutorial however it is not necessary to change the configuration, if you don’t want to make any changes please continue by starting the machine with the crc start command.
C:\Users\[username]\$PATH>crc start 
\ it is possible that you will get a Nameserver error later on, if this is the case please start it with* crc start -n


It is not is not necessary to change the default configuration and continue with this tutorial, this chapter is here for those that wish to do so and know what they are doing. However, for MacOS and Linux it is necessary to change the dns settings.

Configuring the CodeReady Containers

To start the configuration of the CodeReady Containers use the command crc config. This command allows you to configure the crc binary and the CodeReady virtual machine. The command has some requirements before it’s able to configure. This requirement is a subcommand, the available subcommands for this binary and virtual machine are:
get, this command allows you to see the values of a configurable property
set/unset, this command can be used for 2 things. To display the names of, or to set and/or unset values of several options and parameters. These parameters being:
○ Shell options
○ Shell attributes
○ Positional parameters
view, this command starts the configuration in read-only mode.
These commands need to operate on named configurable properties. To list all the available properties, you can run the command $crc config --help.
Throughout this manual we will use the $crc config command a few times to change some properties needed for the configuration.
There is also the possibility to use the crc config command to configure the behavior of the checks that’s done by the $crc start end $crc setup commands. By default, the startup checks will stop with the process if their conditions are not met. To bypass this potential issue, you can set the value of a property that starts with skip-check or warn-check to true to skip the check or warning instead of ending up with an error.
C:\Users\[username]\$PATH>crc config get C:\Users\[username]\$PATH>crc config set C:\Users\[username]\$PATH>crc config unset C:\Users\[username]\$PATH>crc config view C:\Users\[username]\$PATH>crc config --help 

Configuring the Virtual Machine

You can use the CPUs and memory properties to configure the default number of vCPU’s and amount of memory available for the virtual machine.
To increase the number of vCPU’s available to the virtual machine use the $crc config set CPUs . Keep in mind that the default number for the CPU’s is 4 and the number of vCPU’s you wish to assign must be equal or greater than the default value.
To increase the memory available to the virtual machine, use the $crc config set memory . Keep in mind that the default number for the memory is 9216 Mebibytes and the amount of memory you wish to assign must be equal or greater than the default value.
C:\Users\[username]\$PATH>crc config set CPUs  C:\Users\[username]\$PATH>crc config set memory > 

Configuring the DNS

Window / General DNS setup

There are two domain names used by the OpenShift cluster that are managed by the CodeReady Containers, these are:
crc.testing, this is the domain for the core OpenShift services.
apps-crc.testing, this is the domain used for accessing OpenShift applications that are deployed on the cluster.
Configuring the DNS settings in Windows is done by executing the crc setup. This command automatically adjusts the DNS configuration on the system. When executing crc start additional checks to verify the configuration will be executed.

macOS DNS setup

MacOS expects the following DNS configuration for the CodeReady Containers
● The CodeReady Containers creates a file that instructs the macOS to forward all DNS requests for the testing domain to the CodeReady Containers virtual machine. This file is created at /etc/resolvetesting.
● The oc binary requires the following CodeReady Containers entry to function properly, api.crc.testing adds an entry to /etc/hosts pointing at the VM IPaddress.

Linux DNS setup

CodeReady containers expect a slightly different DNS configuration. CodeReady Container expects the NetworkManager to manage networking. On Linux the NetworkManager uses dnsmasq through a configuration file, namely /etc/NetworkManageconf.d/crc-nm-dnsmasq.conf.
To set it up properly the dnsmasq instance has to forward the requests for crc.testing and apps-crc.testing domains to “”. In the /etc/NetworkManageconf.d/crc-nm-dnsmasq.conf this will look like the following:
● Server=/crc. Testing/
● Server=/apps-crc. Testing/

Accessing the Openshift Cluster

Accessing the Openshift web console

To gain access to the OpenShift cluster running in the CodeReady virtual machine you need to make sure that the virtual machine is running before continuing with this chapter. The OpenShift clusters can be accessed through the OpenShift web console or the client binary(oc).
First you need to execute the $crc console command, this command will open your web browser and direct a tab to the web console. After that, you need to select the htpasswd_provider option in the OpenShift web console and log in as a developer user with the output provided by the crc start command.
It is also possible to view the password for kubeadmin and developer users by running the $crc console --credentials command. While you can access the cluster through the kubeadmin and developer users, it should be noted that the kubeadmin user should only be used for administrative tasks such as user management and the developer user for creating projects or OpenShift applications and the deployment of these applications.
C:\Users\[username]\$PATH>crc console C:\Users\[username]\$PATH>crc console --credentials 

Accessing the OpenShift cluster with oc

To gain access to the OpenShift cluster with the use of the oc command you need to complete several steps.
Step 1.
Execute the $crc oc-env command to print the command needed to add the cached oc binary to your PATH:
C:\Users\[username]\$PATH>crc oc-env 
Step 2.
Execute the printed command. The output will look something like the following:
PS C:\Users\OpenShift> crc oc-env $Env:PATH = "CC:\Users\OpenShift\.crc\bin\oc;$Env:PATH" # Run this command to configure your shell: # & crc oc-env | Invoke-Expression 
This means we have to execute* the command that the output gives us, in this case that is:
C:\Users\[username]\$PATH>crc oc-env | Invoke-Expression 
\this has to be executed every time you start; a solution is to move the oc binary to the same path as the crc binary*
To test if this step went correctly execute the following command, if it returns without errors oc is set up properly
Step 3
Now you need to login as a developer user, this can be done using the following command:
$oc login -u developer https://api.crc.testing:6443
Keep in mind that the $crc start will provide you with the password that is needed to login with the developer user.
C:\Users\[username]\$PATH>oc login -u developer https://api.crc.testing:6443 
Step 4
The oc can now be used to interact with your OpenShift cluster. If you for instance want to verify if the OpenShift cluster Operators are available, you can execute the command
$oc get co 
Keep in mind that by default the CodeReady Containers disables the functions provided by the commands $machine-config and $monitoringOperators.
C:\Users\[username]\$PATH>oc get co 


Now that you are able to access the cluster, we will take you on a tour through some of the possibilities within OpenShift Container Platform.
We will start by creating a project. Within this project we will import an image, and with this image we are going to build an application. After building the application we will explain how upscaling and downscaling can be used within the created application.
As the next step we will show the user how to make changes in the network route. We also show how monitoring can be used within the platform, however within the current version of CodeReady Containers this has been disabled.
Lastly, we will show the user how to use user management within the platform.

Creating a project

To be able to create a project within the console you have to login on the cluster. If you have not yet done this, this can be done by running the command crc console in the command line and logging in with the login data from before.
When you are logged in as admin, switch to Developer. If you're logged in as a developer, you don't have to switch. Switching between users can be done with the dropdown menu top left.
Now that you are properly logged in press the dropdown menu shown in the image below, from there click on create a project.
When you press the correct button, the following image will pop up. Here you can give your project a name and description. We chose to name it CodeReady with a displayname CodeReady Container.

Importing image

The Containers in OpenShift Container Platform are based on OCI or Docker formatted images. An image is a binary that contains everything needed to run a container as well as the metadata of the requirements needed for the container.
Within the OpenShift Container Platform it’s possible to obtain images in a number of ways. There is an integrated Docker registry that offers the possibility to download new images “on the fly”. In addition, OpenShift Container Platform can use third party registries such as:
- Https://
- Https://
Within this manual we are going to import an image from the Red Hat container catalog. In this example we’ll be using MediaWiki.
Search for the application in
Navigate to “Get this image”
Follow the steps to “create a registry service account”, after that you can copy the YAML.
After the YAML has been copied we will go to the topology view and click on the YAML button
Then we have to paste in the YAML, put in the name, namespace and your pull secret name (which you created through your registry account) and click on create.
Run the import command within powershell
$oc import-image openshift4/mediawiki --confirm imported 

Creating and managing an application

There are a few ways to create and manage applications. Within this demonstration we’ll show how to create an application from the previously imported image.

Creating the application

To create an image with the previously imported image go back to the console and topology. From here on select container image.
For the option image you'll want to select the “image stream tag from internal registry” option. Give the application a name and then create the deployment.
If everything went right during the creating process you should see the following, this means that the application is successfully running.

Scaling the application

In OpenShift there is a feature called autoscaling. There are two types of application scaling, namely vertical scaling, and horizontal scaling. Vertical scaling is adding only more CPU and hard disk and is no longer supported by OpenShift. Horizontal scaling is increasing the number of machines.
One of the ways to scale an application is by increasing the number of pods. This can be done by going to a pod within the view as seen in the previous step. By either pressing the up or down arrow more pods of the same application can be added. This is similar to horizontal scaling and can result in better performance when there are a lot of active users at the same time.
In the picture above we see the number of nodes and pods and how many resources those nodes and pods are using. This is something to keep in mind if you want to scale up your application, the more you scale it up, the more resources it will take up.


Since OpenShift Container platform is built on Kubernetes it might be interesting to know some theory about its networking. Kubernetes, on which the OpenShift Container platform is built, ensures that the Pods within OpenShift can communicate with each other via the network and assigns them their own IP address. This makes all containers within the Pod behave as if they were on the same host. By giving each pod its own IP address, pods can be treated as physical hosts or virtual machines in terms of port mapping, networking, naming, service discovery, load balancing, application configuration and migration. To run multiple services such as front-end and back-end services, OpenShift Container Platform has a built-in DNS.
One of the changes that can be made to the networking of a Pod is the Route. We’ll show you how this can be done in this demonstration.
The Route is not the only thing that can be changed and or configured. Two other options that might be interesting but will not be demonstrated in this manual are:
- Ingress controller, Within OpenShift it is possible to set your own certificate. A user must have a certificate / key pair in PEM-encoded files, with the certificate signed by a trusted authority.
- Network policies, by default all pods in a project are accessible from other pods and network locations. To isolate one or more pods in a project, it is possible to create Network Policy objects in that project to indicate the allowed incoming connections. Project administrators can create and delete Network Policy objects within their own project.
There is a search function within the Container Platform. We’ll use this to search for the network routes and show how to add a new route.
You can add items that you use a lot to the navigation
For this example, we will add Routes to navigation.
Now that we’ve added Routes to the navigation, we can start the creation of the Route by clicking on “Create route”.
Fill in the name, select the service and the target port from the drop-down menu and click on Create.
As you can see, we’ve successfully added the new route to our application.
OpenShift makes use of Persistent Storage, this type of storage uses persistent volume claims(PVC). PVC’s allow the developer to make persistent volumes without needing any knowledge about the underlying infrastructure.
Within this storage there are a few configuration options:
It is however important to know how to manually reclaim the persistent volumes, since if you delete PV the associated data will not be automatically deleted with it and therefore you cannot reassign the storage to another PV yet.
To manually reclaim the PV, you need to follow the following steps:
Step 1: Delete the PV, this can be done by executing the following command
$oc delete  
Step 2: Now you need to clean up the data on the associated storage asset
Step 3: Now you can delete the associated storage asset or if you with to reuse the same storage asset you can now create a PV with the storage asset definition.
It is also possible to directly change the reclaim policy within OpenShift, to do this you would need to follow the following steps:
Step 1: Get a list of the PVs in your cluster
$oc get pv 
This will give you a list of all the PV’s in your cluster and will display their following attributes: Name, Capacity, Accesmodes, Reclaimpolicy, Statusclaim, Storageclass, Reason and Age.
Step 2: Now choose the PV you wish to change and execute one of the following command’s, depending on your preferred policy:
$oc patch pv  -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}' 
In this example the reclaim policy will be changed to Retain.
$oc patch pv  -p '{"spec":{"persistentVolumeReclaimPolicy":"Recycle"}}' 
In this example the reclaim policy will be changed to Recycle.
$oc patch pv  -p '{"spec":{"persistentVolumeReclaimPolicy":"Delete"}}' 
In this example the reclaim policy will be changed to Delete.

Step 3: After this you can check the PV to verify the change by executing this command again:
$oc get pv 


Within Red Hat OpenShift there is the possibility to monitor the data that has been created by your containers, applications, and pods. To do so, click on the menu option in the top left corner. Check if you are logged in as Developer and click on “Monitoring”. Normally this function is not activated within the CodeReady containers, because it uses a lot of resources (Ram and CPU) to run.
Once you have activated “Monitoring” you can change the “Time Range” and “Refresh Interval” in the top right corner of your screen. This will change the monitoring data on your screen.
Within this function you can also monitor “Events”. These events are records of important information and are useful for monitoring and troubleshooting within the OpenShift Container Platform.

User management

According to the documentation of OpenShift is a user, an entity that interacts with the OpenShift Container Platform API. These can be a developer for developing applications or an administrator for managing the cluster. Users can be assigned to groups, which set the permissions applied to all the group’s members. For example, you can give API access to a group, which gives all members of the group API access.
There are multiple ways to create a user depending on the configured identity provider. The DenyAll identity provider is the default within OpenShift Container Platform. This default denies access for all the usernames and passwords.
First, we’re going to create a new user, the way this is done depends on the identity provider, this depends on the mapping method used as part of the identity provider configuration.
for more information on what mapping methods are and how they function:
With the default mapping method, the steps will be as following
$oc create user  
Next up, we’ll create an OpenShift Container Platform Identity. Use the name of the identity provider and the name that uniquely represents this identity in the scope of the identity provider:
$oc create identity : 
The is the name of the identity provider in the master configuration. For example, the following commands create an Identity with identity provider ldap_provider and the identity provider username mediawiki_s.
$oc create identity ldap_provider:mediawiki_s 
Create a useidentity mapping for the created user and identity:
$oc create useridentitymapping :  
For example, the following command maps the identity to the user:
$oc create useridentitymapping ldap_provider:mediawiki_s mediawiki 
Now were going to assign a role to this new user, this can be done by executing the following command:
$oc create clusterrolebinding  \ --clusterrole= --user= 
There is a --clusterrole option that can be used to give the user a specific role, like a cluster user with admin privileges. The cluster admin has access to all files and is able to manage the access level of other users.
Below is an example of the admin clusterrole command:
$oc create clusterrolebinding registry-controller \ --clusterrole=cluster-admin --user=admin 

What did you achieve?

If you followed all the steps within this manual you now should have a functioning Mediawiki Application running on your own CodeReady Containers. During the installation of this application on CodeReady Containers you have learned how to do the following things:
● Installing the CodeReady Containers
● Updating OpenShift
● Configuring a CodeReady Container
● Configuring the DNS
● Accessing the OpenShift cluster
● Deploying an application
● Creating new users
With these skills you’ll be able to set up your own Container Platform environment and host applications of your choosing.


There is the possibility that your CodeReady container can't connect to the internet due to a Nameserver error. When this is encountered a working fix for us was to stop the machine and then start the CRC machine with the following command:
C:\Users\[username]\$PATH>crc start -n 
Hyper-V admin
Should you run into a problem with Hyper-V it might be because your user is not an admin and therefore can’t access the Hyper-V admin user group.
  1. Click Start > Control Panel > Administration Tools > Computer Management. The Computer Management window opens.
  2. Click System Tools > Local Users and Groups > Groups. The list of groups opens.
  3. Double-click the Hyper-V Administrators group. The Hyper-V Administrators Properties window opens.
  4. Click Add. The Select Users or Groups window opens.
  5. In the Enter the object names to select field, enter the user account name to whom you want to assign permissions, and then click OK.
  6. Click Apply, and then click OK.

Terms and definitions

These terms and definitions will be expanded upon, below you can see an example of how this is going to look like together with a few terms that will require definitions.
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. Openshift is based on Kubernetes.
Clusters are a collection of multiple nodes which communicate with each other to perform a set of operations.
Containers are the basic units of OpenShift applications. These container technologies are lightweight mechanisms for isolating running processes so that they are limited to interacting with only their designated resources.
CodeReady Container is a minimal, preconfigured cluster that is used for development and testing purposes.
CodeReady Workspaces uses Kubernetes and containers to provide any member of the development or IT team with a consistent, secure, and zero-configuration development environment.


submitted by Groep6HHS to openshift [link] [comments]

./ 2.12: API, GUI and video games

./ 2.12: API, GUI and video games

./ is a free/libre software that builds native packages for several Linux distributions from DRM-free installers for a collection of commercial games. These packages can then be installed using the standard distribution-provided tools (APT, pacman, emerge, etc.).
A more complete description of ./ has already been posted in linux_gaming a couple months ago: ./, an easy way to install commercial games on GNU/Linux
It's already been one year since version 2.11 was released, in January 2019. We will only briefly review the changelog of version 2.12 and focus on the different points of ./ that kept us busy during all this time, and of which coding was only a small part.

What’s new with 2.12?

Though not the focus of this article, it would be a pity not to present all the added features of this brand new version. ;)
Compared to the usual updates, 2.12 is a major one, especially since for two years, we slowed down the addition of new features. Some patches took dust since the end of 2018 before finally be integrated in this update!
The list of changes for this 2.12 release can be found on our forge. Here is a full copy for convenience:

Development migration


As many free/libre projects, ./ development started on some random sector of a creaking hard drive, and unsurprisingly, a whole part of its history (everything predating version 1.13.15 released on Mars 30th, 2016) disappeared into the limbs because some unwise operation destroyed the only copy of the repository… Lesson learned, what's not shared don't stay long, and so was born the first public Git repository of the project. The easing of collaborative work was only accidentally achieved by this quest for eternity, but wasn't the original motivation for making the repository publicly available.
Following this decision, ./ source code has been hosted successively by many shared forge platforms:

Dedicated forge

As development progressed, ./ began to increase its need for resources, dividing its code into several repositories to improve the workflow of the different aspects of the projects, adding continuous integration tests and their constraints, etc. A furious desire to understand the nooks and crannies behind a forge platform was the last deciding factor towards hosting a dedicated forge.
So it happened, we deployed a forge platform on a dedicated server, hugely benefiting from the tremendous work achieved by the GitLab's package Debian Maintainers team. In return, we tried to contribute our findings in improving this software packaging.
That was not expected, but this migration happened just a little time before the announcement “Déframasoftisons Internet !” (French article) about the planned end of Framagit.
This dedicated instance used to be hosted on a VPS rented from Digital Ocean until the second half of July 2020, and since then has been moved to another VPS, rented from Hetzner. The specifications are similar, as well as the service, but thanks to this migration our hosting costs have been cut in half. Keeping in mind that this is paid by a single person, so any little donation helps a lot on this front. ;)
To the surprise of our system administrator, this last migration took only a couple hours with no service interruption reported by our users.

Forge access

This new forge can be found at Registrations are open to the public, but we ask you to not abuse this, the main restriction being that we do not wish to host projects unrelated to ./ Of course exceptions are made for our active contributors, who are allowed to host some personal projects there.
So, if you wish to use this forge to host your own work, you first need to make some significant contributions to ./


The collection of supported games growing endlessly, we have started the development of a public API allowing access to lots of information related to ./
This API, which is not yet stabilized, is simply an interface to a versioned database containing all the ./ scripts, handled archives, games installable through the project. Relations are, of course, handled between those items, enabling its use for requests like : « What packages are required on my system to install Cæsar Ⅲ ? » or « What are the free (as in beer) games handled via DOSBox ? ».
Originally developed as support for the new, in-development, Web site (we'll talk about it later on), this API should facilitate the development of tools around ./ For example, it'll be useful for whomever would like to build a complete video game handling software (downloading, installation, starting, etc.) using ./ as one of its building bricks.
For those curious about the technical side, it's an API based on Lumeneffectuant that makes requests on a MariaDB database, all self-hosted on a Debian Sid. Not only is the code of the API versioned on our forge, but also the structure and content of the databases, which will allow those who desired it to install a local version easily.

New website

Based on the aforementioned API, a new website is under development and will replace our current website based on DokuWiki.
Indeed, if the lack of database and the plain text files structure of DokuWiki seemed at first attractive, as ./ supported only a handful of games (link in French), this feature became more inconvenient as the library of ./ supported games grew.
We shall make an in-depth presentation of this website for the 2.13 release of ./, but a public demo of the development version from our forge is already available.
If you feel like providing an helping hand on this task, some priority tasks have been identified to allow opening a new Web site able to replace the current one. And for those interested in technical details, this web Site was developed in PHP using the framework Laravel. The current in-development version is hosted for now on the same Debian Sid than the API.


A regular comment that is done about the project is that, if the purpose is to make installing games accessible to everyone without technical skills, having to run scripts in the terminal remains somewhat intimidating. Our answer until now has been that while the project itself doesn't aim to providing a graphical interface (KISS principle "Keep it simple, stupid"), still and always), but that it would be relatively easy to, later on, develop a graphical front-end to it.
Well, it happens that is now reality. Around the time of our latest publication, one of our contributors, using the API we just talked about, developed a small prototype that is usable enough to warrant a little shout out. :-)
In practice, it is some small Python 3 code (an HCI completely in POSIX shell is for a later date :-°), using GTK 3 (and still a VTE terminal to display the commands issued, but the user shouldn't have to input anything in it, except perhaps the root password to install some packages). This allowed to verify that, as we used to say, it would be relatively easy, since a script of less than 500 lines of code (written quickly over a week-end) was enough to do the job !
Of course, this graphical interface project stays independent from the main project, and is maintained in a specific repository. It seems interesting to us to promote it in order to ease the use of ./, but this doesn't prevent any other similar projects to be born, for example using a different language or graphical toolkit (we, globally, don't have any particular affinity towards Python or GTK).
The use of this HCI needs three steps : first, a list of available games is displayed, coming directly from our API. You just need to select in the list (optionally using the search bar) the game you want to install. Then it switches to a second display, which list the required files. If several alternatives are available, the user can select the one he wants to use. All those files must be in the same directory, the address bar on the top enabling to select which one to use (click on the open button on the top opens a filesystem navigation window). Once all those files available (if they can be downloaded, the software will do it automatically), you can move ahead to the third step, which is just watching ./ do its job :-) Once done, a simple click on the button on the bottom will run the game (even if, from this step, the game is fully integrated on your system as usual, you no longer need this tool to run it).
To download potentially missing files, the HCI will use, depending on what's available on the system, either wget, curl or aria2c (this last one also handling torrents), of which the output will be displayed in the terminal of the third phase, just before running the scripts. For privilege escalation to install packages, sudo will be used preferentially if available (with the option to use a third-party application for password input, if the corresponding environment variable is set, which is more user-friendly), else su will be used.
Of course, any suggestion for an improvement will be received with pleasure.

New games

Of course, such an announcement would not be complete without a list of the games that got added to our collection since the 2.11 release… So here you go:
If your favourite game is not supported by ./ yet, you should ask for it in the dedicated tracker on our forge. The only requirement to be a valid request is that there exists a version of the game that is not burdened by DRM.

What’s next?

Our team being inexhaustible, work on the future 2.13 version has already begun…
A few major objectives of this next version are :
If your desired features aren't on this list, don't hesitate to signal it us, in the comments of this news release. ;)


submitted by vv224 to linux_gaming [link] [comments]

Version Control in Game Development: 10 Vague Reasons to Use It

Version Control in Game Development: 10 Vague Reasons to Use It
Whether you’re a AAA development shop or an indie programmer, building a game will surely take more than just a couple of weekends. Many things can happen between the inception of the game and the time it will be released. To track and manage these changes, developers use version (source) control. Let's talk about version control, branching, and how to select the best version control system.
The software development process is a long and arduous road. Changes might be introduced to the game mechanics, the admin part of the game, or practically anywhere, especially, if you develop a GaaS product.
These changes need to be tracked. Indeed, you don’t want to simply copy the entire folder of the game project and save it under a different name (like mycoolgame_v02). You will need version management. That’s what version control systems are for.

What is version control?

Version control is the practice of tracking and managing changes to the code base. Version control systems provide a running history of how the code changes. Using version control tools also helps to resolve conflicts when merging contributions from multiple sources.

What is source control?

Source control and version control are practically interchangeable, but to put a fine point to it, version control is a more general term. Source control systems typically manage mostly textual data — source control typically means source code or program code. On the other hand, version control refers not only to the source code but also to the other assets of the game app, like images, audio, and video resources.


When you think of a branch, you’d typically picture a fork-like structure. Initially, there’s only one path, but then the paths diverge. That’s essentially what a branch is in source control lingo.
As you build your game app and expose it to testers, QA, and other stakeholders, they will give input that may force you to introduce changes to the game’s source. Most of the time, the changes will be small, but the changes will sometimes be massive. These large changes are inflection points to the development process. This is typically where you decide to branch.
The purpose of branching in version control is to achieve code isolation. You’re branching probably because the new branch represents the next version of the game, or it could be something smaller, like “let’s fix bug number 12345”. Whatever branching method you choose, you’ll need a version control.

Why use version control in game projects?

#1 - Code backup

Source control, especially a remote repository, is a backup for your code. Indeed, you don’t want your hard drive to be a single point of failure. Do you? What happens to 10 months of coding work if the drive gets fried? What if your server dies? Do you have an automated backup?

#2 - Better team collaboration

Share the code with other contributors and still be in sync with each other. If you’re not using source control, how will you work with other developers? Do you really want to use Dropbox or Google Drive to share source codes? How will you track each other’s changes? Version control systems take care of synching and resolving conflicts or differences with codes from multiple contributors.

#3 - Roll back to the previous version

Version control systems are a retreat strategy. Have you ever made breaking changes to the code and realized what a colossal mistake it was? If you ever want to go back, it’s a cinch to do that in a version control system.

#4 - Experiments with zero risks

It makes experimentation easy. Do you want to try something radical, but you don’t want to clutter or pollute your codebase? Branch. If the idea doesn’t pan out, just leave the branch and go back to the trunk

#5 - Full audit trail

Provides an audit trail for the codebase. You can go back to previous versions of the code to find out when and where the bugs first crept in.

#6 - Better release management

Monitor the progress of the code. You can see how much work is being done, by who, where, and when.

#7 - Code comparison and analysis

You can compare versions of your code. When you learn how to use diffing techniques, you can compare versions of your code in a side-by-side fashion.

#8 - Manage different versions of the game

Maintain multiple versions of your product. Branching strategies should help you maintain different versions of your game/product. It is a common practice for the developers to have at least a production version (free from bugs, well-tested) and a work-in-progress development version.

#9 - Scaling the game projects and companies

Are you an indie developer? Or you are employed by one of the game giants - Ubisoft, Tencent or King? Whatever project you are involved into at the moment, you may come to the point when you’ll need to deal with more teammates, run more tests, and fix more bugs. Version control software is an indispensable part of your game growth.

#10 - Facilitate the continuous game updates

Thinking about the previous point, how often do you plan to release your game updates? Do you plan to do it once a year, monthly or weekly?
The more frequently you update your game, the more likely you’ll need to do the feature branching or release branching to minimize bugs and achieve flawless user experience. Not to mention if you select the games-as-a-service model.

What to consider when selecting version control systems

If you’re about to start a project and deciding which version control system to use, you might want to consider the following.
  1. Ability to support game projects. Some version control platforms are better suited for application development where most of the assets are textual (source codes), and some are better at handling binaryfiles (audio, video, image assets). Make sure your source control system can handle both.
  2. User experience. The source control platform must be supported by tools. If the platform is a CLI-only (command-line interface), it might be popular amongst developers, but non-dev people (artists, designers) might have difficulty using it. The tools have to be friendly to everybody.
  3. Ecosystem of tools and integrations. Does your CI/CD platform support it? Can Jenkins pull from this repo? Your version control system must play nice with the CI/CD apps in the age of continuous integration. Other questions to ask might be;
  • Can you hook it up with Unreal/Unity?
  • Do our IDEs support it?
  • Is it easy to connect it with Trello? Jira?
  1. Hosted or on-premise. Are there companies offering a hosted solution for this version control system? Or do you have to provision a server yourself and find a data center where to park it? Hosting an in-premise source control system has advantages. Still, it also carries lots of baggage like IT personnel cost, capital cost, depreciation cost, etc. In contrast, a hosted solution lets you avoid all those in exchange for a fee.
  2. Single file versioning ability. Can you check out only a single file, or do you have to download everything? Some version control systems force developers to download all the updates from a central server before you can share or see any change. This might be sensible for application code, but it may not make sense for a game app where some of the assets are large binary files.
  3. Access control. Does the system let you control who has access to what? How granular is the control? Can you assign rights down to the file level? Can you assign read but not write privileges to users for particular files?
Some common version control systems are better at handling some of the things we stated above, and some are better at managing others. You may need to do a comparison matrix to select amongst the version control options.

If you ask an application developer for recommendation, I’m almost sure they’ll tell you Git, Subversion, or CVS. These are heavy favorites of app devs. They’re open-source software and great at handling textual data, but they may be ill-suited for a game development project because of the way they handle BLOBS or binary files (which a game app has lots of).
If you ask a game developer, you’ll get a different recommendation; game development projects have very different version control needs than application development projects. Should it be an independent software or a built-in feature in your database or CMS platform?
How many people are involved in game development? How many databases? How are localization and content delivery done?
Gridly features the built-in version control, which enables branching of the content datasets, tweak them in isolation and merge back to the master branch. Sign up for free and make your first branch.
submitted by LocalizeDirectAB to u/LocalizeDirectAB [link] [comments]

CLI & GUI v0.16.0.3 'Nitrogen Nebula' released!

This is the CLI & GUI v0.16.0.3 'Nitrogen Nebula' point release. This release predominantly features bug fixes and performance improvements.

(Direct) download links (GUI)

(Direct) download links (CLI)

GPG signed hashes

We encourage users to check the integrity of the binaries and verify that they were signed by binaryFate's GPG key. A guide that walks you through this process can be found here for Windows and here for Linux and Mac OS X.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 # This GPG-signed message exists to confirm the SHA256 sums of Monero binaries. # # Please verify the signature against the key for binaryFate in the # source code repository (/utils/gpg_keys). # # ## CLI 75b198869a3a117b13b9a77b700afe5cee54fd86244e56cb59151d545adbbdfd monero-android-armv7-v0.16.0.3.tar.bz2 b48918a167b0961cdca524fad5117247239d7e21a047dac4fc863253510ccea1 monero-android-armv8-v0.16.0.3.tar.bz2 727a1b23fbf517bf2f1878f582b3f5ae5c35681fcd37bb2560f2e8ea204196f3 monero-freebsd-x64-v0.16.0.3.tar.bz2 6df98716bb251257c3aab3cf1ab2a0e5b958ecf25dcf2e058498783a20a84988 monero-linux-armv7-v0.16.0.3.tar.bz2 6849446764e2a8528d172246c6b385495ac60fffc8d73b44b05b796d5724a926 monero-linux-armv8-v0.16.0.3.tar.bz2 cb67ad0bec9a342b0f0be3f1fdb4a2c8d57a914be25fc62ad432494779448cc3 monero-linux-x64-v0.16.0.3.tar.bz2 49aa85bb59336db2de357800bc796e9b7d94224d9c3ebbcd205a8eb2f49c3f79 monero-linux-x86-v0.16.0.3.tar.bz2 16a5b7d8dcdaff7d760c14e8563dd9220b2e0499c6d0d88b3e6493601f24660d monero-mac-x64-v0.16.0.3.tar.bz2 5d52712827d29440d53d521852c6af179872c5719d05fa8551503d124dec1f48 ff094c5191b0253a557be5d6683fd99e1146bf4bcb99dc8824bd9a64f9293104 # ## GUI 50fe1d2dae31deb1ee542a5c2165fc6d6c04b9a13bcafde8a75f23f23671d484 monero-gui-install-win-x64-v0.16.0.3.exe 20c03ddb1c82e1bcb73339ef22f409e5850a54042005c6e97e42400f56ab2505 monero-gui-linux-x64-v0.16.0.3.tar.bz2 574a84148ee6af7119fda6b9e2859e8e9028fe8a8eec4dfdd196aeade47e9c90 monero-gui-mac-x64-v0.16.0.3.dmg 371cb4de2c9ccb5ed99b2622068b6aeea5bdfc7b9805340ea7eb92e7c17f2478 # # # ~binaryFate -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEgaxZH+nEtlxYBq/D8K9NRioL35IFAl81bL8ACgkQ8K9NRioL 35J+UA//bgY6Mhikh8Cji8i2bmGXEmGvvWMAHJiAtAG2lgW3BT9BHAFMfEpUP5rk svFNsUY/Uurtzxwc/myTPWLzvXVMHzaWJ/EMKV9/C3xrDzQxRnl/+HRS38aT/D+N gaDjchCfk05NHRIOWkO3+2Erpn3gYZ/VVacMo3KnXnQuMXvAkmT5vB7/3BoosOU+ B1Jg5vPZFCXyZmPiMQ/852Gxl5FWi0+zDptW0jrywaS471L8/ZnIzwfdLKgMO49p Fek1WUUy9emnnv66oITYOclOKoC8IjeL4E1UHSdTnmysYK0If0thq5w7wIkElDaV avtDlwqp+vtiwm2svXZ08rqakmvPw+uqlYKDSlH5lY9g0STl8v4F3/aIvvKs0bLr My2F6q9QeUnCZWgtkUKsBy3WhqJsJ7hhyYd+y+sBFIQH3UVNv5k8XqMIXKsrVgmn lRSolLmb1pivCEohIRXl4SgY9yzRnJT1OYHwgsNmEC5T9f019QjVPsDlGNwjqgqB S+Theb+pQzjOhqBziBkRUJqJbQTezHoMIq0xTn9j4VsvRObYNtkuuBQJv1wPRW72 SPJ53BLS3WkeKycbJw3TO9r4BQDPoKetYTE6JctRaG3pSG9VC4pcs2vrXRWmLhVX QUb0V9Kwl9unD5lnN17dXbaU3x9Dc2pF62ZAExgNYfuCV/pTJmc= =bbBm -----END PGP SIGNATURE----- 

Upgrading (GUI)

Note that you should be able to utilize the automatic updater in the GUI that was recently added. A pop-up will appear with the new binary.
In case you want to update manually, you ought to perform the following steps:
  1. Download the new binaries (the .zip file (Windows) or the tar.bz2 file (Mac OS X and Linux)) from the direct download links in this thread or from the official website. If you run active AV (AntiVirus) software, I'd recommend to apply this guide ->
  2. Extract the new binaries (the .zip file (Windows) or the tar.bz2 file (Mac OS X and Linux) you just downloaded) to a new directory / folder of your liking.
  3. Open monero-wallet-gui. It should automatically load your "old" wallet.
If, for some reason, the GUI doesn't automatically load your old wallet, you can open it as follows:
[1] On the second page of the wizard (first page is language selection) choose Open a wallet from file
[2] Now select your initial / original wallet. Note that, by default, the wallet files are located in Documents\Monero\ (Windows), Users//Monero/ (Mac OS X), or home//Monero/ (Linux).
Lastly, note that a blockchain resync is not needed, i.e., it will simply pick up where it left off.

Upgrading (CLI)

You ought to perform the following steps:
  1. Download the new binaries (the .zip file (Windows) or the tar.bz2 file (Mac OS X and Linux)) from the official website, the direct download links in this thread, or Github.
  2. Extract the new binaries to a new directory of your liking.
  3. Copy over the wallet files from the old directory (i.e. the v0.15.x.x or v0.16.0.x directory).
  4. Start monerod and monero-wallet-cli (in case you have to use your wallet).
Note that a blockchain resync is not needed. Thus, if you open monerod-v0.16.0.3, it will simply pick up where it left off.

Release notes (GUI)

  • macOS app is now notarized by Apple
  • CMake improvments
  • Add support for IPv6 remote nodes
  • Add command history to Logs page
  • Add "Donate to Monero" button
  • Indicate probability of finding a block on Mining page
  • Minor bug fixes
Note that you can find a full change log here.

Release notes (CLI)

  • DoS fixes
  • Add option to print daily coin emission and fees in monero-blockchain-stats
  • Minor bug fixes
Note that you can find a full change log here.

Further remarks

  • A guide on pruning can be found here.
  • Ledger Monero users, please be aware that version 1.6.0 of the Ledger Monero App is required in order to properly use CLI or GUI v0.16.

Guides on how to get started (GUI)
Older guides: (These were written for older versions, but are still somewhat applicable)
Sheep’s Noob guide to Monero GUI in Tails

Ledger GUI guides:

How do I generate a Ledger Monero wallet with the GUI (monero-wallet-gui)?
How do I restore / recreate my Ledger Monero wallet?

Trezor GUI guides:

How do I generate a Trezor Monero wallet with the GUI (monero-wallet-gui)?
How to use Monero with Trezor - by Trezor
How do I restore / recreate my Trezor Monero wallet?

Ledger & Trezor CLI guides

Guides to resolve common issues (GUI)

My antivirus (AV) software blocks / quarantines the Monero GUI wallet, is there a work around I can utilize?
I am missing (not seeing) a transaction to (in) the GUI (zero balance)
Transaction stuck as “pending” in the GUI
How do I move the blockchain (data.mdb) to a different directory during (or after) the initial sync without losing the progress?
I am using the GUI and my daemon doesn't start anymore
My GUI feels buggy / freezes all the time
The GUI uses all my bandwidth and I can't browse anymore or use another application that requires internet connection
How do I change the language of the 25 word mnemonic seed in the GUI or CLI?
I am using remote node, but the GUI still syncs blockchain?

Using the GUI with a remote node

In the wizard, you can either select Simple mode or Simple mode (bootstrap) to utilize this functionality. Note that the GUI developers / contributors recommend to use Simple mode (bootstrap) as this mode will eventually use your own (local) node, thereby contributing to the strength and decentralization of the network. Lastly, if you manually want to set a remote node, you ought to use Advanced mode. A guide can be found here:

Adding a new language to the GUI
If, after reading all these guides, you still require help, please post your issue in this thread and describe it in as much detail as possible. Also, feel free to post any other guides that could help people.
submitted by dEBRUYNE_1 to Monero [link] [comments]

Copy trade and 100% risk free earning with Binary option ... BINARY OPTIONS STRATEGY - 80% WINS  500$ in 10 minutes ... Free Copy Trading System  50$ balance - YouTube Binary Options in the U.S in 2020! - YouTube algorithm como depositar bot no martingale ... Copy the best binary options traders automatically for ...

Many binary option strategies pdfs fail to sufficiently consider time variables. Certain strategies will perform better with specific time options. You may want to look specifically for a 5-minute binary options strategy. Alternatively, trading 15-minute binary options may better suit your needs. So, whichever strategy above you opt for, ensure you take time into account. Is installed with the zero binary copy option If you are looking for " application is installed with the zero binary copy option " Today i... The # makes the format include the 0b prefix, and the 010 size formats the output to fit in 10 characters width, with 0 padding; 2 characters for the 0b prefix, the other 8 for the binary digits. This is the most compact and direct option. Best Binary Options Brokers 2020 1) IQ Option. IQ Option is a Seychelles-based online trading platform launched in 2013. It has found a lot of favor in South Africa. It is one of the best binary option brokers in South Africa. They claim to be one of the fastest growing online trading platforms, with over 25 million members to date. Their ... Create an empty (zero byte) file: COPY NUL EmptyFile.txt. Quiet copy (no feedback on screen) COPY source_file.doc newfile.doc >nul. Copy a file, but do not overwrite if the destination file already exists, this technique only works for a single file, no wildcards: Echo nCOPY /-y c:\demo\source_file.txt c:\dir\dest.txt. COPY is an internal command. Pocket Option is a binary options brokerage that provides online trading of more than 100 different underlying assets. Pocket Option is one of the only sites that accept new traders from the United States and Europe. Established in 2017, Pocket Option is based in the Marshall Islands and is licensed by the IFMRRC (International Financial Market Relations Regulation Center). Installed With The Zero Binary Copy Option : Binary Alternatives Trading - Offering Significantly More Investment Program Opportunities For ... [2/3/08 18:19:23:319 IST] 0000005f SystemErr R nt.excepti on.AdminEx ception: The application [xxx]App was installed using zero binary copy option. Therefore it is not possible to perform any operation on this application that involves accessing the application metadata or EAR file. Top 15 Binary Options Brokers 1. IQ Option. IQ Option was established in 2012 and had since then received favorable reviews on the internet. It uses in-house software for trading. The maximum returns are 95%. However, traders in the USA, Australia, Canada, Russia, Belgium, Japan, Turkey, Israel, Iran, Sudan, and Syria are not accepted. IQOption Europe Ltd. is well-known for reliable broker ... Copy to clipboard Download ... In this example, we count the number of zeros of three binary values. Since the multi-line option is enabled, the number of unset bits in each number is printed next to it in the output. 100010110 01010000100 000000000000. 5 8 12. Required options. These options will be used automatically if you select this example. Multi-line Mode Individually find 0's in each ...

[index] [3009] [767] [24762] [20889] [24195] [29411] [14835] [19395] [16812] [3335]

Copy trade and 100% risk free earning with Binary option ...

I Will Show In This Video Binary Option Profitable Extreme Indicator Signal For Iq Option Live Trading _____ Join Telegr... BINARY OPTIONS STRATEGY - 80% WINS 500$ in 10 minutes♛ POCKET OPTION -♛ BINOMO -♛ TO RECEIVE BINARY OPTIONS SI... Quitting binary option and pausing your trading with the markets basically because of recent failures? Well I was at the verge of giving up but on the other hand I understood that giving up wasn't ... 💰💲FULL BEGINNER? Join My PERSONAL TRAINING!💴💵 BLW Trading Academy: Live Trading Signals HERE!🔙💲💹Join My ... Copy trade and 100% risk free earning with Binary option trading.05.11.2020. Telegram:@BinaryTips Whatsapp: +919007560284 Email: [email protected] is the first binary options social trading network! Once you have a live funded account with at least $50 in it you can start we are trading only forex pairs Because volatility markets are man made markets Imp...