teleren/devto huggingface dataset:
Today I Learned Program and Coprogram
Tags: functional, theory, computerscience
Published: 2020-07-09 09:13:04

[How to design co-programs | Patterns in Functional Programming](https://patternsinfp.wordpress.com/2018/11/21/how-to-design-co-programs/)

On the tail of the last random thought I realized data transformations are reinterpretations of constructors. That turns out to be a very established pattern in program design. Implicit in my thought was that constructors means constructors of the input. Like any established pattern, it has a dual. Enter coprogram, which are reinterpretations of constructors of the output.

The motivating example of `zip` is quite impressive. `zip` takes two lists and transform them into one list of pairs, pairing corresponding elements.

```haskell
zip :: [a] -> [b] -> [(a,b)]
```

The conventional way of defining `zip` is case analysis on the input, as shown in the Haskell Prelude.

```haskell
zip []     _bs    = []
zip _as    []     = []
zip (a:as) (b:bs) = (a,b) : zip as bs
```

What if we case analyze the output instead? Instead of asking "what is the output when input is empty", what if we ask "what is the input when output is empty"?

```haskell
zip as bs = 
    if null as || null bs then []
    else (head x, head y) : zip (tail x) (tail y)
``` 

This concept adds a very welcome stepping stone between structural recursion and divide-and-conquer.
Understand developer ecosystems with Christina Voskoglou
Tags: devrel, podcast, devops
Published: 2020-07-09 09:35:16

**Trick questions of the week:**
*Do you understand developer ecosystemss?*
 
This is the starting point: understanding your developer audience, their needs and preferences and segmenting them, using data to make decisions and boost your marketing activities' performance.

This is also among the most common questions vendors and developer program leaders ask Christina Voskoglou, SlashData’s Senior Director of Research and today’s episode guest.
 
In this episode we discuss:
*  Developer ecosystems and who is included in them (spoiler alert: may include people who do minimal coding)
*  The evolution of developer ecosystems these past 10 years
*  The biggest changes seen, what drove those and how different technologies drive the future
*  Hyped technologies: do they fade away or evolve to solve other problems?
*  The most common questions asked by developer program leaders.
 
**This episode wraps up an amazing Season 2. We can't thank you all for being with us, in this journey. 
Season 3 will be back this fall.** 
 
[Listen to this episode] (https://www.devrelx.com/podcast?utm_source=devto_article&utm_medium=Christina&utm_campaign=Episode16) to better understand developers and unlock key insights to the developer ecosystem, from the person who knows it best.

{% spotify spotify:episode:62Uk63mdo7wgXLSK1TmTXo %}

Graph Christina discusses in our “Let’s talk Data” section: [Where Machine Learning developers deploy their code] (https://www.devrelx.com/trends?lightbox=dataItem-k9mq59ga1?utm_source=devto_article&utm_medium=Christina&utm_campaign=Episode16). 


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/toiwbpejtn2xdsjw60hq.jpg)

 
**Christina Voskoglou** is responsible for all of SlashData’s research products and heads the analyst and operations teams. With more than 19 years of experience in data science, data mining, BI and CRM design, she leads all research for SlashData, from planning and methodology, survey design, and data analysis, to insights generation and research commercialisation. Christina is also behind SlashData’s outcome-based developer segmentation model and is the leading SlashData researcher in Machine Learning and Data Science.
Building an app for electric bikes as a solo developer- how a calculated risk can pay off
Tags: career, swift, ios, programming
Published: 2020-07-09 09:32:49

Developing products in teams is hard. But what if you have to build a full product yourself?

In my latest adventure, I got to interview Pavel from an Estonian startup called Ampler Bikes. Pavel is a full-stack developer (specializing on mobile apps) who was given a chance to build an app for electric bikes(whaaat? how awesome is that???).

What makes the project special(besides the purpose of the app) is that Pavel was the only developer, thus it was he who had to choose the tech stack, make architectural decisions, etc.

---

**The interview covers topics like:**

- giving estimations(and failing to give them)
- choosing tech stack
- making architectural decisions
- taking calculated risks
- being one of the first ones to use SwiftUI in production
- keeping the quality of the code as a solo-developer

This content is [available on my Youtube channel called developerHabits](https://www.youtube.com/channel/UCJLZwePkNHps5Bv7VwISyTA).
{% youtube xf-Pce5_lrM %}

---

**The timeline of the video:**

00:00 - Intro

1:10 - Pavel's background and how he joined Ampler

4:45 - What made joining Ampler special - turning the test work into a challenge by implementing SwiftUI

10:15 - Why should an electric bike have a mobile app (and features of the app)?

14:00 - About planning, soft deadlines and keeping the project focus

17:00 - Giving estimations as a solo-developer

21:50 - Choosing technologies and exploring new tech as a solo-developer

27:40 - About the importance of transparency when facing delays

29:40 - Keeping quality in the project as a solo-developer

32:18 - How were the architectural decisions made?

38:45 - Contributing back to the community by exploring the unknown

40:20 - What are the things to consider when you want to become a solo-developer in a project?

43:50 - What are the habits that make you a better developer?

---

Oh and...! If you are interested in coding, growth mindset and are willing to share your experiences, ideas, then please do PM me on Twitter :)!

**DeveloperHabits**
📷 Youtube: [developerHabits](https://www.youtube.com/channel/UCJLZwePkNHps5Bv7VwISyTA)
👉 Twitter: [https://twitter.com/developerHabits](https://twitter.com/developerHabits)
👉 IG: [https://www.instagram.com/developerhabits](https://www.instagram.com/developerhabits)
Market trends and products to be included in Grocery delivery applications
Published: 2020-07-09 09:30:14



Grocery delivery applications have changed the way we get groceries. Nowadays, many grocery delivery platforms are offering same-day delivery to add on to the comfort of the customers. Entrepreneurs opting for the Grofers app development has to come up with the necessary precautionary measure to provide a safe means of products for its users. 

Statistics and trends related to online grocery shopping

Digital Grocery sales in the US are expected to reach $59.5 billion by 2023 from $23.9 billion in 2018.
By 2022, more than 10% of grocery sales are going to be online, in terms of revenue, it is whopping $133.8 billion approximately.
There has been a 34% increase in the purchase of groceries after the virus outbreak.
Coresight state, the sudden rise of online grocery purchases is due to stockpiling by the people.

Products which are at demand currently: Make sure you have these in your grocery delivery services
Try to incorporate these cleaning and safety products in your Grofers clone app.

Cleansing products: People are following all kinds of hygienic standards to keep the environment clean. So the purchase of sanitizers, floor cleaners, hand wipes, tissues has increased recently. 

Masks & gloves: These come under the safety and precautionary equipment as people prefer to buy these products to curb the spread of Coronavirus. So the demand for these products is more than never before.

Grocery delivery apps have made it convenient for people to get products with zero contact. They are ensuring safety to the customers as well as delivery agents. Appdupe offers a white-labeled Grofers clone script with high-end features to meet the requirements of the customers. Get in touch with us to learn more about clone app solutions.

https://www.appdupe.com/grofers-clone
React onClick Event Handling
Published: 2020-07-09 09:20:16

In React, events can be treated very close to the way we do in HTML, such events are like clicking, changing, mouseover, etc. But the syntax of 'react events' is written in camelCase. 

In React, the onClick handler lets you call a function and perform an action when you click on an item. OnClick is the staple of every React device.

For example: "onClick" instead of "onclick" and the function that this event will point to being written in curly braces, e.g. onClick={function}. 

We'll just think about treating things with 'onClick' in this blog. The onClick handler lets you call a function and perform an action when you click on an item.

Create a new project using this command:
npm create-react-app reactOnClick

here, reactOnClick is the name of the project.

Now, go to the project directory and start it-

cdreactOnClick
npm start
You should have your project started on the localhost.

<a ref="https://codersera.com/blog/react-onclick-event-handling/">React onClick event handling</a> is pretty easier to understand and run.

Whenever after clicking a button, connect, or basically any item you need to perform an action, you can use the event handler onClick. 

The onClick event handler is therefore one of the most efficient and most-used devices in the React tool belt.
What is Microsoft Authenticode?
Published: 2020-07-09 09:12:08

Authenticode is a code signing technology by Microsoft which helps identify the developer and publisher of the software signed by Authenticode. It helps to verify the software is original since its signing and has not been tampered with by anyone.

Why Choosing Microsoft Authenticode Signing?

1. Software Integrity

2. Publisher’s Identity Verification

3. Avoid Unwanted Download Warnings

4. Clues for Microsoft Authenticode

5. Trust, Authentication & Assurances

https://codesigningstore.com/cheap-microsoft-authenticode-code-signing-certificate
Discovering a Responsive Web Design Company to Exceed Expectations
Published: 2020-07-09 08:46:34

It is no secret that anyone who does business in the modern age is
The Internet revolutionized the game. One just isn't looking for services on the
Yellow pages, the Google pages again. And obviously Google searches will lead
consumers to your business page, to get a feel of the kind of services you do.
Hence, it is of utmost importance that your website is catchy and attractive. For
You have a professional web design business that can do that.
All the heavy lifting. xyz.com strives to do just that for your label. There are many items your ideal web design company might envisage
Have, but the smart business owner knows the proper proper apps. Beginning with, the core of any company is their creative team. The web design team needs to be
specifically trained with industry experience. A good company will not hide their
team’s talentsSecond, they would have a good list of already respectable customers.
in their portfolio. This gives you two advantages; you know they are a reputable
name in the web design market and also you have sample portfolios of them to
see and understand their work better.
Lastly, but very importantly, they need to be able to provide a range of services,
not just making the website. This includes management, maintenance and
troubleshooting. Once you find a company encapsulating all these qualities, you
know you’ve found the a <a href="https://www.wondermouse.in/best-seo-services-in-noida/">Seo Services In Noida</a>.
Every great venture begins with you so remember to investigate thoroughly
Your ideal match for the business. Just as the business is special in its own way. the
a <a href="https://www.wondermouse.in/web-design/">seo friendly web design service</a> provided by our web design company should also be uniquely tailored to
your business. If you are armed with the proper knowledge of what to look for in
web design companies, you’ll ensure you get the best value out of your
investment.
Summary- Knowing what to expect from your web design helps you look for the
best, most responsive web design company out there, suited to your own unique
business needs. Kickstart your business by researching into your requirements.
5 Tips for Computer Programming Beginners
Tags: beginners, computerscience, programming, coding
Published: 2020-07-09 08:43:18

## Learn Everyday

Try to build something new every day. Watch tutorial, documentation and read some blogs and stay up to date with the technology trends. We are in the age of technology now. Every single day a new technology is coming up.

<div class="container text-center my-3">
<img src="https://raw.githubusercontent.com/DrakeEntity/project-Image/master/Dont-give-up...-dont-ever-give-up-1080x675.jpg" alt="Think Twice, Code Once" class="img-fluid">
</div>

## Think twice code once

A programmer spends 80% time in thinking for the solution and 20% for the real coding. Don't just do coding as soon as you get the problem, think about it, think about the most efficient solution.

The solution to a problem is an idea that comes from your own brain – your code is how you implement that idea. Remember that you need to come up with the solution first, and then find the best way to implement that solution through clean coding.


![Think Twice code once](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6roeu8i276fp83r30qn2.png)

## Language is Just A Tool

The first tip is to understand that computer programming is just a tool and that it is mostly about problem-solving. If you know how to solve problems and you sharpen that skill, then computer programming is just a way of expressing our thought processes in the form of a code.

![language is just a tool](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ley6lf3fwzbhchnmhdu.png)

## Don’t Be Afraid to Ask for Help or to Help People Back

You’re going to progress much faster and learn more if you get into the habit of keeping a deep curiosity of how things work. Join open-source community, facebook groups, discord server.
Don't be afraid to ask for help. May be something is hard for you easy for someone else and something is easy for you. So ask for help and help people back.

## Remember: You still have a life
 
 If you study a Computer Science degree, it may seem pretty daunting as you'll need to learn more, study more, do more. But don’t forget to live your life. 

![You still have a life](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xojz2llqg835xyzb6sk9.png)
 
Your studies are important, but they shouldn’t be the only thing in your life. Going out and having fun will refresh your mind and increase your grades. Relax, have fun, and good luck!
THE WORLD'S FIRST HACKATHON FOR VOICE-ENABLED APPLICATIONS
Published: 2020-07-09 08:30:03

We’re hosting our very first virtual #hackathon! Join as an individual or team & create a voice assistant with the Alan Platform 🗣Mobile phone #AlanVoiceAIHackathon

Learn more here  https://hackathon.alan.app

Submissions are due by July 15th
#webdev #100daysofcode #JavaScript
Colorful Noise Surface Playground
Tags: codepen, javascript, css
Published: 2020-07-09 08:29:13

I've build a colorful animated and three-dimensional looking surface playground, where you can change some parameters yourself to create other cool effects.

👇🏻👇🏻👇🏻 Try out below... 👇🏻👇🏻👇🏻

{% codepen https://codepen.io/agalliat/pen/rNVWKpp %}
PHP 7.3 [New=>Features] 🐘
Tags: todayilearned, beginners, php
Published: 2020-07-09 08:17:49

PHP 7.3 was touted as faster (9% on average) than PHP 7.2 and most compatible with the latest versions of popular CMSs like WordPress. PHP updates are automatic and unnoticeable in most cases. 

Below are some of the cool new features of PHP 7.3:

🐘 Array_key_first => Allows for selection of first key in an array

🐘 Array_key_last => Allows for selection of last key in an array

🐘 Passing by reference with list language constructs

🐘 is_countable => Helps to check variables to determine if they are countable


<a href="https://www.youtube.com/watch?v=kbMZJ3lPJlo">Source:Here's What's New in PHP 7.3</a>
Why is WSL2 so slow?
Tags: windows, wsl, react
Published: 2020-07-09 08:07:58

I've been playing around at using WSL2. This is my first time using Window Subsystem for Linux having skipped over WSL1.

I typically like to write my software in Node JS, TypeScript and React and I assumed I would be fine jumping into the projects I had previously been working on in my previous Windows and Power Shell environment. The thing I noticed was that my React projects seemed to be running slowly. I mean really slowly. Unusable slowly. I thought that there was something wrong with my Node and WSL set up and I started looking for Node issues on WSL2. 

It turns out that WSL2 can be really fast but... only if you use the Linux file system. When opening files stored on Windows (where all mine are/were) it painfully slow. 

How slow? I put on some music and timed it. Running `npm start` on my Lenovo Yoga laptop with an i7 processor and 16gb of RAM on a Create React App project freshly set up, It took 4:50, 4 minutes and 50 seconds to render the page when running from the Windows file system. Much too slow for me to think about moving away from PowerShell.

So how fast can it be? Same laptop, same test, but running from the a directory on the Linux file system; 4.9 seconds from hitting enter on `npm start` to the standard new project page rendering. 

# TL;DR; 

If you want a fast experience using WSL2 move your projects to the Linux file system.
This means that using WSL2 is much more of an all or nothing break than I would have liked, but I'm still thinking I'll commit to the change, at least for new projects.
notifyJS , a new 
  JavaScript Library!
Tags: javascript, library
Published: 2020-07-09 07:48:57

notify.js is lightweight javascript library used for interactive,cool,and responsive alert cum notification boxes.
The notify() function take a maximum of 9 arguments.
Title, Message, Direction, Type, bgColor, textColor, btnColor, btnText and opacity are the attributes.

A simple example
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/jrgbeqxq8kbnn2zfwd6g.jpg)

Output
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/rhvxbddoxxhwcli0v1ug.png)

.
.
.
.
.

Here is the official notifyJS page:
https://rudraworks.github.io/notifyJS/index.html


Here is the official notifyJS GitHub repo:
https://github.com/rudraWorks/notifyJS
CSS Writing Mode
Tags: css
Published: 2020-07-09 07:46:41

The other day I came across the CSS `writing-mode` property and must admit I've never used it, so I decided to see what we can do with it.

It's an awesome property that tells us how text should flow, horizontal, or vertical.

## HTML Structure

We are testing the three values we can use and a default benchmark text:

```html
<p>This text is your basic pharagraph and flows naturally</p>
<p class="vertical-rl">This text goes Vertical from Right to Left</p>
<p class="vertical-lr">This text goes Vertical from Left to Right</p>
<p class="horizontal-tb">This text goes Horizontal from Top to Bottom</p>
```

## CSS Writing Mode

As mentioned, `CSS` `writing-mode` can be used to define how a text should flow.

It comes with three possible options:

- `vertical-rl`: Goes Vertical from Right to Left
- `vertical-lr`: Goes Vertical from Left to Right
- `horizontal-tb`: Goes Horizontal from Top to Bottom (Default)

The horizontal is the default, and what the normal value is.

```css
.vertical-rl {
  writing-mode: vertical-rl;
}
.vertical-lr {
  writing-mode: vertical-lr;
}
.horizontal-tb {
  writing-mode: horizontal-tb;
}
```

This results in the following Codepen.

<p class="codepen" data-height="265" data-theme-id="dark" data-default-tab="result" data-user="rebelchris" data-slug-hash="wvMjvKL" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="wvMjvKL">
  <span>See the Pen <a href="https://codepen.io/rebelchris/pen/wvMjvKL">
  wvMjvKL</a> by Chris Bongers (<a href="https://codepen.io/rebelchris">@rebelchris</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>

## Browser Support

Writing mode comes with relative good support, it's missing some IE features and Opera Mini (as many cool features).

![CSS Writing Mode support](https://caniuse.bitsofco.de/image/css-writing-mode.png)

### Thank you for reading, and let's connect!

Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on [Facebook](https://www.facebook.com/DailyDevTipsBlog) or [Twitter](https://twitter.com/DailyDevTips1)
Building a Code Editor for the Web - Project Setup
Tags: webdev, html, css, javascript
Published: 2020-07-09 07:23:06

In this video, we'll set up the project with a basic folder structure and also take a look at the library we'll use for the embedded code editor (Ace Editor)

Find the code for each video here in its own branch: 
https://github.com/luvuong-le/code-editor-tutorial

Check out the previous part to this video [here!](https://dev.to/coderarchive/building-a-code-editor-for-the-web-introduction-3b87)

If you'd like to see more of my videos, [head over to Youtube!](https://www.youtube.com/channel/UCWaB4SBBUCvhYb91fz5Vidg) A follow/sub comes a long way to show support

I've become a bit busy till the weekend so stay tuned for the next part 🙏

Follow and connect with me on:
----------------------------------
🐦 Twitter: https://twitter.com/coderarchive
📚 Github: https://github.com/luvuong-le
💼 LinkedIn: https://www.linkedin.com/in/lu-vuongle/
📷 Instagram: https://www.instagram.com/coderarchive/
📝 Dev.to: https://dev.to/coderarchive
Hiring a web designer: 3 crucial things you should consider
Tags: webdev, wordpress, design, ux
Published: 2020-07-09 07:16:30

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/22ia2q3sz7ls9q4452n7.jpg)
A well-designed website can boom your business overnight. It represents your brand, values, products and services. So, it’s imperative that you hire the right experts for designing and developing your website. These experts are called web designers and website developers who are specialised in designing websites.
With the technical and creative know-how, they can help you design your website exactly the way you want it to be.

But, how to make sure you are hiring the right web designers and developers? Well, listed down are some tips compiled by our experienced website designers in Point Cook, Melbourne. Consider these crucial tips and opt for the best web designers for your website.

●	Determine your project requirements

Before you start looking for web design agencies in your area, you should clearly outline your website requirements. This would help you determine what kind of designers you should hire. 

●	Determine your budget and time limit

Once you know what your website requirements are, you have to understand how the designing process can be quick and pocket-friendly. Make sure the designers are experienced to cater to your project needs on time. You don’t want your project to run over time, so enquire about the designer’s ability to meet your deadline right from the start.
 
●	Check their portfolio 

Whether it’s a referral or an online search, you should always spend time going through a potential web designer’s portfolio. Take a look at their official website, the projects they did in the past and their services and capabilities. This will help you determine whether they are eligible to efficiently and professionally design your website.  
There’s no definitive guide for web designers as every company operates with differing business models. But with a little homework, you can mitigate the quest of finding the right web designers for your business website. 
In case, you have any requirements for a UI/UX designer in Melbourne, we can help you with the best web design in Melbourne. Feel free to contact us! 

Visit us online at https://www.digitalpieces.com.au/ for more details.