Is Your D&D Character Rare?

FiveThirtyEight, a website better known for predicting election results with statistical methods, a few weeks ago posted a statistical analysis of 5th edition Dungeons & Dragons characters regarding their choice of class and race combination. The result is boringly predictable: People overwhelmingly choose a race that gives at least a +1, if not a +2 bonus to their main class stat. As the race system has been designed to favor combinations that appear in the cast of Lord of the Rings, you get a lot more elven rangers than dwarven rangers, etc. However that is much less an attempt to emulate the classics but rather simple stat minmaxing.

I don’t know how these statistics look for other games or previous editions of Dungeons & Dragons. But I suspect that the “bounded accuracy” math of 5th edition D&D makes a +1 or +2 bonus a lot more important in this edition, because there aren’t so many other bonuses around. Unless you “roll lucky” (which is my way of saying cheat with your stats), an elf paladin is simply too bad stat-wise to be playable. That from a role-playing point of view a haughty elf might make a brilliant paladin if played well is of no importance. You choose your class, then take one of the few races that are good at that class, or default to humans who are good at everything.

As a role-playing challenge I would love to try a gnome barbarian. But as a 5th edition character with standard array or 27-point buy stats I’d end up with something not very fun to play in combat. The World of Warcraft system where your choice of race has only a very minor influence on your combat performance is more to my liking.

Deal: Nova Launcher Prime on sale for $0.99 (was $4.99)

Nova Launcher Prime is regarded as one of the best launchers on Android. It’s sitting right now with an average rating of 4.8 out of 5 stars at the Google Play Store, based on hundreds of thousands of reviews, and if you’ve never used it before, now might be the time.

As pointed out on Reddit, Nova Launcher Prime has been reduced from $4.99 to just $0.99 — the same offer it launched this time last year. This is the unlocked version of the free Nova Launcher app, which comes with a slew of extra customization options and advanced features, like notifications badges, gestures, and more.

Editor’s Pick

Nova Launcher allows you to alter many aspects of your Android phones home screen, such as the app drawer, folders, dock, and their aesthetic, and has received a number of Android 8.1 Oreo features lately, including adaptive icons and the custom dock widget.

Nova Launcher sits on our best Android Launchers list and it doesn’t look like it will be moving anytime soon. We don’t know how long this deal will last, but you can find the free and Prime versions of the app in Google Play via the buttons below (note that Google Play says Nova Launcher Prime hasn’t been updated since December 2016 but it will still unlock the latest content found in the regular app).

Download Nova Launcher
Download Nova Launcher Prime

Zortrax M200 Plus print examples

I am getting the hang of my new 3D printer. So I’m posting the photos I promised. First is a comparison: The darker green wererat on the left is with the new printer, compared to the neon green on the right with the old printer. So, yes, for my miniatures the new printer is working fine, and better than the old one.

Next is an example of something my old printer frequently refused to do: Print half a dozen miniatures at the same time. The new one did these 6 bandits in one go without problems. I assume it has to do with the ABS printing hotter, so it still sticks to the previous layer even that layer has been printed a while ago.

The other advantage of ABS is that you can treat it with acetone vapors, which makes the surface glossy and hides imperfections. As an example the 3DBenchy model printed twice identically, with the right one being treated with acetone vapors for 1 hour. Note that for miniatures you better just use 15 minutes, after 1 hour fine parts like arms or swords tend to melt.

Finally I used a model of a bard with a lot of detail to see how it comes out. This is with 15 minutes acetone treatment. Looking closely you can still see the layers and imperfections. But remember that this is just 3 cm tall, so for this size this is as good as it gets. You can see the lute, the rapier, and even the jester’s hat is printing out fine.

Is Sea of Thieves an MMORPG?

Sea of Thieves wasn’t high on my radar until its release this week. But the headlines of servers crashing due to too many players strongly reminded me of, well, every MMORPG launch ever. So I was wondering whether the description of “multiplayer action adventure” meant that it was something completely different than a MMORPG, or whether Sea of Thieves basically is a MMORPG and they just changed the label because MMORPG isn’t fashionable any more.

I am wondering if this is something I should buy. However the game is not on Steam, and as we all know, PC games that are not on Steam basically aren’t real. 🙂 And buying a game at full price at release when everybody is complaining about overloaded servers and lack of content doesn’t feel like a good idea. I’d really like to have a better idea about the gameplay first: How necessary is PvP? How twitchy is the gameplay? Et cetera, et cetera.

Anybody here playing who can give me advice?

SailCraft Online

