ux

Verve Lux tiny house puts its toilet over the trailer tongue

To gain more space, this tiny has its toilet in a bump-out built over the trailer tongue.





ux

Barometer Promise - BNP Exane "Exclusivity & Desirability" 2015: The Wealthiest Chinese Women Rank Luxury Brands - Philippe Jourdan: Partner - Promise Consulting

Philippe Jourdan: Partner - Promise Consulting




ux

Prismick Denim: Camille Seydoux para Roger Vivier - Magic Denim - Camille Seydoux for Roger Vivier

Magic Denim - Camille Seydoux for Roger Vivier





ux

Prismick Denim: Camille Seydoux para Roger Vivier - Magic Denim - Camille Seydoux for Roger Vivier

Magic Denim - Camille Seydoux for Roger Vivier





ux

Prismick Denim: Camille Seydoux para Roger Vivier - Magic Denim - Camille Seydoux for Roger Vivier

Magic Denim - Camille Seydoux for Roger Vivier




ux

This luxury resort is open for swanky social distancing retreats—take a look inside

Nemacolin Woodlands Resort in the Allegheny Mountains of Pennsylvania reopens Friday with stays and activities designed to keep guests away from each other. Social distancing retreats are "the new luxury," according to travel expert John DiScala.




ux

Luxury retailer Neiman Marcus files for bankruptcy as it struggles with debt and coronavirus fallout

The luxury department store chain had been struggling with competition from online rivals and dwindling cash before the pandemic.




ux

Global luxury sales could collapse up to 60% in the second quarter, consulting firm says

Bain predicted a full-year contraction between 20% to 35% for the personal luxury market that includes clothes, jewelry, watches, beauty products, and accessories.




ux

Michel Roux obituary

Chef and restaurateur who, with his brother, Albert, transformed the British dining experience

The chef Michel Roux, who has died aged 78, was the younger half of the formidable partnership with his brother, Albert, that transformed the British restaurant scene in the late 1960s with their Michelin-starred restaurant Le Gavroche. Later, as sole director of the Waterside Inn, situated by an idyllic stretch of the Thames at Bray, Michel proved he was a chef’s chef. His menu was a statement of the most classic form of French cooking – nouvelle cuisine had no part to play. Luxury ingredients, many mousses and forcemeats, the finest of pâtisserie, were integral. Michelin soon recognised the quality and this restaurant gained three stars, perhaps the highest professional accolade available, in 1985, which it has retained for longer than any outside France.

From the outset, the Roux brothers’ style of cooking embraced wholeheartedly the standards and practices of classic haute cuisine while offering a refined interpretation of a more homely cuisine bourgeoise. The rapid success of Le Gavroche from its star-studded opening on Lower Sloane Street, London, in 1967, attended by Ava Gardner, Charlie Chaplin, Douglas Fairbanks Jr and a brace of marquesses, enabled the construction of a veritable empire, largely driven by the entrepreneurial spirit of Albert. The pair took in more restaurants, retail outlets, a restaurant supply business distributing produce shipped in from Paris markets, contract and outside catering, and production of vacuum-packed restaurant dishes. Michel was an integral part of this furious activity, while concentrating to an ever greater degree on the kitchen at the Waterside.

Continue reading...




ux

Для ядра Linux развивается система распределённого выполнения потоков Popcorn

Политехнический университет Виргинии предложил для обсуждения разработчиками ядра Linux набор патчей с реализацией системы распределённого выполнения потоков Popcorn (Distributed Thread Execution), позволяющей организовать выполнение приложений на нескольких компьютерах с распределением и прозрачной миграцией потоков между хостами. При помощи Popcorn приложения могут быть запущены на одном хосте, после чего без остановки работы перемещены на другой хост. В многопоточных программах допускается миграция на другие хосты отдельных потоков.




ux

In Extremo - Kompass zur Sonne (Deluxe Edition) [2020]

Дата релиза: 08.05.2020

uploaded by st.liar

Список треков:
01. Troja
02. Kompass zur Sonne
03. Lügenpack
04. Gogiya (feat. Russkaja)
05. Salva Nos
06. Schenk nochmal ein
07. Saigon und Bagdad
08. Narrenschiff
09. Wer kann segeln ohne Wind (feat. Amon Amarth)
10. Reiht euch ein ihr Lumpen
11. Biersegen
12. Wintermärchen
13. 7 Brüder (Bonus Track)
14. Saigon und Bagdad (Club Mix / Bonus Track)

Скачать и обсудить альбом здесь




ux

Copyright Violation Redux: The Internet Archive's National Emergency Library


Posted by Victoria Strauss for Writer Beware®

The enormous digital archive that is the Internet Archive encompasses many different initiatives and projects. One of these is the Open Library Project, a huge repository of scanned print books available for borrowing in various digital formats.

Unlike a regular library, the IA does not purchase these books, but relies on donations to build the collection. Nor are permissions sought from copyright holders before creating the new digital editions. And although the IA claims that the project includes primarily 20th century books that are no longer widely available either physically or digitally, the collection in fact includes large numbers of 21st century books that are in-copyright and commercially available--and whose sales the Open Library's unpermissioned versions have the potential to harm.

