teleren/devto huggingface dataset:
Help to build an evolutionary, accumulate-only Database System 
Tags: hacktoberfest, opensource, database
Published: 2020-09-18 21:41:17

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


**You can help to build an evolutionary, accumulate-only database system for modern hardware called SirixDB.**


*The core repository (Java and Kotlin)*:

 "We want to research the indexing of data in a huge persistent data-structure, mapped to persistent storage. SirixDB stores data and indexes of database resources in a huge persistent tree of tries. It allows us to retrieve any past revision and the current revision, whereas the revisions itself are indexed. The system supports time travel queries, reconstruction of any past state, and to revert to any past state. It only ever aggregates data over time and never overwrites data." 

{% github sirixdb/sirix no-readme %}



*The query processor*:

 "With our research, we want to develop an extensible, retargetable compilation, and runtime framework for driving scripting-like query languages for structured and semi-structured data. Ideally, we envision to prepare the ground for a tool for query languages similar to what the LLVM compiler framework is for general programming languages: an ecosystem in which proven optimization techniques and algorithms are readily available for implementing custom query processing systems."

{% github sirixdb/brackit no-readme %}



*The frontend*:

 "We want to explore how to visualize time-travel queries best and how best to depict the differences between two revisions or any subtrees."

{% github sirixdb/sirix-svelte-front-end no-readme %}
Mid Meet Py - Ep.23 - Interview with Vicky Tomey-Lee
Tags: python, chat, talkshow, podcast
Published: 2020-09-18 21:40:26

