Bitcoin Core :: Bitcoin

A criticism of the article "Six monetarist errors: why emission won't feed inflation"

(be gentle, it's my first RI attempt, :P; I hope I can make justice to the subject, this is my layman understanding of many macro subjects which may be flawed...I hope you can illuminate me if I have fallen short of a good RI)
So, today a heterodox leaning Argentinian newspaper, Ambito Financiero, published an article criticizing monetarism called "Six monetarist errors: why emission won't feed inflation". I find it doesn't properly address monetarism, confuses it with other "economic schools" for whatever the term is worth today and it may be misleading, so I was inspired to write a refutation and share it with all of you.
In some ways criticizing monetarism is more of a historical discussion given the mainstream has changed since then. Stuff like New Keynesian models are the bleeding edge, not Milton Friedman style monetarism. It's more of a symptom that Argentinian political culture is kind of stuck in the 70s on economics that this things keep being discussed.
Before getting to the meat of the argument, it's good to have in mind some common definitions about money supply measures (specifically, MB, M1 and M2). These definitions apply to US but one can find analogous stuff for other countries.
Argentina, for the lack of access to credit given its economic mismanagement and a government income decrease because of the recession, is monetizing deficits way more than before (like half of the budget, apparently, it's money financed) yet we have seen some disinflation (worth mentioning there are widespread price freezes since a few months ago). The author reasons that monetary phenomena cannot explain inflation properly and that other explanations are needed and condemns monetarism. Here are the six points he makes:
1.Is it a mechanical rule?
This way, we can ask by symmetry: if a certainty exists that when emission increases, inflation increases, the reverse should happen when emission becomes negative, obtaining negative inflation. Nonetheless, we know this happens: prices have an easier time increasing and a lot of rigidity decreasing. So the identity between emission and inflation is not like that, deflation almost never exists and the price movement rhythm cannot be controlled remotely only with money quantity. There is no mechanical relationship between one thing and the other.
First, the low hanging fruit: deflation is not that uncommon, for those of you that live in US and Europe it should be obvious given the difficulties central banks had to achieve their targets, but even Argentina has seen deflation during its depression 20 years ago.
Second, we have to be careful with what we mean by emission. A statement of quantity theory of money (extracted from "Money Growth and Inflation: How Long is the Long-Run?") would say:
Inflation occurs when the average level of prices increases. Individual price increases in and of themselves do not equal inflation, but an overall pattern of price increases does. The price level observed in the economy is that which leads the quantity of money supplied to equal the quantity of money demanded. The quantity of money supplied is largely controlled by the [central bank]. When the supply of money increases or decreases, the price level must adjust to equate the quantity of money demanded throughout the economy with the quantity of money supplied. The quantity of money demanded depends not only on the price level but also on the level of real income, as measured by real gross domestic product (GDP), and a variety of other factors including the level of interest rates and technological advances such as the invention of automated teller machines. Money demand is widely thought to increase roughly proportionally with the price level and with real income. That is, if prices go up by 10 percent, or if real income increases by 10 percent, empirical evidence suggests people want to hold 10 percent more money. When the money supply grows faster than the money demand associated with rising real incomes and other factors, the price level must rise to equate supply and demand. That is, inflation occurs. This situation is often referred to as too many dollars chasing too few goods. Note that this theory does not predict that any money-supply growth will lead to inflation—only that part of money supply growth that exceeds the increase in money demand associated with rising real GDP (holding the other factors constant).
So it's not mere emission, but money supply growing faster than money demand which we should consider. So negative emission is not necessary condition for deflation in this theory.
It's worth mentioning that the relationship with prices is observed for a broad measure of money (M2) and after a lag. From the same source of this excerpt one can observe in Fig. 3a the correlation between inflation and money growth for US becomes stronger the longer data is averaged. Price rigidities don't have to change this long term relationship per se.
But what about causality and Argentina? This neat paper shows regressions in two historical periods: 1976-1989 and 1991-2001. The same relationship between M2 and inflation is observed, stronger in the first, highly inflationary period and weaker in the second, more stable, period. The regressions a 1-1 relationship in the high inflation period but deviates a bit in the low inflation period (yet the relationship is still there). Granger causality, as interpreted in the paper, shows prices caused money growth in the high inflation period (arguably because spending was monetized) while the reverse was true for the more stable period.
So one can argue that there is a mechanical relationship, albeit one that is more complicated than simple QTOM theory. The relationship is complicated too for low inflation economies, it gets more relevant the higher inflation is.
Another point the author makes is that liquidity trap is often ignored. I'll ignore the fact that you need specific conditions for the liquidity trap to be relevant to Argentina and address the point. Worth noting that while market monetarists (not exactly old fashioned monetarists) prefer alternative explanations for monetary policy with very low interest rates, this phenomena has a good monetary basis, as explained by Krugman in his famous japanese liquidity trap paper and his NYT blog (See this and this for some relevant articles). The simplified version is that while inflation may follow M2 growth with all the qualifiers needed, central banks may find difficulties targeting inflation when interest rates are low and agents are used to credible inflation targets. Central banks can change MB, not M2 and in normal times is good enough, but at those times M2 is out of control and "credibly irresponsible" policies are needed to return to normal (a more detailed explanation can be found in that paper I just linked, go for it if you are still curious).
It's not like monetary policy is not good, it's that central banks have to do very unconventional stuff to achieve in a low interest rate environment. It's still an open problem but given symmetric inflation targeting policies are becoming more popular I'm optimistic.
2 - Has inflation one or many causes?
In Argentina we know that the main determinant of inflation is dollar price increases. On that, economic concentration of key markets, utility price adjustments, fuel prices, distributive struggles, external commodity values, expectatives, productive disequilibrium, world interest rates, the economic cycle, stationality and external sector restrictions act on it too.
Let's see a simple example: during Macri's government since mid 2017 to 2019 emission was practically null, but when in 2018 the dollar value doubled, inflation doubled too (it went from 24% to 48% in 2018) and it went up again a year later. We see here that the empirical validity of monetarist theory was absent.
For the first paragraph, one could try to run econometric tests for all those variables, at least from my layman perspective. But given that it doesn't pass the smell test (has any country used that in its favor ignoring monetary policy? Also, I have shown there is at least some evidence for the money-price relationship before), I'll try to address what happened in Macri's government and if monetarism (or at least some reasonable extension of it) cannot account for it.
For a complete description of macroeconomic policy on that period, Sturzenegger account is a good one (even if a bit unreliable given he was the central banker for that government and he is considered to have been a failure). The short version is that central banks uses bonds to manage monetary policy and absorb money; given the history of defaults for the country, the Argentinian Central Bank (BCRA) uses its own peso denominated bonds instead of using treasury bonds. At that time period, the BCRA still financed the treasury but the amount got reduced. Also, it emitted pesos to buy dollar reserves, then sterilized them, maybe risking credibility further.
Near the end of 2017 it was evident the government had limited appetite for budget cuts, it had kind of abandoned its inflation target regime and the classic problem of fiscal dominance emerged, as it's shown in the classic "Unpleasant monetarist arithmetic" paper by Wallace and Sargent. Monetary policy gets less effective when the real value of bonds falls, and raising interest rates may be counterproductive in that environment. Rational expectations are needed to complement QTOM.
So, given that Argentina promised to go nowhere with reform, it was expected that money financing would increase at some point in the future and BCRA bonds were dumped in 2018 and 2019 as their value was perceived to have decreased, and so peso demand decreased. It's not that the dollar value increased and inflation followed, but instead that peso demand fell suddenly!
The IMF deal asked for MB growth to be null or almost null but that doesn't say a lot about M2 (which it's the relevant variable here). Without credible policies, the peso demand keeps falling because bonds are dumped even more (see 2019 for a hilariously brutal example of that).
It's not emission per se, but rather that it doesn't adjust properly to peso demand (which is falling). That doesn't mean increasing interest rates is enough to achieve it, following Wallace and Sargent model.
This is less a strict proof that a monetary phenomenon is involved and more stating that the author hasn't shown any problem with that, there are reasonable models for this situation. It doesn't look like an clear empirical failure to me yet.
3 - Of what we are talking about when we talk about emission?
The author mentions many money measures (M0, M1, M2) but it doesn't address it meaningfully as I tried to do above. It feels more like a rhetorical device because there is no point here except "this stuff exists".
Also, it's worth pointing that there are actual criticisms to make to Friedman on those grounds. He failed to forecast US inflation at some points when he switched to M1 instead of using M2, although he later reverted that. Monetarism kind of "failed" there (it also "failed" in the sense that modern central banks don't use money, but instead interest rates as their main tool; "failed" because despite being outdated, it was influential to modern central banking). This is often brought to this kind of discussions like if economics hasn't moved beyond that. For an account of Friedman thoughts on monetary policies and his failures, see this.
4 - Why do many countries print and inflation doesn't increase there?
There is a mention about the japanese situation in the 90s (the liquidity trap) which I have addressed.
The author mentions that many countries "printed" like crazy during the pandemic, and he says:
Monetarism apologists answer, when confronted with those grave empirical problems that happen in "serious countries", that the population "trusts" their monetary authorities, even increasing the money demand in those place despite the emission. Curious, though, it's an appeal to "trust" implying that the relationship between emission and inflation is not objective, but subjective and cultural: an appreciation that abandons mechanicism and the basic certainty of monetarism, because evaluations and diagnostics, many times ideologic, contextual or historical intervene..
That's just a restatement of applying rational expectations to central bank operations. I don't see a problem with that. Rational expectations is not magic, it's an assessment of future earnings by economic actors. Humans may not 100% rational but central banking somehow works on many countries. You cannot just say that people are ideologues and let it at that. What's your model?
Worth noting the author shills for bitcoin a bit in this section, for more cringe.
5 - Are we talking of a physical science or a social science?
Again, a vague mention of rational expectations ("populists and pro market politicians could do the same policies with different results because of how agents respond ideologically and expectatives") without handling the subject meaningfully. It criticizes universal macroeconomic rules that apply everywhere (this is often used to dismiss evidence from other countries uncritically more than as a meaningful point).
6 - How limits work?
The last question to monetarism allows to recognize it something: effectively we can think on a type of vinculation between emission and inflation in extreme conditions. That means, with no monetary rule, no government has the need of taxes but instead can emit and spend all it needs without consequence. We know it's not like that: no government can print infinitely without undesirable effects.
Ok, good disclaimer, but given what he wrote before, what's the mechanism which causes money printing to be inflationary at some point? It was rejected before but now it seems that it exists. What was even the point of the article?
Now, the problem is thinking monetarism on its extremes: without emission we have inflation sometimes, on others we have no inflation with emission, we know that if we have negative emission that doesn't guarantees us negative inflation, but that if emission is radically uncontrolled there will economic effects.
As I wrote above, that's not what monetarism (even on it's simpler form) says, nor a consequence of it. You can see some deviations in low inflation environment but it's not really Argentina's current situation.
Let's add other problems: the elastic question between money and prices is not evident. Neither is time lags in which can work or be neutral. So the question is the limit cases for monetarism which has some reason but some difficulty in explaining them: by which and it what moments rules work and in which it doesn't.
I find the time lag thing to be a red herring. You can observe empirically and not having a proper short/middle run model doesn't invalidate QTOM in the long run. While it may be that increasing interest rates or freezing MB is not effective, that's less a problem of the theory and more a problem of policy implementation.
I find that the article doesn't truly get monetarism to begin with (see the points it makes about emission and money demand), neither how it's implemented in practice, nor seems to be aware of more modern theories that, while put money on the background, don't necessarily invalidate it (rational expectation ideas, and eventually New Keynesian stuff which addresses stuff like liquidity traps properly).
There are proper criticisms to be made to Friedman old ideas but he still was a relevant man in his time and the economic community has moved on to new, better theories that have some debt to it. I feel most economic discussion about monetarism in Argentina is a strawman of mainstream economics or an attack on Austrians more than genuine points ("monetarism" is used as a shorthand for those who think inflation is a monetary phenomenon more than referring to Friedman and his disciples per se).
submitted by Neronoah to badeconomics [link] [comments]