Most professional writers' groups consider the Open Library to be not library lending, but massive copyright violation. Many have issued alerts and warnings (you can see SFWA's alert here), and many authors have contacted the IA with takedown requests (to which the IA was not always terrific at responding; you can see my account of my own frustrating experience here).

In the fall of 2018, a novel (and disputed) legal theory was created to justify the Open Library and similar initiatives, called Controlled Digital Lending (CDL). CDL's adherents present it as "a good faith interpretation of US copyright law for American libraries" seeking to conduct mass digitization projects, and invoke as support the "exhaustion" principle of the first sale doctrine (the idea that an authorized transfer of a copyrighted work "exhausts" a copyright holder's ability to subsequently control the use and distribution of  that copy; this is what allows used book sales, for example) and the fair use doctrine (a complex principle that permits the copying of a copyrighted work as long as the copying is limited and transformative). As long as the library restricts its lending in ways similar to restrictions on the lending of physical books (for instance, allowing only one user at a time to access each digital format), CDL holds that creating new digital editions of in-copyright books and lending them out is fair use, and copyright holders' permission isn't necessary.

Libraries in particular have embraced CDL. Publishers' and writers' groups...not so much, especially in light of a recent legal decision that rejected both the first sale doctrine and fair use as basis for re-selling digital content. Here's the Authors Guild:
CDL relies on an incorrect interpretation of copyright’s “fair use” doctrine to give legal cover to Open Library and potentially other CDL users’ outright piracy—scanning books without permission and lending those copies via the internet. By restricting access to one user at a time for each copy that the library owns, the proponents analogize scanning and creating digital copies to physically lending a legally purchased book. Although it sounds like an appealing argument, the CDL concept is based on a faulty legal argument that has already been rejected by the U.S. courts.

In Capitol Records v. ReDigi, the Second Circuit held that reselling a digital file without the copyright holder’s permission is not fair use because the resales competed with the legitimate copyright holder’s sales. It found that market harm was likely because the lower-priced resales were sold to the same customers who would have otherwise purchased new licenses. In this regard, the court emphasized a crucial distinction between resales of physical media and resales of digital content, noting that unlike physical copies, digital content does not deteriorate from use and thus directly substitutes new licensed digital copies.

The same rationale applies to the unauthorized resale or lending of ebooks. Allowing libraries to digitize and circulate copies made from physical books in their collection without authorization, when the same books are available or potentially available on the market, directly competes with the market for legitimate ebook licenses, ultimately usurping a valuable piece of the market from authors and copyright holders.
For a more detailed deconstruction of CDL's arguments, see this statement from the Association of American Publishers.

Flash forward to 2020, and the coronavirus pandemic crisis. Last week, the IA announced the debut of the National Emergency Library--really just the Open Library, but with some new provisions.
To address our unprecedented global and immediate need for access to reading and research materials, as of today, March 24, 2020, the Internet Archive will suspend waitlists for the 1.4 million (and growing) books in our lending library by creating a National Emergency Library to serve the nation’s displaced learners. This suspension will run through June 30, 2020, or the end of the US national emergency, whichever is later.

During the waitlist suspension, users will be able to borrow books from the National Emergency Library without joining a waitlist, ensuring that students will have access to assigned readings and library materials that the Internet Archive has digitized for the remainder of the US academic calendar, and that people who cannot physically access their local libraries because of closure or self-quarantine can continue to read and thrive during this time of crisis, keeping themselves and others safe.
What this boils down to, under all the high-flying verbiage: the IA is ditching the one-user-at-a-time restriction that is one of the key justifications for the theory of controlled digital lending, and allowing unlimited numbers of users to access any digitized book in its collection.

