teleren/devto huggingface dataset:
Help me pick a modern report writing tool/package for DotNet?
Tags: discuss, dotnet
Published: 2020-11-21 06:11:37

---
title: Help me pick a modern report writing tool/package for DotNet?
published: true
description: I'm lost. Halp me find the right tool to gen reports.
tags: discuss,dotnet
//cover_image: https://direct_url_to_image.jpg
---
So I find myself - somehow for the first time - needing to onboard a more serious report writing tool/package/library for my fintech client.

We're a Dot Net company primarily focused on ASP.NET Core banking related applications.

Basic needs:
- Generate BIG (200-300 printed page), primarily tabular data reports (with the ability to add more data visualization over time)
- Ability to export reports/data to Excel & PDF
- Summarize data/visualizations for automated display on the web

So far I've seen example packages from Telerik, DevExpress, and SyncFusion that LOOK like they're along the lines of what we need, but given the expense of them, I'd like to have a solid idea what I'm getting into.

I've also seen PowerBI and Tableau and have no idea what they really are or if they might be a good fit here.

Any thoughts/feedback is MOST appreciated. Thanks!
Build a Hosted AirTable Dashboard with WayScript
Published: 2020-11-21 00:53:27

Introduction
------------

For those that use the Airtable program to compile data, WayScript offers a quick, simple script that allows users to share charts using an easily accessible URL. This script can be constructed in less than two minutes, so keep reading to create your own hosted dashboard you can share with others!

Building our Script
-------------------

To begin, an HTTP Trigger module is used in order to provide a URL that hosts the created dashboard. Below this module, the Airtable module is needed. Connect the data using an API key from Airtable, then give it a name at the toolbar at left. Once this is complete, data will generate below with the column options available for import.  
  

