Hexbyte – Glen Cove – News Learn how to edit photos and create graphics in Photoshop for just $29 -Hexbyte Glen Cove News

Hexbyte – Glen Cove – News Learn how to edit photos and create graphics in Photoshop for just $29 -Hexbyte Glen Cove News

Hexbyte – Glen Cove – News

Creative professionals are no strangers to Adobe Photoshop. It’s one of the most popular and versatile photo editing tools on the market, and it’s a skill that every graphic designer or photographer should master. If you’re interested in these careers, you must learn how to use Photoshop effectively, and this $29 bundle will show you how.

The Complete Photoshop Master Class Bundle features 6 courses on Photoshop’s many applications. If you’re just starting out, Photoshop Made Easy will teach you the basics such as how to use layers, the tone curve, levels, and more. Once you have the fundamentals down, you can start specializing in areas such as web design, portrait photography, lighting, and more, which are all covered in this bundle. Alternatively, if you only intend to use Photoshop for light editing, Photoshop For Busy Entrepreneurs will teach you simple tricks to market your brand and improve your editing efficiency.

Photoshop is a complex tool for the uninitiated, but with the proper guidance, you can unlock Photoshop’s full potential to edit stunning photos and graphics. The Complete Photoshop Master Class Bundle is currently on sale for just $29, or 97% off.

The Complete Photoshop Master Class Bundle 2019 – $29

See Deal

Read More

Hexbyte  Tech News  Wired Audi Recalls Some E-Tron SUVs Over a Battery Issue

Hexbyte Tech News Wired Audi Recalls Some E-Tron SUVs Over a Battery Issue

Hexbyte Tech News Wired

Hexbyte  Tech News  Wired

A faulty grommet seal could allow moisture to seep into the battery of the Audi E-Tron, potentially causing a fire.

AUDI

Audi has voluntarily recalled some of its first electric vehicles over battery issues that could cause fires, though none have yet been reported. The recall affects 1,644 E-Tron electric SUVs, only 540 of which have made it to customers. The German automaker declined to disclose sales figures for the Tesla challenger, but said in April that 20,000 had made advance reservations for the E-tron.

Aarian Marshall covers autonomous vehicles, transportation policy, and urban planning for WIRED.

According to Audi, the problem stems from a faulty grommet seal, which sits in the vehicle’s wiring harness between the charge port and the battery. In at least five vehicles sold worldwide, the grommet has allowed moisture to seep into the battery, risking a short circuit or even a fire. (Neither actually happened.) The E-tron system monitors the battery for moisture, and Audi says a yellow battery warning light should appear if the vehicle’s sensors find something has gone wrong inside.

Recalls, and especially voluntary recalls, are far from unusual: More than 42.6 million vehicles were affected by 899 recalls in 2017. At least 12 electric vehicles have been subject to some kind of recall, though not all concerned the vehicles’ batteries.

Recent well-publicized battery fires in Tesla and NIO electric vehicles have stoked fears about fire risks, even though assessments have suggested that EVs have a comparable or even smaller risk of accidental fire than their gasoline- or diesel-powered cousins. A 2017 study by the National Highway Traffic Safety Administration found the lithium-ion batteries used in electric vehicles contain or produce chemicals that can, under very specific conditions, become toxic or cause fires. The US agency recommended manufacturers continue to collaborate and share information on how to safely make and use vehicle batteries.

Last month, Tesla pushed an over-the-air update to the software that manages battery charging and thermal controls in its Model X and S vehicles. The electric automaker told The Verge it updated its software “out of an abundance of caution.”

Audi, meanwhile, will continue to sell and deliver E-trons as it works to resolve its battery issue in the affected vehicles. It says it should know exactly how to repair the issue—and whether the fix is a quick tweak of a replacement of the entire E-tron wiring harness—in six to eight weeks. If affected E-tron owners don’t want to get their vehicles fixed or replaced, the automaker urges them to watch for that yellow warning light; if it comes on, drivers should immediately pull over into an open space and call roadside assistance. Those who opt to have their E-trons repaired will get a loaner vehicle, an $800 cash card, and a free maintenance package.

Audi has poured plenty of money and marketing firepower (sorry) into the E-tron, its entree into the suddenly crowded premium electric SUV market. There’s the Model X, of course, but also the Jaguar I-Pace, and the forthcoming Mercedes-Benz EQC. Porsche has reportedly put its crossover Mission E Cross Turismo concept into production. There have never been as many opportunities to schlep a lot of crud inside an electric vehicle as there are right now. Just watch for those warning lights.


More Great WIRED Stories

