One more 7th Continent post before I shut up :)

The 2nd Kickstarter for 7th Continent ended with 43,733 backers having pledged over $7 million. But if you missed it, there is a possibility to Late Pledge with options limited to getting either just the new expansion, or the whole game plus expansion. I don’t know how long this will be possible, I presume it is until the pledge manager goes live in November.

*Spoiler Alert*
My wife and me are making great progress on the first curse, The Voracious Goddess. We lost on the first attempt and restarted. Knowing the starting island better made things easier, so on the second attempt we managed to get off the island the comfortable way. That gives you a choice of three places to continue, and by pure chance we seem to have chosen the absolutely best one. We found a place to rest and spend our xp on advanced skills. We found a place to hunt and recover all of the adventuring deck. And we found the next two landmarks on the clue map.

It was getting nearly too easy, and so we decided to do something more risky. Instead of following the clue map further, we entered what I can only describe as a dungeon. We didn’t completely clear it out, because there was a rather suspicious lever we didn’t dare to pull. But we did everything else in it and exited with some treasure and more advanced skills. Next we will try to hunt again and then follow the path on the clue map.

Latest Razer Phone update delivers camera and audio improvements

We noted in our Razer Phone review that the photography performance was garbage. The 12 MP dual camera itself was adequate, but it was let down by poor processing, slow shutter speeds, and weak colors. Thankfully, Razer vowed to address some of these camera problems via software updates last month, and today we’ve come across one such OTA.

As reported by GSMArena, Razer is now rolling out a ~97 MB update which brings fixes several welcome improvements to the camera and audio technologies — check out the patch notes below.

Camera improvements:

  • Improved shutter speed in low light and when using HDR
  • Reduced noise and clearer shadows
  • Improved picture quality and better color cast
  • Crushed bugs and performance improvements

Audio improvements:

  • “Tweaked the knobs” for greater clarity during playback
  • Improved call quality for HD Audio
  • Fixed some issues with Dolby Audio

Meanwhile, Razer also lists a “smoothed out” auto-brightness luminosity, updated “Arrival theme icons to a dark style,” and other bug fixes in its list of optimizations. The handset remains on Android 7.1.1 Nougat for the time being, however, with the October security level.

These are much-needed improvements for the Razer Phone, and though we can’t yet attest to the effectiveness of this latest patch (we haven’t seen the update ourselves and it’s not clear which regions it’s currently rolling out in), we’ll be sure to investigate the situation once we do.

What are your thoughts on the Razer Phone? Is it worth the money? Let us know in the comments.

Amazon readying huge Digital Day 2017 discounts on Wonder Woman, WWE 2K18, and more

Amazon has announced that Digital Day will once again threaten our wallets in a final end of year sale chock full of huge savings. The second annual Digital Day is scheduled for December 29th and Amazon says it will be offering over 5,000 deals on movies, TV shows, apps, eBooks, and mobile games.

If you missed out on the first Digital Day sale last year, think of it like Prime Day but exclusively for digital items. As the name suggests, the biggest deals will last for just 24 hours, although some will go live as early as December 26th. You can sign up here to stay up to date with all of the offers, or you can follow #DigitalDay on social media.

Amazon has provided a sneak peek at some of the headline deals which include 60% off the fantastic live-action Wonder Woman movie on Amazon Video, 33% off video games like Sonic Forces, Civilization VI, NBA 2K18, and WWE 2K18, and up to 75% off on Kindle best-selling books like The Girl Who Takes an Eye for an Eye, The Silent Corner, and Modern Romance.

Here are some of the rest of the Digital Day deals set to drop in just over a week, plucked straight from an Amazon press release:

  • $10 Amazon.com credit when you subscribe to HBO NOW on Amazon
  • Save 25% off $49.99 Lapis bundle for Final Fantasy Brave Exvius
  • Save 50% off all in-game items for Marvel Puzzle Quest
  • Save up to 80% off in-game items for Playrix games
  • Save up to 75% off ROBLOX New Year’s Eve themed wearables
  • Save up to 80% off best-selling Marvel graphic novels like Civil War II, House of M, World War Hulk, and Star Wars
  • Three free audiobooks when you sign up for an Audible trial
  • 25% or more off PC software like Rosetta Stone and Adobe Creative Cloud Photography
    First 3 months free in Daily Burn streaming workouts

