Articles

We are continuing with our interview series ( previously we had interviewed Diego Ojeda – Android Lead at Apiumhub and Serhii Zabolennyi – the QA Automation engineer at Apiumhub )  and today we have a Backend interview with Javier Gomez – backend developer at Apiumhub.

In this interview, Javier gives advice for junior developers who are hoping to grow professionally as backend developers and shares his programming style, his favorite books, and how he deals with the unexpected as a backend developer.

Source de l’article sur DZONE

Informing someone that you want to “measure” them is not a great way to start a conversation. Software developers, like all people, tend to look unfavorably upon having their performance closely measured. But measuring developers is one of the hottest trends for companies around the globe. So is it tyranny to measure people?

People are quick to note that numbers don’t tell the whole story and can become defensive at the notion their productivity should be quantified somehow. This resistance can become even more entrenched when teams become stacked against each other. 

Source de l’article sur DZONE

Microservices have crafted highly flexible and adaptable IT infrastructures. Microservices is a unique software development approach that concentrates on creating single-function modules that work jointly to execute the same tasks. It enables you to alter only one service, without modifying the rest of the infrastructure. In simple words, one can easily deploy and change every service without affecting the functional facets of other applications or services. Instead of following an old monolithic architecture (sole app with manifold functions), testers and developers use this microservice approach to build independent modules for every function.

However, the microservice architecture can also make an app extra complicated, particularly when we add several functionalities. Likewise, testing the combined functionality of numerous services is a lot more complicated due to the distributed nature of the app. As microservices follow a dissimilar architecture, we also require an exceptional strategy for testing microservices. In this article, we will explore different tools for testing microservice applications. Testing microservices can assist us in eradicating several issues by avoiding a domino effect. 

Source de l’article sur DZONE

The best free online coding websites for beginners are hubs of education and insight, designed to take your knowledge and career to the next level.

For years, technical careers have been gaining more attention among innovative individuals. In a digital world, people capable of speaking computer language often have the widest selection of job opportunities. However, before you can start leveraging the blossoming job market, you need to hone your skills. That’s where free coding websites come in.

A free online coding website is an environment where you can develop your understanding of various kinds of code, update your programming prowess, and even earn certifications. Today, we’re going to be looking at some of the most impressive coding websites on the market.

Coding Careers: Opportunities in 2021 and Beyond

Before we leap into our overview of the best free coding websites, let’s examine why it’s so important to invest in your coding role. Looking at the US Bureau of Labor Statistics, we see that coders earn an average of $89,190 per year.

Elsewhere, CompTIA notes that technology hiring has accelerated since the end of 2020, with up to 391,000 new positions opening in the US during December.

Though coding careers have been popular for some time now, they have particularly high value following the pandemic, as companies worldwide adapt to the changes associated with remote workforces, digital customer service, and ecommerce. The pandemic has made us more reliant on technology than ever before, as a result:

  • Coding skills are in high demand: Coding skills are essential for the newly digital world. Studies find that the pandemic has accelerated digital transformation by around 7 years. Companies need coding professionals to stay ahead of the curve.
  • Coding knowledge is becoming more versatile: Companies are looking for coding skills in more than just programmers. They want their data analysts, IT workers, artists, designers, and other professionals to have these talents too.
  • People with coding talent can earn more: Jobs requiring coding skills tend to pay more than those that don’t. This reveals the growing need for coding knowledge in the digital ecosystem.

Coding skills provide an avenue to tech professionals for higher-income jobs, and these careers are growing faster on average than other job opportunities.

The Best Websites for Learning to Code

Learning to code or developing your existing coding skills can help you to unlock a host of new opportunities. Today, you can learn coding online for free, just by visiting the right websites.

Even a basic knowledge of coding can drive a range of results, such as helping to support the better management of websites, reducing reliance on outside developers, and opening the door to app development. So whether you want to start a new career or upgrade your existing knowledge, these sites will help:

BitDegree

BitDegree is a wonderful website for anyone interested in web development, coding, data science, and programming. There are various courses to choose from, depending on the career path you want to take. For instance, you can learn about the AWS cloud or start your journey into gaming development. For coding, BitDegree covers languages like:

  • CSS
  • HTML
  • PHP
  • SQL
  • JavaScript
  • jQuery