The game of Battleship as played with pen and grid paper is a hundred years old. 50 years ago Milton Bradley turned it into a board game with plastic pegs. There have been various computer versions, and even a rather horrible movie in 2012. Now I found a mobile game called SailCraft or SailCraft Online, which is basically Battleship on speed with all modern Pay2Win conveniences.

The original game is strictly symmetrical, except for the player moving first having a slight advantage. But in SailCraft the two players don’t have the exact same fleet, nor do they even have the same size of grid. Instead your grid size and your special abilities depend on the ships you choose for your fleet, limited by the level of your mothership. Ships come in common, uncommon, rare and legendary types, and the more of the same ship you find, the higher you can upgrade them in level. Each ship has an active and a passive ability, and stats for how many spaces it adds to your grid and how much “luck” you have going first. Active abilities allow you to do different things than just targeting space D4 and hoping you hit the battleship: For example you can fire a torpedo, send out a bomber, or use a telescope to scout some grid spaces. There are also counter-abilities like a torpedo-net or anti-aircraft guns.

Overall that makes the game a lot more dynamic to play than the original. But obviously the player who has collected more powerful ships has a distinctive advantage, having more powerful active abilities and a larger grid on which to hide his ships. Fortunately there is a matchmaking system that prevents you getting paired against the top players while you are still in the lower leagues. Which makes the game okay playable without paying any money, or just buying the occasional special offer. Having endless amount of time isn’t much help, as you can only grind a certain number of chests full of ships every day.

I don’t think there is any game left that didn’t get this sort of monetization make-over in a mobile version, frequently based around collectible items. I’ve even seen coin dozer games that work like that. SailCraft has the advantage that the underlying game of Battleship is a relatively intelligent one, and you can actually outthink your opponent to a certain degree. I just don’t think I’ll ever make it to the very top, because that appears to require some serious spending, which I am not willing to do.

Google Pixel 2 and Pixel 2 XL headphone adapter not working for some folks

The Google Pixel 2 series has already seen one significant audio problem, that being related to how it was recorded through the microphone. Though that was fixed in a recent software update, there appears to be another, more persistent, sound issue affecting devices.

Some people Pixel 2 and Pixel 2 XL owners are reporting that the supplied USB Type-C to 3.5 mm headphone jack adapter isn’t working. This was pointed out by users over at the Google Product Forums (via Android Police), and the issue seems to be that the headphone adapter isn’t being recognized: when connected, music still plays through the device speakers.

Editor’s Pick

According to reports, several people have experienced this problem and have contacted Google for a replacement adapter. Others are seeking software solutions, though there doesn’t appear to be a single workaround that applies in every scenario.

One person said that a software update had resolved the issue, while the process below was also offered as a fix:

  • Insert dongle/adapter into phone
  • Restart phone
  • Plug headphones into dongle/adapter
  • Start Google Play Music [and, presumably, play something]

Given that there are a variety of possible solutions, here, it looks like it’s not specifically tied to a faulty adapter (one user says they’ve owned three different dongles and the problem has persisted); there may be more than one problem at play.

Google must be aware of this by now — there are lots of comments and replacement requests have been made — though an employee is yet to step into the thread to discuss the problem directly.

If you’ve experienced this issue, perhaps try using Bluetooth headphones (should you own some) while you wait for this to get sorted out.

Huawei, OPPO, and Vivo all slash smartphone orders by over 10%

  • Huawei, OPPO, and Vivo are all cutting smartphone orders by over 10% in Q4 2017.
  • The companies are sitting on more and more inventory as worldwide smartphone demand has dropped.
  • Xiaomi is still performing well despite the struggle of fellow Chinese device manufacturers.

One of the smartphone trends that might have flown under the radar in 2017 is the explosion of Chinese cell phone manufactures. While they have been steadily growing for years, this was the year that companies like Xiaomi were able to top Samsung in the important market of India. Huawei is the world’s third largest device manufacturer and occasionally tops Apple for second and OPPO and Vivo (both owned by BBK) are both in the top three in China.

Editor’s Pick

To say it has been a good year for these companies would be an understatement. But, it looks like Huawei, OPPO, and Vivo are preparing for a slower start to 2018. According to a report from DigiTimes, the three companies are cutting smartphone orders by over 10%. The information comes from sources at suppliers for the trio of companies.

As demand for new smartphones falls, the companies are now sitting on more and more inventory.

The one company that seems to be immune from the slowdown is Xiaomi. The company continues to be bullish in both online and retail environments. Xiaomi is continuing its surge in India, which saw it overtake Samsung in the country. India looks to be an interesting battleground for 2018 as Samsung and Xiaomi battle it out at the top and Huawei looks to increase its presence.

