4 Errors You Should Avoid While Handling Money With PHP

https://dev.to/social_previews/article/1119335.png



1. Not knowing which datatype to use in MySQL

I once heard it’s better to use integers when handling financial data. You convert a price like €10 to its lowest unit (cents in this case). This way you end up using 1000 as the amount to work with. This way you avoid the floating-point problem. The floating-point problem is best shown by typing the following in your Google Chrome console:

0.1 + 0.2 > 0.30000000000000004

If you want to learn more about this problem visit this website. Working with integers is dramatic for readability (how much is 13310 in euros?). The disadvantage of working with integers is also that it has a limit of 2147483647 which is roughly € 21,474,836.47. Although with the euro you probably wouldn’t run into this issue quickly but with the Vietnamese Dong, this wouldn’t work. Learnings: use decimals (not floats!) in MySQL to store monetary values. Depending on how many decimals you need decimal(15,2) oftentimes is enough.



2. Not having something to fact-check the numbers

Imagine we have a shopping cart where there’s 1 product for € 100, the VAT of € 21 and a total of € 131. The first time you’re sharp and you immediately see your mistake. After the 100th time, you start to be blind to those mistakes.

That’s why you need something to fact-check the numbers if they’re correct. I’ve created a Google Sheet for me and my team where we can all fact-check this. Especially if you work with people who test your product but don’t have access to the code this is crucial. How should they know if the price displayed is the correct one?



3. Not splitting the price into all the components

Every part of a price should be stored separately. If not, there’s no way to reproduce the components if you need to later on. So save the VAT amount, the discount amount, the base price, and the total all separately. Big chance there are gonna be more price components in your app in the future.



4. Using foreign keys in the ‘orders’ table

One of my dumbest mistakes. I had an ‘orders’ table where all the orders of an e-commerce store were placed. Unfortunately, it had a reference to the actual products which I got the product price from. Everything was fine until one of the product prices changed and older orders were affected by it😅

I’ve made many mistakes even though I have been developing applications for years. But without resistance, there’s no growth, so I tend to share my mistakes so you might prevent them.

I’m planning on writing an ebook on developing applications where you work with money. If you’re interested you might wanna subscribe to get free access to the first chapter.

Subscribe here

Laravel News Links

This is the most based pro-gun campaign ad I’ve ever seen

https://media.notthebee.com/articles/62c5f66420cd962c5f66420cda.jpg

Former ASU football standout and inspirational speaker Jerone Davison is running for Congress on the Republican ticket in Arizona. So far, it looks like Mr. Davison will be pulling ZERO punches in this fight.

Not the Bee

Darktable celebrates its 10-year anniversary with substantial version 4.0.0 update

https://3.img-dpreview.com/files/p/E~C0x0S1404x1053T1200x900~articles/6340644378/screenshot_lighttable.jpeg

Just about a year after releasing darktable 3.6, the darktable team has announced darktable 4.0.0. The update celebrates 10 years of darktable offering photographers open source raw image editing. The major release adds many new features to the open source photography workflow app and raw image editor, including color and exposure mapping, filmic v6, guided Laplacian highlight reconstruction, a new perceptually uniform color space, revamped user interface, performance improvements, and much more.

Color and exposure mapping comprise a new feature in the ‘exposure’ and ‘color calibration’ modules that allows you to define and save a specified target color/exposure for the color pickers. You can match any source object against an arbitrary target color. You can use this tool to perform white balance adjustments against non-gray objects of known color, or ensure consistent color across a batch of images.

Filmic v6 includes a new color science. Darktable writes, ‘This change removes the mandatory desaturation close to medium white and black and replaces it with a true gamut mapping against the output (or export) color space. This allows for more saturated colors, notably in blue skies.’ Darktable 4.0.0 now includes a ‘fully-sanitized color pipeline’ from input (color calibration), creative changes (color balance RGB) and through to output (filmic v6).