The Authors Guild again, on how this harms authors:
IA is using a global crisis to advance a copyright ideology that violates current federal law and hurts most authors. It has misrepresented the nature and legality of the project through a deceptive publicity campaign. Despite giving off the impression that it is expanding access to older and public domain books, a large proportion of the books on Open Library are in fact recent in-copyright books that publishers and authors rely on for critical revenue. Acting as a piracy site—of which there already are too many—the Internet Archive tramples on authors’ rights by giving away their books to the world.
Here's just one concrete example. Katherine Harbour's Nettle King is available for borrowing in the National Emergency Library as a scan, an EPUB, and a PDF (the IA's EPUB versions are OCR conversions full of errors). Published in 2016, it's also "in print" and available on Amazon and other online retailers as an ebook, in addition to other formats. The IA, which never bought a digital license to Ms. Harbour's book and scanned and uploaded it without permission, now is proposing to allow unlimited numbers of users to access it, potentially impacting her sales. How is this any different from a pirate site?

Announcement of the National Emergency Library has been greeted rapturously by the press and by libraries. Less regarded has been the flood of protest and criticism from authors and professional groups. In situations like these, authors and publishers tend to be dismissed as greedy money-grubbers who are putting profits ahead of the march of progress and the noble dream of universal access to content...despite the fact that authors' right to make money from their work--and, just as important, to control the use of it--springs directly from the US Constitution, and has been enshrined in law since 1790.

In response to the outcry over the National Emergency Library, the IA has issued a justification of it, citing the "tremendous and historic outage" of COVID-19-related library closures, with "books that tax-paying citizens have paid to access...sitting on shelves in closed libraries, inaccessible to them." This noble-sounding purpose conveniently ignores the fact that those libraries' (legally-acquired and paid-for) digital collections are still fully available.

If your book is included in the National Emergency Library, and you don't want it there, the IA will graciously allow you to opt out (another inversion of copyright, which is an opt-in system).


Hopefully they'll be more responsive than they were in 2018, when I sent them DMCA notices that they ignored. Or later, when they began rejecting writers' takedown requests by claiming that the IA "operates consistently with the Controlled Digital Lending protocol.”

******************

I've covered this question above, but I want to highlight it again, because it's such a persistent objection when this kind of infringement occurs: Brick-and-mortar libraries lend out books for free, so how are the IA's "library" projects any different?

A few reasons.

- Brick-and-mortar libraries buy the books they lend, a separate purchase for each format (hardcover, paperback, ebook, audiobook, etc.). The author gets a royalty on these purchases. The IA seeks donations, and lends those. Authors get nothing.

- Brick-and-mortar libraries lend only the books they purchase. They don't use those books to create new or additional, un-permissioned lending formats. That's exactly what the IA does. Moreover, one of its additional lending formats is riddled with OCR errors that make them a chore to read. Apart from permission issues, this is not how authors want their books to be represented to the public.

- People who advocate for looser copyright laws often paint copyright defenders as greedy or mercenary, as if defending copyright were only about money. It's worth remembering another important principle of copyright: control. Copyright gives authors not just the right to profit from their intellectual property, but to control its use. That, as much as or even more than money, is the principle the IA is violating with its library projects.

UPDATE: It appears that the IA--on its own initiative--is removing not just illegally-created digital editions in response to authors' takedown requests, but legally-created DAISY editions as well, even where authors don't ask for this (DAISY is a format for the visually impaired, and like Braille, is an exception in copyright law and is also permissioned in publishing contracts).


It did the same thing in 2018, even where the takedown requests specifically exempted DAISY editions. I don't know if the current removals reflect expediency or possibly are just a kind of FU to writers (and, indirectly, to disabled readers), but if you send a removal request to the IA, you might consider specifically asking them not to remove any editions for the blind and disabled (which, again, are legal for the IA to distribute).

UPDATE 4/2/20: The Authors Guild has issued a statement encouraging writers to demand that the Internet Archive remove their books from its National Emergency Library. The statement includes instructions on what to do, along with a sample DMCA notice in the proper legal form.

UPDATE 4/8/20: SFWA has issued a statement on the National Emergency Library, describing the legal theory of Controlled Digital Lending as "unproven and dubious". (A link to SFWA's DMCA notice generator is included.)
[U]sing the Coronavirus pandemic as an excuse, the Archive has created the “National Emergency Library” and removed virtually all controls from the digital copies so that they can be viewed and downloaded by an infinite number of readers. The uncontrolled distribution of copyrighted material is an additional blow to authors who are already facing long-term disruption of their income because of the pandemic. Uncontrolled Digital Lending lacks any legal argument or justification.
UPDATE 4/9/20: The Chairman of the US Senate Subcommittee on Intellectual Property, Thom Tillis, has sent a letter to the Internet Archive, pointing out the many voluntary initiatives by authors, publishers, and libraries to expand access to copyrighted materials, and expressing concern that this be done within the law. 
I am not aware of any measure under copyright law that permits a user of copyrighted works to unilaterally create an emergency copyright act. Indeed, I am deeply concerned that your "Library" is operating outside the boundaries of the copyright law that Congress has enacted and alone has the jurisdiction to amend.
The letter ends by punting "discussion" until "some point when the global pandemic is behind us." So, basically, carry on and maybe at some point we'll talk.

UPDATE 4/15/20: Internet Archive founder Brewster Kahle has responded to Sen. Tillis's letter, claiming that the National Library is needed because "the entire physical library system is offline and unavailable" (even though libaries' legally acquired digital collections are still fully available) and that "the fair use doctrine, codified in the Copyright Act, provides flexibility to libraries and others to adjust to changing circumstances" (there's no such language in the actual Fair Use statute).

Kahle also notes:
In an early analysis of the use we are seeing what we expected: 90% of the books borrowed were published more than ten years ago, two-thirds were published during the twentieth century. The number of books being checked out and read is comparable to that of a town of about 30,000 people. Further, about 90% of people borrowing the book only looked at it for 30 minutes. These usage patterns suggest that perhaps that patrons may be using the checked-out book for fact checking or research, but we suspect a large number of people are browsing the book in a way similar to browsing library shelves.
But this is hardly a compelling argument. Large numbers of these books are certainly still in copyright, and many are likely still "in print" and commercially available (in digital form as well as hardcopy). Just because a book was published more than ten years ago or prior to 2000 doesn't magically cause it to become so hard to find it must be digitized without permission in order to save it. "But they're older books" sidesteps, rather than addresses, the thorny copyright issues raised by the IA's unpermissioned scanning and digitizing.

This passage also tacitly confirms the IA's abandonment of the one-user-at-a-time restriction that is a key feature of the rationale for the Controlled Digital Lending theory. If the basis for your enterprise is a legal theory whose strictures can be jettisoned at will, how credible is that theory really?

Kahle also claims that "No books published in the last five years are in the National Emergency Library". As it happens, the example I provide above (Katherine Harbour's Nettle King) handily disproves this statement: it was published in 2016, and was digitized by the IA in 2018 (you can see the scan here). I seriously doubt it's the only instance. Either Kahle is being disingenuous, or he doesn't know his own collection.

As a sop to creators, Kahle reiterates that concerned authors "need only to send us an email" and their books will be removed. As I've pointed out above, this is yet another inversion of copyright law, which explicitly gives creators control over the use of their work. In other words, it's the IA, not authors, who should be the petitioners here.

UPDATE 4/16/20: This terrific, comprehensive article from the NWU's Edward Hasbrouck examines the multiple ways the Internet Archive is distributing the page images from its unpermissioned scanning of print books--"[o]nly one of [which] fits the Internet Archive’s and its supporters’ description of so-called Controlled Digital Lending (CDL)."




ux

White Palace Grecotel Luxury Resort - Первомай встречали в Греции

В прошлом году Первое мая и все майские праздники были в отеле Источник: 100 Дорог




ux

How io_uring and eBPF Will Revolutionize Programming in Linux

#263 — April 22, 2020

Read on the Web

StatusCode Weekly
Covering the week's news in software development, ops, platforms, and tooling.

The Devastating Decline of a Brilliant Young Coder — This is not a technical article but is an important one nonetheless. Lee Holloway essentially programmed Cloudflare into being. But then he became distant and unpredictable, and what happened to him is something that could affect any of us ????

Sandra Upson (WIRED)

How io_uring and eBPF Will Revolutionize Programming in Linux — Even more exciting times are coming for development on Linux thanks to these technologies. A good overview.

Glauber Costa

Slow CI Build? Get a 41:1 ROI by Switching to Semaphore — For every $1 invested in Semaphore, engineers gain $41 in reclaimed productivity. Who said money can’t buy you time?

Semaphore 2.0 sponsor

▶  Mob Programming and the Power of Flow — I enjoyed this insightful walk through the idea of bringing people together and attempting to develop things in an efficient way with numerous people around the same machine (a.k.a. ‘mob’ programming). It’s not for everyone, but it’s neat to see how it can work.

Woody Zuill

Cloudflare Workers Now Supports.. COBOL — COBOL is one of the earliest things you could really call a programming language (it first appeared in 1959!) and is often a source of amusement because it’s seen as old, verbose, clunky, and difficult to maintain. Nonetheless, it’s still in use (particularly in legacy systems) and you can use with Cloudflare Workers too!

John Graham-Cumming

Quick bytes:

???? Jobs

DevOps Engineer at X-Team (Remote) — Join the most energizing community for developers. Work from anywhere with the world's leading brands.

X-Team

Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.

Vettery

???? Stories and Opinions

How 'Memories', a 256 Byte Demo, Was Coded — You can watch the demo here or enjoy learning just how these unusual developers cram so much into so little space.

HellMood/DESiRE

The Computer Scientist Who Can’t Stop Telling Stories — For pioneering computer scientist Donald Knuth, good coding is synonymous with beautiful expression.

Quanta Magazine

▶  Discussing NGINX and Service Meshes with Alan Murphy — I enjoyed this SE Daily episode last week and learnt a fair bit.

Software Engineering Daily podcast

End-to-End Observability for Microservice Environments — Optimize service costs and reduce MTTR with full data correlation, payload visibility and automated tracing. Try free.

Epsagon sponsor

▶  Performance Profiling for Web Applications — An overview of how to use Chrome DevTools to understand a Web application’s performance bottlenecks.

Sam Saccone

Are Object Stores Starting to Look Like Databases? — A bit, yes.

Alex Woodie (Datanami)

The Case Against CS Master’s Degrees

Oz Onay

Why I Stopped Using Microservices

Robin Wieruch

???? Tutorials

Ask HN: I'm A Software Engineer Going Blind, How Should I Prepare? — This is something I hope none of you have to go through, but we’ve linked to other stories about being a blind coder in the past, and some form of sight loss will affect many of us over the years.

Hacker News

Writing an 'Emulator' in JavaScript (and Interfacing with Multiple UIs) — Tania built a Chip-8 interpreter in JavaScript and has gone into quite a bit of detail about what was involved here. Lots of neat bits and pieces to pick up from this.

Tania Rascia

What It Took to Build a Serverless App That Texts Positive COVID-19 News — Code, a screencast tour, and an article looking at what it took to build a simple serverless app using C#, Azure Functions, and Twilio to text news alerts (but only ones with positive sentiments!)

Gwyneth Pena S.

If You Use grep On Text Files, Use the -a (--text) Option — I could explain why but then you wouldn’t need to read this. Makes a good point.

Chris Siebenmann

Event-Reduce: An Algorithm to Optimize Frequently Running Queries? — In brief, the idea is that rather than having to re-run queries when data changes on a table, you can basically merge in changes to previous query results. Be sure to check the FAQs.

Daniel Meyer

Embedding Binary Objects in C

Ted Unangst

???? Code and Tools

Desed: A Debugger for sed — Demystify and debug your sed (the text processor that comes with nearly every Unix) scripts, from the comfort of your terminal. Step through line by line, place breakpoints, etc.

SoptikHa2

Falcon: An Open-Source, Cross Platform SQL Client — Built around Electron and React, this basic client can quickly do chart visualizations of query results and can connect to RedShift, MySQL, PostgreSQL, IBM DB2, Impala, MS SQL, Oracle, SQLite and more.

Plotly

The SaaS CTO Security Checklist

Sqreen sponsor

Termible: Offer Terminal Apps in the Browser Without Installation — This is a commercial service but I find the idea intriguing. You provide a Dockerfile, embed some code on your site, and let people play with your product/service “live”. HTTPie seems to use it for its live examples.

Termible

X410: An X Server for Windows 10 — If you’re using WSL (Windows Subsystem for Linux) to run Linux behind the scenes of a Windows 10 install, X410 takes things to another graphical level.

Choung Networks

60 Linux Networking Commands and Scripts“I decided to create a network tools go-to-list for myself. Then, I thought, why not turn the list into a blog post?”

Hayden James

Brök: A Tool to Find Broken Links in Text Documents — Built in Haskell.

Mark Wales

xsv: A Fast CSV Command Line Toolkit Written in Rust. — Another ‘Swiss Army knife’ for your slightly structured data.

Andrew Gallant




ux

A panel on accessibility, design inclusion and ethics, hiring and retaining diverse talent, and landing a job in UX.

It’s one thing to seek diverse talent to add to your team, another to retain the people you’ve hired. Why do so many folks we bring in to add depth and breadth of experience to our design and business decision-making process end up leaving? Hear thoughtful, useful answers to this question and other mysteries of […]

The post A panel on accessibility, design inclusion and ethics, hiring and retaining diverse talent, and landing a job in UX. appeared first on Zeldman on Web & Interaction Design.




ux

Building Redux Middleware

After writing my post a few months ago on building your own redux app, I have been asked a couple times to write a guide on creating redux middleware and how it works. This will be a quick post on how you can acheive anything with your own middleware!

##Basic middleware


const customMiddleware = store => next => action => {
  if(action.type !== 'custom') return next(action)
  //do stuff!
}

Applying it:

import { createStore, applyMiddleware, } from 'redux'
import reducer from './reducer'
import customMiddleware from './customMiddleware'

const store = createStore(
  reducer,
  applyMiddleware(customMiddleware)
)

Whaaa? store => next => action => I know that looks confusing. Essentially you are building a chain of functions, it will look like this when it gets called:

//next looks something like this:
let dispatched = null
let next = actionAttempt => dispatched = actionAttempt 

const dispatch = customMiddleware(store)(next)

dispatch({
  type: 'custom',
  value: 'test'
})

All you are doing is chaining function calls and passing in the neccesary data. When I first saw this I was confused a little due to the long chain, but it made perfect sense after reading the article on writing redux tests.

So now that we understand how those chained functions work, let’s explain the first line of our middleware.

if(action.type !== 'custom') return next(action)

There should be some way to tell what actions should go through your middleware. In this example, we are saying if the action’s type is not custom call next, which will pass it to any other middleware and then to the reducer.

##Doing Cool stuff

The official guide on redux middleware covers a few examples on this, I’m going to try to explain it in a more simple way.

Say we want an action like this:

dispatch({
  type: 'ajax',
  url: 'http://api.com',
  method: 'POST',
  body: state => ({
    title: state.title
    description: state.description
  }),
  cb: response => console.log('finished!', response)
})

We want this to do a post request, and then call the cb function. It would look something like this:

import fetch from 'isomorphic-fetch'

const ajaxMiddleware = store => next => action => {
  if(action.type !== 'ajax') return next(action)
  
  fetch(action.url, {
    method: action.method,
    body: JSON.stringify(action.body(store.getState()))
  })
  .then(response => response.json())
  .then(json => action.cb(json))
}

It’s pretty simple really. You have access to every method redux offers in middleware. What if we wanted the cb function to have access to dispatching more actions? We could change that last line of the fetch function to this:

.then(json => action.cb(json, store.dispatch))

Now in the callback, we can do:

  cb: (response, dispatch) => dispatch(newAction(response))

As you can see, middleware is very easy to write in redux. You can pass store state back to actions, and so much more. If you need any help or if I didn’t go into detail enough, feel free to leave a comment below!




ux

Using Proxies with Redux Types

One of the most common problems that I run into when using Redux is trying to figure out why an action is not being captured by a reducer. For someone just getting starting with Redux, debugging this issue can be especially overwhelming because of how Redux manages data flow. So before you start pouring over configuration code, or the logic contained in your action creators and reducers, please, make sure your action types are defined and spelled correctly.

One of the most common problems that I run into when using Redux is trying to figure out why an action is not being captured by a reducer. For someone just getting starting with Redux, debugging this issue can be especially overwhelming because of how Redux manages data flow. So before you start pouring over configuration code, or the logic contained in your action creators and reducers, please, make sure your action types are defined and spelled correctly.

In any application that I have built, most bugs that I have run into are simply due to typos. However, the solution to this particular problem is harder to spot because no errors are raised when the application is run. Take a look at the snippet below.

// actionTypes.js

export const FETCH_FILE_REQUEST = 'fetch_file_request';
export const FETCH_FILE_SUCCESS = 'fetch_file_success';
export const FETCH_FILE_FAIL = 'fetch_file_fail';


// filesReducer.js

import {
  FETCH_FILE_REQUEST,
  FETCH_FILE_SUCESS,
  FETCH_FILE_FAIL
} from '../actions/actionTypes';

const filesReducer = (state = {}, action) => {
  switch (action.type) {
    case FETCH_FILE_SUCESS:
      return { ...state, file: action.payload };
    default:
      return state;
  }
}

export default filesReducer;

Assuming we dispatched an action with type FETCH_FILE_SUCCESS, the filesReducer should catch the action before the default case is returned. But what if that is not happening? Where do we start the debugging process. There does not appear to be anything wrong with the code in the reducer; the action type was imported and matches the case in the switch statement. There are no errors in the browser. Where is the issue?

You may have noticed that I misspelled SUCCESS in filesReducer.js, but the reason this can be hard to catch is because importing undefined types does not cause an error, so when we import FETCH_FILE_SUCESS, its value is actually undefined, so our reducer always hits the default case.

It would be nice if the existing import/export system could help us catch this. Unfortunately, since action types are just strings, validating their existence is challenging. Luckily, we have another option.

Enter Proxies

Proxies are a feature of ES2015 that allow us to customize operations on a object. They can be used in many different ways, and you can find some useful examples here and here. For our problem, this example from Mozilla looks promising:

let validator = {
  set: function(obj, prop, value) {
    if (prop === 'age') {
      if (!Number.isInteger(value)) {
        throw new TypeError('The age is not an integer');
      }
      if (value > 200) {
        throw new RangeError('The age seems invalid');
      }
    }

    // The default behavior to store the value
    obj[prop] = value;

    // Indicate success
    return true;
  }
};

let person = new Proxy({}, validator);

person.age = 100;
console.log(person.age); // 100
person.age = 'young'; // Throws an exception
person.age = 300; // Throws an exception

So if proxies can be used to validate that properties assigned to an object are of a certain type and value, we should definitely be able to ensure that our action types are never undefined, or else throw an error that will be easy for us to fix. Let’s refactor our actionTypes.js file.

// actionTypes.js

const types = {
  FETCH_FILE_REQUEST: 'fetch_file_request',
  FETCH_FILE_SUCCESS: 'fetch_file_success',
  FETCH_FILE_FAIL: 'fetch_file_fail'
}

const typeValidator = {
  get(obj, prop) {
    if (obj[prop]) {
      return prop;
    } else {
      throw new TypeError(`${prop} is not a valid action type`);
    }
  }
}

module.exports = new Proxy(types, typeValidator);

First, we define a object containing all our action types. Then we define our validator handler typeValidator. The get method inside our handler is called a trap, and provides access to the properties of a object. If the property we are looking for, an action type, in this case, exists in the types object, return that prop, unmodified. Otherwise, throw an error because the prop does not exist.

Finally, export a new proxy, passing the types object as the target and the typeValidator as the handler. However, it is important to note that the ES2015 module system does not work well with proxies, so module.exports and require() must be used for exporting and importing the types.

Barely any code needs to change in the reducer and action creator files, but in order for the action types to be imported successfully, we just need couple lines of code in a new file:

// actionTypesProxy.js

export const {
  FETCH_FILE_REQUEST,
  FETCH_FILE_SUCCESS,
  FETCH_FILE_FAIL,
} = require('./actionTypes');

// in the reducer and action creator files
// change '../actions/actionTypes' to
// '../actions/actionTypesProxy'

By creating a proxy to verify the existence of an action type, we no longer have to worry about correctly naming a property upon import because an error will be thrown in the browser console as soon as the application starts. So, reduce the number headaches you get when developing an application using Redux and start using proxies.

Interested in learning how to build applications using Redux with ReactJS. Check out this online course! Modern React with Redux




ux

Fire breaks out at Shivneri luxury buses garage in Pune

Pune: Fire broke out at a garage of Shivneri luxury buses in Pune on Wednesday. The garage of Shivneri luxury buses is owned by Maharashtra State Road Transport Corporation (MSRTC). "Two fire tenders along with two water tankers are present at the spot," officials told ANI.

However, no casualties have been reported so far. Further details in the matter are still awaited.

Catch up on all the latest Crime, National, International and Hatke news here. Also download the new mid-day Android and iOS apps to get latest updates





ux

Railways enlists bloggers to publicise luxury trains

The Tourism Ministry and the IRCTC have enlisted 60 bloggers from 23 countries, including India, as part of a new publicity blitz to write on luxury trains run by the railways and improve their dwindling occupancy rate. The first-of-its-kind venture will allow the bloggers to take a week-long journey on Palace on Wheels, Maharaja Express, Deccan Odyssey and Golden Chariot in groups of 15 on each of the trains, a tourism ministry statement said today. The first 15 bloggers started their journey today on the Palace on Wheels from Safdarjung Railway Station in New Delhi.

The decision to promote travel on the trains comes after a recent parliamentary panel report pointed out that the occupancy rate during past four years - starting in 2012-13 - had been 29.86 per cent, 32.33 per cent, 41.8 per cent, 41.58 per cent and 36.03 per cent respectively. It had also said that most of the seats on these trains were occupied by passengers who had complimentary tickets. The bloggers, who have been chosen on the basis of their number of followers, will travel to destinations in various states across India on the trains and write about them. "The campaign will generate widespread publicity for the luxury trains as well as the destinations visited, by way of blogs, videos and photos published by the bloggers or Instagramers on their experiences of their journey.

Needless to say this initiative would benefit the railways and the luxury train operators to a large extent", the statement said. The second group will leave Delhi on Maharaja Express on February 10, and the third group is scheduled to leave on Deccan Odyssey on the same day from the Chaatrapati Shivaji Maharaj Terminus in Mumbai. The final group will leave on Golden Chariot on February 19 from Bengaluru on a week-long journey.

The Railway Board, the state sovernments of Rajasthan, Maharashtra and Karnataka and the IRCTC - the tourism arm of the railways - have joined hands to host the bloggers, according to the statement.





ux

Tax-News.com: France, Luxembourg Sign New Tax Treaty

A new tax treaty incorporating the latest international tax standards was signed by France and Luxembourg on March 20.




ux

Tax-News.com: Luxembourg Vulnerable To International Tax Developments, Says IMF

International tax developments could have a negative impact on Luxembourg's tax revenues and economy, the International Monetary Fund has said in its latest Luxembourg country report.




ux

Tax-News.com: Luxembourg Gazettes New IP Box Regime

The Government of Luxembourg has published in its Official Gazette the law for the introduction of the new intellectual property tax regime.




ux

Tax-News.com: Luxembourg Introduces New VAT Group Regime

Bill of law no. 7278, providing for the implementation of new value-added tax grouping rules in Luxembourg, entered into force on July 31, 2018. The bill was approved by parliament on July 26.




ux

Tax-News.com: Luxembourg Adopts Anti-Tax Avoidance Law

On December 18, 2018, Luxembourg's parliament approved legislation that will implement the European Union Anti-Tax Avoidance Directive.




ux

Tax-News.com: Luxembourg Ratifies BEPS Multilateral Instrument

Enhancements to Luxembourg's network of double tax agreements to mitigate base erosion and profit shifting will become effective from August 1, 2019.




ux

Tax-News.com: Luxembourg Ministers Endorse EU VAT 'Quick Fixes'

Luxembourg's Government Council, comprising government ministers, has approved legislative changes to the territory's VAT regime to introduce the four quick fixes to improve the functioning of VAT rules in the European Union.




ux

Tax-News.com: Luxembourg Publishes Guidance On New IP Tax Breaks

The Luxembourg direct tax administration has published a circular including comprehensive guidance for the recently introduced changes to the special tax regime for intellectual property income.




ux

Tax-News.com: Luxembourg Submits Anti-Hybrid Mismatch Law

On August 8, 2019, the Government of Luxembourg submitted to parliament draft law to implement the requirements of the second European Union Anti-Tax Avoidance Directive (ATAD 2), which tackles hybrid mismatch arrangements.




ux

Super expensive BMW launched in India! Luxury car M8 coupe costs Rs 2.15 crore

Both cars come with eight-speed steptronic sport automatic transmission and a host of safety features like six airbags, attentiveness assistance, dynamic stability control, including dynamic traction control, anti-lock braking system and electric parking brake




ux

Tax-News.com: IMF Advises Luxembourg On Coping With International Tax Changes

The IMF has welcomed Luxembourg's efforts to meet international tax standards but cautioned that international tax reform could hit the country's tax base.




ux

Tax-News.com: UK Explains BEPS Changes To Luxembourg DTA

On November 5, 2019, the UK Government released the synthesized text of the Luxembourg-UK double tax agreement, as modified by the BEPS multilateral instrument.




ux

Tax-News.com: Luxembourg's 2020 Budget Approved By Parliament

On December 19, 2019, Luxembourg's Chamber of Deputies approved the Government's Budget for 2020, which among other measures includes important changes to the validity of advanced tax rulings.




ux

Tax-News.com: Luxembourg Approves Update To French DTA

On November 15, 2019, Luxembourg's Council of Ministers approved a protocol to the 2018 double tax treaty with France, making changes to the way cross-border workers are taxed.




ux

The Tuxon, A Modern Boutique Hotel, Named The First Design Hotels™ Property In Arizona

The Tuxon, a modern boutique hotel in the heart of Tucson, has joined Marriott International's coveted Design Hotels™ portfolio, an exclusive collection of hotels celebrated for their individuality, thoughtful design, and unique, discoverable pleasures. The new hotel, the first-ever Design Hotels™ property in Arizona, will debut in Summer 2020. Guests of The Tuxon will also have access to Marriott International's unrivaled loyalty program, Marriott Bonvoy. The Tuxon joins the Design Hotels™ network of the world's most sophisticated hospitality brands with properties that span a wide variety of fascinating locales - from world capitals and mountaintops to off-the-beaten-path escapes. As a Design Hotels™ destination, The Tuxon will tap into an engaged community of travelers who seek original, inspiring experiences in new and intriguing places. Each year, more than 400 hotels apply to become members of the Design Hotels™ portfolio. Only five percent are approved, and the chosen few are r...





ux

Austria, Luxembourg and Singapore among countries signing-on to end tax secrecy

As a further sign of international efforts to crack down on tax offenders, 12 more countries have signed, or committed to sign, the OECD’s Multilateral Convention on Mutual Administrative Assistance in Tax Matters. In addition, another 6 countries have ratified the Convention.




ux

Backdoor.Linux.MIRAI.VWIQT

Over All Risk Rating : Low


IoT malware uses two different encryption routines for its strings and modified the magic number of UPX.

This Backdoor arrives on a system as a file dropped by other malware or as a file downloaded unknowingly by users when visiting malicious sites.

It executes commands from a remote malicious user, effectively compromising the affected system.

Read More




ux

Backdoor.Linux.BASHLITE.SMJC2

Over All Risk Rating : Low


This backdoor is seen propagating via CVE-2018-18636, a cross-site scripting vulnerability affecting the wireless router D-Link DSL-2640T. This malware is capable of receiving commands to flood other systems.

This Backdoor arrives on a system as a file dropped by other malware or as a file downloaded unknowingly by users when visiting malicious sites.

It executes commands from a remote malicious user, effectively compromising the affected system.

Read More




ux

Rootkit.Linux.SKIDMAP.A

Over All Risk Rating : Low


This rootkit is used by Skidmap - a Linux malware - to hide its cryptocurrency-mining abilities.

This Rootkit arrives on a system as a file dropped by other malware or as a file downloaded unknowingly by users when visiting malicious sites.

Read More




ux

Coinminer.Linux.KERBERDS.A

Over All Risk Rating : Low


This new version of KERBERDS, a known crypto-mining malware that uses an ld.so.preload-based rootkit for stealth, was seen propagating by telnet bruteforce attacks.

This Coinminer arrives on a system as a file dropped by other malware or as a file downloaded unknowingly by users when visiting malicious sites.

It uses the system's central processing unit (CPU) and/or graphical processing unit (GPU) resources to mine cryptocurrency.

Read More




ux

Backdoor.Linux.MIRAI.VWIQT

Over All Risk Rating : Low


IoT malware uses two different encryption routines for its strings and modified the magic number of UPX.

This Backdoor arrives on a system as a file dropped by other malware or as a file downloaded unknowingly by users when visiting malicious sites.

It executes commands from a remote malicious user, effectively compromising the affected system.

Read More




ux

Backdoor.Linux.BASHLITE.SMJC2

Over All Risk Rating : Low


This backdoor is seen propagating via CVE-2018-18636, a cross-site scripting vulnerability affecting the wireless router D-Link DSL-2640T. This malware is capable of receiving commands to flood other systems.

This Backdoor arrives on a system as a file dropped by other malware or as a file downloaded unknowingly by users when visiting malicious sites.

It executes commands from a remote malicious user, effectively compromising the affected system.

Read More




ux

Rootkit.Linux.SKIDMAP.A

Over All Risk Rating : Low


This rootkit is used by Skidmap - a Linux malware - to hide its cryptocurrency-mining abilities.

This Rootkit arrives on a system as a file dropped by other malware or as a file downloaded unknowingly by users when visiting malicious sites.

Read More




ux

Coinminer.Linux.KERBERDS.A

Over All Risk Rating : Low


This new version of KERBERDS, a known crypto-mining malware that uses an ld.so.preload-based rootkit for stealth, was seen propagating by telnet bruteforce attacks.

This Coinminer arrives on a system as a file dropped by other malware or as a file downloaded unknowingly by users when visiting malicious sites.

It uses the system's central processing unit (CPU) and/or graphical processing unit (GPU) resources to mine cryptocurrency.

Read More




ux

Opportunity - UIUX Developers

Company: Confidential
Experience: 2 to 5
location: Chennai
Ref: 24828016
Summary: Looking for bright, young UI/UX developers to help us create cutting edge designs.




ux

Report: Green growth in the Benelux - Indicators of local transition to a low-carbon economy in cross-border regions (Benelux)

This paper discusses the results of the 2011-2012 OECD LEED study of measuring green growth in the Benelux countries (Belgium, The Netherlands and Luxembourg). The study paid particular attention to the challenges of measuring the transition to a low-carbon economy in cross-border areas as they have additional levels of complexity when it comes to measuring and monitoring their low-carbon transition.




ux

Peer Review Report of Luxembourg - Phase 1: Legal and Regulatory Framework

This report summarises the legal and regulatory framework for transparency and exchange of information for tax purposes in Luxembourg.