The best thing about BitDegree is how it makes learning so fun. There are gamified courses and sections where you can really dive into the essentials of coding. In addition, the online coding course collection often features hundreds of discounted options for people on a budget.

CodeAcademy

One of the most popular sites for learning how to code for free, CodeAcademy is home to over 24 million students who have built their skills. The interactive learning approach lets you apply what you’ve learned immediately. Over 300 million hours of free coding content are available to check out at your leisure. Like most coding platforms, you can learn languages such as:

  • CSS
  • JavaScript
  • HTML
  • PHP
  • jQuery
  • Python
  • PHP
  • Ruby

CodeAcademy is particularly effective for beginners because you get instant feedback after submitting your coding efforts. When you make mistakes, you’ll find out exactly where you went wrong, allowing you to avoid similar mistakes in the future.

Codewars

Codewars by Qualified is definitely one of the most versatile free platforms for learning how to code. There are dozens of languages you can learn – too many to list right here. Options range from C++ and C# to Ruby, Python, Lean, Java, PHP, Scala, and countless others.

Codewars teaches you your programming language in-depth by selecting challenges designed to put your mind to the test. The goal for each challenge is to help you sharpen your knowledge over time, with tasks that get progressively more difficult over time.

The cool thing about Codewars is it allows you to see how you respond to challenges compared to how other coders have tackled the same issues.

Code.Org

Designed for a younger community of would-be coders, Code.org is an engaging and highly accessible introduction to coding. With around 60 million students worldwide, the Code.org platform gives you access to a wide range of different learning opportunities intended to suit different needs and learning levels.

The Code.org environment is built on a desire to bring coding into the standard curriculum. You can dive into full one-hour tutorials, or you can experiment with a more structured approach to learning, which is ideal for people with different learning styles. There’s also a huge catalog of courses extending from basic coding for younger kids all the way to University-level education.

Free Code Camp

A diverse option in our free coding website list, Free Code Camp is all about developing your coding knowledge while simultaneously networking with other like-minded people in the industry. The solution allows you to learn coding by participating in challenges – which is ideal if you want to put your skills to the test as soon as possible.

To help you jump in, you’ll have access to a range of courses and tutorials designed to help you understand and overcome each challenge. You can even code for non-profits on the platform and build tradeable projects in languages like:

  • HTML5
  • Javascript
  • Node.JS
  • CSS3
  • React.JS
  • Databases
  • Git

If you’re a little nervous about the concept of coding alone, you’ll have a full community to work within the Free Code Camp. You might even meet someone you can work with in the years ahead.

Code Conquest

Code Conquest is less of a course website and more of a comprehensive guide for beginners diving into the world of code. This amazing platform will help you understand all of the basics of coding in no time – even if you’re brand-new to the landscape. You can find out what coding is all about, learn which languages are best to learn for your needs, and more.

The website is full of resources for all kinds of coders, including comprehensive tutorials, reviews, a knowledge center, training packs, and more. You can even choose from a range of languages like:

  • CSS
  • HTML
  • PHP
  • jQuery
  • Ruby
  • JavaScript
  • Python
  • MySQL

To help you figure out where you should get started, the Code Conquest website also gives you recommendations on which tutorials to take next.

W3Schools

One of the better-known free websites for coding on the market today, W3Schools is an environment packed full of example codes, resources, tutorials, exercises, and libraries to help you learn how to code. The site is one of the largest in the world for developers.

To begin coding with W3 Schools, you’ll need to choose the programming language that’s right for you, then either jump into the program immediately or select from a range of learning options. The site comes with a handy quiz to help you define your knowledge level.

Languages range from CSS to SQL, JavaScript, HTML, Python, Java, C++, and many more.

Code Avengers

Code Avengers offers a fun and interactive approach to learning how to program and code. There are various course options to teach you how to create everything from games and apps to entire websites. The good thing about the Code Avengers website is you don’t need a lot of spare time to start learning. Each course takes around 12 hours to complete.