Within the ‘highlight reconstruction’ module is a new ‘guided Laplacian’ method. This uses a ‘multi-scale wavelet scheme to extract valid details from non-clipped RGB channel(s)’ and ‘propagates the color gradients from neighboring valid regions using edge-aware color diffusion.’ The team writes that this feature promises to limit color bleeding through edges, such as green leaves bleeding color into a reconstructed blue sky. This method is only available for images captured with a Bayer sensor, so Fujifilm X-Trans users are out of luck here.

Darktable 4 introduces the darktable Uniform Color Space 2022 (darktable UCS 22). It’s a perceptually uniform color space built using psychoperceptual experimental data that was gathered for artistic saturation changes. What’s this actually mean? Darktable UCS 22 ‘ uses a brightness-saturation scheme that compensates for the Helmholtz-Kohlraush effect (accounting for the contribution of colorfulness in perceived brightness) and allows an efficient gamut-mapping against pipeline RGB at a constant brightness. It will make the saturation control in color balance RGB better behaved.’ You can learn a bit more about the Helmholtz-Kohlraush effect in the latter half of the video below.

The user interface has been completely revamped to improve the overall look and consistency. Padding, margins, color, contrast, alignment and icons have been reworked throughout the application. Collapsible sections within modules have been redesigned to improve functionality, plus channel mixer RGB, exposure and color calibration modules include new collapsible sections. The vignetting module has been split into two sections. Superfluous sections have been removed in ‘crop’ and ‘white balance’ tools. The default theme is now Elegant Gray, which is the recommended choice of the darktable team.

The app’s performance and OpenCL settings have been optimized, so performance is more tunable by the user and should be improved overall. There are many more other changes, including a color glossary, new contrast parameters, a new ‘collection filters’ module, improved search, improved export options, improved shortcuts when using sliders, a new raw exposure function, and more. Plus, there are many new bug fixes in the latest update. For the full details, visit darktable.

Darktable 4.0.0 is available now for Linux, macOS and Windows. At that link, you can also download the software’s source code. If you would like to give darktable 4.0.0 a try but don’t know where to start, there’s a very detailed user manual available here.

Articles: Digital Photography Review (dpreview.com)

Laravel DB Sync

https://repository-images.githubusercontent.com/506690782/a5b01352-4869-4e6d-8e46-d44e93c960df

Laravel DB Sync

DB Dync

Introduction

Sync remote database to a local database

A word of warning you should only sync a remote database into a local database if you have permission to do so within your organisation’s policies. I’m syncing during early phases of development where the data is largely test data and not actual customer data.

Connection can be made over SSH or using a remote MySQL connection.

Install

Install the package.

composer require dcblogdev/laravel-db-sync

Config

You can publish the config file with:

php artisan vendor:publish --provider="Dcblogdev\DbSync\DbSyncServiceProvider" --tag="config"

.env

Set the remote database credentials in your .env file

When using SSH Add:

REMOTE_USE_SSH=true
REMOTE_SSH_PORT=22
REMOTE_SSH_USERNAME=
REMOTE_DATABASE_HOST=

REMOTE_DATABASE_USERNAME=
REMOTE_DATABASE_NAME=
REMOTE_DATABASE_PASSWORD=
REMOTE_DATABASE_IGNORE_TABLES=''

REMOTE_REMOVE_FILE_AFTER_IMPORT=true
REMOTE_IMPORT_FILE=true

For only MySQL remote connections:

REMOTE_DATABASE_HOST=
REMOTE_DATABASE_USERNAME=
REMOTE_DATABASE_NAME=
REMOTE_DATABASE_PASSWORD=
REMOTE_DATABASE_IGNORE_TABLES=''

REMOTE_REMOVE_FILE_AFTER_IMPORT=true
REMOTE_IMPORT_FILE=true

Set a comma seperate list of tables NOT to export in REMOTE_DATABASE_IGNORE_TABLES

Usage

To export a remote database to OVERRIDE your local database by running:

php artisan db:production-sync

Laravel News Links

Dude Sets Off Pikachu Firework Inside House, Cries for His Mama When He Realizes It Was a Stupid Idea

https://www.louderwithcrowder.com/media-library/image.png?id=30063345&width=980

The 4th of July is a time for setting off fireworks from July 1 until July 9 or so. Outside. In an unenclosed space. Because fireworks are what we call "flammable." When you light something with a flame, that flame burns a string, and the string sets off an explosive, all three of those things are caused by fire. That’s why you light fireworks OUTSIDE! Do you feel me?

One Twitch streamer was unaware of how fire, incidentally devices, and hot things worked. So he lit a Pikachu explosive on his bed. The Pikachu was embarrassing enough, but the ensuing reaction gives us an epic fail not seen since some dude’s cat attacked him over voting rights. Shout out to Not the Bee.

His mother was NOT amused. And if the dude shut off his live stream as his mother asked, it would have saved him the embarrassment of being screamed at by her.

Or the embarrassment of the fire department needing to show up.

The real shame is that had he set off Pikachu outside, it would have looked sick. It’s not like they don’t make vlogging tripods that allow you to stream outside. It’s every third Instagram advertisement. Maybe invest in some mobile equipment instead of setting your bedroom on fire.

That’s at least if the dude is still allowed to live stream after this unfortunate occurrence. If it was my mother, I’d have the internet taken away until I thought about what I did.

The Louder with Crowder Dot Com Website is on Instagram now! Follow us at @lwcnewswire and tell a friend!


Crowder Exclusive: Based Asian DESTROYS White Woke Liberal | Louder With Crowder

youtu.be

Louder With Crowder

Video: A rare, unique view of fireworks launching and igniting from a barge

https://3.img-dpreview.com/files/p/E~C111x0S1779x1334T1200x900~articles/5007787721/Fireworks.jpeg

Every year, the United States celebrates its birthday on July 4th. In practically any town, large or small, fireworks are launched in celebration of the country’s independence. While some displays are captivating, there are many more amateur efforts in play. Furthermore, most people tend to capture them with a smartphone.

Luckily, New Hampshire native Ron Risman has neighbors with a pyrotechnic expert in the family. He was given the go-ahead to place a Go Pro HERO8 camera between explosives on the barge so it could capture them, launching and igniting, from a unique angle. Titled ‘Finale,’ the three-and-a half minute clip provides the point of view as if you were sitting in the thick of it.

A Go Pro HERO8 camera (bottom-left) was carefully mounted on a barge to capture the fireworks being launched into the sky.

‘I felt this could be an interesting perspective as long as the GoPro was able to expose properly for the fireworks. I set the Go Pro HERO8 to record in 4K/60p resolution with a wide lens and 2-stops underexposed. The exposure setting worked out perfectly to capture the color and beauty of the explosions,’ Risman tells DPReview.

To stabilize the camera for smoother footage, the GoPro was placed into a an X-PWR H8 cage that was mounted to a magic arm. That arm was then mounted to a Platypod Pro to give it additional surface and stability. This was all nailed to temporary plywood on the dock so that it wouldn’t move when nearby explosives ignited.

The GoPro was connected to an external battery pack using a 3BR Powersports X-PWR H8 external power cable. The only shortcoming in the planning process came down to a matter of time: a 128GB microSD card can only record for two-and-a-half hours at 4K/60p.

The Go Pro HERO8 survived the launch site on the barge (pictured).

Recording began at 7:20 pm, as the barge started floating out on the lake. The action concluded around 9:20 pm, meaning he was able to capture everything he wanted last night. ‘By the end of the show I had no idea whether the camera survived or whether or not the camera was still recording, but fortunately everything went as planned and the footage captured was as spectacular as I had hoped it would be,’ Risman adds.

