Dealmaster: A bunch of Amazon devices are on sale for Prime members today

Dealmaster: A bunch of Amazon devices are on sale for Prime members today

Ars Technica

Greetings, Arsians! The Dealmaster is back with another round of deals to share. Today’s list is headlined by a new round of discounts on Amazon devices, including the company’s Fire TV Stick streamers, Fire tablets, and Kindle e-readers, among others. The catch? Most of the discounts are for Prime members only.

Still, that covers a whole lot of people, and a few of the discounts here either match or come close to the prices we saw during Amazon’s Prime Day event in July. The company’s

latest (and waterproof) Kindle Paperwhite

, for one,

is down to $90

, while the

entry-level Kindle

is down to $65. Both are $5 more than they were on Prime Day. At $50 and $30, respectively,

the Fire HD 8

and

Fire 7

are now matching their Prime Day prices and are still generally worthwhile choices for people wanting to spend as little as possible on a tablet. The

Fire TV Stick 4K

and 1080p

Fire TV Stick

aren’t as steeply discounted, meanwhile, but they’re both $15 off for those in need of a new streaming stick. The company’s

Cloud Cam

security camera and

Echo Show 5

smart display are significantly discounted for those who don’t have Prime, too.

The big caveat here is that Amazon is announcing new hardware of some sort next week. The company held an event last September where it mainly introduced new Echo devices and other smart home accessories, so it’s not certain that the Fire and Kindle devices here will be replaced, but there’s at least some chance that these discounts are designed to clear out inventory. Still, most of what’s here is a good value all the same. And if you’re not interested in having more Amazon in your life, we also have deals on Roku streamers, Logitech keyboards and mice, external hard drives, and more. Have a look at the full rundown below.

Note: Ars Technica may earn compensation for sales from links on this post through affiliate programs.

Table of Contents

Top 10 deals of the day

Amazon device deals

  • Prime only: Amazon Fire TV Stick 4K HDR media streamer for $34.99 at Amazon (normally $49.99).
  • Prime only: Amazon Fire TV Stick 1080p media streamer for $24.99 at Amazon (normally $39.99).
  • Prime only: Amazon Fire TV Recast (500GB) over-the-air DVR for $169.99 at Amazon (normally $229.99).
  • Prime only: Amazon Fire HD 8 (16GB, ads) tablet – 8-inch 1280×800 for $49.99 at Amazon (normally $79.99).
  • Prime only: Amazon Fire 7 (16GB, ads) tablet – 7-inch 1024×600 for $29.99 at Amazon (normally $49.99).
  • Prime only: Amazon Kindle Paperwhite (8GB, ads) e-reader for $89.99 at Amazon (normally $129.99).
  • Prime only: Amazon Kindle (4GB, ads) e-reader for $64.99 at Amazon (normally $89.99).
  • Amazon Cloud Cam 1080p security camera for $89.99 at Amazon (normally $119.99).
  • Amazon Echo 5 smart display for $64.99 at Amazon and Best Buy (normally $89.99).

Laptop and desktop PC deals

  • Apple Mac Mini (late 2018) – Intel Core i3-8100B, 8GB RAM, 128GB SSD for $699 at Amazon (normally $749.99).
  • Samsung Chromebook Plus V2 laptop – Intel Core m3-7Y30, 12.2-inch 1920×1200 touch, 4GB RAM, 128GB eMMC for $399 at Best Buy (normally $449.99).
  • Asus ROG Strix G gaming laptop – Intel Core i5-9300H, 15.6-inch 1080p 120Hz, 8GB RAM, 512GB SSD, GTX 1660 Ti 6GB for $999 at Walmart (normally $1,299).
  • Lenovo ThinkPad P53 mobile workstation laptop – Intel Core i7-9750H, 15.6-inch 3840×2160 OLED touch, 16GB RAM, 512GB SSD, Nvidia Quadro T2000 4GB GPU for $1,484.45 (use code: THINKSEPT - normally $1,899).
  • Dell XPS Tower desktop – Intel Core i7-9700, 16GB RAM, 512GB SSD, GeForce GTX 1050 Ti for $949.99 at Dell (use code: DTXPSAFF1 – normally $1,399.99).
  • AMD Ryzen 7 2700X 8-core/16-thread desktop processor for $197.99 at Amazon and Newegg (normally $239.99).