You can choose from languages like HTML, CSS, Python, jQuery, JavaScript, and more, and connect with a wide selection of similar coding enthusiasts, just like you. The biggest downside is that the free trial only lasts for seven days before you’ll need to pay to use the full program.

The Code Player

A simple and effective website for learning how to code and building your existing skills. There are tons of videos and demos to walk you through the process of learning how to code from scratch. All you need to do is click on one of the things you want to learn how to do, like creating a simple web page, and the site will give you a video walkthrough.

Though a little simple compared to other coding resources, the Code Player still has a lot of great video guidance to help beginners jump into various languages. For example, you can learn about CSS and HTML or check out various tools to help you make a more effective website.

CodeGym

If you’re particularly interested in learning about Java, the CodeGym is probably the website for you. This online Java programming course teaches you the basics of Java by allowing you to dive into various tasks. You can get involved with various exercises depending on your existing skill level and play around with games designed to teach you more about the coding landscape.

This website is fantastic for people in all stages of the coding journey. Whenever you suggest a solution to a challenge, the website will give you immediate feedback to learn from. There are more than 500 hours of Java coding exercises and educational resources to explore.

The Odin Project

One of the better-known free coding websites on the market, the Odin Project aims to take the headaches and frustration out of learning web development. If you’re a beginner looking to develop a career in coding, then the Odin Project will give you all the pieces of the puzzle required to decide exactly where you want to go and build the appropriate skills.

This site offers a full-stack curriculum of coding education options, with tons of challenges, tasks, and exercises to help you put your newly gained knowledge to the test. You’ll learn how to program in languages like CSS and HTML, explore the basics of JavaScript and Ruby, and even get tips on how to get hired when your skills are maxed out.

Plural Sight

Previously known as Code School, Plural Sight is a fantastic online learning platform that allows you to build your knowledge through a range of paid and free courses. The comprehensive platform is organized into a wide selection of different learning paths. You can choose how you want to develop your skills based on your chosen language and your existing skillset.

You choose an education path created by professional instructors to achieve specific outcomes, and Plural Sight gives you all the material you need. You can also practice what you’ve learned during the course in your browser and get immediate feedback on what you need to work on. There’s even a gamification aspect that allows you to earn points for every course level you complete.

MIT Open Courseware

Imagine how amazing it would be to get accepted to MIT to learn your new coding skills? What if you didn’t have to go through the headache of an official application. If you have a computer and internet access, you can explore MIT’s course material easily through the MIT Open Courseware website. This dedicated website gives you an insight into all of the courses and materials learned by students at MIT.

You can browse through all the courses available in the programming landscape and filter through results based on things like course features. For instance, you might specifically look for courses with their own online textbook, lecture notes, and videos. It’s a great way to get an insight into how one of the most reputable universities in the world offers coding education.

Web Fundamentals

We’ve already looked at a website offering coding resources specifically for Java, now let’s take a look at one designed for HTML5. Launched about 11 years ago as HTML5 Rocks, the Web Fundamentals website is packed full of tutorials, resources, and insights into the most recent updates to HTML5. This open-source environment allows developers and programmers to really get active with their skills.

You can play around with some of the code already available on the website, and explore tutorials authored by a range of amazing individuals. Although these courses are very comprehensive, it’s worth noting that they might not be the perfect choice for true beginners, as the tutorials can be more complex than most.

Dash General Assembly

If you’re keen to learn the essentials of coding in some of the most popular languages, like CSS, JavaScript, and HTML, then Dash General Assembly is the site for you. This website offers fun and free courses which will guide you through the basics of web development. You even get interactive tasks and challenges you can leverage within your browser, with no downloads required.

Users learn how to do a range of amazing things with this website, including how to code HTML5, build a beautiful website, and balance your layouts for aesthetic appeal and usability. You can even design dynamic interfaces where you can add aminations and effects. Dash General Assembly is a fantastic tool for anyone keen to get started in the world of coding.

Codeasy.net

Finally, Codeasy.net promises beginners a fast and simple way to start learning how to code, while having plenty of fun. This exciting website immerses you within a digital story which takes you on an adventure through the basics of coding. You’ll need to learn real-life coding skills to navigate your way through the rest of the story, which means you can develop your C# knowledge as you go.