See also: Report: Samsung’s global market share will fall in 2018

Xiaomi and Huawei are also both expected to increase their presence in the United States next year. Rumors of the Huawei Mate 10 Pro’s release on Verizon and AT&T have heated up recently and Xiaomi is reportedly in talks with US carriers to carry its phones as well, according to Bloomberg.

Despite cutting orders, it looks like 2018 is shaping up to be a good year for Chinese smartphone manufacturers.

Test Your SQL Basics – Part_2

Conversion Functions Questions

1. What will be the outcome of the following query?
SELECT ROUND(144.23,-1) FROM dual;
  1. 140
  2. 144
  3. 150
  4. 100

2. Which of the following commands is used to count the number of rows and non-NULL values in Oracle database?
  2. INSTR
  4. COUNT

3. Which of the following statements are true regarding the single row functions?
  1. They accept only a single argument.
  2. They can be nested only to two levels.
  3. Arguments can only be column values or constants.
  4. They can return a data type value different from the one that is referenced.

4. Which of the following type of single-row functions cannot be incorporated in Oracle DB?
  1. Character
  2. Numeric
  3. Conversion
  4. None of the above

5. Which of the following is true for the statement given as under.
NVL2 (arg1, arg2, arg3)
  1. Arg2 and Arg3 can have any data type
  2. Arg1 cannot have the LONG data type
  3. Oracle will convert the data type of expr2 according to Arg1
  4. If Arg2 is a NUMBER, then Oracle determines the numeric precedence, implicitly converts the other argument to that datatype, and returns that datatype.

6. What is true about the NULLIF function in Oracle DB?
  1. NULLIF(expr1,expr2) will return expr2 if the two expressions are NOT NULL.
  2. NULLIF(expr1,expr2) will return 0 if the two expressions are NULL.
  3. NULLIF(expr1,expr2) will return NULL if the two expressions are equal.
  4. Expr1 can be NULL in NULLIF(expr1, expr2)

7. Which of the following is not a property of functions?
  1. Perform calculations on data
  2. Convert column data types
  3. Modify individual data items
  4. None of the above

8. What is the most appropriate about single row functions?
  1. They return no value
  2. They return one result per row and operate on all the rows of a table.
  3. They return one result per row with input arguments
  4. They return one result per set of rows and operate on multiple rows.

9. What is the number of arguments Single Row functions accept?
  1. 0
  2. Only 1
  3. Only 2
  4. 1 or more than 1

10. Which of the following is an exception to the return value of a DATE type single-row function?
  1. TO_DATE

11. What is true about the CONCAT function in Oracle DB?
  1. It can have only characters as input.
  2. It can have only 2 input parameters.
  3. It can have 2 or more input parameters
  4. It joins values by putting a white space in between the concatenated strings by default.

12. What is true about the SUBSTR function in Oracle DB?
  1. It extracts a string of determined length
  2. It shows the length of a string as a numeric value
  3. It finds the numeric position of a named character
  4. It trims characters from one (or both) sides from a character string

1-A,   2-D,   3-D,   4-D,  5-D,   6-C,   7-D,   8-B,   9-D,  10-C,   11-B,  12-A

function grpf() { var x = document.getElementById(‘myDIV1’); if ( === ‘block’) { = ‘none’; } else { = ‘block’; } }

Using the Group Functions Questions

1. Which of the following is NOT a GROUP BY function?
  1. MAX
  2. MIN
  3. NVL
  4. AVG

2. What are the appropriate data types accepted by GROUP BY functions?
  1. Nested Tables
  3. CLOB
  4. DATE

3. A table T_COUNT has 12 number values as 1, 2, 3, 32, 1, 1, null, 24, 12, null, 32, null. Predict the output of the below query.
SELECT COUNT (ALL num) FROM t_count;
  1. 12
  2. 6
  3. 9
  4. Throws exception because COUNT function doesn’t works with NULL values

4. Which of the following is NOT a GROUP BY extensions in SQL?
  3. CUBE

5. Which of the following statements is true about the group functions?
  1. The MIN function can be used only with numeric data.
  2. The MAX function can be used only with date values.
  3. The AVG function can be used only with numeric data.
  4. The SUM function canít be part of a nested function.

6. Which of the following functions is used to calculate the total value stored in a specified column?
  1. COUNT
  2. ADD
  3. TOTAL
  4. SUM

7. Which of the following functions can be used to include NULL values in calculations?
  1. SUM
  2. NVL
  3. MAX
  4. MIN

8. Determine the correct order of execution of following clauses in a SELECT statement.
  1. 2-3-4-5-1-6
  2. 1-2-3-4-5-6
  3. 6-5-4-3-2-1
  4. 5-4-2-3-1-6