Video game deals

Gaming deals

TV and home entertainment deals

Electronics deals

Accessories and miscellaneous deals

  • LEGO Ideas NASA Apollo Saturn V 21309 kit (1,900 pieces) for $99.99 at Amazon (normally $119.99).
  • Instant Pot Ultra (6qt) electric pressure cooker for $83.77 at Amazon (normally $109).
  • Anker PowerPort Atom III wall charger – 60W, 45W USB-C PD, 1x USB-A for $31.99 at Amazon (normally $42.99).
  • Anker Roav Viva smart car charger – Alexa, 2x USB-A for $19.96 at Amazon (clip 11% coupon – normally $35.99).
  • Anker PowerWave Pad wireless charger – 10W for Galaxy phones, 7.5W for iPhone for $9.99 at Amazon (use code: LABOR2503 - normally $17.99).
  • Anker PowerLine II 3-in-1 charging cable – USB-C, microUSB, Lightning for $11.24 at Amazon (use code: ANKER8436 - normally $17.99).

via Ars Technica
Dealmaster: A bunch of Amazon devices are on sale for Prime members today

A Peek Into the Soviet Computer Revolution

One of the largest and coolest collections of Soviet computers in the world resides in an apartment complex in Mariupol, Ukraine. Dmitriy Cherepanov started Club 8-bit with a small collection of computers built when the Soviet bloc was crafting its own personal computers.

It’s like looking into an alternative universe. The machines popular to kids growing up in the Soviet bloc look just different enough from what we’re familiar within the western world, but still carries that same since of nostalgia you or I might get for a Commodore 64 or Macintosh II.

Cherepanov has been collecting and restoring these computers for over a decade, and his museum of PCs is a fascinating look at the wide scope of the 80s PC revolution.

via Gizmodo
A Peek Into the Soviet Computer Revolution

Behold the power of shotgun

Good news from The Sun UK:

IN HIS SIGHTS SAS hero kills five terrorists in seven seconds with shotgun to stop ‘suicide bombing’

AN SAS hero armed with a shotgun reportedly killed five terrorists in just seven seconds to stop a suicide bombing attack.

The Brit soldier had stormed a bomb factory as part of an SAS raid on an ISIS outpost in Baghdad, Iraq.

As the SAS ‘breach team’ entered a courtyard, they were confronted by a group of heavily armed jihadis.

One of the brave Brits fired at them with his Benelli M4 Super 90 semi-automatic shotgun, killing three would-be bombers.

Another two terrorists appeared from a building and he reportedly shot them dead as well.

Several other jihadis then emerged, but immediately surrendered after seeing two of the bodies “didn’t have heads”, reports claim.

Ha ha ha, fuck yeah!!!

I’m reminded of what the great Clint Smith said about shotguns:

Shotguns at the right range with the right load will physically remove a chunk of shit off your opponent and throw that shit on the floor.  And you have to get someone to come in and clean this shit up with a shovel.”

Apparently that SAS operator was at the right range with the right load and that chunk of shit was Muhammad Bin Terrorist’s head.

“The terrorists were no more than a few feet away when the SAS team came face to face with them,” the source said.

“They had just finished morning prayers and were loading weapons into a vehicle. We now think they were about to carry out an attack.

“One of the breach team opened fire…it was a case of bang, bang, bang, then bang, bang. It was over in seven seconds.”

Suicide vests filled with slabs of plastic explosives and ball bearings were found on two of the dead jihadis.

The vests are understood to have been designed for mass casualties.

I remember being told a story by one of my Marine buddies.  They were having problems in Iraq where they would shoot some terrorist in a breaching operation but the terrorist had enough time before dying to pull the pin on a grenade or set off explosives and get the Marines who entered the room.

So a few of them bought 1 oz. deer slugs when they got rotated back home and loaded those up in their shotguns on their next deployment.

A 1 oz. deer slug hitting center of mass at no more than 10 yards is so traumatic that it shuts a human being off like a light.