Read More

Hexbyte  Tech News  Wired The First Murder Case to Use Family Tree Forensics Goes to Trial

Hexbyte Tech News Wired The First Murder Case to Use Family Tree Forensics Goes to Trial

Hexbyte Tech News Wired

Hexbyte  Tech News  Wired

To crack a 32-year-old murder case, police used genetic genealogy, which involves searching family tree sites and the DNA that people add to them. Now its legality is getting scrutiny in the courtroom.

Elena Lacey; Getty Images

On a clear day, from the middle of a well-trafficked stretch of reinforced concrete that spans the Snoqualmie River in Washington state, you can make out the hulking, ice-covered flanks of Mount Rainier. Locals bring their dogs to the so-called High Bridge to swim on their lunch breaks; high school kids in oversized hoodies pick their way through the raspberry thickets looking for a shady spot to light up. There are no memorials, no plastic flowers, no signs to mark the occasion when, nearly 32 years ago, somebody dumped the body of a young man at the base of this bridge, half-wrapped in a powder-blue blanket, plastic cords still cutting into his neck, and a pack of Camel Lights shoved down his throat.

Jay Cook’s battered, barely 21-year-old body was discovered on Thanksgiving Day in 1987, two days after his 17-year-old girlfriend Tanya Van Cuylenborg was found dead in a ditch one county over. She had been shot in the head and was believed to have been sexually assaulted. The young Canadian couple had been reported missing for nearly a week, after they failed to return to their home on Vancouver Island, British Columbia, from an overnight errand to buy furnace parts in Seattle. Despite investigating hundreds of leads and subjecting crime scene samples to new DNA technologies as they arrived in the ’90s and 2000s, police never arrested any suspects. For more than three decades the case went unsolved.

Then in May of last year, Washington officials announced a breakthrough. Snohomish County Sheriff’s Detective Jim Scharf stood at a podium and told the reporters assembled that they had, at long last, arrested a suspect: a balding, middle-aged man who had grown up in the area named William Earl Talbott II. “He was never on any list law enforcement had, there was never a tip providing his name,” said Scharf. “If it hadn’t been for genetic genealogy, we wouldn’t be standing here today.”

At the time, the statement probably didn’t mean much to most people beyond the Cook and Van Cuylenborg families. Talbott, who would later plead not guilty, was only the second person to be fingered using a new forensic technique known as genetic genealogy. It involves creating DNA profiles like the kind you’d get through 23andMe or Ancestry from crime scene samples and looking through public genealogy websites for matches, which could surface family members that lead to new suspects. The first, a California man accused of being the notorious Golden State Killer, had been taken into police custody mere weeks before.

Since then, the technique has been used to help identify suspects in at least 50 cases, even as critics warn it could mean the end of genetic privacy. Police departments and the Federal Bureau of Investigation have formed their own dedicated family tree-building units; multiple companies have launched lucrative genetic genealogy services, and it’s all happening with no federal or state laws to rein it in. Now the Talbott case, which begins this week, will be the first to put genetic genealogy on trial.

At stake is more than justice for Cook and Van Cuylenborg. The trial’s outcome could result in legal precedents that could determine the future of one of the most powerful and invasive tools for finding people to ever fall into the hands of law enforcement.

On Tuesday morning, in Snohomish County’s largest courtroom, jury selection begins for what will likely be a monthlong double-homicide trial. It will be up to the 12 chosen to weigh the evidence against Talbott—including the science behind genetic genealogy, which is sure to be hotly contested. Last week the defense filed pretrial motions arguing that the genealogy evidence should be inadmissible, on which Judge Linda C. Krese is expected to make a ruling later this afternoon.

Provided they can move forward with this approach, prosecutors plan to call CeCe Moore, the genetic genealogist who worked the Cook/Van Cuylenborg case, to give testimony on how she came up with a lead for Snohomish County investigators. Up until last year, Moore had mostly used her self-taught DNA sleuthing skills to help adopted people find their biological parents.

Like many genealogists, her main tool was a website called GEDmatch. It had been built as a side project in the late 2000s by two like-minded hobbyists, allowing people who had tested their DNA with different companies to upload their genetic profiles and find relatives more easily. Its algorithms were also more powerful than most companies’—you could match with people who were many branches removed, such as third and even fourth cousins.

As family-tree building took off—by 2014 genealogy websites were second in internet popularity only to porn—the number of profiles on GEDmatch swelled toward the 1 million mark. But the vast majority of those users, including GEDmatch’s founders, Curtis Rogers and John Olson, didn’t know that the same tool they were using to track down family secrets was also being used by police to hunt down one of the nation’s most elusive serial killers.

