❕NEWS – India: a Nation Wide Crypto Trading Ban Currently Pending | Proxies123.com

This is a bit confusing. Some time back, the Indian Central Banker – Reserve Bank of India (RBI) : similar to European Central Bank (ECB) and US Fed had in fact relaxed some restrictions and some players like Zebpay:
Zebpay
have started into the Trading arena again. May be I need to check the updates again. We also have sites like bitbns catering to many consumers.
I am frustrated by many folks who say that crypto can be a big means to fund Terrorists and Drug Traffickers, whereas real world currency has seen much bigger volumes being used to finance such folks.
Crypto can be no worse, and still it faces flak.
May be, because it can improve the living conditions of many, so the power grabbers do not want it to grow in India?
Well, only Time would Tell !!
:rolleyes:

optics – How are wide angle lenses able to project an image onto a sensor?

Short lenses are often “retro-focus”, meaning that their focus node (which your diagram shows) is designed to be well behind the actual lens body, to allow room for a mirror to rise.

In a similar manner, the word “telephoto” means that lens design puts that node in front of the lens (specifically to make the lens body be shorter than its focal length).

Both cases have nodes outside the lens body. Then internal lens elements relay the image between the two nodes. Your diagram shows both nodes at the same point, called the thin lens model (like an ordinary magnifying glass lens).

If interested, my site at https://www.scantips.com/lights/fstop.html#basic shows diagrams of that type of lenses.

dataframe – Reshaping a long format data frame to wide based on two columns in R

I am having a data frame in R as shown below:

dat <- data.frame(QuarterYear = c("Q4 2019", "Q4 2019", "Q4 2019", 
                              "Q4 2019", "Q4 2019", "Q4 2019", "Q4 2019", "Q4 2019", "Q4 2019", 
                              "Q4 2019", "Q4 2019", "Q4 2019", "Q1 2020", "Q1 2020", "Q1 2020", 
                              "Q1 2020", "Q1 2020", "Q1 2020", "Q1 2020", "Q1 2020", "Q1 2020", 
                              "Q1 2020", "Q1 2020", "Q1 2020", "Q2 2020", "Q2 2020", "Q2 2020", 
                              "Q2 2020", "Q2 2020", "Q2 2020", "Q2 2020", "Q2 2020", "Q2 2020", 
                              "Q2 2020", "Q2 2020", "Q2 2020", "Q3 2020", "Q3 2020", "Q3 2020", 
                              "Q3 2020", "Q3 2020", "Q3 2020", "Q3 2020", "Q3 2020", "Q3 2020", 
                              "Q3 2020", "Q3 2020", "Q3 2020"), 
              Grade = c("Grade 8", "Grade 8", 
                        "Grade 8", "Grade 9", "Grade 9", "Grade 9", "Grade 10", "Grade 10", 
                        "Grade 10", "Grade 11", "Grade 11", "Grade 11", "Grade 8", "Grade 8", 
                        "Grade 8", "Grade 9", "Grade 9", "Grade 9", "Grade 10", "Grade 10", 
                        "Grade 10", "Grade 11", "Grade 11", "Grade 11", "Grade 8", "Grade 8", 
                        "Grade 8", "Grade 9", "Grade 9", "Grade 9", "Grade 10", "Grade 10", 
                        "Grade 10", "Grade 11", "Grade 11", "Grade 11", "Grade 8", "Grade 8", 
                        "Grade 8", "Grade 9", "Grade 9", "Grade 9", "Grade 10", "Grade 10", 
                        "Grade 10", "Grade 11", "Grade 11", "Grade 11"), 
              Type = c("overallAverage", 
                       "CT", "RT", "overallAverage", "CT", "RT", "overallAverage", "CT", 
                       "RT", "overallAverage", "CT", "RT", "overallAverage", "CT", "RT", 
                       "overallAverage", "CT", "RT", "overallAverage", "CT", "RT", "overallAverage", 
                       "CT", "RT", "overallAverage", "CT", "RT", "overallAverage", "CT", 
                       "RT", "overallAverage", "CT", "RT", "overallAverage", "CT", "RT", 
                       "overallAverage", "CT", "RT", "overallAverage", "CT", "RT", "overallAverage", 
                       "CT", "RT", "overallAverage", "CT", "RT"), 
              value = c(2.48, 2.21, 
                        0.27, 3.48, 3.03, 0.45, 4.6, 4, 0.6, 2.8, 2.4, 0.4, 2.54, 2.28, 
                        0.26, 3.45, 3, 0.45, 4.46, 3.88, 0.58, 3.56, 2.81, 0.75, 2.47, 
                        2.14, 0.33, 2.96, 2.54, 0.41, 4.1, 3.69, 0.41, 3.44, 2.61, 0.83, 
                        2, 1.81, 0.19, 2.54, 2.26, 0.28, 4.11, 3.68, 0.43, 2.67, 2.11, 
                        0.56), stringsAsFactors = FALSE)