This is one of the more unique tools for learning how to code that we’ve found so far. It’s a great way to discover the basics of C# without being bogged down in boring lectures. Remember, though, this website is intended for complete beginners, so you might find it a little basic if you already know some of the coding essentials.

Free Websites for Learning to Code

Free coding websites are an excellent way to develop your skills and unlock new opportunities in the world of coding. If you’re keen to jump into a new career as a programmer or coding developer, make sure you check out some of the options above. There’s no doubt you’ll find a site capable of giving you the boost you need.

 

Featured image via Unsplash.

Source

The post 16 Free Websites for Learning to Code in 2021 first appeared on Webdesigner Depot.


Source de l’article sur Webdesignerdepot

As we all know the Cloud-based systems are becoming the most popular architecture in the software engineering world, and the most famous and beloved Cloud platform among developers is Spring Cloud.

Spring Cloud has some important features which are given in the following parts and the feature part does a specific job:

Source de l’article sur DZONE

By now you’re likely aware of JavaScript Object Notation (JSON). Heck, I’d be willing to bet that there’s even a good chance that you’ve used it for one reason or another. And, honestly, I’m sure that reason was a good one. JSON has become ubiquitous in the software industry because it provides developers with a simple and flexible way of managing data.

In the context of databases, JSON was often thought of as something you’d use with NoSQL solutions. However, over the past few years, JSON integrations have made their way into the relational world. And for good reason. The ability to store JSON documents within a relational database allows you to create hybrid data models, containing both structured and semi-structured data, and enjoy all of the benefits of JSON without having to sacrifice the advantages of relational databases (e.g. SQL and all things data integrity).

Source de l’article sur DZONE

Craft CMS is increasing in popularity, and as it does, the previously relatively scant range of plugins is growing rapidly.

There are plugins for Craft ranging from simple field utilities to the full ecommerce solution provided by Pixel & Tonic — the makers of Craft.

An early decision that has borne fruit for Craft has been the plugin licensing model. Paid plugins for Craft charge an initial license fee and then a reduced annual renewal price for updates. This ongoing payment structure ensures plugin maintenance is economically viable for developers, and as a result, Craft plugins tend to be updated more often and are abandoned less.

The best plugins depend very much on the site you’re developing and what you’re trying to achieve. However, some are so universally useful that I install them on virtually every site I build; here’s a list.

1. Redactor

Installing Redactor is a no-brainer when it comes to picking your plugins. Maintained by Pixel & Tonic, it’s a rich text field that extends Craft‘s basic text input. It’s so useful it may as well be part of the core Craft code.

One of the best features is the ease with which Redactor can be customized. Just duplicate the settings file inside the config directory and edit its contents to alter what editing options are available; it’s simple to create anything from a field with a bold option to a full rich text editor. In addition, each Redactor field can be set to use any of the settings files.

Free

2. Retcon

When you’re outputting code from a rich text field like Redactor, you’ll get clean HTML output — which most of the time is what you want. However, if you’re using something like Tailwind, those classes are non-negotiable. I’m not a fan of Tailwind, but I am a fan of using classes in my CSS selectors instead of element names.

Retcon is an invaluable plugin that extends Twig filters to supply a host of options when you’re outputting content. It can add classes to elements, insert attributes, modify the element type, and tons more.

Free

3. Venveo Bulk Edit

During the life of a site, there’s a good chance that you’re going to have to alter fields and sections after the content is in. It’s a common problem if you’re importing data from another platform using FeedMe, or if you have an indecisive client, or even if the site is simply growing.

Venveo Bulk Edit is a plugin that integrates closely with the Craft UI and allows you to edit the contents of multiple entries at once. This plugin has saved me hundreds of hours that would otherwise have been spent painstakingly editing entries one at a time.

Free

4. Super Table

At some point, you’re going to need a configurable list of inputs. Maybe you’re creating a list of documents to download, building a directory, or even your site navigation. You could create a new channel and then add the entries as an entry field, or even set it up with a matrix field, but this is awkward to edit even with Craft 3.7’s new editing experience.