When it became public knowledge that GEDmatch had been the key to unlocking the Golden State Killer case last April, Rogers feared a backlash from his users. But instead he received emails, hundreds of them, he says, applauding the development. “They said things like ‘We’re so pleased you’re doing this,’ and ‘Thank you for helping to get rid of these scumbags,’ and so gradually I got more comfortable with the idea,” Rogers told WIRED in an interview last year. He changed GEDmatch’s terms of service to explicitly allow law enforcement to use it for violent crimes—murders and rapes—a change that users were notified of when they tried to log in.

With Rogers and the bulk of the genealogy community on board, Moore accepted a post at a small forensic firm called Parabon Nanolabs to head up its new genetic genealogy services division. Up until that point, the company had specialized in using anonymous DNA to mock up rough mug shots of unidentified individuals. They already had genetic profiles for about 100 cases on file, and they wasted no time in uploading them to GEDmatch. The first of these to cross Moore’s desk was DNA taken from a semen-stained swatch of Van Cuylenborg’s pants.

The GEDmatch report turned up a pair of second cousins that shared genetic material with whoever had left DNA at the crime scene. Moore spent the course of a weekend sorting through obituaries, census records, newspaper archives, and social media posts to figure out the marriage that connected them. She followed branches of their descendants until she arrived at a couple who in the ’80s had lived seven miles from the High Bridge. Their last name was Talbott, and they had one male offspring.

Moore showed her research to Snohomish County investigators, who put a tail on the man, now living near Seattle, and collected DNA from a cup he discarded. A crime lab confirmed the match. “This was a straightforward case where the family trees intersected in a very clear way,” Moore told WIRED last year. “It’s not always going to be that way.”

Talbott and his three sisters were raised by their parents Pat and Bill in a small house on a wooded lot. Twenty-four years old at the time of the killings, he worked most of his adult life as a delivery truck driver in and around Seattle, according to court documents. Though he never married or had children, Talbott became an honorary member of the families of friends he met through work—joining them for holidays, camping trips, or motorcycle rides, and trekking to local fairs and rodeos around the Pacific Northwest. Many of these friends and coworkers wrote letters to the court refusing to believe that anyone as kind and gentle as the man they know as “Bill,” a man with no criminal history, who never owned any guns or smoked cigarettes, could have done something so terrible.

Proving that beyond a measurable doubt now falls to the state’s prosecutors — and around the country legal scholars, family history buffs, and police departments will be closely following their efforts. Of course, the question of whether or not law enforcement’s use of genetic genealogy will ultimately be upheld as constitutional won’t be solved in a month. Legal challenges could go on for years, possibly even all the way up to the Supreme Court.

Beyond potential legal hurdles, the emerging technique is facing some new practical challenges. Last month, Rogers and Olson let Utah investigators use GEDmatch to find a suspect in an active assault case, despite it being a violation of the site’s terms. This time, users were upset. What does informed consent mean, if exceptions can be made at any time without their knowledge, they wondered.

To quell the outcry, the GEDmatch founders changed the terms yet again, to bring the definition of violent crimes in line with what the FBI and other law enforcement agencies use, and opting out everyone by default. Overnight, that change took the number of potential matches police could access through the database from more than 1 million down to zero.

Those numbers are starting to creep back up. As of last week, Rogers says they have just passed the 50,000 mark. Other databases, like the one at FamilyTreeDNA, remain open to police. But Moore’s team at Parabon can’t yet work with that database, because of technical differences between genetic file types, according to FamilyTreeDNA. Which means that if Moore were to search GEDmatch today with the DNA from the Snohomish County Crime scene, she’d face more than 20-fold steeper odds of ever finding two relatives she could trace to Talbott. With his arrest, she proved genetic genealogy wasn’t just a one-off way to connect decades-old DNA to a name and a face.

Now it’s up to the courts to decide if that’s enough to put someone away for life.


More Great WIRED Stories

Read More

Hexbyte  News  Computers From Design Patterns to Category Theory

Hexbyte News Computers From Design Patterns to Category Theory

Hexbyte News Computers

How do you design good abstractions? By using abstractions that already exist.

When I was a boy, I had a cassette tape player. It came with playback controls like these:

Hexbyte  News  Computers Rewind, play/pause, and fast forward symbols.

Soon after cassette players had become widely adopted, VCR manufacturers figured out that they could reuse those symbols to make their machines easier to use. Everyone could play a video tape, but ‘no one’ could ‘program’ them, because, while playback controls were already universally understood by consumers, each VCR came with its own proprietary interface for ‘programming’.