I am trying to reshape this data frame into a wide-format where unique values of Type will be the rows and the values will be filled based on the QuarterYear and Grade.

To put in the simple words, if the first row is OverallAverage, the first 4 columns will be representing Q4 2019-Grade 8 to Q3 2020- Grade 8. The next 4 columns will be for Q4 2019-Grade 9 to Q3 2020-Grade 9 and so on.

I tried using the reshape function

widerDat <- reshape(dat, direction = "wide",idvar = "Type",timevar = "value")  

How can I combine QuarterYear and Grade to get the required output?

Please help me arrive at a suitable solution. Thanks in advance!!

Will using a lens at max aperture (“wide open”) result in poor images?

The performance of a lens at maximum aperture really boils down to two things: lens element material and lens element and group construction. A “lens” as we commonly refer to in the DSLR world is actually a collection of individual glass lens elements, often grouped into related sets. There are a wide variety of type of individual lens elements that aim to control optical aberrations and refract light appropriately so an image can be focused clearly onto the image plane. These lens elements include your standard convex, concave, and partial convex/concave lenses that normally refract light, apochromatic, achromatic doublet, and diffractive lenses designed to correct chromatic aberrations, aspheric lenses designed to correct spherical aberrations, high density glass or glass alternatives used to refract light with less aberration, ultra low dispersion glass to reduce dispersion (and therefor chromatic aberration), etc.

A cheaper lens will use cheaper lens elements, and have fewer correcting groups designed to eliminate optical aberrations such as chromatic aberration, spherical aberration, distortion, and a few others. For cheaper quality f/1.4 lenses, used wide open, you are most likely to encounter chromatic aberration, which usually presents as color fringing. You may also encounter focus shift problems as you stop down the aperture in a cheaper lens, due to spherical aberration. In some cases, spherical aberration is a desirable attribute, as it creates extremely soft bokeh (background blur circles). Such a trait is particularly desirable in portrait lenses. Simpler lenses with fewer elements have the potential to offer superior sharpness, as the more lens elements, the more compromises you will ultimately have to make. This superior sharpness is usually only realized when the lens is stopped down beyond f/2.8, however, due to the lack of correction for optical aberrations at wider apertures.

A more expensive lens will usually use higher quality glass, and include elements with ultra high density/ultra low dispersion elements, apochromatic and/or apsherical lens elements, and possibly lens elements made of flint or flourite. There will often be more corrective groups in a higher quality lens to maximize control over how light refracts, disperses, and focuses. Lens elements in a high quality lens will also sport high quality multicoating to eliminate lens flaring and ghosting, which results in a sharper image than with lens elements that are not multicoated. (Cheaper lenses will usually include multicoated front and back lens elements, but may not include multicoated lenses for all elements.) A top of the line fast prime, while it will still exhibit some optical aberrations wide open, will usually be FAR superior to a cheap lens. The background bokeh of a quality lens is also usually much more desirable as the design of the lens diaphram is usually more advanced as well, with more blades, curved blades to avoid polygonal out-of-focus circles, etc.