I’m a big fan of opting for the simplest solution, and in this case, the simplest option is a table field. Unfortunately, Craft’s built-in table field has limited field type support. Super Table, on the other hand, supports almost anything, giving you a powerful, orderable set of fields.

Free

5. No-Cache

Craft has a really powerful caching system. It allows you to cache whole or partial templates, and it‘s intelligent enough to know when you’ve edited content that has been cached so that it can be re-cached.

Understanding Craft’s caching is vital; as a very general guide, dynamic content benefits from caching, but static content does not.

However, you will regularly encounter situations where you want to opt out of the caching. A blog post, for example, could be cached, but the time since it was posted must not be, or every post would appear to have been published “today” until the cache is refreshed.

The No-Cache plugin adds a couple of Twig tags that allow you to temporarily opt-out of the cache. This means that you can cache larger sections of your templates, simplifying your caching decisions considerably while still being able to fine-tune what is cached.

Free

6. Retour

Sooner or later, you’re going to have users hitting 404 errors. If you’re restructuring a site and changing the architecture, it will be sooner. To avoid breaking the UX and SEO, you need to add redirects.

Retour is a helpful plugin that sits in your dashboard side menu. Anytime a user triggers a 404, Retour will flag it up, so you can decide how to redirect the URL in the future.

$59 for the first year; $29/year for updates after that

7. Sherlock

One of Craft’s big strengths is its security. A lot of attention has gone into making sure that the core installation uses best practices. However, as with any CMS, potential security vulnerabilities start to creep in as soon as you introduce 3rd-party code (WordPress’ biggest vulnerability by far is its plugins).

You only need to look at the size of the vendor directory in your installation to see how many 3rd-party dependencies your site has. Even a small site is a house of cards.

Sherlock is a security scanner that performs a number of different tasks to help you stay secure, from checking on security threats in 3rd-party scripts to checking directory permissions. The paid version will even let you limit IP addresses if your site comes under attack — although your hosting company may well do this for you.

Lite: Free
Plus: $199 for the first year; $99/year for updates after that
Pro: $299 for the first year; $149/year for updates after that

8. Imager X

Craft’s built-in image transforms are a little limited. For example, they only work with actual assets, not remote images.

Imager X is an excellent plugin that, among many benefits, allows you to transform remote images. In addition, its refined syntax is perfect for coding complex art direction.

Imager X isn’t cheap, but considering the enormous importance of image optimization, unless you have a straightforward set of images to manipulate, it’s an investment you’ll be glad you made.

Lite: $49 for the first year; $29/year for updates after that
Pro: $99 for the first year; $59/year for updates after that

9. SEOMatic

SEOMatic is the SEO solution most Craft developers default to, including Pixel & Tonic themselves.

You’ll need to define the basics in its settings, and you may find yourself creating extra fields specifically for it to pull data from, but the handy progress bars on its dashboard page will give you an overview of what’s set and what needs to be done.

SEOMatic is another premium plugin, but implementing it is far simpler and cost-effective than digging through all those meta tags and XML files yourself.

$99 for the first year; $49/year for updates after that

Must-Install Craft CMS Plugins

The Craft ecosystem is rapidly growing, and the diversity of the plugins available increases as Craft is utilized for more and more sites.

But despite the lure of shiny new plugins, there are some tools that I return to again and again either because they elegantly fill a gap in the core Craft feature set or because I’ve tried them, and I trust them to be robust.

These are the plugins that I have found most useful in the last couple of years, and installing them is the first thing I do when I set up a new Craft installation.

Source

The post 9 Must-Install Craft CMS Plugins first appeared on Webdesigner Depot.


Source de l’article sur Webdesignerdepot

Kotlin is great: it’s more concise and expressive than Java, it allows for safer code, and offers seamless interoperability with Java. The latter allows developers to migrate their projects to Kotlin without having to rewrite the entire codebase. Such migrations are one of the reasons why we might have to work with JPA in Kotlin. Picking JPA for a fresh Kotlin application also makes sense, as it is a mature technology familiar to the developers.

There is no JPA without entities, and defining them in Kotlin comes with some caveats. Let’s look at how to avoid the common pitfalls and make the most of using Kotlin. Spoiler alert: data classes are not the best option for entity classes.

