Monday, October 9, 2017

Bitcoin Acquires Over 50 Percent Crypto Market Share

Bitcoin Acquires Over 50 Percent Crypto Market Share
There’s no denying that Bitcoin rules the entire Cryptocurrency landscape. With a market cap of nearly $37.5 billion, it’s still way ahead of the other popular altcoins like Litecoin, Ripple and Monero. However, many people were of the opinion that the magic of Bitcoin is somehow fading especially with the emergence of new cryptocurrencies like Ethereum that took the whole world by storm in the recent years. For the first time in history, the share of Bitcoin had dropped down to 46 percent in the Crypto Market. But after a bumpy trip, the Bitcoin has made a solid comeback acquiring more than 50% of the Crypto Market Share once again.
 

The Downfall of Ripple
The world famous altcoin, Ripple had been on a magical journey several weeks backs. Lately, the market cap of Ripple had gone beyRead more at - http://www.oodlestechnologies.com/blogs/Bitcoin-Acquires-Over-50-Percent-Crypto-Market-Shareond $17 billion swallowing over 25 percent of the market share. However, the last one week has been awful for Ripple as it has lost more than 60 percent of its value in terms of BTC. The market cap of Ripple has also fallen sharply and it now adds up to $8.83 billion. The downfall of Ripple is one of the major driving factors behind the Bitcoin acquiring the 50 percent share in the crypto market once again.  


The Rat Race Continues
Despite of being the world’s most extensively used Cryptocurrency, Bitcoin faces immense competition from the other popular Altcoins as already told. While on one hand, the BTC price is rising beyond expectations, it’s also losing its charm as the new Altcoins are getting more and more popular. Also, some persisting issues in Bitcoin have long been avoided, the most severe one of which is the scaling difficulty due to block size limit. Due to scaling issues, the Bitcoin transactions are continuously being delayed which has also led to an increase in the transaction fees. This is one of the reasons why the Bitcoin users are moving toward the other cryptocurrencies.

Bitcoin price today, has reached an all-time-high. However, you might not have noticed yet the price of almost all the popular Altcoins is rising. Ethereum is leading the race with a whopping price value of $208 at the time of writing and the market cap of the latter has also reached $19 billion. With this, Ethereum alone acquires more than 20 percent of the total Crypto market share.

Sunday, October 8, 2017

Bitcoin Price Goes Beyond 4000 USD

Bitcoin Price Rise
It’s been a few weeks since Bitcoin hit an all time high surpassing $3000 mark and it continues to cast its magical spell as the price is still showing a steady upsurge. Lately, Bitcoin has attained yet another milestone as the BTC price broke all the previous records surpassing $4000 mark for the first time in history. However, the price still shows a high level of volatility. In the last 24 hours, 4.5 percent volatility has been recorded, so you can expect some rapid fluctuations in the price.  

As of 11th August 2017, the Bitcoin was trading below $3800. In the next 24 hours, the price rose by a whopping sum of $200 and took it beyond the $4000 mark. Since then, the BTC price hasn’t shown any signs of decline. At the time of writing, the Bitcoin price is looming around $4350. However, the price has been quite volatile and it’s been through vigorous ups and downs. Despite all that, the BTC price has somehow sustained this growth.

Thursday, October 5, 2017

The New Apple TV Requires 25Mbps For 4K Streaming

Apple TV 4K
It’s been several years since the 4K streaming was introduced in the worldwide market. While all the leading streaming service providers such as Chromecast, Amazon Fire TV and Roku have had the 4K integration about a year ago, Apple has finally rendered support for the same with the launch of its brand new Apple TV also known as Apple TV 4K. Being the fourth generation to the Apple’s elite class streaming player lineup, there are huge expectations from this OTT streaming device. Of course, it’s the first one of the Apple TV products to offer 4K streaming and HDR display that gives a stunning visual appeal to the pictures you see on your TV.

It’s quite obvious that for streaming media content in 4K UHD, you need an exceptionally fast internet connection. Usually the 4K streaming can be attained at an average connection speed of 15-20 Mbps. But for a seamless streaming experience, Apple recommends a minimum speed of 25 Mbps for its new Apple TV 4K.

What If Your Internet Connection Speed Drops?
Apple has imposed a minimum internet connection speed of 25 Mbps for 4K UHD streaming through Apple TV 4K on all the 4K supported television sets. This means if your internet speed drops and goes below the threshold, your Apple TV will automatically switch the streaming settings to normal depending on the speed of your internet connection. All this is mentioned in the support document released by Apple quite recently.

 
How To Find 4K Videos On iTunes Store?
The 4K videos are played in the highest resolution that is currently available. While the normal HD videos support a resolution of 1920x1080, 4K videos are played in 3840x2160 thereby offering a more detailed and sharper imagery. Besides, the HDR support provides a wide gamut of colors with high luminance and vibrancy. If you have previously purchased an HD video from the iTunes Store, then it may or may not play in 4K with HDR10 imagery. But you can easily find new videos on the iTunes Store that support 4K resolution. As a matter of fact, all the movies and videos available on the iTunes Store can be played in high definition. Some videos may also support Dolby Vision and HDR10 display. When you buy or rent a movie from the iTunes Store, it is automatically played in the best resolution supported on your TV. So if your TV is 4K compatible, it will automatically play a movie in 4K resolution or the best quality that is available for that particular movie.

Kafka Configuration with SpringBoot

Kafka is a distributed streaming platform.


1. It keep running as a group on at least one cluster.

2. The Kafka group stores surges of records in classes called points.

3. Each record comprises of a key, an esteem, and a timestamp.

4. Kafka is quick.

It performs 2 million transactions per second.This makes it simple to exchange information from page reserve to arrange attachment. Kafka is high throughput frameworks. Kafka works extremely well as a swap for some more conventional message specialist like RabbitMQ, ActiveMQ and so forth.