Then came CD players. Same controls.

MP3 players. Same controls.

Streaming audio and video players. Same controls.

If you download an app that plays music, odds are that you’ll find it easy to get started playing music. One reason is that all playback apps seem to have the same common set of controls. It’s an abstraction that you already know.

Understanding source code #

As I explain in my Humane Code video, you can’t program without abstractions. To summarise, in the words of Robert C. Martin

“Abstraction is the elimination of the irrelevant and the amplification of the essential”

With such abstractions, source code becomes easier to understand. Like everything else, there’s no silver bullet, but good coding abstractions can save you much grief, and make it easier to understand big and complex code bases.

Not only can a good abstraction shield you from having to understand all the details in a big system, but if you’re familiar with the abstraction, you may be able to quickly get up to speed.

While the above definition is great for identifying a good abstraction, it doesn’t tell you how to create one.

Design patterns #

Design Patterns explains that a design pattern is a general reusable solution to a commonly occurring problem. As I interpret the original intent of the Gang of Four, the book was an attempt to collect and abstract solutions that were repeatedly observed ‘in the wild’. The design patterns in the book are descriptive, not prescriptive.

Design patterns are useful in two ways:

  • They offer solutions
  • They form a vocabulary

In my opinion, however, people often overlook the second advantage. Programmers are often eager to find solutions. “I have a problem; what’s the solution? Oh, here’s a design pattern that fits!”

I have no problems with ready-made solutions, but I think that the other advantage may be even bigger. When you’re looking at unfamiliar source code, you struggle to understand how it’s structured, and what it does. If, hypothetically, you discover that pieces of that unfamiliar source code follows a design pattern that you know, then understanding the code becomes much easier.

There are two criteria for this to happen:

  • The reader (you) must already know the pattern
  • The original author (also you?) must have implemented the pattern without any surprising deviations

As a programmer (code author), you can help readers (users) of your code. Don’t use every design pattern in the book, but when you use one, make it as obvious to the reader as you can: Use the terminology, class names, and so on from the book. Add comments where your naming deviates. Add links that the novice user can follow to learn more.

Ambiguous specification #

Programming to a well-known abstraction is a force multiplier, but it does require that those two conditions are satisfied: prior knowledge, and correct implementation.

I don’t know how to solve the prior knowledge requirement, other than to tell you to study. I do, however, think that it’s possible to formalise some of the known design patterns.

Most design patterns are described in some depth. They come with sections on motivation, when to use and not to use, diagrams, and example code. Furthermore, they also come with an overview of variations.

Picture this: as a reader, you’ve just identified that the code you’re looking at is an implementation of a design pattern. Then you realise that it isn’t structured like you’d expect, or that its behaviour surprises you. Was the author incompetent, after all?

While you’re inclined to believe the worst about your fellow (wo)man, you look up the original pattern, and there it is: the author is using a variation of the pattern.

Design patterns are ambiguous.

Universal abstractions #

Design Patterns was a great effort in 1994, and I’ve personally benefited from it. The catalogue was an attempt to discover good abstractions.

What’s a good abstraction? As already quoted, it’s a model that amplifies the essentials, etcetera. I think a good abstraction should also be intuitive.

What’s the most intuitive abstractions ever?

Mathematics.

Stay with me, please. If you’re a normal reader of my blog, you’re most likely an ‘industry programmer’ or enterprise developer. You’re not interested in mathematics. Perhaps mathematics even turns you off, and at the very least, you never had use for mathematics in programming.

You may not find n-dimensional differential topology, or stochastic calculus, intuitive, but that’s not the kind of mathematics I have in mind.

Basic arithmetic is intuitive. You know: 1 + 3 = 4, or 3 * 4 = 12. In fact, it’s so intuitive that you can’t formally prove it -without axioms, that is. These axioms are unprovable; you must take them at face value, but you’ll readily do that because they’re so intuitive.

Mathematics is a big structure, but it’s all based on intuitive axioms. Mathematics is intuitive.

Writers before me have celebrated the power of mathematical abstraction in programming. For instance, in Domain-Driven Design Eric Evans discusses how Closure of Operations leads to object models reminiscent of arithmetic. If you can design Value Objects in such a way that you can somehow ‘add’ them together, you have an intuitive and powerful abstraction.

Notice that there’s more than one way to combine numbers. You can add them together, but you can also multiply them. Could there be a common abstraction for that? What about objects that can somehow be combined, even if they aren’t ‘number-like’? The generalisation of such operations is a branch of mathematics called category theory, and it has turned out to be productive when applied to functional programming. Haskell is the most prominent example.