Digital Day bargains can be purchased via Amazon’s online store, the Amazon App and the Amazon Appstore (exclusively on Android). We’ll be keeping an eye out for any other great Digital Day deals, so be sure to watch this space for updates.

Robert Reich: American Oligarchs’ Day of Reckoning Is Nigh

The GOP tax bill is a triumph for the 1 percent, but recent election results suggest it won’t last.

 

The Republican tax plan to be voted on this week is likely to pass. “The American people have waited 31 long years to see our broken tax code overhauled,” the leaders of the Koch’s political network insisted in a letter to members of Congress, urging swift approval.

They added that the time had come to put “more money in the pockets of American families.”

Please. The Koch network doesn’t care a fig about the pockets of American families. It cares about the pockets of the Koch network. 

It has poured money into almost every state in an effort to convince Americans that the tax cut will be good for them. Yet most Americans don’t believe it. 

Polls shows only about a third of Americans favor the tax plan. The vast majority feel it’s heavily skewed to the rich and big businesses – which it is.  

In counties that Trump won but Obama carried in 2012, only 17 percent say they expect to pay less in taxes, according to a recent NBC News/Wall Street Journal poll. Another 25 percent say they expected their family would actually pay higher taxes.

Most Americans know that the tax plan is payback for major Republican donors. Gary Cohn, Trump’s lead economic advisor, even conceded in an interview that “the most excited group out there are big CEOs, about our tax plan.”

Republican Rep. Chris Collins admitted “my donors are basically saying, ‘Get it done or don’t ever call me again.’” Senator Lindsey Graham warned that if Republicans failed to pass the tax plan, “the financial contributions will stop.”

By passing it, Republican donors will save billions – paying a lower top tax rate, doubling the amount their heirs can receive tax-free, and treating themselves as “pass-through” businesses able to deduct 20 percent of their income (effectively allowing Trump to cut his tax rate in half, if and when he pays taxes).

They’ll make billions more as their stock portfolios soar because corporate taxes are slashed.

The biggest winners by far will be American oligarchs such as the Koch brothers; Peter Thiel, the Silicon Valley investor; Sheldon Adelson, the Las Vegas casino magnate; Woody Johnson, owner of the New York Jets football team and heir to the Johnson & Johnson fortune; and Carl Icahn, the activist investor.

The oligarchs are the richest of the richest 1 percent. They’ve poured hundreds of millions into the GOP and Trump. Half of all contributions to the first phase of the 2016 election came from just 158 families, along with the companies they own or control.

The giant tax cut has been their core demand from the start. They also want to slash regulations, repeal the Affordable Care Act, and cut everything else government does except for defense – including Medicaid, Medicare, and Social Security.

In return, they have agreed to finance Trump and the GOP, and mount expensive public relations campaigns that magnify their lies.

Trump has fulfilled his end of the bargain. He’s blinded much of his white working-class base to the reality of what’s happening by means of his racist, xenophobic rants and policies. 

The American oligarchs couldn’t care less about what all this will cost America. 

Within their gated estates and private jets, they’re well insulated from the hatefulness and divisiveness, 

They don’t worry about whether Social Security or Medicare will be there for them in their retirement because they’ve put away huge fortunes.

Climate change doesn’t concern them because their estates are fully insured against hurricanes, floods, and wildfires.

They don’t care about public schools because their families don’t attend them. They don’t care about public transportation because they don’t use it. They don’t care about the poor because they don’t see them. 

They don’t worry about the rising budget deficit because they borrow directly from global capital markets. 

Truth to tell, they don’t even care that much about America because their personal and financial interests are global.

They are living in their own separate society, and they want Congress and the President to represent them, not the rest of us.

The Republican Party is their vehicle. Fox News is their voice. Trump is their champion. The new tax plan is their triumph.

But if polls showing most Americans against the tax cut are any guide, that triumph may be short lived. Americans are catching on. 

The recent electoral results in Virginia and Alabama offer further evidence. 

A tidal wave of public loathing is growing across the land – toward Trump, the GOP, and the oligarchs they serve; and to the deception, the wealth, and the power that underlies them.  

That wave could crash in the midterm elections of 2018. If so, the current triumph of the oligarchs will be the start of their undoing.

 

 

 