This article will be mostly focused on Hibernate as it is undoubtedly the leader among all JPA implementations.

Source de l’article sur DZONE

The dog days of summer are here. From vacations to pool time, you might not be thinking about work that much. But there are still plenty of new tools and resources popping up to help you become a better or more efficient designer.

Here’s what new for designers this month.

Haikei

Haikei is a web app that you can use to generate SVG shapes, backgrounds, and patterns in a web-based editor that you can use with any design tool or workflow process. Everything is customizable and it is free with access to 15 generator functions. (Additional templates and generators will be available when the pro plan is released later.)

Pixelhunter

Pixelhunter is a smart image resizer for social media platforms. It recognizes objects and crops pictures automatically. It supports 102 sizes and is free to use.

Compo

Compo is an Apple app that allows you to play with shapes and colors and create compositions on your own. You can see shapes and colors like the Bauhaus masters, creating from a blank canvas or shuffling in more creative ways. You can move, rotate, copy, overlap, and adjust shapes and colors to suit your style. Available for iPad and iPhone.

Backlight

Backlight is an all-in-one design system platform that allows you to build code and reference sites in a space where designers and developers can work together. It has a series of “starter kits” to help you with the technology you use from React to Chakra to Tailwindcss. It’s designed to be collaborative with everything in one place and integrates into your workflows. The tool is just launching and you can request early access to learn more.

Multi Color Text With CSS

Multi Color Text With CSS is pure fun. Check out the pen by Shireen Taj.

Mega Creator

Mega Creator is an online graphic design tool that helps you create images, icons, illustrations, backgrounds, and more for a number of uses. It has templates that are sized for common uses such as social media. You can upload your own elements to work with (free) or use including graphic assets for a fee.

Noloco

Noloco is a no-code solution for designers to build web apps. You can start building for free and design almost anything you can dream up from a set of drag-and-drop ready-made blocks. (And it will work across all screen sizes.)

Tinter

Tinter is a tiny web tool to generate color variations of images. The tool also generates monochrome colors of images with multiple variants, without hampering the quality of the image.

Radix Colors

Radix Colors is an accessible, open-source color system for designing gorgeous websites and apps. It includes 28 color scales with 12 steps each and includes support for dark mode as well as matching transparencies.

WP Cost Calculator

WP Cost Calculator is a smart, simple tool that allows you to easily create price estimation forms. It’s perfect for a number of industries that use online pricing.

TraveledMap

TraveledMap allows you to create customizable maps thanks to the use of markers, routes, and photos, which you can share or add to your website or blog. This tool is made for travelers and tourism pros.

Glyph Neue Icons

Glyph Neue Icons is a collection of 1,500 icons in SVG and PNG format. (They are free with a link.) Icons come in plenty of categories and styles for all types of use.

Streamline Icons

Streamline Icons is a set of thousands of icons in 12 different styles and themes that you can use for projects. They work through the Streamline app or a plugin for Figma, Sketch, or Adobe XD.

Health Icons

Health Icons is a set of free, open-source health icons for personal or commercial projects. They include filled and outline styles that are editable. There are more than 800 icons in the collection.

OMG, SVG Favicons FTW!

OMG, SVG Favicons FTW! Is a look at the benefits of using SVG favicons in web projects. It also examines some of the challenges – such as browsers support – with code snippets to help you get started.

Aspect Ratio in CSS

Aspect Ratio in CSS explores a design concept we talk about a lot in other places, but not so much with CSS. This piece by Ahmad Shadeed takes a look at how you can go beyond the “padding hack” and use native aspect ratio support in CSS to maintain image height and width ratios in responsive design.

Fight Kick

Fight Kick is a bold font with a lot of personality. The free demo version has 249 characters and is for personal use only.

Glow Better

Glow Better is a beautiful premium typeface with a pair of options – a serif and script. Both contain letterforms with swashes and tails that are delightful.

Huggable Hedgehogs

Huggable Hedgehogs is a playful font that’s perfect for children’s projects. Everything has a mono-height in the all uppercase typeface.

Monice

