Backup system image in USB Flash Drive

Generally windows doesn’t allow to backup system image in USB flash drive. This is because of the size limitation, as the size of the disk images can go up to GB’s. In case if you have a bigger USB drive, then it is worth to back up in it considering its portability.

There is no straight forward way to backup image to USB. The following steps to be performed to achieve the task.


1) Create a directory on your USB drive

2) Right-click the directory and choose “Share with”, “Specific people”- choose yourself from the list of users and click Share and Done

3)In the “Create System Image” menu choose “On a network location”- now enter the URL for your share (\\your-computer\sharename)- enter your username and password and click OK

Source: https://answers.microsoft.com/en-us/windows/forum/windows_8-system/usb-flash-drive-not-a-valid-backup-location-for/6f146373-3052-46a5-8648-e9a177ea5fca?page=1

Reply by CK1968

Excellent read on ACID

I was reading AWS white paper on Database migration. The following excerpt covered clean and concise description on Database Atomicity and ACID properties. Worthy read!

Amazon Web Services – Best Practices for Migrating from RDBMS to DynamoDB August 2014

The growth of “internet scale” web applications, such as e-commerce and social media, the explosion of connected devices like smart phones and tablets, and the rise of big data have resulted in new workloads that traditional relational databases are not well suited to handle. As a system designed for transaction processing, the fundamental properties that all RDBMS must support are defined by the acronym ACID: Atomicity,
Consistency, Isolation, and Durability. Atomicity means “all or nothing” – a transaction executes completely or not at all. Consistency means that the execution of a transaction causes a valid state transition. Once the transaction has been committed, the state of the resulting data must conform to the constraints imposed by the database schema. Isolation requires that concurrent transactions execute separately from one another. The isolation property guarantees that if concurrent transactions were executed in serial, the end state of the data would be the same. Durability requires that the state of the data once a transaction executes be preserved. In the event of power or system failure, the database should be able to recover to the last known state. These ACID properties are all desirable, but support for all four requires an architecture that poses some challenges for today’s data intensive workloads. For example, consistency requires a well-defined schema and that all data stored in a database conform to that schema. This is great for ad-hoc queries and read heavy workloads.
For a workload consisting almost entirely of writes, such as the saving of a player’s state in a gaming application, this enforcement of schema is expensive from a storage and compute standpoint. The game developer benefits little by forcing this data into rows and tables that relate to one another through a well-defined set of keys. Consistency also requires locking some portion of the data until the transaction modifying it completes and then making the change immediately visible. For a bank
transaction, which debits one account and credits another, this is required. This type of transaction is called “strongly consistent.” For a social media application, on the other hand, there really is no requirement that all users see an update to a data feed at precisely the same time. In this latter case, the transaction is “eventually consistent.” It is far more important that the social media application scale to handle potentially millions of Simultaneous users even if those users see changes to the data at different times. Scaling an RDBMS to handle this level of concurrency while maintaining strong consistency requires upgrading to more powerful (and often proprietary) hardware. This is called “scaling up” or “vertical scaling” and it usually carries an extremely high cost. The more cost effective way to scale a database to support this level of concurrency is to add server instances running on commodity hardware. This is called “scaling out” or
“horizontal scaling” and it is typically far more cost effective than vertical scaling.

NoSQL databases, like Amazon DynamoDB, address the scaling and performance challenges found with RDBMS. The term “NoSQL” simply means that the database doesn’t follow the relational model espoused by E.F Codd in his 1970 paper A Relational Model of Data for Large Shared Data Banks, 1 which would become the basis for all modern RDBMS. As a result, NoSQL databases vary much more widely in features and
functionality than a traditional RDBMS. There is no common query language analogous to SQL, and query flexibility is generally replaced by high I/O performance and horizontal scalability. NoSQL databases don’t enforce the notion of schema in the same way as an RDBMS. Some may store semi-structured data, like JSON. Others may store related
values as column sets. Still others may simply store key/value pairs.
The net result is that NoSQL databases trade some of the query capabilities and ACID properties of an RDBMS for a much more flexible data model that scales horizontally.
These characteristics make NoSQL databases an excellent choice in situations where use of an RDBMS for non-relational workloads (like the aforementioned game state example) is resulting in some combination of performance bottlenecks, operational complexity, and rising costs. DynamoDB offers solutions to all these problems, and is
an excellent platform for migrating these workloads off of an RDBMS.

https://d0.awsstatic.com/whitepapers/migration-best-practices-rdbms-to-dynamodb.pdf

CD to Mp3 converter

If you have quite a lot of old Audio CD collections and wanted to listen those songs in mobile, iPod or iPad. Then you need a tool to rip the audio files from CD to mp3. There are quite a lot of free tools available.

Do you know that the same thing can be achieved using windows? Yes, Windows Media Player that comes with windows operating system can very much rip your Audio CD songs to mp3.

I stumbled upon this post/guide on how to convert to mp3 from Audio CD. Hope it helps

http://www.library.kent.edu/files/SMS_WMP_RIP.pdf

 

Remove java 8 and install java 7 in Ubuntu

There are times when you need a specific version of Java to be installed instead of the latest version. The following post will brief on the steps required to remove Java 8 and install Java 7 in Ubuntu 16.04

Always use the latest version of Java as there are quite a lot of bug fixes and security vulnerability has been fixed.

Removing Java 8
Open Terminal and enter the following commands.

sudo update-alternatives –remove-all java
sudo update-alternatives –remove-all javac
sudo update-alternatives –remove-all javaws
sudo rm -rf /usr/lib/jvm/jdk1.8.0

Install Java 7
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

Since Java 7 is no longer available in their repository, you need to manually download it from Oracle site.

Once the JDK 7 tar (jdk-7u80-linux-x64.tar.gz) is downloaded. Paste it in the below location
/var/cache/oracle-jdk7-installer

Now run the following command
sudo apt-get install oracle-java7-installer

After installation you also need to update alternatives by running the following command.

sudo update-alternatives –install “/usr/bin/java” “java” “/usr/lib/jvm/java-7-oracle/jdk1.7.0_80/bin/java” 1
sudo update-alternatives –install “/usr/bin/javac” “javac” “/usr/lib/jvm/java-7-oracle/jdk1.7.0_80/bin/javac” 1
sudo update-alternatives –install “/usr/bin/javaws” “javaws” “/usr/lib/jvm/java-7-oracle/jdk1.7.0_80/bin/javaws” 1

Once the above steps are completed. Check the java version from terminal
javac -version
java -version

It should display jdk 1.7

Tech, Developer conference that one should not miss!

Working as a developer, tech lead or an architect, one thing that you should continue pursue is learning. Either it could be new technologies &  framework or any new disruptive ideas or tools.

Some of the key developer conferences that you need to block your calendar are:

  • Apple WWDC
  • Google I/O
  • Facebook Developer conference
  • Open source summit.

If you are not able to attend one, you can still watch those couple of weeks later as part of their youtube channel.

I stumbled upon this blog which has the list of all the dev conference that happens throughout the world.

https://techbeacon.com/best-software-engineering-conferences-2017

if you are looking for a list of the events for the year, the following site covers exhaustive list.

https://www.techmeme.com/events

https://www.eventbrite.com