When it comes to lens quality, you ultimately get what you pay for. If you need top of the line, wide-open performance, you’re going to need a top of the line lens that is designed to deliver top of the line wide-open performance. This would be the case if you were doing portrait or wedding photography for a living, and needed that optimal bokeh at f/1.4 (or f/1.2 even) for superb facial portraits. If you need a fast lens, but will mostly use it for night photography or in situations where capturing supreme focus with ideal background blur is not key factor, then an f/1.4 that has moderate bokeh some chromatic aberration issues wide open will likely not be an issue.

These days, most f/1.8 lenses offer decent quality wide open, and pretty fantastic quality when stopped down past f/2.8 (and up the the diffraction limit of the camera, which usually falls around f/8 or so.) There are a variety of f/1.4 lenses from several brands, ranging from pretty cheap to really high quality. A middle-ground f/1.4 lens can be had for about $500 or so that will deliver very acceptable quality wide open, and better stopped down a bit (most lenses improve in sharpness when the aperture is closed down by a stop or two.) If you want the best quality as wide as you can get it, most big name brands like Nikon and Canon, as well as Zeiss, make very expensive, very wide lenses (as wide as f/1.2) that offer unsurpassed quality from their widest aperture through f/2.8, and possibly beyond. You’ll have to pay for this quality, though, as these lenses usually roll in for around $2k.

An interesting consequence of achieving maximum wide-open quality, however, is often less than maximal quality through the “middle” aperture range, from f/2.8 through the diffraction limit. Compare a cheap $90 nifty fifty f/1.8 at f/4 to a $2000 f/1.2 at f/4, and the cheap lens will probably edge out the expensive lens in the area of sharpness. The additional and non-standard lens elements (like apochromatic, aspherical, etc.) can correct optical aberrations wide open, but usually at the cost of some sharpness. The higher quality lens, despite having slightly lower sharpness, will still usually provide superior color, contrast, and clarity.

sharepoint online – How does updating SPFx webparts/extensions work between tenant wide/non-tenant wide deployment models?

I am trying to understand the difference between deploying spfx customizations between tenant wide and non tenant wide (and differences when updating/not updating the version number). Per my current knowledge, I understand this so far

Tenant Wide:

Once you overwrite the solution, it updates everywhere automatically. This is true when keeping the version number the same.

If version number is increased, what happens here?

Non Tenant Wide:

If you overwrite the solution, it updates everywhere. This is true when keeping the version number the same. However for some webparts like listview command sets, it requires the app to be deleted from each site and its recycle bin, and needs an increase version number when adding to app catalogue.

If version number is increased, then apps will get a message on each site saying there is an update, and requires a manual update to fully update. While this is not done, only the static resources portion of the app will get the update automatically. Any manifest config-like changes won’t take effect until it is manually updated.

Can anyone confirm if these details are correct, or if there is anything more to be added?

Thanks

VisualWebTechnologies: Wide Range of Cloudlinux-backed cPanel Offers in Virginia

 

 

 

 

 

VisualWebTechnologies is new to LowEndBox and brings us a shared hosting offer in Virginia.  They’re an Indian company (registration 0879L1ZN) and look to have a pretty solid setup: Xeon E3-1270 v3 CPUs, RAID-10 NVME, cPanel/Softaculous, and CloudLinux.  They’ve got as juicy 65% off coupon and it applies to yearly billing cycles, so lock in the long-term savings if you’re looking for shared hosting.