Related Stories

  • Donald Trump Jr. and Ted Cruz Mock Barack Obama with Bizarre Cookie
  • The One Scenario in Which Trump Would Risk Impeachment and Fire Robert Mueller
  • Sarah Palin’s Son Charged with Burglary and Assault in Domestic Dispute: Report

Donald Trump Jr. and Ted Cruz Mock Barack Obama with Bizarre Cookie

The president’s son called the pastry an early birthday present.

Donald Trump Jr. Mocks Barack Obama With Giant Cookie

Donald Trump Jr. took to instagram Sunday alongside Texas Senator Ted Cruz to mock former President Barack Obama and pose with a cookie that featured a picture of the former leader. President Donald Trump’s eldest son said the cookie was an early birthday president. “With friends like these… some good friends decided that while my birthday…

 

Related Stories

  • The One Scenario in Which Trump Would Risk Impeachment and Fire Robert Mueller
  • Sarah Palin’s Son Charged with Burglary and Assault in Domestic Dispute: Report
  • Sarah Palin’s Son Charged with Felony Burglary and Assault in Domestic Dispute: Report

Firefox Focus gets a little bit better with autocomplete and more search engines

Mozilla

It’s been over a year since Firefox launched its privacy-focused Focus browser, and Mozilla hopes to double-down on the app’s popularity by giving you faster access to your most visited sites and the ability to add any search engine you want.

With the latest update, which Mozilla announced through its blog, you now have the option to turn on URL autocomplete. That way, you don’t have to fully type out the websites you visit the most — just type a few letters, and the search field takes care of the rest.

If you choose to enable autocomplete, Focus can tap into over 450 popular URLs and have them autocomplete in the address bar when you’re typing out a URL. If there are websites you frequent that are not part of that list, the app also lets you add and maintain custom autocomplete URLs in conjunction with what it knows.

Mozilla

Of course, you can disable URL autocomplete at any moment, and even though the feature doesn’t necessarily add anything to Focus, it does allow for greater convenience.

Focus’ update also lets you add search engines from any website that has a search field. For example, if you want to look up a movie on Rotten Tomatoes to see if it got good reviews, you can see the movie’s ranking without going to Rotten Tomatoes’ website.

Again, this doesn’t necessarily add anything to Focus except convenience, though that is what the app has strived for since it made its debut on iOS in 2016. Focus then hopped over to Android back in June, though the goal of being an ultra-lean, privacy-focused browser continued.

Editor’s Pick

By default, Focus blocks ad, analytics, and social trackers, though you are more than welcome to also block other content trackers. You can even block Web fonts, if you so choose, and once you’re done browsing, you can hit the Erase button on the top right to erase your browsing history.

Focus was designed to live side-by-side with the regular Firefox browser, not replace it, though folks certainly seem happy with it — Mozilla says Focus has been downloaded over one million times on Android within the first month of availability.

If you want to count yourself as one of those downloads, you can do so through the link below.

Download the app

A walking tour of JavaBean

Software components are to software what integrated circuits (ICs) are to electronics: “black boxes” that encapsulate functionality and provide services based on a specification. Software reusability has long been a holy grail of software engineering and a major goal of object-oriented programming. Software components are designed to be reusable, even interchangeable.
JavaBeans are reusable software components for Java that can be manipulated visually in a builder tool.Practically, they are classes written in the Java programming language conforming to a particular convention. They are used to encapsulate many objects into a single object (the bean), so that the bean can be passed around rather than the individual objects.

Java Bean

A Java Bean is a java class that should follow following conventions:

  • It should have a no-arg constructor.
  • It should be Serializable.
  • It should provide methods to set and get the values of the properties, known as getter and setter methods.

Serialization

In computer science, in the context of data storage, serialization is the process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer) or transmitted (for example, across a network connection link) and reconstructed later (possibly in a different computer environment)

Serializable Objects

To serialize an object means to convert its state to a byte stream so that the byte stream can be reverted back into a copy of the object. A Java object is serializable if its class or any of its superclasses implements either the java.io.Serializable interface or its subinterface, java.io.Externalizable. Deserialization is the process of converting the serialized form of an object back into a copy of the object.

Why use Java Bean?

According to Java white paper, it is a reusable software component. A bean encapsulates many objects into one object, so we can access this object from multiple places. Moreover, it provides the easy maintenance.