There are different benefits of Kafka:

1.Reliable
2.Scalable
3.Durable
4.Performance


Installation steps:

Step 1 — Install Java
sudo apt-get update
sudo apt-get install default-jre


Step 2 — Install ZooKeeper
sudo apt-get install zookeeperd
telnet localhost 2181


Step 3 — Download and Extract Kafka Binaries
mkdir -p ~/Downloads
wget "http://mirror.cc.columbia.edu/pub/software/apache/kafka/0.8.2.1/kafka_2.11-0.8.2.1.tgz" -O ~/Downloads/kafka.tgz


Step 4 — Configure Kafka Server
Open server.properties using vi:
vi ~/kafka/config/server.properties
delete.topic.enable = true


Step 5 — Start the Kafka Server
nohup ~/kafka/bin/kafka-server-start.sh ~/kafka/config/server.properties > ~/kafka/kafka.log 2>&1 &
Configure Kafka with SpringBoot:

Step1 : Maven Dependency

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.codenotfound</groupId>
  <artifactId>spring-kafka-helloworld</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <name>spring-kafka-helloworld</name>
  <description>Spring Kafka - Consumer Producer Example</description>
  <url>https://www.codenotfound.com/spring-kafka-consumer-producer-example.html</url>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.4.RELEASE</version>
  </parent>

  <properties>
    <java.version>1.8</java.version>

    <spring-kafka.version>1.2.2.RELEASE</spring-kafka.version>
  </properties>

  <dependencies>
    <!-- spring-boot -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <!-- spring-kafka -->
    <dependency>
      <groupId>org.springframework.kafka</groupId>
      <artifactId>spring-kafka</artifactId>
      <version>${spring-kafka.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.kafka</groupId>
      <artifactId>spring-kafka-test</artifactId>
      <version>${spring-kafka.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <!-- spring-boot-maven-plugin -->
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
</project>


Step 2: kafka Sender

public class Sender {

  private static final Logger LOGGER = LoggerFactory.getLogger(Sender.class);

  @Autowired
  private KafkaTemplate<String, String> kafkaTemplate;

  public void send(String topic, String payload) {
    LOGGER.info("sending payload='{}' to topic='{}'", payload, topic);
    kafkaTemplate.send(topic, payload);
  }
}


Step 3: kafka consumer

public class Receiver {

  private static final Logger LOGGER = LoggerFactory.getLogger(Receiver.class);

  private CountDownLatch latch = new CountDownLatch(1);

  public CountDownLatch getLatch() {
    return latch;
  }

  @KafkaListener(topics = "${kafka.topic.helloworld}")
  public void receive(String payload) {
    LOGGER.info("received payload='{}'", payload);
    latch.countDown();
  }
}
Read more at - http://www.oodlestechnologies.com/blogs/Kafka-Configuration-with-SpringBoot

Data Security By Using Encryption And Decryption In Java

Encryption is a process of hiding the meaning of a part of the information and only authorized persons can read the actual data. This process is used to protect data that is being transferred from one location to another. This process is very much needed by a secure computing environment.


Decryption ->When we encrypt data then for the authorized person we need to decrypt that data. Encryption is also known as “cipher” and decryption process is “decipher”.


The methods which are providing security to our information, are given next level of security by “keys”. Now lets talk about keys , the one who is having key only that can encode and decode the information. Here in our code we have used the following API for encryption and decryption. The level of security of an encryption scheme is directly proportional to the its key size. Key sizes should be long enough due to which attacks become unfeasible.


Algorithms :

1.Symmetric encryption algorithms: This alogrithm uses the exactly same key for data encryption and  data decryption. For this algorithm use AES or AESWrap block cipher 2.Asymmetric (public key) encryption algorithms: This algorithm uses two different keys for both the processes. For this algorithm use RSA.


Following parameters should be configured correctly to configure any encryption scheme securely.

1.Choosing the correct algorithm
2.Choosing the correct operation mode
3.Choosing the right padding scheme
4.Choosing the right keys and their sizes

CODE DEMO FOR IMPLEMENTING ENCRYPTION AND DECRYPTION

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<span style="font-size:16px;"><span style="font-family:arial,helvetica,sans-serif;">import java.security.Key;
import javax.crypto.*; 
import javax.crypto.spec.*;
import javax.xml.bind.DatatypeConverter;
import play.Play;
import play.Play;
public class EncryptionDecryptionUtil 
{
    private static final String ALG = "AES";
    private static final byte[] keyVal = new String( Play.application().configuration().getString("application.secret")).substring(016).getBytes();
    //To get encrypted value of a string
    public static String encrypt(String valToEnc) throws Exception
    {
        Key ky = generateKey();
        Cipher cph = Cipher.getInstance(ALG); 
        c.init(Cipher.ENCRYPT_MODE, ky);
        byte[] encValue = cph.doFinal(valToEnc.getBytes()); 
        String encryptedVal = DatatypeConverter.printBase64Binary(encValue); 
        return encryptedVal; }
    //To get decrypted value of a string
    public static String decrypt(String encryptedVal) throws Exception {
        Key ky = generateKey(); 
        Cipher c = Cipher.getInstance(ALG);
        c.init(Cipher.DECRYPT_MODE, ky); 
        byte[] decordedVal = DatatypeConverter.parseBase64Binary(encryptedVal);
        byte[] decValue = cph.doFinal(decordedVal);
        String decryptedVal = new String(decValue); 
        return decryptedVal;
        }
    private static Key generateKey() throws Exception 
    {
        Key ky = new SecretKeySpec(keyVal, ALG);
        return ky;
        }
    }
}<span style="white-space: normal;">
</span></span></span>