They’ve got some bold promises – India’s Best Web Hosting Company and “blazing fast site load time”.  Give them a spin and report back how you like the service.  I have to say, when I saw they’d taken the time to create a URL just for this offer (https://visualwebtechnologies.com/lowendtalk.php), I kind of fell in love.

Their WHOIS is public.  You can find their TOS on their web site.  You can pay with PayPal and credit/debit cards.

Here’s what they had to say: 

“VisualWebTechnologies is was founded March 2014 and is focused on providing high quality solutions in a low end marketone. VisualWebTechnologies of the few companies that aims to provide web hosting at very affordable rates. Our mission to help people in developing their startups, small and medium size businesses, corporate level to run their online business. We are particularly proud to offer a combination of powerful features that few companies can match, including 24/7 support, 99.99% uptime, affordable DDoS protection, and RAID-10 disks.”

More info from them including some Q&A on their services after the jump, but first, here are the offers:

Shared Hosting
XS

  • 1 GB Disk Space

  • 1 Domain

  • 10 Sub Domains

  • 10 Email Accounts

  • 10 MySQL Databases

  • 10 FTP Accounts

  • $.75/month or $6/year
  • Coupon: LET65

  • (ORDER)

Shared Hosting
Small Package

Shared Hosting
Medium Package

 

Shared Hosting
Large

Shared Hosting
Super Package

Network Info:

Host Node Specifications:

  • Intel(R) Xeon(R) CPU E3-1270 v3 @ 3.50GHz
  • NVME RAID10

Cloudlinux Limits:

  • 100% CPU
  • 1.0G RAM
  • IOPS: 1024
  • IO: 5MB/s
  • Entry Process: 30
  • NPROC: 100
  • Inodes = 300000

Why choose VisualWebTechnologies for your cPanel Web Hosting Features?

  • Blazing Fast Site Load Time
  • MariaDB
  • 99.9% Uptime Guarantee
  • 24/7/365 Expert Support
  • Unlimited MySQL Databases
  • Free SSL Certificates
  • Free Data Migration
  • Free Site Transfer by our Experts
  • CloudLinux OS ensure your website is always running at maximum speed
  • cPanel with Softaculous Auto Installer (WordPress, Drupal, Joomla, Magento +446 more!)
  • 24/7 Support

Frequently asked questions:

Q: How quick will my account be setup?

A: As soon as payment has been received

Q: My order was marked as fraud, what do I do?

A: We use Fraudlabs for our fraud checking. Occasionally however it does get it wrong. Get in touch with us and we’ll assist with your order

Please let us know if you have any questions/comments and enjoy!

raindog308

I’m Andrew, techno polymath and long-time LowEndTalk community Moderator. My technical interests include all things Unix, perl, python, shell scripting, and relational database systems. I enjoy writing technical articles here on LowEndBox to help people get more out of their VPSes.

display – What is the best way to connect a mid 2012 macbook pro to a new ultra wide 4K external monitor?

What is the best way to connect a mid 2012 macbook pro to a new ultra wide 4K external monitor? I know most of the monitors suggest using USB C but that doesn’t exist in my macbook pro so trying to figure out the best option (that doesn’t require ordering a new laptop)

sharepoint online – How to update SPFx extension instances tenant wide automatically?

In SPFx, I deployed a listviewcommandset extension to add a context menu option to list items. After adding to app catalogue, I had to manually add the app to the site. And then to update it, I had to delete the app from the site and recycle bin, increase the version number, re deploy the app to the catalogue and then add the app to the site again. Is there a way I can simplify the process and have it so that once I deploy, all sites just get the update automatically?

bitcoin core – Why does estimatesmartfee and walletcreatefundedpsbt with conf_target show a wide disparity?

Seems that when my testnet node boots up estimatesmartfee works just fine generally:

{"jsonrpc":"1.0","id":"curltest","method":"estimatesmartfee","params":(2)}

result =     {
        blocks = 2;
        feerate = "0.00147381";
   }

However when I go to build a psbt the fee as specified by conf_target seems to be way off:

{"jsonrpc":"1.0","id":"curltest","method":"walletcreatefundedpsbt","params":(({"txid":"019510d1084c15dc216e1a3e19e7910f3680c124953fb19c59e3c8892f51ca11","vout": 0,"sequence": 1}, {"txid":"019510d1084c15dc216e1a3e19e7910f3680c124953fb19c59e3c8892f51ca11","vout": 1,"sequence": 1}, {"txid":"bac790009314a66dda3f478df1401ed039e9519828d7f969c43d2c025e6ae328","vout": 1,"sequence": 1}, {"txid":"77bed34db35b4ac5ad056892deb5d11baa8f00fbb5727c9d2b5a1d9c8da2a57c","vout": 1,"sequence": 1}, {"txid":"a6a2af2adfb6782e4d8f3c8a6a5e6d84286aa6d971b474babd88806781225785","vout": 0,"sequence": 1}, {"txid":"488e99b9b2564383ed04df539a21394cafd6a2208e820b38847d864dd64fbbb2","vout": 1,"sequence": 1}, {"txid":"32665fd0077d0014b6fa4d33840dda3cdf561e94d8ca48e3c8b62e26629139b8","vout": 1,"sequence": 1}), {"tb1qltge5c988eaqy9960yvepxmlpkplnu3zly8j5z":0.92358192}, 0, {"includeWatching": true, "replaceable": true, "conf_target": 2, "subtractFeeFromOutputs": (0), "changeAddress": "tb1qltge5c988eaqy9960yvepxmlpkplnu3zly8j5z"}, true)}

I then sign and decoderawtransaction:

result =     {
        hash = 09aae88cce31c3a8145b13d2d3bc6e0661a8520faacc1c58ab82f00c841abd9e;
        locktime = 0;
        size = 1079;
        txid = 04f270bdd9dfece9a13cc3baf3c558db5395fab9eb2666847553c7dca78d681b;
        version = 2;
        vin =         (
                        {
                scriptSig =                 {
                    asm = "";
                    hex = "";
                };
                sequence = 1;
                txid = 019510d1084c15dc216e1a3e19e7910f3680c124953fb19c59e3c8892f51ca11;
                txinwitness =                 (
                    304402203104150c08f8692534190d57b61328ef83a52a0a3c529f63bb6d3028de5a5fbe02206b9abbbfedf350c53542865207a9c3def62cc386cc21717d90e7248308957abb01,
                    020e1ae766f28bef25b5d13cae1f1dd887cde3103d8a9eb6c9452e093e05001cca
                );
                vout = 0;
            },
                        {
                scriptSig =                 {
                    asm = "";
                    hex = "";
                };
                sequence = 1;
                txid = 019510d1084c15dc216e1a3e19e7910f3680c124953fb19c59e3c8892f51ca11;
                txinwitness =                 (
                    30440220234715c55ed55f4b4bb1d067210293e5cca7e5072fbdf362f3063dc7b8b8e8d0022053d22d2f65e9eeba00d705e2d4abf6d737d98f535294d8f7fb91c1beb699872201,
                    0335820a3d6416230ac2e793629d1a57b276b9bc5da0f0166bec1bdba9a5167652
                );
                vout = 1;
            },
                        {
                scriptSig =                 {
                    asm = "";
                    hex = "";
                };
                sequence = 1;
                txid = bac790009314a66dda3f478df1401ed039e9519828d7f969c43d2c025e6ae328;
                txinwitness =                 (
                    3044022036730e009f7b262ac026f36caed527bb897ade66e446d8d3c86b99f05bd7923b02203cbb170419145a00b1f93524ea05d68048fff826e2af4803f5053b4b6bd5c53d01,
                    02de2954b646d7c77cdc4444c53a564e41b28260960f1ea5282792f1a7193478cc
                );
                vout = 1;
            },
                        {
                scriptSig =                 {
                    asm = "";
                    hex = "";
                };
                sequence = 1;
                txid = 77bed34db35b4ac5ad056892deb5d11baa8f00fbb5727c9d2b5a1d9c8da2a57c;
                txinwitness =                 (
                    3044022010e1342cd515a5923768be66fdff1196d29cc81c601b1fb5aa0c27061935c7be022055f2527602d25cb64133118bab362af5666cd8f640e4929bd95c581a361154f201,
                    02fc37d19c8eaa953c00d4da134e17d9b92dacb32508afbc76c53ebf511c1aea36
                );
                vout = 1;
            },
                        {
                scriptSig =                 {
                    asm = "";
                    hex = "";
                };
                sequence = 1;
                txid = a6a2af2adfb6782e4d8f3c8a6a5e6d84286aa6d971b474babd88806781225785;
                txinwitness =                 (
                    304402207f8e055a44936178dffed0547ec58eb1b7e13308f265ec1f7fac96872f23bcb4022037d4095f7f9398fec3f9ae54e407a84d8b8b938a34df46fefac777be7891e89301,
                    02952f6dd04b2894a8aa633091f784845ebcb2749d634d161f56c3cb2d2366c45f
                );
                vout = 0;
            },
                        {
                scriptSig =                 {
                    asm = "";
                    hex = "";
                };
                sequence = 1;
                txid = 488e99b9b2564383ed04df539a21394cafd6a2208e820b38847d864dd64fbbb2;
                txinwitness =                 (
                    304402203fe34532c251e59912a83f01a7b709b43ec16cc42d926199880da0525efe06ca0220339af59da13b13a1bd420948956845500acfdc8afbc7c5ee335351acc9325ec501,
                    0254bb6f7e18fd63a5e804bc3d266edbb67af82af0e96395af680a0d2b4a60b772
                );
                vout = 1;
            },
                        {
                scriptSig =                 {
                    asm = "";
                    hex = "";
                };
                sequence = 1;
                txid = 32665fd0077d0014b6fa4d33840dda3cdf561e94d8ca48e3c8b62e26629139b8;
                txinwitness =                 (
                    304402206f5a22fb4125f423d2d6a84662122464cfd2f75c1eeb68a16a5d5d574191ee160220407fa17f60e1843b94b33ee5156db873b270704b83f8b041af03ffb177abcbee01,
                    02cdc5c26ef620915d31e7ed467eb79db58cf18544370bc2c488084d9e15415336
                );
                vout = 1;
            }
        );
        vout =         (
                        {
                n = 0;
                scriptPubKey =                 {
                    addresses =                     (
                        tb1qltge5c988eaqy9960yvepxmlpkplnu3zly8j5z
                    );
                    asm = "0 fad19a60a73e7a0214ba7919909b7f0d83f9f222";
                    hex = 0014fad19a60a73e7a0214ba7919909b7f0d83f9f222;
                    reqSigs = 1;
                    type = "witness_v0_keyhash";
                };
                value = "0.92357674";
            }
        );
        vsize = 516;
        weight = 2063;
    }

I then cross check the conf_target with a fresh estimatesmartfee command to deduce what the s/b fee rate ought to be, comparing it to what it actually is and get a huge disparity:

actual s/b: 1.0
target s/b: 147.381

Why would estimatesmartfee work but conf_target arg would not?

I would have assumed that you would only get an issue like this if estimatesmartfee did not have enough data to function as can happen

sqlite – SQLite3 column truncation even though column is wide enough

I have a table with schema

CREATE TABLE test(id INTEGER NOT NULL PRIMARY KEY, numbers TEXT);

and values

INSERT INTO test(numbers) VALUES('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, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100');

And if I run these commands

.mode box
.headers on
.width 0 400
.once -e
SELECT * FROM test;

I get output as

┌────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ id │                                                                                                                                                                                                     numbers                                                                                                                                                                                                      │
├────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 1  │ 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, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86 │
└────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

numbers column gets truncated even though the headers are not and the column is wide enough.
I tried increasing width value but still wouldn’t work

This happens with box, column, table and markdown modes only. Other modes work fine.

What am I doing wrong?

I am using SQLite version 3.33.0 2020-08-14 13:23:32