By an interesting coincidence, the ‘things’ in category theory are called objects, and while they aren’t objects in the sense that we think of in object-oriented design, there is some equivalence. Category theory concerns itself with how objects map to other objects. A functional programmer would interpret such morphisms as functions, but in a sense, you can also think of them as well-defined behaviour that’s associated with data.

The objects of category theory are universal abstractions. Some of them, it turns out, coincide with known design patterns. The difference is, however, that category theory concepts are governed by specific laws. In order to be a functor, for example, an object must obey certain simple and intuitive laws. This makes the category theory concepts more specific, and less ambiguous, than design patterns.

The coming article series is an exploration of this space:

I believe that learning about these universal abstractions is the next step in software design. If you know design patterns, you have a vocabulary, but the details are still open to interpretation. If you know category theory, you have a better vocabulary. Just like design patterns, you have to learn these things, but once you’ve learned them, you’ve learned something that transcends a particular software library, a particular framework, a particular programming language. Learning about functors, monoids, and so on, is a good investment, because these concepts are rooted in mathematics, not any particular technology.

Motivation #

The purpose of this article series is two-fold. Depending on your needs and interests, you can use it to

  • learn better abstractions
  • learn how functional programming is a real alternative to object-oriented programming

You’ve already read how it’s in your interest to learn universal abstractions. It’ll make your code clearer, more concise, and you’ll have a better software design vocabulary.

The other goal of these articles may be less clear. Object-oriented programming (OOP) is the dominant software design paradigm. It wasn’t always so. When OOP was new, many veteran programmers couldn’t see how it could be useful. They were schooled in one paradigm, and it was difficult for them to shift to the new paradigm. They were used to do things in one way (typically, procedural), and it wasn’t clear how to achieve the same goals with idiomatic object-oriented design.

The same sort of resistance applies to functional programming. Tasks that are easy in OOP seem impossible in functional programming. How do you make a for loop? How do you change state? How do you break out of a routine?

This leads to both frustration, and dismissal of functional programming, which is still seen as either academic, or something only interesting in computation-heavy domains like science or finance.

It’s my secondary goal with these articles to show that:

  1. There are clear equivalences between known design patterns and concepts from category theory
  2. Thus, functional programming is as universally useful as OOP
  3. Since equivalences exist, there’s a learning path

If you’re an object-oriented programmer, you can use this catalogue as a learning path. If you’d normally use a Composite, you can look it up and realise that it’s the same as a monoid.

Work in progress #

I’ve been thinking about these topics for years. What’s a good abstraction? When do abstractions compose?

My first attempt at answering these questions was in 2010, but while I had the experience that certain abstractions composed better than others, I lacked the vocabulary. I’ve been wanting to write a better treatment of the topic ever since, but I’ve been constantly learning as I’ve grappled with the concepts.

I believe that I now have the vocabulary to take a stab at this again. This is hardly the ultimate treatment. A year from now, I hope to have learned even more, and perhaps that’ll lead to further insights or refinement. Still, I can’t postpone writing this article until I’ve stopped learning, because at that time I’ll either be dead or senile.

I’ll write these articles in an authoritative voice, because a text that constantly moderates and qualifies its assertions easily becomes unreadable. Don’t consider the tone an indication that I’m certain that I’m right. I’ve tried to be as rigorous in my arguments as I could, but I don’t have a formal education in computer science. I welcome feedback on any article, both if it’s to corroborate my findings, or if it’s to refute them. If you have any sort of feedback, then please leave a comment.

I consider the publication of these articles as though I submit them to peer review. If you can refute them, they deserve to be refuted. If not, they just may be valuable to other people.

Summary #

Category theory generalises some intuitive relations, such as how numbers combine (e.g. via addition or multiplication). Instead of discussing numbers, however, category theory considers abstract ‘objects’. This field of mathematics explore how object relate and compose.

Some category theory concepts can be translated to code. These universal abstractions can form the basis of a powerful and concise software design vocabulary.

The design patterns movement was an early attempt to create such a vocabulary. I think using category theory offers the chance of a better vocabulary, but fortunately, all the work that went into design patterns isn’t wasted. It seems to me that some design patterns are essentially ad-hoc, informally specified, specialised instances of basic category theory concepts. There’s quite a bit of overlap. This should further strengthen the argument that category theory is valuable in programming, because some of the concepts are equivalent to design patterns that have already proven useful.

Next: Monoids, semigroups, and friends.

Read More