Monice is a rounded sans serif with thick lines and high readability. It includes bold, regular, and italic styles with free (demo, personal) and commercial options.

Rustica

Rustica is a robust premium typeface with 20 styles and family options. It has slim curves and an easy-to-read character set that would work for almost any use. It also supports 219 languages.

Source

The post Exciting New Tools for Designers, July 2021 first appeared on Webdesigner Depot.


Source de l’article sur Webdesignerdepot

On June 29th, GitHub announced Copilot, an AI-powered auto-complete for programmers, prompting a debate about the ethics of borrowed code.

GitHub is one of the biggest code repositories on the Internet. It hosts billions of lines of code, creating an unparalleled dataset with which to train a coding AI. And that is exactly what OpenAI, via GitHub, thanks to its owners Microsoft has done — training Copilot using public repositories.

The chances are you haven’t tried Copilot yet, because it’s still invite-only via a VSCode plugin. People who have, are reporting that it’s a stunning tool, with a few limitations; it transforms coders from writers to editors because when code is inserted for you, you still have to read it to make sure it’s what you intended.

Some developers have cried “foul” at what they see as over-reach by a corporation unafraid of copyright infringement when long-term profits are on offer. There have also been reports of Copilot spilling private data, such as API keys. If, however, as GitHub states, the tool has been trained on publicly available code, the real question is: which genius saved an API key to a public repository.

GitHub’s defense has been that it has only trained Copilot on public code and that training AI on public datasets is considered “fair use” in the industry because any other approach is prohibitively expensive. However, as reported by The Verge, there is a growing question of what constitutes “fair use”; the TLDR being that if an application is commercial, then any work product is potentially derivative.

If a judge rules that Copilot’s code is derivative, then any code created with the tool is, by definition, derivative. Thus, we could conceivably reach the point at which a humans.txt file is required to credit everyone who deserves kudos for a site or app. It seems far-fetched, but we’re talking about a world in which restaurants serve tepid coffee for fear of litigation.

There are plenty of idealists (a group to which I could easily be accused of belonging) that nurture a soft-spot for the open-source, community-driven web. And of course, it’s true to say that many who walk the halls (or at least log into the Slack) of Microsoft, OpenAI, and GitHub are of the same inclination, contributing generously to open-source projects, mentoring, blogging, and offering a leg-up to other coders.

When I first learnt to code HTML, step one, before <p>hello World!</p> was view > developer > view source. Most human developers have been actively encouraged to look at other people’s code to understand the best way to achieve something — after all, that’s how web standards emerged.

Some individuals are perhaps owed credit for their work. One example is Robert Penner, whose work on easing functions inspired a generation of Actionscript/JavaScript coders. Penner published his functions online for free, under the MIT license; he also wrote a book which taught me, among other things, that a while loop beats a for loop, a lesson I use every day — I’d like to think the royalties bought him a small Caribbean island (or at least a vacation on one).

There is an important distinction between posting code online and publishing code examples in a book, namely that the latter is expected to be protected. Where Copilot is on questionable ground is that the AI is not a searchable database of functions, it’s code derived from specific problems. On the surface, it appears that anything Copilot produces must be derivative.

I don’t have a public GitHub repository, so OpenAI learned nothing from me. But let’s say I did. Let’s say I had posted a JavaScript-powered animation from which Copilot garnered some of its understanding. Does Microsoft owe me a fraction of its profits? Do I in turn owe Penner a fraction of mine? Does Penner owe Adobe (who bought Macromedia)? Does Adobe owe Brendan Eich (the creator of JavaScript)? Does Eich owe James Gosling (creator of Java), if not for the syntax, then for the name? And while we’re at it, which OS was Gosling using back in the mid-90s to compile his code — I doubt it was named after a fruit.

If this seems farcical, it’s because it is. But it’s a real problem created by the fact that technology is moving faster than the law. Intellectual property rights defined before the advent of the home computer cannot possibly define an AI-driven future.

 

Featured image uses images via Max Chen and Michael Dziedzic.

Source

The post Poll: The Ethical Dilemma at the Heart of GitHub’s Copilot first appeared on Webdesigner Depot.


Source de l’article sur Webdesignerdepot