teleren/devto huggingface dataset:
Kumologica: First low-code development tool for AWS Lambda
Tags: serverless, aws, automation, lambda
Published: 2020-03-18 10:35:52

By now, you may have noticed the trend in IT to reduce the size of existing things (projects, teams, releases, hardware, services). It seems like yesterday when we were talking about the need to break the monolith into microservices and we are already talking about encapsulating your logic into functions.

Given the simplicity and economic appeal of FaaS (Function as a Service) offerings, it seems like a natural move to see the world of integration begin to shift toward a new serverless model and start to enjoy its benefits like autoscaling, no infrastructure management and pay-per-use billing.

*Kumologica* is one of the early players in this space, with a very clear mission: bring the benefits of the traditional low-code integration platforms to the new world of FaaS.

# Introducing Kumologica

Kumologica consists of two parts:

- **Kumologica designer**: A low-code environment where developers can create API Integration flows by arranging and connecting visually (drag-and-drop) a number of pre-packaged nodes. It also allows developers to test and deploy API integration flows into the cloud directly without having to go to the terminal or cloud console for anything.

- **Kumologica runtime**: A library which is responsible to run integration flows on top of your FaaS in a scalable, high performing and cost-efficient manner.

![Kumologica In Action](https://dev-to-uploads.s3.amazonaws.com/i/afhzzamytvpnmw4mbu33.png)

# Benefits

In addition to all the benefits aforementioned of using FaaS, there are two main benefits you will enjoy when choosing Kumologica:

- **Cloud portability**: You have one tool and one way to describe and run your integration flows, and thanks to the different cloud bindings, there is no headache anymore in porting those flows to other cloud providers. Reducing the risk of cloud vendor lock-in.

- **Quick development feedback-loop**: Develop with zero or almost zero code, test your flows locally (without any Docker dependencies) and deploy into the cloud in a secure and quick manner, and all within your designer. No need to jump into the terminal to run other scripts, or go to web consoles to configure security roles / triggers etc. Kumologica Designer will take care of these tasks for you.

We consider Kumologica to be the one of the best ways to develop, test and deploy integration services in the new serverless world and **it is completely free**. 


# Closing Note

Feel free to visit our official [documentation](https://kumologica.com/docs/intro/GettingStarted.html#installation) to learn more.

We would love to hear your feedback and connect with early adopters out there.
Caret(^) symbol in Ruby & Ruby on Rails
Tags: rails, ruby, webdev
Published: 2020-03-18 10:26:32

`^` symbol has multiple uses in `ROR`.

### 1- As a [bitwise XOR Operator](https://en.wikipedia.org/wiki/Bitwise_operation#XOR)

For each bit in the binary representation of the operands, a bitwise XOR will get a 1 bit if one of the corresponding bits in the operands is 1, but not both, otherwise, the XOR will get a 0 bit. Here's an example:

    5     = 101
    6     = 110
    5 ^ 6 = 011 = 3



### 2- In Rails validation error message
When you want to override the error message without the attribute name, simply prepend the message with `^` like

    validates_numericality_of :identity_id, :message => "^Person field definition id must be an integer"

you get 
> Person field definition id must be an integer

instead of
> Identity Id Person field definition id must be an integer
Own state manager in 80 lines
Tags: frontend, javascript, typescript, webdev
Published: 2020-03-18 10:08:34

# Reffect  

{% github acacode/reffect %}

My goal was to create new state manager which will be more simpler than all other alternatives.

Package have three exports - `createStore`, `effect` and `manageStore` and that's all.  

with `createStore` we are creating a store.
`effect()` create a store's "effect" which will update store.
State of store contains in return value from `createStore` function.
`manageStore` is needed for subscribe on store changes.

Sounds simple, take a look how it looks in practice :)  


For example we have a library with books.
First of all we should create a store  
```ts
import { createStore } from "@reffect/core"

const books = createStore({
  all: [],
  selected: null,
})
```

Now we have a books store. We can use state just using `books` variable  
```ts
const filtered = books.all.filter(book => book.genre === "classic")
```

But we need add some books into the store. Lets do that via `effect()`  

```ts
import { effect } from "@reffect/core"

const addBook = effect(books, book => ({
  ...books,
  all: [...books.all, book],
}))

addBook({
  author: "E.B. White",
  name: "Charlotte's Web",
  year: 1952,
  genre: "fantasy",
})

console.log(books.all) // [{ ... Charlotte's Web }]
```
Also we can combine effects  

```ts

const setBooks = effect(books, "all")

const addBook = effect(books, book => setBooks([...books.all, book]))

```

There's no need any reducers or actions. We have only effect which is action and reducer. Also all created effects return `void` 
```
setBooks([]) // returns undefined
```

## Conclusion 

It's not a redux killer. Just I've created it to have a minimal bundle size of my frontend application and make state management more simpler for me.  


Currently it still may have bugs and problems but I already use it in my personal projects.
CSS Flexbox Cheatsheet VS Code extension v2
Tags: news, vscode, css, beginners
Published: 2020-03-18 10:08:15

This post was originally published on [my blog](https://dzhavat.github.io/2020/03/18/css-flexbox-cheatsheet-vscode-extension-v2.html).

---

A few months ago I noticed that my [CSS Flexbox Cheatsheet](https://marketplace.visualstudio.com/items?itemName=dzhavat.css-flexbox-cheatsheet) VS Code extension had been installed 5k times. This was a huge milestone for me because I never imagined such a simple extension would get that much attention. At that time I promised myself that if the installs ever get to 10k I will release v2 with redesigned visuals. 

Well, ten days ago what was once something unimaginable, finally happened! The extension [hit 10k installs](https://dzhavat.github.io/2020/03/08/css-flexbox-cheatsheet-vscode-extension-hit-10k-installs.html)! Now I had to keep my promise and deliver v2.

Not long before that I got an idea of showing the visuals of how the flexbox properties work as part of the hover popup. I thought this will bring the cheatsheet closer to where it’s actually needed and make it easier to understand each property. I quickly generated a demo extension to try this out. It turned out to be relatively easy to achieve. The content in the hover popup supports Markdown so images could be included as well. Perfect!

This got me to work. My next challenge was to figure out a way to detect whether the text under the hover is in fact a flexbox property and if so, show the relevant visual from the cheatsheet. I used some RegEx to target these properties. The final result is something I’m quite happy with. There are probably ways to make it smarter and with less lines of code but I’ll save that for v3. You know what they say “Fake it 'til you make it”. 💪

This leads me to a special announcement - [v2 is out](https://marketplace.visualstudio.com/items?itemName=dzhavat.css-flexbox-cheatsheet)! 🚀

After installing it, besides the normal cheatsheet, you will also see a visual in the hover popup showing you how a particular flexbox property works. Hopefully you’ll like this update and have an easier time working with flexbox.

Here’s a little demo:

![Flexbox visuals inside the hover popup](https://dev-to-uploads.s3.amazonaws.com/i/7tj93hfib6fqpe8eg9qe.gif)

As for redesigning the visuals, this can wait until v3. Hopefully at the 20k mark. 😉
Kafka Streams testing tip: Making sense of "Uninitialized topic" exception
Tags: kafka, testing, java, showdev
Published: 2020-03-18 10:05:24

One of my [previous blog post](https://dev.to/itnext/how-to-test-kafka-streams-applications-4ceb) discussed testing Kafka Streams application. 
Here is a related tip that might come in handy! 

While testing, you might come across `java.util.NoSuchElementException: Uninitialized topic` exception. Most probably, this is due to the fact that you invoked `TestOutputTopic.readValue` (e.g. as part of an `assert` check). The problem is not the exception itself, but the error message `Uninitialized topic` which can be confusing. The exception is likely to pop up if your processing `Topology` did not work as expected and there was no record in the topic (`TestOutputTopic`) you were trying to read from. 

Consider this example:

```
TestInputTopic<String, String> inputTopic = ...;
TestOutputTopic<String, String> outputTopic = ...;

inputTopic.pipeInput("foo", "bar");
assertThat(outputTopic.readValue(), equalTo("foobar"));
```

To avoid confusion, you should confirm whether the output topic is empty - both before and (optionally) after checking for the value, e.g.

```
assertThat("output topic was empty",outputTopic.isEmpty(), is(false));
inputTopic.pipeInput("foo", "bar");
assertThat(outputTopic.readValue(), equalTo("BAR"));
assertThat("output topic was not empty",outputTopic.isEmpty(), is(true));
```

Having the `assertThat` (with a proper error message) before `assert`ing `outputTopic.readValue()` ensures that you get a failure response which you can make sense of. Something that looks like:

```
testCase1(foo.bar.AppTest)  Time elapsed: 0.066 sec  <<< FAILURE!
java.lang.AssertionError: output topic was empty
Expected: is <false>
     but: was <true>
	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
	at org.junit.Assert.assertThat(Assert.java:956)
	at com.foo.bar.AppTest.testCase1(AppTest.java:58)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
```

Now `output topic was empty` make sense.. at least to me!

If you're interested in Kafka Streams, do check out some of my previous blogs! Happy to get your feedback via [Twitter](https://twitter.com/abhi_tweeter) or just drop a comment 🙏🏻
Starting the journey of remote work - Day 2
Tags: watercooler, remote, webdev, development
Published: 2020-03-18 09:33:39

---
title: Starting the journey of remote work - Day 2
published: true
description: Continuous journey of working from home due to COVID-19 outbreak at the world. This is my journey, my challenges in trying to be productive and completely changing my work habits from office first to remote first. 
tags: watercooler, remote, webdev, development
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/vjs0bqf380cio0dfrvpb.jpg
series: working from home
---
## General

Right now, even on the second day the whole topic of Covid-19, working from home, having kids at home and trying to be productive is still a challenge. Yet, I slowly start to accept the situation that for at least the next 5 weeks this will be my day-to-day work environment.

I realized that starring at a white wall isn't the best and over the next days I should think of ways to personalize it more. Some funny posters from my last CommitStrip Kickstarter funding and pictures.

I regretted not buying a better home office chair and ordered one from Ikea Online, wish me luck 🤞😃(expected delivery next week).

## Remote Retrospective

We had our very first remote Retrospective and it was an interesting experience. It isn't as good as being with the people face2face, talking about issues. We started using [Google Jamboard](https://gsuite.google.com/products/jamboard/). It provides an easy way to add "digital post-its" and our Moderator (Thomas S.) provided a nice format.

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

After 3 rounds (collecting, organizing around y-axis (went well, not well) and x-axis (can control, can't control)) we had a really nice matrix with post-its and clear action items, e.g. if there was something another team fixed for us we should send some thank you messages or if there is a blocker we can't control, we need to escalate.

All in all it was a great experience and I think over the next weeks we will iterate and be better in sharing things and how to iterate. I personally liked the 3-step approach with clear Actions for each area.

## TIL

We have some bugs which are difficult to reproduce and it looks like that either we have duplicate API Calls due to wrong Redux Action Logic or some Error handling in on of our APIs isn't working correctly. 

Thanks to our Scalyr Logs on the Backend side, I already narrowed it down to multiple API Calls happening from the Frontend. Yet in that particular case the Frontend is sending temporary states from customers and therefore I need to add more logs on the Frontend side and differentiate Redux Action Calls.

> Always start with your logs.

If you don't have a clear strategy on logging, you should act now. 

Also, having two young kids ( 5 and 2) at home is tough. Especially when your two year old sometimes cries at the door or scratches it 😃 This only works thanks to my wonderful wife stepping in this week.😍

Take care everyone, we are all in the same boat now. 

 ----
Past Post:
{% link https://dev.to/fokusman/starting-the-journey-of-remote-work-day-1-280n %}
Evolution of Diverse and Inclusive Workplaces by Engineer.ai CEO
Tags: engineerai, workplaces, builder
Published: 2020-03-18 09:29:26

The author of this article is Builder.ai (formally known as Engineer.ai) CEO, Sachin Dev Duggal discussing about the diverse and inclusive workplaces.

The average worker will spend approximately 90,000 hours of their life at their workplace. For some, it naturally promotes a sense of belonging to the company, constantly becoming a driving force to improve their performance.

However, over the last few years, establishments have begun to realize that not all employees can form deep relationships with their workplace due to many internal or external factors. However, one thing is certain, the topic of diversity and inclusion has become a central point of every discourse on workplace culture, and so companies are focusing on creating a proressive environment to enhance the intangible value offered to their employees. 

We can launch a diversity revolution for issues such as gender inequality in allowing equal work and wage opportunities. Organizations are now intentionally fighting discrimination on the basis of age, disability, ethnicity, gender, gender identity and expression, religion, or sexual orientation.

Many studies conducted on diversity reveal a stark difference in firms' performances with and without gender diversity. A study by McKinsey conducted over several years showed that gender-diverse companies tend to outperform non-gender-diverse firms by 15 percent. Back in 2015, when Alibaba's Jack Ma was asked for the secret behind the success of his firm, he said: "Actually, I think one of our important secrets is that we have a lot of women." Back then, Alibaba had 52 percent of women employees, and many held senior leadership positions as well.

Today, the interesting thing is that the scope of diversity and diversity at the workplace has evolved beyond gender inequality, and many companies are trying to address the inherent biases that are sometimes difficult to detect.

Recently, Goldman Sachs announced its new policy that the bank would not support the IPO process of a firm lacking a woman or "diverse" director. Similarly, there have been many developments, and campaigns at the workplace are expanding the meaning of "diversity".

Read Full Article @ https://www.peoplematters.in/blog/diversity/the-evolution-of-diverse-and-inclusive-workplaces-25011
Tips to make working at home more productive and comfortable
Tags: quarantinelife, lockdown, workingfromhome, covid19
Published: 2020-03-18 09:11:27

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

Choose your place of work in a sensible manner

Create a space where you can work comfortably in. That can be a desk or eating-table with a comfortable chair. Make sure that your back is supported good and also make sure nothing is holding you of the work that you are doing at the moment.

Make sure you have a good routine

Put an alarm on. Maybe an hour later because you don’t have travel-time. But get out of bed at the same time and be at your workspace. Do you have tasks that are needed to be done at home too? Choose a specific time to do that too.

Dressing like you are at the job

If you feel like you are in a relax mood instead of a work mood trade your home clothes in for work clothing so you can feel more at work. If that doesn’t change anything just keep it cozy.

Don’t skip breakfast 🥞

Arabic breakfast
Take the time to have a nice breakfast. Take a moment for yourself before you go back at work. That’s how you begin the day with full concentration.

Challenge yourself

What do you wanna do today? Write it down, make a distinction between what you do in the morning vs the afternoon. You can do this on the day itself or the night before. This is how you can motivate yourself for the next day.

Work, work, work

Are you productive in the morning? Start the day with the most importand to-do’s. The tasks that you can automatically do are the ones you can pick up in the times when your concentration is less.

Use the Pomodoro-technique

The Pomodoro-technique is a method for time-management.
With this technique you can set a timer for 25 minutes to work on something you need to do, after those 25 minutes you can take a break of 5 minutes. after 4 Pomodoro’s (4*25 minutes) you can take a longer break of 15-30 minutes.

Try and make it fun at home

Try making it more fun at home by maybe putting some flowers in the living room, if you have kids you can find ways to play with them. FaceTime family, friends or your partner.

Stop when it’s time to stop

If you work at home it can become a habit that you can stay in your work. Are you tired? Stop and make sure you can start the next day fresh. Try to stay on top by doing exercising. People often skip that part but it can really help with a clean mind and new energy.

I hope this post helped you feel free to share this post. Thank you for reading 🙂

Original post: https://puchkiiguide.com/tips-to-make-working-at-home-more-productive-and-comfortable/
Data Driven Blog
Tags: vue, opensource, bootstrap, datadriven
Published: 2020-03-18 09:06:33

---
title: Data Driven Blog
published: true
description: Data-driven open-source blog project. 
tags: vuejs, open-source, bootstrap, data-driven
---

Hi, devs

I just created for myself a single page app with a collection of all the projects, articles, thoughts and other things I worked on in the last five years.

I used VueJS and Bootstrap to create that, then I thought that it may be useful for anybody else and uploaded this project to Github.

Hope anybody will use DD Blog

[Demo](https://artrayd.com/dd-blog/) | [GitHub](https://github.com/artrayd/dd-blog)

![](https://artrayd.com/dd-blog/img/favicon.png)
👏Review 6: Personal Portfolio, Developer: John | #elefDoesCode
Tags: review, portfolio, javascript, developer
Published: 2020-03-18 09:00:46

⬇️I will review your... 

🤓The process:
1. Every week I will do a live stream on my youtube channel reviewing your site
2. I will give feedback and suggestions according to your needs. 
3. If I have a way to contact you, I'll gladly do so :)
4. If you have any question don't hesitate to contact me!

Take part [here](https://forms.gle/9AxiCUQ8YudTVYzs9) (I only need a URL and your name).

It doesn't matter if you are a beginner or more advanced. 
You can submit as many sites as you want.

🙏Thank you for taking part with your website into my live streams.
It takes courage to let someone you don't know to review your work...
But remember feedback is important and all of us need it...
 
🤗The review is FREE. You don't pay for anything. I won't be paid by anyone.

----------------------------
P.S. I am really sorry for the bad echo-sound

In particular, in this video you'll find:

🤓The developer: John Kapantzakis
💪The project: https://www.kapantzakis.gr

⌨Previously 
- [review 1](https://dev.to/eleftheriabatsou/review-1-tribute-page-by-freecodecamp-developer-kyle-elefdoescode-4006)
- [review 2](https://dev.to/eleftheriabatsou/review-2-personal-portfolio-developer-diego-elefdoescode-4g36)
- [review 3](https://dev.to/eleftheriabatsou/review-3-portfolio-and-airshare-project-developer-rajitha-elefdoescode-3gop)
- [review 4](https://dev.to/eleftheriabatsou/review-4-personal-portfolio-developer-jatin-elefdoescode-4i52)
- [review 5](https://dev.to/eleftheriabatsou/review-5-github-cool-projects-with-react-developer-saad-elefdoescode-4091)

----------------------------

👋Hello, I' m Eleftheria, an app developer, master student, freelancer, public speaker, and chocolate lover.


😎Top 3 list:
- How to stay motivated | A developer's edition | @BatsouElef: https://youtu.be/qMvEtb5OxNo
- How to be a Better Problem Solver | Tips and solutions: https://youtu.be/dELt7yKIxIA
- Simple Tips to Build a Personal Brand as a Developer (+ personal examples): https://youtu.be/7s0o1gi0iP0

🥰If you liked this video please share

🍩Would you care about buying me a coffee? You can do it here: [paypal.me/eleftheriabatsou](paypal.me/eleftheriabatsou) but If you can't that's ok too!


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

🙏It would be nice to subscribe to my [Youtube](https://www.youtube.com/c/EleftheriaBatsou) channel. It’s free and it helps to create more content.

🌈[Youtube](https://www.youtube.com/c/EleftheriaBatsou) | [Codepen](https://codepen.io/EleftheriaBatsou) | [GitHub](https://github.com/EleftheriaBatsou) | [Twitter](https://twitter.com/BatsouElef) | [Site](http://eleftheriabatsou.com/) | [Instagram](https://www.instagram.com/eleftheriabatsou/)
Two Factor Authentication - How? when? and where? 
Published: 2020-03-18 08:43:53

##Why it is required?
The most common practice is to add user's name and password to validate user. This legacy authentication and authorization alone wont go with the sensitive future apps. Subsequently, their is now way to verify that the end user is our real subscriber and if the user is bond to his offered services.
However, complex password may give security from the user side but it has its own flaws, like Its harder to remember. Well the answer is simple 2FA authentication is the ultimate option.

##How does it work?
During user registration send a rondom code (Passcode) will be provide via a sms or email or even both.
The Subscriber will receive the OTP (one time password) add it back to the app.
Hence the user and device both can be verified.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/qjs3jtfzowlptfs8dahv.jpg)
SIC Code Business Email Database
Published: 2020-03-18 08:38:03

Mail Prospects facilitates seamless business communication by providing SIC code business database that will provide the right boost to b2b campaigns.  The comprehensive list is compiled by a team of experts and verified to ensure there are no duplicates or redundant data. The tele-verified sic code list is apt for running multichannel marketing campaigns that transcend geographical boundaries. Whether you are a marketer or promoter of services and offers, the SIC code business database is ideal. Invest now and reach prospects at the right time.

For more details:-
Visit:- https://mail-prospects.com/sic-code-mailing-list/
Call: 17028158511
Email: info@mail-prospects.com
Address: Mail Prospects LLC,848 N Rainbow Blvd, Las Vegas,Nevada 89107, United States