JavaBeans Properties

A JavaBean property is a named attribute that can be accessed by the user of the object. The attribute can be of any Java data type, including the classes that you define.

A JavaBean property may be read, write, read only, or write only. JavaBean properties are accessed through two methods in the JavaBean’s implementation class −

S.No. Method & Description
1
getPropertyName()
For example, if property name is firstName, your method name would be getFirstName() to read that property. This method is called accessor.
2
setPropertyName()
For example, if property name is firstName, your method name would be setFirstName() to write that property. This method is called mutator.
A read-only attribute will have only a getPropertyName() method, and a write-only attribute will have only a setPropertyName() method.

JavaBeans Example

Consider a student class with few properties −

package com.SuvenConsultants;

public class StudentsBean implements java.io.Serializable {
private String firstName = null;
private String lastName = null;
private int age = 0;

public StudentsBean() {
}
public String getFirstName(){
return firstName;
}
public String getLastName(){
return lastName;
}
public int getAge(){
return age;
}
public void setFirstName(String firstName){
this.firstName = firstName;
}
public void setLastName(String lastName){
this.lastName = lastName;
}
public void setAge(Integer age){
this.age = age;
}
}
How to Access Java Bean Class

package com.SuvenConsultants;
public class Suven{
public static void main(
String args[]){

StudentsBean sc=new StudentsBean ();//object is created

sc.seFirsttName("Rocky");//setting value to the object
sc.seLasttName("Jagtiani");
System.out.println(e.
getFirstName());

}}
The useBean action declares a JavaBean for use in a JSP. Once declared, the bean becomes a scripting variable that can be accessed by both scripting elements and other custom tags used in the JSP. The full syntax for the useBean tag is as follows:

<jsp:useBean id = "bean's name" scope = "bean's scope" typeSpec/>


Here values for the scope attribute can be a page, request, session or application based on your requirement. The value of the id attribute may be any value as a long as it is a unique name among other useBean declarations in the same JSP.

Following example shows how to use the useBean action −

<html>
<head>
<title>useBean Example</title>
</head>

<body>
<jsp:useBean id = "date" class = "java.util.Date" />
<p>The date/time is <%= date %>
</body>
</html>

You will receive the following result − −

The date/time is Thu Sep 30 11:18:11 GST 2017 

Accessing JavaBeans Properties

Along with action, you can use the action to access the get methods and the action to access the set methods. Here is the full syntax −

<jsp:useBean id = "id" class = "bean's class" scope = "bean's scope">
<jsp:setProperty name = "bean's id" property = "property name"
value = "value"/>
<jsp:getProperty name = "bean's id" property = "property name"/>
...........
</jsp:useBean>

The name attribute references the id of a JavaBean previously introduced to the JSP by the useBean action. The property attribute is the name of the get or the set methods that should be invoked.
Following example shows how to access the data using the above syntax −

<html>
<head>
<title>get and set properties Example</title>
</head>

<body>
<jsp:useBean id = "students" class = "com.SuvenConsultants.StudentsBean">
<jsp:setProperty name = "students" property = "firstName" value = "Rocky"/>
<jsp:setProperty name = "students" property = "lastName" value = "Jagtiani"/>
<jsp:setProperty name = "students" property = "age" value = "39"/>
</jsp:useBean>

<p>Student First Name:
<jsp:getProperty name = "students" property = "firstName"/>
</p>

<p>Student Last Name:
<jsp:getProperty name = "students" property = "lastName"/>
</p>

<p>Student Age:
<jsp:getProperty name = "students" property = "age"/>
</p>

</body>
</html>

The following result will be displayed −

Student First Name: Rocky

Student Last Name: Jagtiani

Student Age: 39

Benefits of JavaBeans:

  • A Bean obtains all the benefits of Java’s “write-once, run-anywhere” paradigm. 
  •  The properties, events, and methods of a Bean that are exposed to an application builder tool can be controlled. 
  • A Bean may be designed to operate correctly in different locales, which makes it useful in global markets.
  •  Auxiliary software can be provided to help a person configure a Bean. This software is only needed when the design-time parameters for that component are being set. It does not need to be included in the run-time environment.
  •  The configuration settings of a Bean can be saved in persistent storage and restored at a later time. 
  • A Bean may register to receive events from other objects and can generate events that are sent to other objects.