⟳ 870 apps added, 78 updated at

Notice: this update is spurious, and the issue is being looked at.
⟳ from Wed, 26 Feb 2020 20:21:50 GMT updated on Sun, 01 Mar 2020 05:23:29 GMT contains 2962 apps.
Added (870)
Updated (78)
submitted by BrainstormBot to FDroidUpdates [link] [comments]

How can I get this script to work for Litecoin

What would I need to do to get this script to work for Litecoin
 class Bitcoin { // Configuration options private $username; private $password; private $proto; private $host; private $port; private $url; private $CACertificate; // Information and debugging public $status; public $error; public $raw_response; public $response; private $id = 0; /** * @param string $username * @param string $password * @param string $host * @param int $port * @param string $proto * @param string $url */ function __construct($username, $password, $host = 'localhost', $port = 8332, $url = null) { $this->username = $username; $this->password = $password; $this->host = $host; $this->port = $port; $this->url = $url; // Set some defaults $this->proto = $host == 'localhost' ? 'http':'https'; $this->CACertificate = null; } /** * @param string|null $certificate */ function setSSL($certificate = null) { $this->proto = 'https'; // force HTTPS $this->CACertificate = $certificate; } function __call($method, $params) { $this->status = null; $this->error = null; $this->raw_response = null; $this->response = null; // If no parameters are passed, this will be an empty array $params = array_values($params); // The ID should be unique for each call $this->id++; // Build the request, it's ok that params might have any empty array $request = json_encode(array( 'method' => $method, 'params' => $params, 'id' => $this->id )); // Build the cURL session $curl = curl_init("{$this->proto}://{$this->username}:{$this->password}@{$this->host}:{$this->port}/{$this->url}"); $options = array( CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_FOLLOWLOCATION => TRUE, CURLOPT_MAXREDIRS => 10, CURLOPT_HTTPHEADER => array('Content-type: application/json'), CURLOPT_POST => TRUE, CURLOPT_POSTFIELDS => $request ); if ($this->proto == 'https') { // If the CA Certificate was specified we change CURL to look for it if ($this->CACertificate != null) { $options[CURLOPT_CAINFO] = $this->CACertificate; $options[CURLOPT_CAPATH] = DIRNAME($this->CACertificate); } else { // If not we need to assume the SSL cannot be verified so we set this flag to FALSE to allow the connection $options[CURLOPT_SSL_VERIFYPEER] = FALSE; } } curl_setopt_array($curl, $options); // Execute the request and decode to an array $this->raw_response = curl_exec($curl); $this->response = json_decode($this->raw_response, TRUE); //error_log('this->response: '. print_r($this->response,true)); // If the status is not 200, something is wrong $this->status = curl_getinfo($curl, CURLINFO_HTTP_CODE); // If there was no error, this will be an empty string $curl_error = curl_error($curl); curl_close($curl); if (!empty($curl_error)) { $this->error = $curl_error; } if ($this->response['error']) { // If bitcoind returned an error, put that in $this->error $this->error = $this->response['error']['message']; } elseif ($this->status != 200) { // If bitcoind didn't return a nice error message, we need to make our own switch ($this->status) { case 400: $this->error = 'HTTP_BAD_REQUEST'; break; case 401: $this->error = 'HTTP_UNAUTHORIZED'; break; case 403: $this->error = 'HTTP_FORBIDDEN'; break; case 404: $this->error = 'HTTP_NOT_FOUND'; break; } } if ($this->error) { return FALSE; } return $this->response['result']; } } /* Address History Interface Class */ class AddressHistory { public $address = null; public $n_tx = 0; public $total_sent = 0; public $total_received = 0; public $balance = 0; public $final_balance = 0; public $txns = array(); public function __construct($txn=null) { if(! is_array($txn)) return null; if(array_key_exists('address', $txn)) $this->address = $txn['address']; if(array_key_exists('n_tx', $txn)) $this->n_tx = $txn['n_tx']; if(array_key_exists('total_sent', $txn)) $this->total_sent = $txn['total_sent']; if(array_key_exists('total_received', $txn))$this->total_received = $txn['total_received']; if(array_key_exists('balance', $txn)) $this->balance = $txn['balance']; if(array_key_exists('final_balance', $txn)) $this->final_balance = $txn['final_balance']; if(is_array($txn['txns'])) { foreach($txn['txns'] as $key => $this_txn) { $new_txn = array( 'hash' => $this_txn['hash'], 'block_height' => $this_txn['block_height'], 'value' => $this_txn['value'], 'spent' => $this_txn['spent'], 'spent_by' => $this_txn['spent_by'], 'confirmations'=> $this_txn['confirmations'] ); $this->txns[$key] = new TransRef($new_txn); } } else { $this->txns = null; } return $this; } } /* Transaction Reference Interface Class */ class TransRef { public $hash; public $block_height; public $value; public $spent; public $spent_by; public $confirmations; public function __construct($txnref=null) { if(! is_array($txnref)) return null; if(array_key_exists('hash', $txnref)) $this->hash = $txnref['hash']; if(array_key_exists('block_height', $txnref)) $this->block_height = $txnref['block_height']; if(array_key_exists('value', $txnref)) $this->value = $txnref['value']; if(array_key_exists('spent', $txnref)) $this->spent = $txnref['spent']; if(array_key_exists('spent_by', $txnref)) $this->spent_by = $txnref['spent_by']; if(array_key_exists('confirmations', $txnref)) $this->confirmations = $txnref['confirmations']; return $this; } } /* CoindRPC - JsonRPC Class to talk to bitcoind */ class CoindRPC extends Bitcoin { public function __construct() { return parent::__construct(WN_RPC_USER, WN_RPC_PASS, WN_RPC_HOST, WN_RPC_PORT); } public function __call($method, $params) { return parent::__call($method, $params); } public function get_address_balance($address, $confirmations=0) { try { $address_info = $this->validateaddress($address); if($address_info['isvalid'] == 1 && $address_info['ismine'] == 1) { $balance = $this->getreceivedbyaddress($address, $confirmations); } if($balance != '') { return floatval($balance); } else { return 0; } } catch (Exception $e) { error_log('error: '. print_r($e->getMessage(),true)); error_log('['.__LINE__.'] : '.__FILE__); } } public function get_address_history($address) { try { $address_info = $this->validateaddress($address); if($address_info['isvalid'] == 1 && $address_info['ismine'] == 1) { //- if only listening to one BTC account //$history = $this->listtransactions(WN_RPC_ACCT); $history = $this->listtransactions(); $txns = array(); $final_balance = $balance = 0; foreach($history as $txn) { if($txn['address'] != $address) continue; $n_tx = $total_received = $total_sent = 0; $n_tx = intval($addr_hist['n_tx']) + 1; switch($txn['category']) { case('receive'): $total_received = $addr_hist['total_received'] += $txn['amount']; $balance = $balance + $txn['amount']; //- can we trust final balance here? do we need more history $final_balance = $final_balance + $txn['amount']; break; case('send'): $total_sent = $addr_hist['total_sent'] += $txn['amount']; $balance = $balance + $txn['amount']; //- can we trust final balance here? do we need more history $final_balance = $final_balance + $txn['amount']; break; } $txns[] = array( 'hash' => $txn['txid'], 'value' => $txn['amount'], 'spent' => $txn['spent'], 'spent_by' => $txn['spent_by'], 'confirmations' => $txn['confirmations'], ); } $addr_hist = array( 'address' => $address, 'n_tx' => $n_tx, 'total_sent' => $total_sent, 'total_received' => $total_received, 'balance' => $balance, 'final_balance' => $final_balance, 'txns' => $txns ); $addr_hist = new AddressHistory($addr_hist); } else { $addr_hist = false; error_log('Address invalid: '.$address); error_log('['.__LINE__.'] : '.__FILE__); } return $addr_hist; } catch (Exception $e) { error_log('error: '. print_r($e->getMessage(),true)); error_log('['.__LINE__.'] : '.__FILE__); } } public function get_transaction($hash) { try { return $this->gettransaction($hash); } catch (Exception $e) { error_log('error: '. print_r($e->getMessage(),true)); error_log('['.__LINE__.'] : '.__FILE__); } } } /* Helper class */ class Helper { public static $api = null; public static $db = null; public function __construct($db, $api) { Helper::$api = $api; Helper::$db = $db; } public static function walletnotify_email($txnhead) { //- bitcoind calls walletnotify on 0 confirmations and 1. //- We only want email to go out on the first call. Otherwise //- if we want only one 1 confrime, change this to //- confirmations == 0) return; if($txnhead['confirmations'] > 0) return; $tmpl = file_get_contents('email.notify.tmpl.html'); foreach($txnhead as $key => $val) { $map['{'.$key.'}'] = $val; } $map['{timestamp}'] = date('Y-m-d H:i:s', WN_GLOBAL_TIMESTAMP); $map['{hostname}'] = php_uname('n'); $html = str_replace(array_keys($map), array_values($map), $tmpl); $txid_short = substr($txnhead['txid'], 0, 4).' .. '.substr($txnhead['txid'], -4); $msg = "=WNotify=". "\ntxid: ".$txid_short. "\nAmt : ".$txnhead['amount']. "\nCmnt: ".$txnhead['comment']. "\nAcct: ".$txnhead['account']. "\nConf: ".$txnhead['confirmations']. "\nCat : ".$txnhead['category']. "\nAddr: ".$txnhead['address']. ""; //- send to carrier's email to SMS gateway if configured if(defined('WN_SMS_ADMIN') && filter_var(WN_SMS_ADMIN, FILTER_VALIDATE_EMAIL)) { Helper::send_email_sms($msg, WN_SMS_ADMIN); } return Helper::send_email($html, 'WN:WalletNotify', WN_EMAIL_ADMIN);; } public static function send_email($msg, $subj, $to) { $headers = 'From: '.WN_EMAIL_FROM."\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; if(trim($msg) == '') return false; return mail($to, $subj, $msg, $headers); } public static function send_email_sms($msg, $to) { if(trim($msg) == '') return false; if($to == '') return false; $headers = 'From: '.WN_EMAIL_FROM."\r\n"; return mail($to, null, $msg."\n.", $headers); } } 
submitted by Mjjjokes to cryptodevs [link] [comments]

[Android] Trying to get an Async example code working

So I am following a tutorial to help me understand Async tasks in Android. I already have an application that fetches Bitcoin info from an API which works. There is also progress_bar which runs when my network request is made. Also, ignore the comments and log tags having Github. I was using code from another tutorial initially and changed it around for Bitcoin.
At the bottom, I added the Async code from the tutorial. But when I run it instead of having the progress bar increment its progress every 1 second nothing happens. I also notice the function startAsyncTask is never called. I am trying to figure out how one would go about calling an Async task?
import java.lang.ref.WeakReference; import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; public class MainActivity extends AppCompatActivity { private Button button; private ProgressBar progress_bar; private ProgressBar progress_bar_fake; private TextView time_textview; private TextView usd_textview; private TextView eur_textview; private TextView gbp_textview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = findViewById(; progress_bar = findViewById(; progress_bar_fake = findViewById(; time_textview = findViewById(; usd_textview = findViewById(; eur_textview = findViewById(; gbp_textview= findViewById(; progress_bar.setVisibility(View.INVISIBLE); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Code here executes on main thread after user presses button progress_bar.setVisibility(View.VISIBLE); String API_BASE_URL = ""; OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); // set your desired log level logging.setLevel(HttpLoggingInterceptor.Level.BODY); // add your other interceptors … // add logging as last interceptor httpClient.addInterceptor(logging); // <-- this is the important line! Retrofit.Builder builder = new Retrofit.Builder() .baseUrl(API_BASE_URL) .addConverterFactory( GsonConverterFactory.create() ); Retrofit retrofit = builder .client( ) .build(); // Create a very simple REST adapter which points the GitHub API endpoint. RESTInterface client = retrofit.create(RESTInterface.class); // Fetch a list of the Github repositories. Call call = client.getBitcoin(); //Log.d("GITHUB", String(call.request().url())); // Execute the call asynchronously. Get a positive or negative callback. call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { // The network call was a success and we got a response // TODO: use the repository list and display it response.body(); Log.d("GITHUB", "RESPONSE SUCCESS"); Log.d("GITHUB", response.message()); Log.d("GITHUB", response.body().toString()); Log.d("GITHUB", response.raw().toString()); Log.d("GITHUB", response.body().toString()); time_textview.setText("Time: " + response.body().getTime().getUpdated()); usd_textview.setText("USD: " + response.body().getBpi().getUSD().getRate()); eur_textview.setText("EUR: " + response.body().getBpi().getEUR().getRate()); gbp_textview.setText("GBP: " + response.body().getBpi().getGBP().getRate()); progress_bar.setVisibility(View.INVISIBLE); } @Override public void onFailure(Call call, Throwable t) { // the network call was a failure t.printStackTrace(); // TODO: handle error Log.d("GITHUB", "RESPONSE FAILED"); progress_bar.setVisibility(View.INVISIBLE); } }); } }); } public void startAsyncTask(View v){ ExampleAsyncTask task = new ExampleAsyncTask(this); Log.d("ASYNC", "ASYNC STARTED"); task.execute(10); } private static class ExampleAsyncTask extends AsyncTask{ private WeakReference  activityWeakReference; ExampleAsyncTask(MainActivity activity) { activityWeakReference = new WeakReference(activity); } @Override protected void onPreExecute() { super.onPreExecute(); MainActivity activity = activityWeakReference.get(); if (activity == null || activity.isFinishing()){ return; } activity.progress_bar_fake.setVisibility(View.VISIBLE); Log.d("ASYNC", "We at PreExecute"); } protected String doInBackground(Integer... integers) { for (int i = 0; i < integers[0]; i++){ publishProgress((i*100)/integers[0]); Log.d("ASYNC", "We at doInBackground"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } return "Finished!"; } @Override protected void onProgressUpdate(Integer... values) { super.onProgressUpdate(values); MainActivity activity = activityWeakReference.get(); if (activity == null || activity.isFinishing()){ return; } Log.d("ASYNC", "We at onProgressUpdate"); activity.progress_bar_fake.setProgress(values[0]); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); MainActivity activity = activityWeakReference.get(); if (activity == null || activity.isFinishing()){ return; } Log.d("ASYNC", "We at onPostExecute"); Toast.makeText(activity, s, Toast.LENGTH_SHORT).show(); activity.progress_bar_fake.setProgress(0); activity.progress_bar_fake.setVisibility(View.INVISIBLE); } } } 
submitted by Fhy40 to learnprogramming [link] [comments]

Can't load 2 domains from behind pfsense

Hello! I have been using pfSense for years and had great luck with it. I just recently moved and after setting up my firewall at the new location, I cannot access 2 different sites. If I remove the firewall and use my computer connected to directly to the modem the sites load, so I'm sure the issue is somewhere in my pfsense install.
Trying to browse to gives me a 403. The DNS resolved as expected and I get a valid SSL certificate, but the page rejects me. If I tether to my phone's internet, the page works fine so I doubt this has anything to do with my computer or browser.
Trying to login at says "Hmm... something went wrong." I'm guessing the same thing that made upset.
I've seen people report similar issues if they have squidguard or similar things installed, but I don't have anything like that. I only have the acme and openvpn-client-export packages installed.
Anyone have any ideas? Are there any logs or configs that you think could be helpful?
$ HTTPS_PROXY="" curl --verbose * Rebuilt URL to: * Trying * TCP_NODELAY set * Connected to ( port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH * successfully set certificate verify locations: * CAfile: /etc/ssl/cert.pem CApath: none * TLSv1.2 (OUT), TLS handshake, Client hello (1): * TLSv1.2 (IN), TLS handshake, Server hello (2): * TLSv1.2 (IN), TLS handshake, Certificate (11): * TLSv1.2 (IN), TLS handshake, Server key exchange (12): * TLSv1.2 (IN), TLS handshake, Server finished (14): * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): * TLSv1.2 (OUT), TLS change cipher, Client hello (1): * TLSv1.2 (OUT), TLS handshake, Finished (20): * TLSv1.2 (IN), TLS change cipher, Client hello (1): * TLSv1.2 (IN), TLS handshake, Finished (20): * SSL connection using TLSv1.2 / ECDHE-ECDSA-CHACHA20-POLY1305 * ALPN, server accepted to use h2 * Server certificate: * subject: OU=Domain Control Validated; OU=PositiveSSL Multi-Domain; * start date: May 24 00:00:00 2018 GMT * expire date: Nov 30 23:59:59 2018 GMT * subjectAltName: host "" matched cert's "" * issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=COMODO ECC Domain Validation Secure Server CA 2 * SSL certificate verify ok. * Using HTTP2, server supports multi-use * Connection state changed (HTTP/2 confirmed) * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0 * Using Stream ID: 1 (easy handle 0x7ff5cd004000) > GET / HTTP/2 > Host: > User-Agent: curl/7.54.0 > Accept: */* > * Connection state changed (MAX_CONCURRENT_STREAMS updated)! < HTTP/2 403 < date: Mon, 28 May 2018 18:34:40 GMT < content-type: text/html < set-cookie: __cfduid=ddaff7fc71a93d09c566b5df0b3cd9cfe1527532480; expires=Tue, 28-May-19 18:34:40 GMT; path=/;; HttpOnly < expect-ct: max-age=604800, report-uri="" < server: cloudflare < cf-ray: 4222d115dbd99668-SJC <  403 Forbidden  

403 Forbidden

nginx/1.10.3 (Ubuntu)
* Connection #0 to host left intact $ HTTPS_PROXY="" curl --verbose * Rebuilt URL to: * Trying * TCP_NODELAY set * Connected to ( port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH * successfully set certificate verify locations: * CAfile: /etc/ssl/cert.pem CApath: none * TLSv1.2 (OUT), TLS handshake, Client hello (1): * TLSv1.2 (IN), TLS handshake, Server hello (2): * TLSv1.2 (IN), TLS handshake, Certificate (11): * TLSv1.2 (IN), TLS handshake, Server key exchange (12): * TLSv1.2 (IN), TLS handshake, Server finished (14): * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): * TLSv1.2 (OUT), TLS change cipher, Client hello (1): * TLSv1.2 (OUT), TLS handshake, Finished (20): * TLSv1.2 (IN), TLS change cipher, Client hello (1): * TLSv1.2 (IN), TLS handshake, Finished (20): * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 * ALPN, server accepted to use h2 * Server certificate: * subject: C=US; postalCode=30097; ST=GA; L=Duluth; street=5985 State Bridge Road; O=Macy's Systems and Technology, Inc.; OU=MCOM; OU=Hosted by Macy's Systems and Technology; OU=Unified Communications; * start date: Feb 23 00:00:00 2018 GMT * expire date: Feb 23 23:59:59 2019 GMT * subjectAltName: host "" matched cert's "" * issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=COMODO RSA Organization Validation Secure Server CA * SSL certificate verify ok. * Using HTTP2, server supports multi-use * Connection state changed (HTTP/2 confirmed) * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0 * Using Stream ID: 1 (easy handle 0x7f9c77806000) > GET / HTTP/2 > Host: > User-Agent: curl/7.54.0 > Accept: */* > * Connection state changed (MAX_CONCURRENT_STREAMS updated)! < HTTP/2 403 < server: AkamaiGHost < mime-version: 1.0 < content-type: text/html < content-length: 267 < expires: Mon, 28 May 2018 18:40:26 GMT < date: Mon, 28 May 2018 18:40:26 GMT < set-cookie: shippingCountry=US; path=/; < set-cookie: SignedIn=0; path=/; < set-cookie: GCs=CartItem1_92_03_87_UserName1_92_4_02_; path=/; < set-cookie: MISCGCs=USERPC1_92_941023_87_USERLL1_92_37.7795%2C-122.41953_87_USERST1_92_CA3_87_USERDMA1_92_8073_87_DT1_92_PC3_87_DSW1_92_4003_87_DSH1_92_4003_87_DBN1_92_cURL3_87_DMN1_92_cURL; expires=Tue, 28-May-2019 18:40:26 GMT; path=/; < set-cookie: mercury=true; path=/; < content-security-policy: upgrade-insecure-requests; < set-cookie: akavpau_www_www1_macys=1527533126~id=ff69fbe8b81c5a9e435e6ad1bb3fddea; Path=/ < x-macys-device: PC < Access Denied

Access Denied

You don't have permission to access "" on this server. Reference #18.833919b8.1527532826.8bab6aa * Connection #0 to host left intact
UPDATE: I've reinstalled pfsense and now those 2 sites are working. I ended up exporting my config and restoring just the Aliases, Firewall, NAT, DHCP, and DNS settings. I don't know what setting was hiding and breaking the pages, but at least they load now.
Update: the sites are broken again. They worked yesterday. All I changed was enabling DNSSEC
submitted by nynjawitay to PFSENSE [link] [comments]

My visits to the darkest sites on the deep web.

Most of my research will now be posted on /rStranded
*****PART 2 IS OUT *****
This is originally a post I made on /nosleep. Due to demand and the fact it got removed for not being for the type of subreddit /nosleep is, I will be posting it here.
I've always had a really sparked interest in what is commonly known as the Deep Web. For an explanation on the Deep Web that I have found to be helpful, feel free to go here. The point of this post is not, though, to act as a guide to the deep web, or to provide an explanation of what it is. NoSleep is not /deepweb or /advice, but a place to share horror stories. And though the deep web has some good uses, it also has an incredibly dark side too it. The dark web is a small corner of the deep web, containing the stereotypical content (bulk drugs, CP, etc.) that the deep web is notorious for. I took my first steps into this little excavation of mine into the darkest parts of anonymous sites under the surface of web browsing in an attempt to undermine the stereotype that the deep web is more a home to dark, illegal websites then anything good. Well, I came out of this with more then I could have ever expected, and now my view on humanity in general has forever been changed. The start of the... "trip"? It took me quite a while (3-4 weeks) to get enough information to start really delving deep into what I will now refer to as the dark web, the small corner of the deep web that is basically the 'house of horrors'. Lots of talking around, honing information from chatrooms, and taking lots of notes. Even had to make a couple of phone calls to some more then shady individuals, not a comfortable experience. By the end of my trek of gathering as much information possible at the time and getting a good contact list, I took my first steps into the, 'outer layer' of the dark web, so to speak. The hard part is that once you get deeper, a lot of sites have ever changed URL's, extensive invitation queue's, and at times, pricey entrance costs that may or may not end up as cash spent on a phony operation. A lot of it is luck, meeting people at the right time and place, and taking good notes. I had a good streak of luck and took good notes, enough to get me to the places I entered. But what I did notice is that once I got into the first site that I will next talk about, it became much easier to get into other sites, as it was much more freely talked about and information was passed around much more. Chatrooms in the dark web = information honey hole. 1st Site: centrix{} I knew I had broken the barrier when I got into centrix{}. I'm just going to call it centrix and leave out those annoying little brackets that are annoying to type. Back on track, centrix was one of the more well-known, 'general markets', so to speak. A good example to compare it too would be Agoratha or Silk Road. Now, centrix, from what I hoarded via lots of questions on the chat room over the course of a couple days, has been around for about 11 months and has been untouched by any means of being shut down. Which surprises me, because it has everything from Agoratha or Silk Road, but to a much greater extent and a lot more variety. What some sites dedicate their whole selling product to be, centrix had sub-categories for. Just a brief few examples: -Snuff films -Bulk drugs, all varieties -Fake everything, ID's/licenses/you name it -A very censored section of CP -Various illegally obtained memberships (Netflix, porn, etc.) The list goes on. Another thing that is a bit chilling is the fact that they took a great effort to crack down on scams. The big deal on sites like Agoratha or Silk Road, they have a lot of scam vendors. This site didn't, and they had a lot of proof to back it up that I will not go into detail on. (samples, intros, etc.) I also met a guy in a chatroom that was nice, as far as that goes for an active dark web user like himself, who verified/hashed some of the links I had collected and vaguely sent me in the direction of other sites for my personal use. This was a great help, and led me to my next site, which from the illegality and general morale of the site, is what I consider the next layer or gate into the dark web. 2nd Site: BrinkWarehouse.otc Yay, a site with a normal-ish name. BrinkWarehouse was actually quite fascinating, not horrific to an extent, but had a different kind of dark backlash. BrinkWarehouse, a virtual warehouse of textual guides, notes, leaked documents, torrented books (one that was released online a day after it was published, quite a popular author). Now, at a summary this might seem alright, but take into account that the guides included things like "How to make a drone-based homemade explosive" and "How to kidnap adolescence in their sleep". Illegal leaked documents galore, anywhere from U.S. classified cases to foreign affairs. Also included guides on illegally modifying weapons, joining terrorist groups, guides to scripting and nulling bank accounts, so on and so forth. Not a fun site. The next site I headed to is where it starts to get formally creepy, and where I found it necessary to post this on NoSleep. The Site with No Name I got access to this site, which I consider to be the start of the darkest of the dark web of the deep web (phew, that is a mouth full), from francestern344, who was in a chatroom on, a very common deep web chatroom site that most of you have probably already stopped in. Well, talk comes to talk, and we end of up the topic of snuff films. How common they are, where they are usually filmed and why, etc. I get his trust, we resume this chat in a private room that he had (0.10 BTC for a private chatroom), and keep in mind that only getting information was my main reason for chatting, I am not 'into' snuff films, though they do fascinate me. We talked for a good 20 minutes before, without me having to even ask, hooked me up with a site. We are just going to use a tidbit of the sites all-# URL to name it, so 5611 it is. Now, this site, 5611, required an invite, extensive registration, questioning, and a 1-on-1 meeting with what I assumed was a site directoadmin. He/she was one harsh motherfucker, and the stern punishments for breaking the sites rules was laid out. The guy who invited me, francestern344, I guess was a long-timer on 5611, who had permission to let me take a tour of the site. Now, I did ask for a formal site name for future reference (aka so I didn't have to name it 5611), and he said that the site had no name, and that it was purely based to display it's content and moderate membership. The title, he said, would only make it easier to identity, which they did not want to happen. 5611 had a small membership that, he said, the runners of the site tried to cater too very fondly, as membership is 1.588 BTC monthly, approx. $355 USD. Upon entering the site, I had to check the "Are you older then 18" box for the 5th time since I started getting signed up. Finally, I was in. The sites design was bland and blocky, with a pure white background and very blocky, close together writing. In the top right corner, there where the options to log out, add funds to my balance, and then a small wallet emoticon that displayed an empty BTC client-side balance. But that was barely on my mind, my mind was on the center of the screen. In a single row down the center of the screen, single frames with captions and a description took up most of the screen. The top one had a still of a table with various blades and blunt weapons laid out, the title "24 yr F, sleeping, sugg. death" with a 2.25 BTC price tag along the side. A timer in green text was counting down. "11:51" "11:50" "11:49". Under the timer, in the same green font, was "78/100". A couple seconds later, the 78 turned into a 79. Realization hit me in the face like a bat. This was a paid snuff site. With a shaky hand, I scrolled down through the seemingly endless snapshots and captions. One caught my eye: "QUICK WATCH. HOMELESS. 0.22 BITCOIN. LARGE VIEW. LOW Q" It was like an attention whoring YouTube title, but it seemed to be working. In the eerie green font, 783/1000 was displayed, a jaw-dropping number in my eyes. I decided this needed to be documented, so I did a quick transaction, put .30 BTC in my site wallet, and clicked on the arrow to enter. It took a minute or two to complete the transaction, and after about a 5 minute buffer, I was in the 'showing'. There was no chatbox, only a slightly lighter border of grey and static. The same green timer was now in the bottom right of the screen. "3" "2" "1". The squared blurred revealing a city street. What seemed to be Arabic writing was on various shop signs and advertisements. Light from a streetpost gave a fuzzy glow to the scene. The cameraman, from the position of the camera, seemed to be leaning against a wall, the shot focused on a dinky red junker on the streets curb. From the side of the cameras view, a gloved finger points towards the entrance of a dark alley, where a man lays on his side, like a breathing pile of rags, obviously homeless and alone. The finger makes a motion towards the car, and three men quietly exit the car and walk along the storefronts towards the sleeping homeless figure. The quality is totally shit, but the scene can still be made out and is enhancing by my horrid imagination about what is to come. About 5 meters from the homeless victim, the lanky group of thugs pull out plain white theatre masks from their jackets, take out various small weapons, and pounce around the corner on to the innocent, unsuspecting victim. The camera picks up the quick shuffling of feet as the camera man runs towards the scene, catching the thugs thrashing and stomping the man from his slumber. "Cut him up." The camera mans thickly accented voice commands the thugs, who begin to slash the victim at a wild speed, like hyenas tearing into caught prey. Blood sprays onto the wall and onto the thugs white masks. It is horrible, my stomach barely holds on. I can't take it. Logging off Tor, I take a few more security measures and shut off my computer, taking some deep breathes and sipping from a Coors light. My last visit on the dark web: CandyPalace I logged on about a week later, and never thought to go back on 5611. I never contacted anyone from my past sites, and I knew in my heart that this would be my last visit to any site on the deep web. I was thoroughly encouraged to not go on, because with 5611, that had really been in my mind that last straw. I had proven to myself that the dark web, even though it has some good parts, is really just a beacon of humanities horrific actions. I had proven to myself that sites like 5611 and the other sites exist. But I just felt the need to cover the last huge part of the dark web that is in my mind the worst of it all. Child pornography. CandyPalace is a huge site, do some digging and get some sources, you will find it. From the videos, I have come to the conclusion that it is all hosted in one location in a foreign country. I always wondered that if there are all these snuff films and child sex slave dungeons that are often spoken about, that there would have to be a suitable amount of missing children cases and unsolved murder cases to go along with them. Some research and asking around concluded that many of the filmed murders and child porn director rings are in fact in foreign countries, where getting away with these kinds of actions is a 'piece of cake' in the words of an aspiring director in a CandyPalace chat room. I will not go into specific detail about any one video on CandyPalace, only will lay out some basic stats and descriptions and let you find the rest if you so please: -The main chatroom had several hundred chatters in total between the various sub-chats. -They actually had a very detailed profile of each child, an example was Tatasa, 9 years old, black hair, and then included a list of, if I remember correctly, 83 videos she starred in and counting. -The children where usually smothered in make-up and, besides for what seemed like a designated 2-3 'stars', not extremely physically hurt via evident beating. -Double penetration, binding, gay, forced 1-1, knife, roleplay, chamber, and dungeon where the top video tags. Each video has 1-2+ tags. If I remember correctly, there where a total of 17 'stars'. Nobody ever brought up anything about if they are kidnapped/imported/imprisoned. All anybody cared about was watching, so getting information on that topic was hard. Most of the scenes are filmed in various sets, such as era-styled dungeons, surgery rooms, etc. No grimy bedrooms or warehouses or basements. Nothing that fits the common stereotype. It was basically PornHub with a pink-white-black color scheme and 6-12 year olds. It is a nightmare. Conclusion I never look at people the same. Throughout taking this research-oriented trip through the dark web, my view on humanity has been changed. Every video I watched in the name of research chinked away at my emotions, often left me crying. Curiosity broke me, and it has been nearly a year since I have full recovered. This is my, I guess case file for my research on this subject. Now before you launch Tor and find these sites, please know. There is nothing enjoyable, entertaining, or at all suitable content on this network. You will be left in tears, you will be scarred, and worst of all... you will never view others again. Please refrain from PM'ing me about this subject unless you have certain details or past experiences you would like to privately share. EDIT Wow, woke up to 34 comments in my inbox! :D Thank you guys for all the feedback, good to know that at least I went through this for something. EDIT This worked out much better than I anticipated. If this is not allowed, let me know, but I have created a strawpoll here, so if you guys really want more stories of different sites on the dark web that I looked through, please let me know. I also have done studying into the dark side of craigslist, etc. EDIT So, you guys voted that you want to see more insights on other dark web sites. I was not intending for this to be a series, but I guess it is turning into one in some sense. I will hopefully compose a second post that mainly consists of sights and their descriptions. Here is a link to, if you want, vote on the types of sites you want me to talk about. I have a set few I will already include, but this is more informative then for my own personal writing experience, so I want you guys to select what you want to know about.
submitted by rStranded to deepweb [link] [comments]

Frequently Asked Questions

Check out CryptoSheets v1.0-rc1 as it may solve most of your issues
Make sure you have a sheet called Rates. This is not referring to the file name.
Look at the bottom of the window for a sheet called Rates. If it isn't there, create one.
I see a lot of people putting the full api ticker URL in the field, but all you need is the value of id from the CoinMarketCap api ticker This is the field to use
var QSH = getWebRate('qash'); var MOD = getWebRate('modum'); var WAX = getWebRate('wax'); var ARK = getRate('ark'); var BNB = getRate('binance-coin'); var BCH = getRate('bitcoin-cash'); var BTC = getRate('bitcoin'); var NEO = getRate('neo'); var OMG = getRate('omisego'); var REQ = getRate('request-network'); var XRB = getRate('raiblocks'); var WTC = getRate('walton'); var XMR = getRate('monero'); 
submitted by seishi to cryptosheets [link] [comments]

Kindom Referral Contest - More than 130M Kin worth of Prizes!

In three short days, Kindom has boomed to include more than 500 MAS putting us strongly in the top list of Kin Ecosystem Apps. But, there is more to be done in spreading Kin around the world!
That's why we're announcing our Kindom Referral Contest!

Kindom Referral Contest

The Prizes:

Grand Prizes:
Progress Prizes:
Milestone Bounties:
Multiple Winners:
First to Milestone:
Best Ad/Campaign:
(To enter for these prizes, you can email campaigns and ads to [email protected] or post them in /Kindom -- a max of 2 entries per person applies.)

The Details:

What is a verified referral?
A verified referral is a user who:
Where can I find my referral link?
At the bottom of the app home screen you will see your "network" section. If you click on it you'll be taken to your referral page where you can see your invitation code and a number of share links.
Your referral url is[yourinvitationcode] so it will look like
Do I still get a commission for my referrals?
Yes. You'll earn 5% of any Kin your referral earns from completing tasks.
You'll also earn up to 50% commission on future in-app purchases users make. (More info on this coming soon!)
How will I know if I'm in the lead?
Each Friday throughout the contest period, any users with more than 1 verified referral will receive an email updating them on the number of verified referrals they have, and the referrals needed for the top rank.
How will I receive my prize?
Prizes will be paid out as Kin1 ERC20 tokens to an Ethereum address as noted by the winner.
Are there any other rules I must know about?
What are some great ways to promote the app?
  1. Promoting to crypto users as a way to earn extra Kin or Bitcoin [not everyone is sold on crypto and that's ok].
  2. Promoting to mainstream users as a "make money app" or "rewards app" not many people know what crypto is or care, but they understand money and free giftcards. Millions of users use services like Swagbucks to earn giftcards, why don't we find ways to get them using Kindom so their earning happens in Kin?
  3. Promotional Youtube videos
  4. Email marketing to established lists.
  5. Sharing with your friends and family.
  6. Social advertising.
Be creative! Usually in a referral contest, the most creative ideas win out.
submitted by AdamSC1 to Kindom [link] [comments]

I was present at Ross Ulbricht's bail hearing, details and AMA.

Had some trouble finding the location at first... my friend and I thought it would have been in Judge Fox's courtroom (40 Centre Street, Room 228), but apparently bail hearings are held at 500 Pearl Street (Room 5A in this case), so we were a few minutes late to the hearing.
The court house employees receive a helpful score of 0; we realized where to go out of pure luck. My friend and I ran into another lost soul looking for the hearings, he said it reminded him of a scene in a Kafka book... running down massive marble hallways with no one around to help.
Anyway, I didn't know they take your phone and I was unprepared with paper and pen, so this report is from memory; I plan to attend all future hearings, so moving forward I will take notes. I'll probably edit this and fill in details as they come to me.
Disclaimer: I am not a lawyer, just a spectator.
We arrived at 11:15am, near the beginning of Turner's remarks on why Ross Ulbricht should be denied bail. We got seats, although it was standing room only by the end. Two of six rows were filled with Ulbricht's family.
The first thing we heard Turner mention is Ulbricht's stash of Bitcoin; Turner argued that given the "sophistication" of the defendant and the rules of the Bitcoin protocol, it is plausible that he could retrieve and/or instruct someone to retrieve the stash from a remote location if he is released on bail.
Much to the dismay and annoyance of Judge Fox, Turner proceeded to repeat the complaints we have already read; after multiple attempts to steer Turner away from regurgitating content from the complaints, Turner began to outline some of the content found on Ulbricht's computer. This included: a journal of Silk Road's creation, extensive spreadsheets with costs of maintaing the site (murder-for-hires included), "emergency" to-do lists, general to-do lists (again, murder-for-hires present on list), among many other incriminating documents not directly mentioned.
Turner then segued into the redandwhite/FriendlyChemist story, and how redandwhite "reported" to Ulbricht that FriendlyChemist had implicated another individual (tony76) in the blackmail plot before he was "killed."
Ulbricht instructed redandwhite to kill him, but redandwhite responded that he lived with three individuals and it wouldn't have been possible to kill him while he was in the house; redandwhite said they could wait for him to leave the house and kill him, but they would then be unable to retrieve drugs/money located in the residence. Redandwhite offered to kill all of them. Ulbricht responded that '[he] would refer to their judgment on the matter.' He ended up paying $500K USD in Bitcoin for all four hits. Turner mentions the blockchain here and says the transactions are visible there.
Finally Turner discussed Ulbricht's attempt to secure dual citizenship in Dominica and used that to argue the flight risk Ulbricht posed. Turner painted Ulbricht as having "two sides" and given his alleged tendency towards violence, the stash of Bitcoin and flight risk potential they moved for him to be denied bail.
Dratel was up next, and immediately says "don't worry your honor, I won't repeat the facts you already know." Also he mentions that he only received this new evidence at 7:30PM last night and feels he was not given enough time to prepare.
Dratel also takes the time to mention that although Ulbricht has finally been released into gen pop, he is still barred from using CorrLinks (the prison email system); as such he cannot add anyone to who is phone list (family and lawyer included) and it has thusly been a struggle to communicate with and build a defense for his client.
Dratel's second line of defense was the surprise DHSI visit Ulbricht received 9 weeks before his arrest. He says, 'if Ulbricht is who Turner claims he is, why wouldn't he have run then?' Dratel also claims that there is no proof that Ulbricht engaged in any direct selling of drugs on his site, a fact that should also be taken into consideration.
Dratel then defers to the numerous cosigners and family members who have vouched for Ulbricht's character and acquired >$1MM USD in bail funds. Ulbricht's parents will be moving back to NYC so he would have a place to stay, and that his aunt and uncle would be able to house him in the mean time. They would be willing to go to any measure necessary (ban internet usage, etc...) to make sure Judge Fox would be comfortable with the release. Dratel actually mentions child pornographers here, and how they can be released but banned from the internet.
The Judge asks him if he can point to anywhere in the letters that make it clear that the cosigners understand the full extent of the alleged crimes--he asks if they have read the complaints. Dratel responds that there is no specific mention of that but he knows the friends/family have kept up with the case because of its high profile nature and they are aware of the allegations.
Judge Fox gives Turner a chance to respond.
Turner mentions that there is evidence that Ulbricht solicited was planning to grow "magic mushrooms" to be listed on SR as its first product, there is also evidence that he has helped facilitate the movement of drugs and finally he loaned someone 500KUSD (not sure in what form) to start a joint drug operation. As such they believe Dratel's argument to that effect is null and void.
Turner also states that Ulbricht's family and friends do not know this "other side" of Ross and in no way could attest to his true character. On the subject of flight risk, they point out that he was living under a false name and ordered over 10 fake IDs, a sort of sophistication that would make it easy for him to disappear.
Dratel retorts that Ulbricht would never just throw his family's financial well being out the window for his own gain, and again mentions the fact that he didn't just "disappear" after the first DHSI visit. Dratel also claims that because he never directly took part in the material trading of his site lenancy should be offered.
Prosection laughs and says something to the effect of 'a leader of a cartel never touches drugs or kills his enemies, does that mean they should walk free on bail'?
There are a few more back and forths, can't remember it all exactly. I do remember knowing at this point that there was no way Ross would get bail.
Judge Fox asked how Turner thought he should handle the Maryland case. Turner said that it should be addressed at some point in the near future and they should get their turn with him.
The Judge reviews the facts out loud and denies Ulbricht bail. He tells Turner to make sure that Dratel and Ulbricht's family can communicate with Ross immediately, among a few other administrative things.
submitted by jedunnigan to SilkRoad [link] [comments]

Bitcoinj 0.11 released

Mike Hearn posted this on the Bitcoin Developer Mailing List:
I'm pleased to announce the release of bitcoinj 0.11, a library for writing Bitcoin applications that run on the JVM. BitcoinJ is widely used across the Bitcoin community; some users include Bitcoin Wallet for Android, MultiBit, Hive,, the block explorer (written in Lisp!), Circle, Neo/Bee (Cypriot payment network),, Bitcoin Touch, BlueMatt's relay network and DNS crawler, academic advanced contracts research and more.
The release-0.11 git tag is signed by Andreas Schildbach's GPG key. The commit hash is 410d4547a7dd. This paragraph is signed by the same Bitcoin key as with previous releases (check their release announcements to establish continuity). Additionally, this email is signed using DKIM and for the first time, a key that was ID verified by the Swiss government.
Signature for last paragraph: H3DvWBqFHPxKW/cdYUdZ6OHjbq6ZtC5PHK4ebpeiE+FqTHyRLJ58BItbC0R2vo77h+DthpQigdEZ0V8ivSM7VIg=
Notable changes and new features
Smaller improvements
Notable bug fixes
API changes
New documentation
Message on Bitcoin Developer Mailing List:[email protected]/msg03873.html
Google Code:
Edit: Added links to articles about BIP39 and BIP70 which were included in the original announcement.
submitted by alsomahler to Bitcoin [link] [comments]

[SELL] (PRICE DROPS, ACCEPTING DOGECOIN & BITCOIN) Levis Denim Jacket (XS), N&F Chambray Shirt (S), UB101 (30) and many many others(27-32 pants, XS-S-M-36R Shirts, Blazer & Outerwear) New: Buy any >30$ item and get a complementary ~10$ item free

I accept Dogecoin, Bitcoin & other cryptocurrencies (as long as they're supported by
I ship internationally from Canada, but shipping's not included in my prices
Possibility to split the shipping cost if you take many items
For reference, I am 5'7" for 125lbs with a 34" chest & 30" waist and usually wear sizes ~27-29 pants, XS-36S-36R tops & outerwear and size 7-8.5 shoes.
I'm very open to trades, not looking for anything in particular right now tho so just link me your list if you think that you have something that might interest me (clothes, accessories, shoes, etc.) and as long as it's in the above measurements chances are I'll find something I want as I incorporate many different styles in my wardrobe
*New: Buy any >30$ item and get a ~10$ item free *
Size Item Chest Shoulder Sleeves Length Waist Price Note Pictures
XS Levis Denim Jacket REGULAR 39" 17" 26" 27" 24" 60$50$ Very little fading, 9/10, REGULAR FIT - NOT SLIM Album
36R H&M brown tweed blazer 36" 16" 25" 28" 38" 35$30$ 10/10, worn once last winter, 32" hips so it has a very pronounced hourglass shape Album
S Old Navy Peacoat (navy) 42" 17" 25" 33" 43" 40$25$ Never worn Ask me for pictures!
S American Eagle Peacoat (navy) 41" 16.5" 25" 32" 42" 25$ Never worn New item Ask me for pictures!
Size Item Chest Shoulder Sleeves Length Waist Price Note Pictures
XS Asos Grey OCBD 36" 16" 25" 28.5" 36" 15$12$ this shirt, slightly too long for me, 8.5/10 Album
XS American Eagle Gray termal shirt 34" RAGLAN 28.5" 23" 33" 12$10$ waffle texture, this shirt but with a dark grey eagle, 8/10 Album
XS Asos "denim" shirt 34" 15" 25.5" 28" 34" 9$ there's a good amount of wrinkling at the hem & buttons, but it's still very wearable 6/10 Album
S Lands end Micro Herringbone Camp Shirt S/S 42" 17" 10" 32" 41" 12$10$ Temp Pic, paid $25 on sale and never worn 10/10 Ask me for pictures!
S Land's end Double Pocket Refined Herringbone Shirt in Dark Blue Heater 42" 17.5" 25" 30" 42" 10$ this but in a now unavailable color, way too big for me 10/10 Ask me for pictures!
S Land's end Double Pocket Refined Herringbone Shirt in Pewter Heater (grey) 42" 17.5" 25" 30" 42" 10$ this but in a now unavailable color, way too big for me 10/10 Ask me for pictures!
S Lands end Regular Washed Original white OCBD 42" 17.5" 25" 30" 42" 10$ this but in white, way too big for me 10/10 Ask me for pictures!
S Naked & famous slim Chambray shirt 38" 17" 24" 30" 34" 55$40$ SOLD 8.5/10, Bought used but never worn by me as it was simply too long, 9/10 Album
XS American Eagle blue plaid flannel shirt 39" 17" 25" 30" 36" 12$10$ worn once, just too long for me 10/10 Ask me for pictures!
XS American Eagle blue plaid flannel shirt 36" 16" 24.5" 29" 24" 12$10$ Yes there's a 3" chest & 2" length difference between 2 XS shirts from the same model, quality control FTW, worn once as well and slightly too long for me 10/10 Album
Size Item Waist Inseam Thigh Knee Hem Price Note Pictures
30 UB101 30" 30" 10.4" 7.8" 7.2" 45$40$ worn for a few months before I realized they were too big, there's some fading at the back pocket & on the back seat (college fades), 8.5/10 Album
30 Hawkings McGill Cutoff Chino Shorts brown 31" 9" 11" - 9" 15$10$ temp. pic, never worn 10/10 Ask me for pictures!
30 American Eagle classic length shorts in Honey 32" 10" 11.5" - 10.7" 18$15$ SOLD these, NWT, 10/10 Ask me for pictures!
30 Jcrew club shorts in Caramel 31" 9" 12" - 10" 25$20$ Never worn, 10/10 Ask me for pictures!
32 Levis 511 RIGID 32" 31" 10.8" 8.4" 7" 8$ Heavily worn, no holes but many many fades, free with any other purchase or if you pay for shipping Ask me for pictures!
30 h&m brown chinos 31.5" 31" 10.2" 8" 6.8" 10$ darkish brown, I don't need those anymore since I bought some N&F selvedge duck, 8/10 Album
30 Asos skinny tobacco chinos 30" 30" 10" 7.8" 6.4" 12$10$ a few loose threads have started appearing on the right thigh, my denim jacket bled slightly on them so there's a little indigo at the waist, 7/10 Album
31 UB301 32" 29" 11" 8.3" 8.3" 35$30$ There's some heavy fading at the hem caused by many walks in the canadian winter, back pockets & pack sear fades are also present, 6.5/10 Album
submitted by Spawnzer to MaleFashionMarket [link] [comments]

The nodepool and the inconvenience of a blockchain. Lets kill the beast.

While I was designing the blockchain for Bitcloud, I realized that there is no way that Bitcloud can work on a classical Blockchain structure.
Just imagine: Bitcoin with 1 million users needs 12Gbytes of data to store the blockchain, and what it stores is just money transactions. Bitcloud is going to store many other things, like node statistics, user and publishers information, sophisticated contracts, etc. If we use an immutable form of blockchain, in one month after the release we will need hundreds of gigabytes only to store that.
Another limitation of the classical blockchain is that it is not relational, so you can't do advanced queries without going into a lot code. To see that, look at how I am designing the nodepool here:
Handling the logic of all of that in a key-value database is very hard.
So my proposition here is to stop thinking in terms of the classical blockchain and approach this project from a different perspective.
As I say in the paper: the Nodepool is a relational database, synced by consensus, in which all the statistics, information and contracts are stored.
In my investigations to find a proper database that could support all the things we need, I found that SQLite is very nice, and can be easily tweaked and extended.
SQLite supports the creation of custom checks, so something like this can be possible:
 CREATE TABLE publisher_grid_contracts ( id BLOB(16) PRIMARY KEY NOT NULL, publisher TEXT NOT NULL REFERENCES publishers(public_key), grid TEXT NOT NULL REFERENCES grids(public_key), -- Signatures of this contract: publisher_sig TEXT NOT NULL, grid_sig TEXT NOT NULL, -- Terms: min_storage INTEGER NOT NULL, min_bandwidth INTEGER NOT NULL, start_date DATE DEFAULT CURRENT_TIMESTAMP NOT NULL, end_date DATE DEFAULT CURRENT_TIMESTAMP NOT NULL, availability INTEGER NOT NULL, -- % of time online ping_average INTEGER DEFAULT 0, -- Coin terms coin REFERENCES coins(id) CHECK (signatures(publisher_sig, grid_sig, publisher || grid || min_storage || min_bandwidth || start_date || end_date || availability || ping_average || coin )) ); 
Look at the last statement, the "CHECK(signatures...." one. Once we define the extension "signatures" in plain C, we can ensure that nobody can insert a contract into the database without the proper signature of the two participants of the contract.
But there is even more. SQLite also allows to customize an authorization function to allow or deny access to data from different sources, which means that we can base the language of Bitcloud in SQL, and only allow certain operations. Look at:
I strongly recommend everybody to have a look at this fantastic book:
Now, having SQLite resolving our problems for the language and the database, we can concentrate on the sync process.
submitted by JavierSobrino to bitcloud [link] [comments]

1.1 Introduction & Basic Concepts Bitcoin Halving 2020: History & Price Prediction (A Simple ... [ARABIC] Terms of Reference The Essence of How Bitcoin Works (Non-Technical) - YouTube XMR MONERO Btc Bitcoin Binance Poloniex Bitmax reference ...

This site aims to provide the docs you need to understand Bitcoin and start building Bitcoin-based applications. ☰ Bitcoin; Reference ... (may be null) is an array of previous transaction outputs that this transaction depends on but may not yet be in the block chain. ... Bitcoin Core . The base of a sovereign Bitcoin node is a fully validating Bitcoin client. We are using Bitcoin Core, the reference implementation, but not the only option available. This application will download the whole blockchain from other peers and validate every single transaction that ever happened. After validation, the client can check all future transactions whether they are valid ... Bitcoin today is mostly used for buying drugs over the internet. But that is not the whole story. The truth is Bitcoin is great for philosophical and social reasons those are far from immediately obvious at first glance, for example it has limited supply, where probably the lack of limited money supply in the world economy is the root of all evil. The Developer Reference aims to provide technical details and API information to help you start building Bitcoin-based applications, but it is not a specification.To make the best use of this documentation, you may want to install the current version of Bitcoin Core, either from source or from a pre-compiled executable.. Questions about Bitcoin development are best asked on the Bitcoin ... A NULL pointer points to memory that doesn't exist, and will raise Segmentation fault. There's an easier way to de-reference a NULL pointer, take a look. int main(int argc, char const *argv[]) { *(int *)0 = 0; // Segmentation fault (core dumped) return 0; } Since 0 is never a valid pointer value, a fault occurs.

[index] [42586] [31028] [22651] [497] [51319] [19910] [25908] [46031] [1560] [50443]

1.1 Introduction & Basic Concepts

The most watched Bitcoin introduction video ever. Updated in April 2014, this video explains how bitcoin works and the importance of this paradigm shifting t... A brief intro to the main ideas behind How Bitcoin Works, including how money is transferred, who keeps track of it, and how the whole thing is secured. Want... Register Poloniex Referal Link or poloniex referal number W6NJG87D Register Bitmax Referal Link Presentation of the Terms of Reference of the call for capitalisation projects by Esmat AlKaradsheh, coordinator of the Programme Branch Office in Aqaba. #ONEMED. 1 0. Don't like this video? Sign in to make your opinion count. ... (use reference: THEMATHDJ YOUTUBE): FNB: 62523145789 Paypal Bitcoin address ...