Risman edited the footage using Adobe’s Premiere Pro on his MacBook Pro. He watched the footage at both regular speed and 4X slow motion before settling on an edit that highlights the latter for more of an impact. The soundtrack ‘Fractured Time’ by Cody Martin was licensed via Soundstripe. All in all, this is truly a fitting ‘finale’ for a long Holiday weekend.

Articles: Digital Photography Review (dpreview.com)

UK Man Vomits for Months, Ends Up in Hospital After Vitamin D Overdose

https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_675,pg_1,q_80,w_1200/9ab455ae991773702287f5dcfccd81c3.jpg

Image: Shutterstock (Shutterstock)

Doctors in the UK say a man’s intense supplement regimen landed him in the hospital with vitamin D poisoning. In a new case report, they detail how their patient became sick soon after he started to take large doses of vitamins and minerals. Though vitamin D overdose is uncommon, the study authors say, cases seem to be on the rise globally.

According to the paper, published in BMJ Case Reports, the middle-aged man was referred to an emergency department by his general practitioner. For nearly three months, he had been dealing with a variety of ongoing symptoms, including vomiting, diarrhea, abdominal pain, dry mouth, tinnitus, and leg cramps; he had also lost almost 30 pounds. Tests soon ruled out other potential causes of his illness, such as infection. But they revealed evidence of acute kidney injury, as well as much higher levels of vitamin D and calcium (a common sign of vitamin D overdose) than normal in his system.

The man reported that his symptoms began about a month after he decided to take a lengthy list of supplements on the advice of a private nutritionist. But his allotted doses were far higher than the daily recommended amount. He reportedly took 50,000 milligrams of vitamin D, for instance, or almost 100 times the 600 milligrams a day we should be getting. (Other supplements included vitamin K2, vitamin C, vitamin B9, omega 3s, zinc, and magnesium). The man said he did stop taking the cocktail after his symptoms appeared, but they continued nonetheless.

Ultimately, he was placed on intravenous fluids and hospitalized for eight days, with doctors monitoring his blood every day to ensure that he was improving. He was also given counseling and drugs known as bisphosphonates to manage his high calcium levels during and after his hospitalization. Vitamin D is fat-soluble, meaning that it gets absorbed into the body’s fatty tissues and doesn’t quickly dissipate. Two months after his hospital stay, follow-up tests showed that his levels of calcium had returned to near-normal, but not his levels of vitamin D.

People naturally get vitamin D from food or from regular exposure to sunlight. And while there is some evidence that many people may have insufficient vitamin D levels, there’s no evidence that taking megadoses of vitamin D or other supplements will improve health. On the other hand, vitamin D intoxication, or hypervitaminosis D, is almost always linked to improper supplementation. Data is sparse on how often it happens, but a 2016 analysis of U.S. poison control data found over 25,000 reports related to vitamin D documented between 2000 and 2014. Most reports of illness were mild to moderate, with no related deaths, but exposures did seem to become more common over time—a trend noted by the current study authors.

G/O Media may get a commission

UNDER $1

99¢ Prime Video Channels

Prime content
Add Showtime, Starz, Paramount+, Discovery, and more to your Prime Video account for less than $1 each for the first two months of your subscription.

“Globally, there is a growing trend of hypervitaminosis D, a clinical condition characterized by elevated serum vitamin D3 levels,” they wrote, adding that cases are more common in women, children, and surgical patients.

Supplements can be useful for certain groups, such as people with clear nutritional deficiencies or pregnant people who need extra folic acid. But many doctors remain skeptical of their use for the average person. Indeed, an influential panel of experts recently recommended against taking vitamin E or beta-carotene supplements to prevent cancer or heart disease, citing the lack of good evidence for their benefits as well as some evidence that they can actually be harmful. Vitamin D overdoses like this current case aren’t common, but it is yet another example of why supplements aren’t quite as useful or harmless as commonly believed.

“This case report further highlights the potential toxicity of supplements that are largely considered safe until taken in unsafe amounts or in unsafe combinations,” the authors wrote.

Gizmodo