Want To Learn Java?

MongoDB – daTa ModeLLinG Concepts: SQL – Where all to UsE ?

Data Modeling

Data modeling (data modelling) is the analysis of data objects and their relationships to other data objects. Data modeling is often the first step in database design and object-oriented programming as the designers first create a conceptual model of how data items relate to each other. Data modeling involves a progression from conceptual model to logical model to physical schema.

MongoDB Data Modeling

In MongoDB, data has a flexible schema. It is totally different from SQL database where you had to determine and declare a table’s schema before inserting data. MongoDB collections do not enforce document structure. The main challenge in data modeling is balancing the need of the application, the performance characteristics of the database engine, and the data retrieval patterns.

Following things must be consider while designing MongoBD data models

  • Always design schema according to requirements.
  • Perform join on write operations only not on read operations.
  • Objects which you want to use together, should be combined into one document. Otherwise they should be separated.
  • Optimize schema for more frequent use cases.
  • Do complex aggregation in the schema.
  • You should duplicate the data but in a limit, because disc space is cheaper than compute time.

Lets see the example of website. Website has following requirements:

  1. Every post contain unique title, description and URL.
  2. Post can have one or more tags.
  3. Post has the name of its publisher and total number of likes.
  4. Post can have comments and the comments must contain username, message, date-time and likes.

For the above example, minimum three tables are required in RDBMS.

But in MongoDB, schema design will have one collection post and has the following structure:
 {
_id: POST_ID
title: TITLE_OF_POST,
description: POST_DESCRIPTION,
by: POST_BY,
url: URL_OF_POST,
tags: [TAG1, TAG2, TAG3],
likes: TOTAL_LIKES,
comments: [
{
user: 'COMMENT_BY',
message: TEXT,
datecreated: DATE_TIME,
like: LIKES
},
{
user: 'COMMENT_BY',
message: TEST,
dateCreated: DATE_TIME,
like: LIKES
}}}

So while showing the data, in RDBMS you need to join three tables and in MongoDB, data will be shown from one collection only.

Lets see how to create Database in MongoDB

There is no create database command in MongoDB. MongoDB use DATABASE_NAME is used to create database. The command create new database if it doesn’t exist, otherwise it will return the existing database.
Syntax :

use DATABASE_NAME

Example
If you want to create a database with name , then use DATABASE statement would be as follows :

>use mydb

To check your currently selected database, use the command db

>db

If you want to check your databases list, use the command show dbs.

>show dbs

Your created database (mydb) is not present in list. To display database, you need to insert at least one document into it.

>db.movie.insert({"name":"SCTPL"})
>show dbs

In MongoDB default database is test. If you didn’t create any database, then collections will be stored in test database.

The dropDatabase command is used to drop a database. It also deletes the associated data files. It operates on the current database.

db.dropDatabase()

MongoDB Create Collection

In MongoDB, db.createCollection(name, options) is used to create collection.
Syntax:

db.createCollection(name, options)

Name: is a string type, specifies the name of the collection to be created.
Options: is a document type, specifies the memory size and indexing of the collection. It is an optional parameter.
Following is the list of options that can be used.

  1. Capped: If it is set to true, enables a capped collection. Capped collection is a fixed size collecction that automatically overwrites its oldest entries when it reaches its maximum size. If you specify true, you need to specify size parameter also.
  2. AutoIndexID: If it is set to true, automatically create index on ID field. Its default value is false.
  3. Size: It specifies a maximum size in bytes for a capped collection. If capped is true, then you need to specify this field also.
  4. Max: It specifies the maximum number of documents allowed in the capped collection.

Let’s take an example to create collection. In this example, we are going to create a collection name SCTPL.

>use test
switched to db test
>db.createCollection("SCTPL")
{ "ok" : 1 }
>

You can check the created collection by using the command show collections.

 >show collections

The following example shows the syntax of createCollection() method with few important options

>db.createCollection("SCTPL_COL", { capped : true, autoIndexId : true, size : 
6142800, max : 10000 } )
{ "ok" : 1 }
>

In MongoDB, you don’t need to create collection. MongoDB creates collection automatically, when you insert some document.

Do you want to learn database Programming?