There is nothing like the power of a 12 gauge scattergun at close range for ending threats.

via
Behold the power of shotgun

How Colored Pencils are Made

How Colored Pencils are Made

Link

We’ve seen footage of pencils being made before, but the guys at Faber-Castell want us to know that their process is the best. Watch as they make black leads from graphite and clay, and colorful ones from powders and wax, then sandwich them into wooden shells, and paint them to match.

via The Awesomer
How Colored Pencils are Made

ClamAV Anti-Virus Validator for Laravel

ClamAV Anti-Virus Validator for Laravel

ClamAV Validator is a Laravel package by Krishnaprasad MG that provides a custom virus validator based on ClamAV antivirus scanner for file uploads.

Some setup is required to use this package—you need to install ClamAV antivirus scanner on your server to make this package work.

Once you have configured your servers, you use this rule like any other validation rule:

$request->validate(['upload' => 'clamav']); 

To learn more about the underlying anti-virus engine, check out the ClamAV antivirus website.

You can learn more about the ClamAV Validator package, get full installation instructions, and view the source code on GitHub at sunspikes/clamav-validator.


Filed in: News


Enjoy this? Get Laravel News delivered straight to your inbox every Sunday.

No Spam, ever. We’ll never share your email address and you can opt out at any time.

via Laravel News
ClamAV Anti-Virus Validator for Laravel

The Empire Strikes Axe

The Empire Strikes Axe

Link

Star Wars tribute band Galactic Empire bangs out an awesome hard rock cover version of John Williams’ The Imperial March, giving the Empire’s most iconic theme song an appropriately razor-sharp edge to accompany all of their evil deeds. Even Emperor Palpatine approves, and he’s not easy to please.

via The Awesomer
The Empire Strikes Axe

Video Platforms Parser

Video Platforms Parser

The Video Platforms parser PHP package by @chojnicki is an easy-to-use SDK for multiple platforms like YouTube, Dailymotion, Facebook, and more.

The API usage is simple, you can get video info like this:

$info = $parser->get('https://www.youtube.com/watch?v=jofNR_WkoCE'); 

Here’s some sample output from Dailymotion, which is similar data you’ll see from any supported platform:

>>> \VideoPlatformsParser::get('https://www.dailymotion.com/video/x6qac05?playlist=x5xlnc'); => [ "id" => "x6qac05", "platform" => "dailymotion", "title" => "Simon Pegg on His Most Iconic Characters", "description" => "Simon Pegg breaks down his favorite and most iconic characters, including Tim from "Spaced," Shaun from "Shaun of the Dead," Nicholas Angel from "Hot Fuzz," Gary King from "The World's End," Scotty in "Star Trek," Unkar Plutt in "Star Wars: The Force Awakens," and Benji Dunn in the "Mission: Impossible" movies. Simon stars in "Mission: Impossible - Fallout," out in theaters July 27th.", "thumbnail" => "https://s1.dmcdn.net/v/OGOr51TU0A1fJD7He", "tags" => [ "celebrity", "iconic", "mission impossible", "simon pegg", "Season: Season 1", "Series: Iconic Characters", ], "api" => true, ] 

At the time of writing this package supports the following platforms:

  • YouTube
  • Dailymotion
  • Facebook
  • LiveLeak
  • CDA
  • Vimeo

You can learn more about this package, get full installation instructions, and view the source code on GitHub at chojnicki/video-platforms-parser.


Filed in: News


Enjoy this? Get Laravel News delivered straight to your inbox every Sunday.

No Spam, ever. We’ll never share your email address and you can opt out at any time.

via Laravel News
Video Platforms Parser

Getting started with Laravel APIs Part 2: Stoplight Studio

stoplight studio logo

stoplight studio logo

Designing an API can be easy. As long as you approach it in a logical way, and take each part separately, so you do not over complicate the process. For this article I am going to take a theoretical API and walk through how I would design it.

What we are building?

building blocks

building blocks

In this series we will be building a Training Log API, what is this? A training log is a simple referencing platform which allows individuals, or organisations, to make a log of what training has been completed as well as marking attendance for training courses.

Possibly one of the first steps for anyone creating an API is figuring out some sort of business logic, what will this system do extactly. These can theen be broken down into user stories/epics/features and go through some level of project management flow to create what will become our sprints.

Lets figure out what we need

As this is a tutorial, I will not be going completely indepth with what this system will do – it will be a trimmed down API to demonstrate a process. We can break down our requirmeents in a simple list at this stage. I like to think in a behavioural way at this stage:

  • As a user, I must be able to login and register
  • As a user, I must be able to see courses available
  • As a user, I must be able to enrol on a course
  • As a user, I must be able to attend training sessions as part of a course
  • As a user, I must be able to see my progress on a course and my completed courses

These are some pretty basic requirements for our training log API. However, even these simple requiremnts will give us a good insight into how we should approach designing our API.

Stoplight is a fantastic tool for designing your API, and the Models within your API. It has a great user interface, and has the benefit of creating openapi spec deocuments for you. For example:

model designer on stoplight studio

model designer on stoplight studio

Which in turn outputs:

title: User type: object description: An entity that can log into our system properties:  id:  type: integer  uuid:  type: string

For this style system a User is always one of the first things that I build, for the purpose of saving reading space I am ommiting none crucial fields from the models.

One we have an entity that is able to access our system we can start to define the connecting models which will in turn define what our API can do.

Breaking down our requirements

Going through our requirements above, it is easy to see how we could break down our resources and start to map relationships between them. Below I will break down the process:

As a user, I must be able to login and register

So a User model will need to be able to access our system – this part is easy enough to understand.

As a user, I must be able to see courses available

A User needs to be able to see available courses. So we will need a Course model and one of the requirements is that we need to see only available ones: so this will want a boolean flag to mark availability which we can apply through the API.

As a user, I must be able to enrol on a course

So we have a User and we have Courses. Now we need to enrol on them. The easiest option here would be to create a many to many relationship through a pivit table in Laravel it would look like:

<?php class User extends Model {  public function courses()  {  return $this->belongsToMany(Course::class);  } } class Course extends Model {  public function users()  {  return $this->belongsToMany(User::class);  } }

This, however, is not what I am going to do. For this I will create a new model called Enrolment which will capture both User and Course but will give us more extensibility than a standard pivot relation.

As a user, I must be able to attend training sessions as part of a course

So each course will want to be broken into sections, which will have an order to them. From this you can also gather that we will want some meta information to tag onto courses and sections. From working in EdTech previously, I know that a course/section will need to have topics that it covers so that an end user can figure out what they will learn on this course and if they want to do it.

To mark attendance, a simple pivot relation will suffice here for now. I do not think this is the time to think about CQRS and Event Sourcing – while it will give great control and insight into the data, it will be over engineering for what we need.

As a user, I must be able to see my progress on a course and my completed courses

So Users want to Enrol onto a Course, which will be tagged with Topics, which will allow them to Attend the many Sections and see progress along the way.

When you look at the feature requirements and the outputted list, there are other areas where improvements could be added – however it is easy to get carried away with yourself and over engineer an API at this point.

So, Stoplight Studio – putting the piecse together

Below you will see some examples (screenshots) and markup which you can use in your projects:

User Model

title: User type: object description: An entity that can log into our system properties:  id:  type: integer  uuid:  type: string

Course Model

title: Course type: object description: An Entity that Users can Enrol onto properties:  id:  type: integer  uuid:  type: string

Enrolment Model

title: Enrolment type: object description: A entity that allows the linking of Users to Courses properties:  id:  type: integer  uuid:  type: string  user:  $ref: ./user.v1.yaml  course:  $ref: ./course.v1.yaml

Section Model

title: Section type: object properties:  id:  type: integer  uuid:  type: string  course:  $ref: ./course.v1.yaml  order:  type: integer description: An entity that defines parts of a Course

Conclusion

Breaking down requirements can take a little bit of extra thought, but using a tool like Stoplight to visualise the information is very handy – and actually makes the task a lot nicer!

In the next part to this series we will be starting some Laravel code going through how we should set up Laravel for an API, and what changes we might want to consider.

via Laravel News Links
Getting started with Laravel APIs Part 2: Stoplight Studio