---
title: Mid Meet Py - Ep.23 - Interview with Vicky Tomey-Lee
published: true
description: We meet in the middle of the week to chat about Python. This week we have Vicky Tomey-Lee with us.
tags: python, chat, talkshow, podcast
---
PyChat
  [DjangoCon 2020 Sept 18th and 19th](https://2020.djangocon.eu)
  Cheuk and I will be speaking at [PyData Hamburg on Sept 22nd](https://twitter.com/PyDataHamburg/status/1302709670440775680)
  Humber Data Workshop with PyData Global [open for application](https://humbledata.org/event/pydataglobal2020.html)
  [Answer survey to improve pip’s usability](https://pyfound.blogspot.com/2020/09/answer-surveys-improve-pip-ux.html?m=1)
  EuroPython Society General Assembly 2020 [this Sunday](https://www.europython-society.org/post/626791290466615296/europython-society-general-assembly-2020)
  [Python 4 FAQ by Guido](https://twitter.com/gvanrossum/status/1306270482384076800)

Mid Meet - Hall of Fame
  Vicky Tomey-Lee
  Founder of PythonIE, [PyLadies Dublin chapter](https://twitter.com/PyLadiesDub), [Coding Grace](https://twitter.com/CodingGrace)
  Follow Vicky on [Twitter](https://twitter.com/whykay)
  Follow Vicky on [dev.to](https://dev.to/whykay)

PyPI highlights
  [Papermill](https://github.com/nteract/papermill) - let’s you use parameters and trigger actions on a notebook.

[Listen to MidMeetPy podcast](https://anchor.fm/midmeetpy)
How to know nothing makes me understand better...
Tags: beginners, productivity
Published: 2020-09-18 21:38:59

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


We building this concept all the time in our minds.
And we auto self boycott sometimes, but the things always are the same if you don't put on your head that "knows something" is not more important than the way you walk on the route, tasting the journey.
:))))
Make simple inventory system in unity under 5 Min!
Tags: unity3d, inventory, save, items
Published: 2020-09-18 21:25:53

In this video I'll show you how to create inventory system inside unity using C#, so you can use it in your unity games for save items in the inventory

We will use the Dictionary data structure, so we will be able to save the items in our inventory using key-value data structure for maximum efficiency


{% youtube FcWYCVFjwvw %}

> Like this post? 
> Consider Support me via [Patreon](https://www.patreon.com/eranelbaz)
> Or Subscribe to my [YouTube Channel](https://www.youtube.com/channel/UCVUNeBGM5wZJKcOx0QwAaTA?sub_confirmation=1)
> You can also follow me on [Twitter](https://twitter.com/elbaz_eran)
Multi-Step Sign Up Process with React
Published: 2020-09-18 21:22:22

Finished result: [Multi-Step Sign Up Process](https://multi-page-signup.vercel.app/)

# Setting up the UserForm container

I usually start all my react projects by running
`npx create-react-app my-app`. After I've taken care of that I'll start by creating a UserForm.js file. this will house all of our components for each step in the multi-step sign up process.

if you have [ES7 React/Redux/GraphQL/React-Native snippets
](https://marketplace.visualstudio.com/items?itemName=dsznajder.es7-react-js-snippets) installed, just type `rafce` and hit tab. This will create a simple react arrow function component template. Like so:

```javascript
import React from 'react'

const UserForm = () => {
  return (
    <div>
      
    </div>
  )
}

export default UserForm
```

Once that is set up, lets start by create a state object that will hold out step number and each detail we'd like to collect. Like so:

```javascript
const initialState = {
  // Step counter will start at step 1 by default
  step: 1,

  companyName: '',
  companyEmail: '',
  companyPhone: '',

  cardholderName: '',
  cardNumber: '',
  expMonth: '',
  expYear: '',
  securityCode: '',
  address: '',
  address2: '',
  city: '',
  state: '',
  zip: '',
};
```

And inside the UserForm component set the state:

```javascript
// Initialize form state with initialState object
const [form, setForm] = useState(initialState);
```

Next we'll need 2 functions that will handle the button click of `Next Step` and `Previous Step`:

```javascript
  // Proceed to the next step
  const nextStep = (e) => {
    setForm({ ...form, step: form.step + 1 });
  };

  // Go back to previous step
  const previousStep = () => {
    setForm({ ...form, step: form.step - 1 });
  };
```

Next we need to use the switch and case and set up a sase statement for each step.:

```javascript 
// You can create as many steps as your like and store them in separate components.
switch (form.step) {
    case 1:
      return (
        <FromUserDetails
          nextStep={nextStep}
          handleInput={handleInput}
          form={form}
        />
      );

    case 2:
      return (
        <FormPersonalDetails
          nextStep={nextStep}
          previousStep={previousStep}
          handleInput={handleInput}
          form={form}
        />
      );

    case 3:
      return <FormSuccess />;

    default:
      return;
  }
```

Make sure to pass in the nextStep and previousStep functions into each step component. Also don't forget to create a Finished Component to let the user know that they completed the process.

Inside of each step component you can set up the inputs and handle changes.

[Vector Illustration](https://icons8.com/illustrations)
Kotlin data class — Behind the mask
Tags: kotlin, android, java
Published: 2020-09-18 21:15:24

As the name states, a `data class` is a class that holds data. The difference from the normal class is the auto-generation of some standard functionality and utility functions derived from the data itself.

1. copy()
2. componentN()
3. copy$default — A synthetic method


1) <b>Copy()</b>
The copy() function is not a deep copy or a clone function. It makes a shallow copy of class. It is used in the case where we need to copy an object altering some of its properties, but keeping the rest unchanged.


2) <b>componentN()</b>The ability to use destructuring declaration of data class is due to the generated component functions.
componentN() functions corresponding to the properties in their order of declaration;
If you are familiar with the principles of conversions widely used in kotlin, then component functions are one among them. If the required number of components functions can be called, then anything can be on the right-hand side of the destructuring declaration.

3) <b>copy$default</b> 
Java synthetic classes, methods and fields are for java runtime’s internal purposes. We may not need to have knowledge about them to write the code.
When an enclosing class accesses a private attribute of a nested class, Java compiler creates synthetic method for that attribute. If there is a getter method available in source then this synthetic method will not be created.
We don’t care about this method as it’s used internally on runtime by the JVM.
New interview, who dis...
Tags: career, interview
Published: 2020-09-18 20:58:35

Today is Friday,Sept 18. I didn't sleep so well last night and hopped on linkedin after a shower and breakfast. About an hour later I get and email from a Flatiron School Career Services Rep. The first time I was emailed from this person was about applying to a position at HCL Technologies as part of an employer partnerships. 

Recognizing the opportunity at hand, I applied as soon as I could and let the Rep know so she could flag my resume/application. Today I heard back from her. Her email stated that I had been selected to participate in HCL Technologies online assessment. 

As soon as I read this I was extremely excited. I had been job-searching for a while now and all I had gotten was weird waitlist type responses from recruiters. Now I have an assessment to take and am going to study/practice as hard as I can. Landing this job would be such a great relief because getting hired as an entry level developer has gotten considerably harder since Covid hit. I don't want to get my hopes up but now I have a solid opportunity to get my foot in the door. I'd like to give a little shoutout to Reagan Jones for getting me this opportunity and all of Flatiron School Career Services for their continued work during these difficult times.

Thanks for reading,
Gurjot
My first attempt to open source
Tags: opensource, webdev, dotnet, csharp
Published: 2020-09-18 20:55:04

### About me




I am a junior web developer. I've done some web application projects using C#, dotnet core, javascript, react, and Vue by myself or with friends. 

Just like other international students, I do want to move back home, and being with my family during this difficult time, especially while my hometown Taiwan is kinda good at handling this pandemic. However, I'm still in Ontario since I am too lazy to move. It is fine for me because I still have 5 courses to take in college, it would be a pain to take these courses in a totally opposite time zone of Ontario.  



### Open source and me



The charm of open-source is that it makes everything unlimited. No matter how smart a person is, she only gets one brain. Open-source provides developers to help each other and create more possibilities and surprises.  

I want to use the power of programming to help minorities. It is a vague and unrealistic goal since I have few experiences in this field. However, I believe that as long as I am on the right track, I will eventually accomplish something, or at least make some changes. In this term, I want to develop an open-source project from scratch. It will be a great chance to examine what I have learned so far and to reinforce the ability of communication and collaboration in the open-source community.



### Intriguing Github trending repo

The Github trending repo I choose is "googletest". I am always curious about testing but never gotten a chance to have practical experiences.
How we grew a wholesale nursery's website users from 15/day to over 200.
Tags: webflow, seo, webdev
Published: 2020-09-18 20:42:50

---
title: How we grew a wholesale nursery's website users from 15/day to over 200.
published: true
date: 
tags: webflow, SEO, webdev
canonical_url: https://www.solmediaco.com/blog/how-we-grew-wholesale-nursery-website-users-from-15-day-to-over-200
---
{% youtube g0gC8NnCZh8 %}

Over the past almost 3 years now, we have been managing [Garden Gate Nursery's website](https://gardengatetrees.com) through our company here at [Soltech](https://solmediaco.com).

When we first started managing this website, we saw around 15-20 users, on average, of their website per day.

Now, in September of 2020, we are seeing anywhere from 200-300 users of their website daily, and in the past year have seen over 50,000 people checking out products on Garden Gate's site.

In the above video, I share some of the specific things we did to see this kind of growth of their website traffic, which include:

- Writing a blog.
- Creating a curated product catalog with specific pages for each of the primary plants they sell.
- Updating the site often to provide better user experience with [Webflow](https://webflow.com/?rfsn=3714200.2671db).
- Structuring the site properly.
- Featuring Garden Gate Nursery on the [NurseryPeople website](https://nurserypeople.com).

One thing that we also did from the very beginning was used some Google advertising as well as Facebook advertising during Garden Gate's public events, but Organic search growth has completely outperformed the ad growth in users, so I decided primarily to focus on what brought in the most significant organic growth of the website's users.

_**I would love to read ideas you have that you could do for your companies website!**_ Leave them below in the comments.
Show & Tell: Show off your DE
Tags: linux
Published: 2020-09-18 20:29:15

Desktop environments have become a standard for people who use Linux every day. Heck, I even use a DE on my VPS sometimes. Thing is, everyone has their own favorite setup, so come show off yours! I personally use Plasma, both on my laptop and my Linux phone, and will be including a screenshot of my laptop's setup along with this post. Can't wait to see what setup you guys use!

My Desktop:
![Desktop](https://dev-to-uploads.s3.amazonaws.com/i/4t2pcap8lsr1t5fim7iu.png)

And of course, my neofetch
![Neofetch](https://dev-to-uploads.s3.amazonaws.com/i/y9y0hvmgqai8ayqn1qyb.png)
Day 64: Refactoring code into functions
Tags: 100daysofcode, javascript
Published: 2020-09-18 20:28:57

I refactored the web app javscript code into functions.
Function to get current weather forecast
```javascript
async function getDaysForecast(typedString){
	await axios(`https://api.openweathermap.org/data/2.5/weather?q=${typedString}&APPID=`, {
		"method": "GET"
	})
		.then(async response => {
			let data = response.data
			const lat = data.coord.lat
			const lon = data.coord.lon
			console.log(data);

			displayDaysForecast(data)
			getWeeksForecast(lat, lon)
		})
		.catch(err => {
			console.log(err);
		});
}
```
Function to display current weather forecast
```javascript
function displayDaysForecast(data) {
	const city = document.querySelector('.city');
	city.textContent = `${data.name},`

	const country = document.querySelector('.country');
	country.textContent = data.sys.country

	let icon = data.weather[0].icon
	const img = document.querySelector('#weatherIcon');
	img.setAttribute('src', `http://openweathermap.org/img/wn/${icon}@2x.png`)

	const temp = document.querySelector('.degrees')
	temp.textContent = `${Math.round(data.main.temp - 273.15)}°`;

	const weather = document.querySelector('.weather');
	weather.textContent = data.weather[0].description

	const humidity = document.querySelector('#humidityRate')
	humidity.textContent = `${data.main.humidity}%`

	const cloudRate = document.querySelector('#cloudRate');
	cloudRate.textContent = `${data.clouds.all}%`


	const windSpeed = document.querySelector('#windSpeedRate');
	windSpeed.textContent = `${data.wind.speed} m/s`

	const pressureRate = document.querySelector('#pressureRate');
	pressureRate.textContent = `${data.main.pressure} hPa`
}

```
Function to get the weekly weather forecast
```javascript
async function getWeeksForecast(lat, lon) {
	await axios(`https://api.openweathermap.org/data/2.5/onecall?lat=${lat}&lon=${lon}&exclude=hourly,minutely,current&appid=`, {
		"method": "GET"
	})
		.then(response => {
			let data = response.data
			console.log(data)
			displayWeeksForecast(data)
		})
		.catch(err => {
			console.log(err);
		});
}

```
Function to display the weekly weather forecast
```javascript
function displayWeeksForecast(data) {
	clearPlaceholder()
	data.daily.forEach(day => {
		let icon = day.weather[0].icon

		const section = document.querySelector('.section3');
		const card = document.createElement('div')
		card.setAttribute('class', 'card')
		section.appendChild(card);

		const p = document.createElement('p')
		p.textContent = 'next'
		card.appendChild(p)

		const innerCard = document.createElement('div')
		innerCard.setAttribute('class', 'innerCard')
		card.appendChild(innerCard)

		// const innerCard = document.querySelector('.innerCard')
		const img = document.createElement('img')
		img.setAttribute('src', `http://openweathermap.org/img/wn/${icon}.png`)
		innerCard.appendChild(img)

		const temp = document.createElement('p')
		temp.textContent = `${Math.round(day.temp.day - 273.15)}°`;
		innerCard.appendChild(temp)

		const weather = document.createElement('p')
		weather.textContent = day.weather[0].main
		innerCard.appendChild(weather)

	});
}
```
_Day 64_
Announcing YBC | Yew Bulma Components
Tags: rust, webassembly, webdev, bulma
Published: 2020-09-18 20:20:17

---
title: Announcing YBC | Yew Bulma Components
published: true
description: 
tags: rust, wasm, webdev, bulma
---

YBC is a Yew component library based on the Bulma CSS framework.

- [Github repo](https://github.com/thedodd/ybc)
- [API Docs](https://docs.rs/ybc/0.1.2/ybc/)
- [Bulma CSS framework](https://bulma.io/)
- [The Yew project](https://yew.rs/)

YBC encapsulates all of the structure, style and functionality of the Bulma CSS framework as a set of Yew components. **YBC also ships with support for the Yew Router,** adding Bulma-styled components which wrap the Yew Router components for clean integration.

As a guiding principal, YBC does not attempt to encapsulate every single Bulma style as a Rust type, let alone the many valid style combinations. That would be far too complex, and probably limiting to the user in many ways. Instead, YBC handles strucutre, required classes, functionality, sane defaults and every component can be customized with any additional classes for an exact look and feel.

**To get started with YBC,** have a look at the [Getting Started](https://github.com/thedodd/ybc#getting-started) guide in the README. A few pertinent highlights:

- YBC works out of the box with Bulma CSS. Add `<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.0/css/bulma.min.css"/>` to your HTML, and then you're ready to start using YBC.
- YBC also supports full customization using Bulma's recommended customization pattern. [Details here](https://github.com/thedodd/ybc#add-bulma-sass-allows-customization--themes). TL;DR, use [Trunk](https://github.com/thedodd/trunk) for building & bundling your app. It will handle compiling your scss/sass, which is what you will use for customizing Bulma.

Let me know what you think. The hope is that this crate will make building web apps with Rust WASM that much easier. Cheers!
Trunk 0.4.0 | Layered config (Trunk.toml), JS Snippets & release binaries
Tags: rust, webassembly, webdev
Published: 2020-09-18 20:17:18

---
title: Trunk 0.4.0 | Layered config (Trunk.toml), JS Snippets & release binaries
published: true
description: 
tags: rust, wasm, webdev
---

Build, bundle & ship your Rust WASM application to the web.

- [Github repo](https://github.com/thedodd/trunk)
- [Release notes](https://github.com/thedodd/trunk/releases/tag/v0.4.0)
- [Example Trunk.toml](https://github.com/thedodd/trunk/blob/master/Trunk.toml)

### Pertinent Highlights
- In addition to CLI arguments and options, Trunk now supports layered configuration via `Trunk.toml` & environment variables.
- There is an example `Trunk.toml` to the root of the repository showing all possible config values along with their defaults. Link above.
- JS snippets generated by wasm-bindgen are now fully supported by Trunk. They should have been since the `0.1.0`, but I overlooked that feature `:)`. Docs for [wasm-bindgen JS snippets](https://rustwasm.github.io/docs/wasm-bindgen/reference/js-snippets.html).
- Release binaries will now be uploaded to the Github release page for every future release. This is great for CI/CD. Brew formulae for Mac/Linux, and Choco package for Windows are in the works.
httplinkchecker
Tags: opensource, programming, java
Published: 2020-09-18 20:10:59

The use case to check an HTTP link is broken or not sounds quite simple to implement on the surface. But the implementation soon gets messy when the number of tasks, such as searching for HTTP Strings in multiple files, sending HTTP requests, receiving HTTP responses, and displaying those responses to the console, grows drastically enough to consume too much resources of a computer and eventually freezes the machine.

I am using Java to program the httplinkchecker. Multi threading is my first consideration to reduce the performance bottleneck, of course, at the cost of making the code complicated.

During my initial research, I found HashMap was mostly frequently used to store links found in a file. I use ArrayList instead because of simplicity. However, when trying to retrieve and store links from all the files of a sub-directory, I force myself into using ArrayList of ArrayList, which gives me unease feeling about this data structure without knowing the exact reason.

After reviewing my colleagues who program the same tool in Java, I find it quite amusing on the way a C/C++ programmer programs in Java. It IS really hard to learn a new language well, let alone thinking in its idioms. Since Java claims to be an Object Oriented programming language, you can usually hear a new programming learner complains that the language forces one to construct everything in objects. Well, at least one solution exists: to throw everything into one giant class.    

The following are links to my interactions with our colleagues:
     1. https://github.com/jossiey/LinkChecker-CmdLC/issues/3
     2. https://github.com/pyvelkov/DeadLinkage/issues/8