9. What is true of using group functions on columns that contain NULL values?
  1. Group functions on columns ignore NULL values.
  2. Group functions on columns returning dates include NULL values.
  3. Group functions on columns returning numbers include NULL values.
  4. Group functions on columns cannot be accurately used on columns that contain NULL values.

10. Which of the following statements are true?
  1. AVG and SUM can be used only with numeric data types.
  2. STDDEV and VARIANCE can be used only with numeric data types.
  3. MAX can be used with LONG data type.
  4. MAX and MIN cannot be used with LOB or LONG data types.

11. Up to how many levels, the group functions can be nested?
  1. 1
  2. 2
  3. 3
  4. No limits

12. Which of the following are true about the CUBE extension of GROUP BY?
  1. Enables performing multiple GROUP BY clauses with a single query.
  2. Performs aggregations for all possible combinations of columns included.
  3. Performs increasing levels of cumulative subtotals, based on the provided column list.
  4. None of the above

1-C,   2-B,   3-C,   4-A,  5-C,   6-D,   7-B,   8-A,   9-A,  10-(A,B,D),   11-B,  12-B

function mtqq() { var x = document.getElementById(‘myDIV2’); if ( === ‘block’) { = ‘none’; } else { = ‘block’; } }

Get Data from Multiple Tables Questions

1.Which of the following is not related to a Relational Database?
  1. Selection
  2. Projection
  3. Joining
  4. None of the above

2.Which of following will be used to join rows with other tables if the column values fall in a range defined by inequality operators?
  1. Equijoin
  2. Simple join
  3. Non-equijoin
  4. None of the above

3.What is true about a cartesian join of two tables in Oracle DB?
  1. It must be avoided as it is costly and non optimized
  2. It is formed when every row from one table is joined with all rows in the second table
  3. Both A and B
  4. None of the above

4.What is the main condition for using joins between a source table and a target table in Oracle DB for getting a non-cartesian product result?
  1. There is no condition
  2. At least one of the columns in both the tables should be common.
  3. The names of the columns in both the joining tables should be the same for using joins
  4. None of the above

5.What is true about Natural joins in Oracle DB?
  1. The column names of the source and the target tables should be identical
  2. If the column names of the source and the target tables are not same, Oracle implicitly does the needful
  3. NATURAL JOINS, USING and ON are the keywords associated with Natural Joins
  4. All of the above

6. The database designer has named the key (unique) columns from two tables differently.While joining these tables, which among the following will be the best practice?
  1. JOIN..ON
  2. Either NATURAL JOIN or JOIN…ON clauses
  3. Both A and B
  4. None of the above

7. What are Cartesian Joins also known as in Oracle DB?
  1. Equi-join
  2. Anti-join
  3. Cross-Join
  4. None of the above

8.Which of the following is used to avoid the ambiguous column problem in Oracle DB?
  1. ;
  2. ,
  3. .
  4. /

9.How many tables can be joined by using the JOINS in Oracle DB?
  1. 1
  2. 2
  3. 255
  4. No limit

10.What is true about Non-equijoins in Oracle DB?
  1. They join based on the keyword NON-EQUI JOIN
  2. They are used using the JOIN..ON clause with “=” sign
  3. The results are obtained when the result of the inequality mentioned evaluates to true.
  4. None of the above

11.On which of the following conditions is a row returned when an EQUI-JOIN is used to join tables?
  1. The result of the inequality match operation is true
  2. The result of the inequality match operation is 0
  3. The result of the inequality match operation is 1
  4. The result of the inequality match operation is false

12.In what scenarios can we use Self-Joins ideally in Oracle DB?
  1. When we need to find the duplicate records in a table
  2. When we need to obtain NULL values from a table
  3. When we need to display a column of a table twice
  4. When we need to display hierarchy of relevant entities

1-D,   2-C,   3-B,   4-B,  5-C,   6-A,   7-C,   8-C,   9-D,  10-C,   11-A,  12-D

function sq() { var x = document.getElementById(‘myDIV3’); if ( === ‘block’) { = ‘none’; } else { = ‘block’; } }

Subqueries to Solve Queries Questions

1. Which of the following are the types of sub-queries?
  1. Ordered sub-queries
  2. Grouped sub-queries
  3. Single row sub-queries
  4. None of the above

2.Which of the following clause is mandatorily used in a sub-query?
  2. WHERE

3.In which of the following clauses can a sub-query be used?
  2. WHERE
  3. FROM
  4. All of the above

4.Which of the following single-row operators can be used for writing a sub-query?
  1. >=
  2. <
  3. =
  4. All of the above