![tutorial step #1](https://wayscript.com/blog_img/146/1.png)

  
  
After choosing the preferred options, the Chart module should be added below the Airtable module.  
  
The previously imported columns are now stored as WayScript variables. Once the Chart module is added this variable should be dragged to the data input field. Options for the chart type can also be selected. All of this is done in the toolbar. After this step, a preview of the chart is generated. Finally, in order to create the dashboard to host the chart, the Dashboard Response module is added. The generated chart preview is saved as a variable; drag this variable into the title field. Activate the HTTP Trigger and click on the provided URL, which opens a new tab containing the hosted dashboard and chart.  
  
Just like that, users can create almost any kind of chart derived from Airtable data that is easily shareable for all team members. To see the step-by-step process of creating this script, watch our YouTube video below!

Conclusion
----------

Questions about this script or anything else? Join our [discord](https://discord.gg/VWbXSbj). We're always around to help. If you want to work the full script template, just find it [here](https://wayscript.com/shared/qlYZCTFc).
Release 0.3.2
Tags: opensource
Published: 2020-11-21 06:10:11

For the Telescope contribution part, I found a very simple issue to work on, which made me happy for several days. The issue is [https://github.com/Seneca-CDOT/telescope/issues/1261](https://github.com/Seneca-CDOT/telescope/issues/1261). David pointed out that the system would throw an error saying no .env file while there is one. 
```
$ docker compose up --build
...
telescope_1      |
telescope_1      | > @seneca/telescope@1.3.0 start /telescope
telescope_1      | > node src/backend
telescope_1      |
telescope_1      | [ 2020-11-01 20:00:18.247 ] ERROR (17 on af53c261a8b0):
telescope_1      |
telescope_1      | 	💡 It appears that you have not yet configured a .env file.
telescope_1      | 	   Please refer to our documentation regarding environment configuration:
telescope_1      | 	   https://github.com/Seneca-CDOT/telescope/blob/master/docs/CONTRIBUTING.md
telescope_1      |
telescope_1      | [ 2020-11-01 20:00:18.318 ] INFO  (17 on af53c261a8b0): Attempting to use default env in /telescope/env.example instead.
```
I read the comments below this issue, and found that [c3ho](https://github.com/c3ho) already mentioned how to solve this problem. I followed his guide and found it did solve the problem, although I don't fully understand the difference. The change I've made is as below: 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/5a7wiozwkz4vgcvkvncv.PNG)

The pull request is [https://github.com/Seneca-CDOT/telescope/pull/1320](https://github.com/Seneca-CDOT/telescope/pull/1320).
What would you learn to make Web Apps? PHP, Node.js or Django?
Tags: php, node, django, laravel
Published: 2020-11-21 05:58:44

Node.js is a JavaScript Framework. It is good in terms of performance and speed. Uber, Netflix and Twitter is developed in Node.js. Node.js makes it easier to have the only JavaScript across your whole stack. JavaScript is the second most popular language. This language is quite hard.

78.9% of all websites use PHP. PHP is easy to learn and use. But PHP is technically inconsistent compared to the others. It struggles to get to the top 10 programming languages. Facebook, WordPress and Wikipedia is developed in PHP. PHP has a clean Architecture.

Python is much more extensible. Django in a Python framework. It is also more secure. Pinterest, Instagram and Udemy is developed in Django. Django is also easy and readable. More people use Python as it is the most popular language. Django has multiple plugins so it makes it good for rapid development.
How fast is Java currently?
Tags: java, help, watercooler
Published: 2020-11-21 05:55:47

I need some estimate for how fast it is as of its most recent version for a school assignment. But, I couldn't find any real numbers anywhere. Unless there's somewhere I'm not looking properly (bc I'm that dumb). So, I was wondering of someone knew how many instructions per second it currently runs at (or some other measurement that's confirmed).

<div color="white" style="font-weight:bolder; color:white;">
#<b><center><b>Thanks!<br/>Cheers!</b></center></b>
</div>
Weekly Challenge 087
Tags: perl, perlweeklychallenge, weeklychanllenge
Published: 2020-11-21 05:52:18

[Challenge](https://perlweeklychallenge.org/blog/perl-weekly-challenge-087/)

# TASK #1 › Longest Consecutive Sequence

## Task

You are given an unsorted array of integers `@N`.

Write a script to find the longest consecutive sequence.

## My solution

Print 0 if none sequence found
This was relatively straight forward. Once I checked that we have one or more integer values, I then loop through a sorted list of numbers.

I have an array `@current` that stores the current run. This gets reset if the last number is not one less than the current number. I then set `@largest` to store the largest sequence of integers.

If `@largest` contains at least two numbers I print that array, otherwise I print zero.

On a programming note, I know that I can use `if (@a < @b) {`, but I still prefer to use `if (scalar(@a) < scalar(@b) {`. That way it is pretty clear want I meant, rather than Perl novices needed to know Perl will return the size of an array in a scalar context.

## Examples

```
» ./ch-1.pl 100 4 50 3 2
Output: (2, 3, 4)

» ./ch-1.pl 20 30 10 40 50
Output: 0

» ./ch-1.pl 20 19 9 11 10
Output: (9, 10, 11)
```

# TASK #2 › Largest Rectangle

## Task

You are given matrix `m x n` with `0` and `1`.

Write a script to find the largest rectangle containing only 1. Print `0` if none found.

## My solution

This is similar to the '[Find Square](https://perlweeklychallenge.org/blog/perl-weekly-challenge-084/#TASK2)' task of challenge 084.

I probably over comment my code in PWC tasks. Mainly as it helps others follow my logic. So using nothing other the comment lines, here's how I solved this task:

```
    # Process the input
    # Sanity check
    # Go through each rows and column
    # The top left of a square cannot be on the right or bottom row (hence -2)
            # No rectangle if this row has < 2 zeros
            # Find the maximum rectangle size
                # No more rectangles can be made from this starting point
                # Update the largest rectangle if this one is bigger
    # Display the output
```

## Examples

```
» ./ch-2.pl '[ 0 0 0 1 0 0 ]' '[ 1 1 1 0 0 0 ]' '[ 0 0 1 0 0 1 ]' '[ 1 1 1 1 1 0 ]' '[ 1 1 1 1 1 0 ]'
[ 1 1 1 1 1 ]
[ 1 1 1 1 1 ]

» ./ch-2.pl '[ 1 0 1 0 1 0 ]' '[ 0 1 0 1 0 1 ]' '[ 1 0 1 0 1 0 ]' '[ 0 1 0 1 0 1 ]'
Output: 0

» ./ch-2.pl '[ 0 0 0 1 1 1 ]' '[ 1 1 1 1 1 1 ]' '[ 0 0 1 0 0 1 ]' '[ 0 0 1 1 1 1 ]' '[ 0 0 1 1 1 1 ]'
[ 1 1 1 1 ]
[ 1 1 1 1 ]
```
JavaScript reduce() method
Tags: javascript
Published: 2020-11-21 05:47:12

We are checking out some useful array methods, and today we are looking at the `reduce()` method.

The reduce method can be used to convert our array to one specific single value.

> Also, check out my article on the [JavaScript filter() method](https://daily-dev-tips.com/posts/javascript-filter-method/)

## Using the Javascript reduce() method

The reduce can be used for instance to just count a total, let's say we have the following array.

```js
const items = [
  { name: 'T-shirt plain', price: 9 },
  { name: 'T-shirt print', price: 20 },
  { name: 'Jeans', price: 30 },
  { name: 'Cap', price: 5 }
];
```

How can we now simply get a total of all these items?

```js
const reduced = items.reduce((total, item) => {
  total += item.price;
  return total;
}, 0);

// 64
```

What we are doing here is giving the argument `total`, which is the `initialValue`, the next argument is the `currentValue` then we add the price to our total value.

Then at the end, you see a `0` defined, this is the `initialValue` default.

The arguments for the `reduce` is as follows:

```js
const new = original.reduce(function(total, current, index, array), initialValue);
```

Where the following applies:

- `total`: Required, the initial value
- `current`: Required, the value of the current index
- `index`: Optional, array index of the current row
- `array`: Optional, array current row belongs to.
- `initialValue`: Optional, value to be defined as a starting point.

You can ofcourse also only count certain items, let's say we have discounted items and only want to count those:

```js
const items = [
  { name: 'T-shirt plain', price: 9, discount: true },
  { name: 'T-shirt print', price: 20, discount: false },
  { name: 'Jeans', price: 30, discount: true },
  { name: 'Cap', price: 5, discount: false }
];

const reduced = items.reduce((total, item) => {
  if(item.discount)
    total += item.price;
  return total;
}, 0);

// 39
```

As you can see, very powerful, but easy to implement method. Really cuts down on a lot of loop logic.

### 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)
Keyboard Input
Tags: cpp, beginners, computerscience, oop
Published: 2020-11-21 05:11:52

---
title: Keyboard Input
published: true
description: Storing input from keyboard
tags: cpp, beginner, computerscience, oop 
cover_image: https://images.unsplash.com/photo-1591948597198-3c7ef8fb61d2?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2550&q=80
series: Programming 101 with C++
---

So far we have learnt how to use std::cout and print to the screen.

You can store keyboard input into a local variable using **cin** (pronounced c-in).

> int i;
> cin >> i;

\>> is a two character operator.

The stream I/O **library takes care of parsing** the input and storing it in the variable.

* Type rules still apply.

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

With this we have learnt -
* How to read from keyboard and write to screen using STL.
* Variables and Expressions in C++ have types.

Please leave out comments with anything you don't understand or would like for me to improve upon.

Thanks for reading!
Deploy a Wallet Compitable Token on XinFin XDC Network
Tags: blockchain, xinfin, xdc
Published: 2020-11-21 04:55:07

How about deploying a Wallet Compitable Token on XinFin XDC Hybrid Blockchain Network under injected web3 environment. The network TPS is 2000 and Transaction fees is 0.0000007USD.

Check my code: 
`pragma solidity ^0.4.16;
contract WalletCompatibleToken {
   string public name;
   string public symbol;
   uint8 public decimals;  
   mapping (address => uint256) public balanceOf;
   event Transfer(address _from, address _to, uint _value);
    function WalletCompatibleToken(string tokenName,string tokenSymbol,uint8 decimalUnits,uint256 initialSupply) {
	name = tokenName;
	symbol = tokenSymbol;
	decimals = decimalUnits;
	balanceOf[msg.sender] = initialSupply;              // Give the creator all initial tokens
    }
    function transfer(address _to, uint256 _value) {
        if (balanceOf[msg.sender] < _value) revert();
        if (balanceOf[_to] + _value < balanceOf[_to]) revert();
        balanceOf[msg.sender] -= _value;                    // Subtract from the sender
        balanceOf[_to] += _value;                           // Add the same to the recipient
        Transfer(msg.sender,_to,_value);
    }
}`
Hello World
Tags: helloworld, beginners, codenewbie, webdev
Published: 2020-11-21 04:18:40

Hey everyone. 

My name is Danielle M. I am on my learning journey and I am self taught. 

Not so good at writing but hopefully by creating these blogs it will help. 

Currently Studying:

1. HTML, CSS & JavaScript 

Via 

The Odin Project 
Freecodecamp 
Colt Steel Web Dev Course on Udemy.
Recursive Types
Tags: scala, functional, adt
Published: 2020-11-21 04:02:37

Original post in [Kodumaro](https://kodumaro.cacilhas.info/2020/11/rec-type.html).

-----

I was around with a cyclic reference issue in [Scala](https://www.scala-lang.org/): [JSON](https://www.json.org/) representation.

I was using [Gson](https://github.com/google/gson) for serialising and deserialising (ain’t going in details), but how to represent the models inside the language ecosystem?

I could follow the Gson documentation and use [pojos](https://pt.wikipedia.org/wiki/Plain_Old_Java_Objects) ([case classes](https://docs.scala-lang.org/tour/case-classes.html) are great for it), but I was in need of something more flexible.

I decided to use language primitives, like integers, strings, big numbers, and so one.

So I created some types for deal with that:

```scala
type unroll[+A] = A
type JValue = unroll[_ <: Any]
type JArray = Seq[JValue]
type JObject = String Map JValue
```

Not bad, I can hold complex objects in `JValue` variables:

```scala
val data: JValue = Map(
  "x" -> 3,
  "y" -> 4,
  "name" -> "test",
  "list" -> Seq("zero", 1, 2, 3, true),
)
```

But odd things started to happen, like:

```scala
val element: JValue = <data>This is an XML node</data>
```

It should crash! But doesn’t, since `NodeSeq` is `Any`’s subclass.

I needed something stricter.

### Enter Dotty

Now I’ve tried [Scala 3, codename Dotty](https://dotty.epfl.ch/).

My first unsuccessful attempt was:

```scala
type JNull = Unit
type JValue = Int | BigDecimal | String | Boolean | JNull | Seq[JValue] | String Map JValue
```

And Dotty put a damper on my plans:

> Illegal cyclic type reference: alias Map\[Int | BigDecimal | String | Boolean | JNull | Seq\[JValue\] | String, JValue\] of type JValue refers back to the type itself.

Then I hit [this strange solution](https://users.scala-lang.org/t/defining-a-type-in-a-recursive-way-in-dotty/6798/8):

```scala
type Rec[F[_], A] = A match {
  case Int => Int | F[Rec[F, Int]]
  case _ => A | F[Rec[F, A]]
}
```

[Jasper M](https://users.scala-lang.org/u/jasper-m) is suggesting taking advantage of the Scala [type erasure](https://medium.com/@sinisalouc/overcoming-type-erasure-in-scala-8f2422070d20) to create a runtime `LazyRef`. So I followed the advice:

```scala
type JNull = Unit
type JPrimitive = Int | BigDecimal | String | Boolean | JNull

type Rec[JArray[_], JObject[_], A] = A match
  case JPrimitive => JPrimitive | JArray[Rec[JArray, JObject, JPrimitive]] | JObject[Rec[JArray, JObject, JPrimitive]]
  case _          => A          | JArray[Rec[JArray, JObject, A]]          | JObject[Rec[JArray, JObject, A]]

type JValue = Rec[Seq, [A] =>> String Map A, JPrimitive]
```

And _vois la_! It works pretty well!

```scala
// Okay, unit represents null
var x: JValue = ()

// Also okay
x = true

// OMG! Still okay!
x = Map(
  "x" -> 3,
  "y" -> 4,
  "name" -> "test",
  "list" -> Seq("zero", 1, 2, 3, true),
)

// It throws an exception
x = <data>nope</data>

// If -Yexplicit-nulls is enabled, it throws an exception too
x = null
```

Now the `JValue` is quite stricter, and the `WeakRef` made the recursive type possible.
Terraform Deep Dive
Tags: devops, terraform, tutorial, aws
Published: 2020-11-21 03:52:40

__Terraform Deep Dive__
Get an over the understanding of what is terraform, how to terraform works, and whats are fundamentals commands of terraform 

[Full Session of Terraform](https://youtu.be/8CGZjYoLWlc)

#*Content of Session* 
#####Terraform Introduction
#####What is Terraform? What is infrastructure provisioning?
#####Infrastrcuture Provisining 
#####Difference between Terraform and Ansible
#####What is Terraform used for? Terraform Use Cases
#####How terraform helps ?
#####How does Terraform work? Terraform Architecture
#####Terraform Example Configuration File
#####Terraform Basic Commands


{% youtube 8CGZjYoLWlc %}
Landing Page de Airbnb con TailwindCSS
Tags: css, tailwindcss, webdev, html
Published: 2020-11-21 03:22:14

Desarrollo de un pequeño proyecto que imita la página de inicio de Airbnb, programado usando TailwindCSS. 

![img](https://raw.githubusercontent.com/crisdux/crisdux-mini-clon-airbnb-tailwind-css-2020/main/img.jpg)

[link del repo aqui] (https://github.com/crisdux/crisdux-mini-clon-airbnb-tailwind-css-2020)

[Deploy](https://crisdux.github.io/crisdux-mini-clon-airbnb-tailwind-css-2020/public/index.html)
3D Illustrations Pack Free
Tags: uiweekly
Published: 2020-11-21 03:20:19

Collection of high-quality 3D illustrations, hand-crafted and full of personalities. FREE to use for your exploration or personal project.
This illustration package is perfect for all digital needs. You can use it as an illustration of the website feature section or header section, for applications suitable for onboarding parts and presentations.

Over 15 illustrations and will keep updated in the future. Enjoy!

Download Here:
https://uifreebies.net/illustration/3d-illustrations-pack-free
Code Smell 30 - Mocking Business
Tags: testing, webdev, programming, tdd
Published: 2020-11-21 03:20:19

*Mocking is a great aid when testing behavior. Like with many other tools, we are abusing them.*

# Problems

- Complexity

- False sense of security.

- Parallel/Duplicated objects (Real and Mocks)

- Maintainability

# Solutions

1. [Mock](https://en.wikipedia.org/wiki/Mock_object) just non-business entities.

2. Remove mock if its interface has too much behavior.
 
# Sample Code

## Wrong

{% gist https://gist.github.com/mcsee/191cee3a71132501564cdb58abef27a7 %}

## Right

{% gist https://gist.github.com/mcsee/1a84f6cf33594a0b63f5171a13513439 %}

# Detection

This is an architectural pattern. It will not be easy to create an automatic detection rule.

# Exceptions

- Mocking accidental problems (serialization, databases, APIs) is a very good practice to avoid coupling.

# Tags

- Abuser 

# Conclusion

Mocks, like many other test doubles are excellent tools. Choosing wisely when to use them is an art.

Imagine a play in which each actor, instead of rehearsing with other actors, had to interact with 25 scriptwriters. The actors would never rehearse together. How would the result of the play be?

# Also Known as

- Faker

# More info

[Mocking is a code smell](https://medium.com/javascript-scene/mocking-is-a-code-smell-944a70c90a6a)

[Mocks aren't stubs](https://martinfowler.com/articles/mocksArentStubs.html)

# Credits

Photo by <a href="https://unsplash.com/@syedabsarahmad">Syed Ahmad</a> on <a href="https://unsplash.com/s/photos/monkey">Unsplash</a>

* * *

> The pesticide paradox. Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffective.

_Boris Beizer_
Alt text for images
Tags: a11y, images
Published: 2020-11-21 03:10:44

To improve we accessibility we need to add Alt text to images. This is a brief description of what is shown on an image. The description is read by a screen reader to help the visually impaired. 

The description needs to tell what the image is the more descriptive the better. Not just "a robot", "a gray robot" is better, even better would be "A gray robot with a square head. It is standing in front of a brick wall." 

!["A gray robot with a square head. he is standing in front of a brick wall."](https://dev-to-uploads.s3.amazonaws.com/i/33hoby1dwysvv1s369rc.jpg)

A start
```HTML
<img src="images/classic_robot" alt="A robot." />
```
Better
```HTML
<img src="images/classic_robot" alt="A gray robot." />
```
Much Better
```HTML
<img src="images/classic_robot" alt="A gray robot with a square head. he is standing in front of a brick wall." />
```

If the image has text that text should be in the alt text as well. If the image subject is doing something, describe that as well.

 ![LEGO Dorothy standing with toto. caption:Dorothy was tired of being at home. She says "anyplace but home. anyplace but home. Anyplace but home."](https://dev-to-uploads.s3.amazonaws.com/i/dbvtgkozbflj9vrmwpz3.jpg)

```HTML
<img src="images/dorothy_anyplace.jpg" 
alt="LEGO Dorothy standing with her dog, Toto. caption reads: 

Dorothy was tired of being at home. She says 'Anyplace but 

home. Anyplace but home. Anyplace but home.'" />
```


If the image is decorative just add a blank alt="" tag. If it's a logo you can just call "brand name logo." So the visitor knows what site they are on. "logo" is not enough.

## SEO Bonus ##
Alt text improves your search engine results. the phrase "A large brown dog sitting on the grass" will rank hiring than "a dog". It also helps SEO to name the image descriptively; not dog_001 or image_001. Give your images good names, like You should for variables.


```
-$JarvisScript git push
```
Successful Unity for Humanity Submission!
Published: 2020-11-21 03:08:52

Thank you to all the Project Universe #volunteers that made meeting the #Unity for #Humanity deadline today possible!

https://youtu.be/JO1cE2VckR0

A special thank you to #volunteer #GameDev CMDR Ash who worked over-time performing 3D modeling, texturing, C# programming, Unity dev & more to meet this deadline!

We really wanted to film a walk-about of the demo area, but were running out of time, so we went with a voiced-over slide-show video & made the deadline with ~5 minutes to spare!

I stayed up all night to get this submission in on time! Every hour my ability to write a coherent sentence for the script got worse! Glad we were able to get it done, wish it was higher quality.

We're working on better videos with a walk-about! We'll get an elevator pitch & 8-minute pitch made first, then videos dedicated to the individual components of the game & overall project.
Enable SSL (https) on an existing ddev site on Mac
Tags: ssl, ddev, https
Published: 2020-11-21 02:54:31

If you have a local non-https dev site running on [ddev](https://www.ddev.com/) on a Mac, and want to enable https, here's what you do:

- close the browser tab of your dev site
- run `ddev stop --all`
- run `mkcert -install`
- run `ddev start`
- run `ddev launch`

That should do it.