5.What among the following is true about sub-queries?
  1. Sub-queries can be written on either side of a comparison operator
  2. Parenthesis is not mandatory for sub-queries
  3. Single-row sub-queries can use multi-row operators but vice versa is not possible
  4. All of the above

6.What among the following is true about single-row sub-queries?
  1. They return only one row
  2. They use single-row operators
  3. Both A and B
  4. None of the above

7.Which of the following are valid multi row operators used for sub-queries?
  1. <=
  2. ANY >=
  3. !=
  4. >=

8.What does the ANY operator evaluates to in the above query?
  1. TRUE
  2. FALSE
  3. NULL
  4. 0

9.What can be said about the < ANY operator in the query given above?
  1. It gives the maximum value of salary
  2. It gives the minimum value of salary
  3. It means it gives the values that are lesser than the highest
  4. None of the above

10.What will be the outcome of the above query (the option A in the question above), if the < ALL is replaced with the >ALL?
  1. It will execute successfully giving the same result.
  2. It will throw an ORA error
  3. It will execute successfully but give the employees’ details who have salaries lesser than all the employees with job_id ‘FI_ACCOUNTANT’.
  4. None of the above

11.What is true about sub-queries in general?
  1. Sub-queries have to be executed separately from the main queries
  2. Sub-queries can be executed at the will of the user, they are not related to the main query execution
  3. Sub-queries are equal to two sequential queries where the results of inner query are used by the main query
  4. All of the above

12. What should be the best practice to follow when we know what values we need to pass on to the main query in Oracle queries?
  1. Using GROUP BY
  2. Using sub-queries
  3. Using HAVING
  4. None of the above

13.What is the maximum number of nesting level allowed in an Inline View type sub-query?
  1. 255
  2. 300
  3. 216
  4. Unlimited

1-C,   2-A,   3-D,   4-D,  5-A,   6-C,   7-B,   8-A,   9-C,  10-C,   11-C,  12-D,   13-D

function sqq() { var x = document.getElementById(‘myDIV4’); if ( === ‘block’) { = ‘none’; } else { = ‘block’; } }

Using the Set Operators Questions

1.Which SET operator does the following figure indicate?
  1. UNION
  4. MINUS

2.Which SET operator does the following figure indicate?
  1. UNION
  4. MINUS

3.What is true about the UNION ALL operator?
  1. It returns rows from the combined queries along with NULL values
  2. It returns rows for the combined queries after eliminating duplicates
  3. It returns rows for the combined queries along with duplicate values
  4. It returns rows for the combined queries ignoring the NULL values

4.What is the precedence of the set operators UNION, UNION ALL, INTERSECT and MINUS?
  4. Equal precedence

5.What is the order of evaluation of set operators?
  1. Left to Right
  2. Right to Left
  3. Random Evaluation
  4. Top to Bottom

6.What among the following is true about SET operators?
  1. SET operators cannot be used in sub-queries
  2. SET operators can only be used in the WHERE clause
  3. ORDER BY can be used for all queries combined by a SET operator
  4. SET operators can be used in sub-queries

7.What is the best way to change the precedence of SET operators given the fact that they have equal precedence?
  1. The order of usage of the SET operators can be changed to change the precedence
  2. The equal precedence cannot be changed
  3. Parenthesis can be used to change the precedence
  4. None of the above

8.What will happen if the SELECT list of the compound queries returns both a VARCHAR2 and a NUMBER data type result?
  1. Oracle will convert them implicitly and return a VARCHAR2 data type result
  2. Oracle will convert them implicitly and return a NUMBER data type result
  3. An ORA error is thrown
  4. None of the above

9.What is true about the UNION operator?
  1. It eliminates the duplicate values ignoring NULL values
  2. It returns duplicate values ignoring NULL values
  3. It returns duplicate values including NULL values
  4. It eliminates duplicate values and does not ignore NULL values

10.What is true about the INTERSECT operator?
  1. The number of columns and data types of the columns in the component queries should be the same
  2. The names of the columns and data types of the columns in the component queries should be the same
  3. Both A and B
  4. None of the above

11.What can be said about the result set if the order of the intersected tables is altered when using INTERSECT?
  1. The result is altered
  2. The result remains the same
  3. The sorting changes on alteration
  4. None of the above

1-A,   2-C,   3-C,   4-D,  5-(A,D),   6-D,   7-C,   8-C,   9-D,  10-A,  11-B

function condi() { var x = document.getElementById(‘myDIV5’); if ( === ‘block’) { = ‘none’; } else { = ‘block’; } }

Learn Database Programming?