teleren/devto huggingface dataset:
About Me
Tags: introductions
Published: 2018-08-30 20:45:56

---
title: About Me
published: true
description: My introduction post
cover_image: https://thepracticaldev.s3.amazonaws.com/i/8q480k5vraaqmviwakrp.png
tags: introductions
---

_This is a "repost" of the initial "Hi, I'm Gaëtan Masson" that I decided to redo because many things changed (like, I'm not a student anymore)._

I have been coding for many years (I started when I was a teenager) but only for few years in a serious way. I started coding on my spare time with the C language then I went into web programming with PHP. I have to admit that I also flirted with Python at that period (my first program was a port scanner, what a hacker!).

In CS school, we did low level stuff by reinventing the wheel with the C language (had to rewrite malloc, printf...) and even a bit of Assembly. Then we went into OOP with C++ and Java. At the end, I did some Swift (had to create an iOS app) for the final school project.

Today, I mostly program in Ruby (I make my living as Ruby on Rails developer) but I have a strong interest toward Elixir (what a surprise).

About my hobbies, I enjoy to do weight lifting and being lazy by doing nerd stuff like watching animes, playing video games and hugging my two cats.

![Kira and Ruyk](https://thepracticaldev.s3.amazonaws.com/i/99mp3iezarcyhk4ok771.jpg)

I also like to read/watch/listen stuff about science in general, technology and psychology (the brain is an interesting machine, don't you find?).

I'm currently living in Lille (France). You can find me on GitHub as [gaetanm](https://github.com/gaetanm) and on Twitter as [@gaetanm_](https://twitter.com/gaetanm_).

To finish, here is a photo of [Matz](https://fr.wikipedia.org/wiki/Yukihiro_Matsumoto) with me!

![Matz and me](https://thepracticaldev.s3.amazonaws.com/i/e6gsazhcvej7z4jj42q1.jpg)

Nice to meet you.
I coded in assembler on the Commodore Amiga in the early 90s, ask me anything!
Tags: ama, retro, coding, amiga
Published: 2018-08-30 20:36:16

---
title: I coded in assembler on the Commodore Amiga in the early 90s, ask me anything!
published: true 
tags: ama, retro, coding, amiga
---
The Commodore Amiga can be seen as a successor of the legendary Commodore 64 (C64). It was a home computer with graphics and sound so good that regular PCs could not compete at the time. That made it an awesome gaming machine.

But apart from that, it had an easy enough to understand system architecture, so that a lot of kids programmed on it in assembly language. I was one of them, ask me anything!
My Own Private CDN
Tags: aws, ruby, rails, networking
Published: 2018-08-30 19:53:43

---
title: My Own Private CDN
published: true
description: Yet another edition of Why Would You Ever Want To Do That
tags: aws, ruby, rails, networking
canonical_url: https://www.petekeen.net/my-own-private-cdn
---

Hosting my own CDN has long been a completely irrational goal of mine. *Wouldn't it be neat,* I'd think, *if I could tweak every knob instead of relying on CloudFront to do the right thing?* Recently I read [this article](https://pasztor.at/blog/building-your-own-cdn) by Janos Pasztor about how he built a tiny CDN for his website. This just proves to me that at least it's not an *uncommon* irrational thought.

Yesterday I decided to actually start building something. Even if it doesn't make it into production, I'll at least have learned something.

## Technical Goals

* Centrally manage all of the dozen or so sites that I run
* Automatically generate and renew LetsEncrypt certificates, both for publicly-facing sites and my own private sites. This means using the dns-01 challenge instead of using the easier to understand http challenge.
* Easily add new cache nodes with authenticated `curl | sudo bash`
* Automatically reconfigure `nginx` on the cache nodes when certificates roll or sites change
* Easily host sites anywhere, including the internet-inaccessible server in my basement
* Stop paying so much for bandwidth. Transfer is $5/tb/mo from DigitalOcean vs $$$$ for CloudFront.

Additionally, I really want to learn how LetsEncrypt works. `certbot` is great but it is very much a black box to me. Command-line arguments in, certificates out.
If I write my own management system I can actually learn how the guts work.

## Current Status

* basic Rails app that knows about sites and proxies
* creating or updating a site (re)generates a LetsEncrypt certificate for all of the domains that point at that site
* wildcard domains are fully supported
* authenticated endpoint that generates a zip file of all of the certificates and private keys

## Next Steps

* Automatic certificate refresh using something like [Sidekiq Cron](https://github.com/ondrejbartas/sidekiq-cron)
* Deploy onto the server in my basement on my [ZeroTier network](https://zerotier.com)
* Move all of my existing LetsEncrypt `certbot` crons into this system
* Provision a POP by hand and then automate the steps to provision another one

If you'd like to follow along I put the project up on [GitHub](https://github.com/peterkeen/diycdn). I'll also be posting updates here as I go.

<hr>

Want more stuff like this? [Sign up for my mailing list](https://www.petekeen.net/newsletter). I post everything there two weeks before I post it here.
ランダムに色を表示するだけのサービスをつくった
Tags: javascript, preact
Published: 2018-01-09 15:49:51

---
title: ランダムに色を表示するだけのサービスをつくった
published: true
description: ランダムに色を表示するだけのサービスをつくった話
tags: JavaScript, preact
---

![](https://thepracticaldev.s3.amazonaws.com/i/kotbjrtjwxwx7y2ubo91.png)

https://color.kbys.tk/

野暮用でランダムな色がちょいちょい必要になったのでサクッと作ろうとおもった。

最近 unpkg.com という CDN を知って、ここでは npm に登録されているパッケージとバージョンを指定するとファイルが配信されるようになっている。面白いのが `?module` を付けると ES modules に対応したかたちにトランスパイルされて送られてくるところ。

例えば https://unpkg.com/@angular/router@4.3.5/@angular/router.es5.js?module だと

```js
// ...
import { BehaviorSubject } from 'https://unpkg.com/rxjs@^5.0.1/BehaviorSubject?module';
import { Subject } from 'https://unpkg.com/rxjs@^5.0.1/Subject?module';
import { from } from 'https://unpkg.com/rxjs@^5.0.1/observable/from?module';
import { of } from 'https://unpkg.com/rxjs@^5.0.1/observable/of?module';
import { concatMap } from 'https://unpkg.com/rxjs@^5.0.1/operator/concatMap?module';
import { every } from 'https://unpkg.com/rxjs@^5.0.1/operator/every?module';
// ...
```

というような感じで `import` 句のあとも `unpkg.com` にリライトされている。これを使って、手元でビルドせずにアプリを作ってみようとしたのだが、CommonJS で依存が書かれていると解決できないようで、自分好みのミニマルなライブラリは使えなかった。残念。

そこで、どうしようか迷った結果 `preact-cli` でパパッと雛形を作ってパパッと Netlify にデプロイした。

特に大層なことはしてなくて、素直に JS と CSS だけ書いたら形になるし便利な時代になった。
Create websites using Google Forms
Tags: webdev, nocode, googleformswebsite, googleform
Published: 2020-08-15 23:08:47

---
title: Create websites using Google Forms
published: true
date: 2018-08-30 19:21:41 UTC
tags: webdevelopment,nocode,googleformswebsite,googleform
canonical_url: https://medium.com/hackernoon/create-websites-using-google-forms-49a19cc8beb8
---

_Changing CSS of Google Form to create website by using No Code_

> The Best Code is No Code At All

### **Step 1**

Navigate to [google forms](https://www.google.com/forms/about/) and create a form with the required fields.

### **Step 2**

Create a html form with the same fields as mentioned in google form so that you can connect your google form in it.

### **Step 3**

Navigate back to the google form you created and inspect the Google form for action attribute.

![](https://cdn-images-1.medium.com/max/981/1*fLHT-AFfskKBOtWB2fgw-Q.png)

### **Step 3(a)**

Copy the same action to your html form.

![](https://cdn-images-1.medium.com/max/1024/1*WHbQ-ruNSP6XWoZ8it_aeA.png)

### **Step 4**

Inspect and find values for attributes name for every field mentioned in Google form.

![](https://cdn-images-1.medium.com/max/1024/1*7GwU6eNxyMaJSUMwgmA3lA.png)

### **Step 4(a)**

Give the same name values for your html form items as well. The values look something like entry.742532386.

Put this value in the html form field using <input name> tag.

### **Step 5**

Fill a test input in your html form and verify whether your google form is getting the response or not.

Since it is a native <form> element, apply CSS however you want to :)

Sample html form with google form embeded in it.

```
<form action=”https://docs.google.com/forms/u/1/d/edjffbsffefEg/formResponse" method=”POST” id=”contact\_form” name=”” class=”feedback-form”>

<input class=”form\_\_email” type=”text” placeholder=”Name” name=”entry.1432404007" id=”name\_input” required=”” />

<textarea class=”form\_\_message” cols=”30" type=”text” placeholder=”complaint” name=”entry.1580494895" id=”email\_input” required=”” rows=”5"></textarea>

<input class=”form\_\_email” type=”text” placeholder=”hostel” name=”entry.178242508" id=”telephone\_input” required=”” />

<input class=”form\_\_email” type=”text” placeholder=”room number” name=”entry.791188540" id=”email\_input” required=”” />

<button class=”form\_\_submit”>Submit</button>

</form>
```

Sample form with google form linked in it.

![](https://cdn-images-1.medium.com/max/688/1*BwbXKHEZQH_4Kpczesmjww.png)

### What Next

You can use a zapier integration with Airtable and create a platform. [https://zapier.com/apps/airtable/integrations/google-sheets](https://zapier.com/apps/airtable/integrations/google-sheets)

* * *
Speedy Introduction to Web Workers
Tags: javascript, webworkers, webdev
Published: 2018-08-30 18:51:03

---
title: Speedy Introduction to Web Workers
published: true
description: Learn how to use web workers in JavaScript to create parallel programming and perform multiple operations simultaneously rather than interleaving them.
tags: #javascript #webworkers #webdev
canonical_url: https://auth0.com/blog/speedy-introduction-to-web-workers/
---

Let's explore what we need to know to make use of web workers in JavaScript and what benefits it brings to a web application.

[Read on ⚙️](https://auth0.com/blog/speedy-introduction-to-web-workers/?utm_source=dev&utm_medium=sc&utm_campaign=webworkers_intro)

![ Speedy Introduction to Web Workers](https://thepracticaldev.s3.amazonaws.com/i/npifvah5n10yrodabmeq.png)
Index/Search web sites pointed to by the bookmarks
Published: 2018-08-30 18:22:38

---
title: Index/Search web sites pointed to by the bookmarks
published: true
description: 
tags: 
---

I am trying to gauge if there would be enough interest or if you would find it helpful in having the web sites pointed to by one's bookmarks indexed and made searchable for future references. This gets away with the need to arrange them into folders etc.

A cloud based or desktop solution can be achieved for this purpose.

I have got a POC going here - https://bit.ly/2sP9wLt
Diary - 2018.08.30
Tags: career, productivity, learning, journey
Published: 2018-08-30 17:47:59

---
title: Diary - 2018.08.30
published: true
tags: career, productivity, learning, journey
---

Most of the time, I wrote "clever" code.
At best, a one-liner. 
Easy to create with some functional JavaScript.

```js
const f = (o) => o.reduce((a, { b, c }) => [...a, ...(c ? [b * 3] : [])], []);

console.log(
  f([
    { b: '1', c: true },
    { b: '2', c: false },
    { b: '3', c: true },
    { b: '4', c: true },
  ]),
);
```

Today I found this code in my archives.
I gave it to a friend and he was like ":-(".
He has some basic JS knowledge and said,
that he can't understand it.

I re-wrote my code to this:

```js
// array for all option objects
const options = [
  { value: '1', assigned: true },
  { value: '2', assigned: false },
  { value: '3', assigned: true },
  { value: '4', assigned: true },
];

const filter = options
  // only use option objects that have a truthy assigned value
  .filter((option) => option.assigned)
  // take the option value and multiply it with 3
  .map((option) => option.value * 3);

console.log(filter);
```

To close this learning, I've found something in my notes:
**Never ever write "clever" code to increase your ego. Write simple code, so that you and all readers do understand it.**
My Personal Website | Blog
Tags: website, php, jigsaw, tightenco
Published: 2018-08-30 15:34:27

---
title: My Personal Website | Blog
published: true
description: For someone who has no idea about good design, I'm pretty proud of the current look of my personal site and blog. 
tags: website, php, jigsaw, tightenco
---

The little I know about design came from following Steve Schoger on Twitter.

https://twitter.com/steveschoger

My site => https://wilburpowery.co/

I'd like to know your thoughts on my site 🤗
JavaScript Beginners: Friendly Intro & Exercises
Tags: javascript, beginners, webdev, node
Published: 2018-08-31 18:12:19

---
title: JavaScript Beginners: Friendly Intro & Exercises
published: true
tags: javascript, beginners, webdev, node
canonical_url: https://snipcart.com/blog/javascript-beginner-intro-exercises
---

![JavaScript Beginners: Friendly Intro & Exercises](https://snipcart.com/media/203638/devdensm-2x.png)

“Baby steps, & lots of practice.”

That is the most common answer I hear to the **How can I learn JavaScript?** question.

Because let’s face it: 

> For JS beginners, the towering ecosystem that is JavaScript can be quite intimidating.

At Snipcart, we have many users who aren’t JS experts—and that’s just fine. We often try to guide them towards a better understanding and best practices. Following the [count your keystrokes](https://blog.jonudell.net/2007/04/10/too-busy-to-blog-count-your-keystrokes/) principle, I decided to create an evergreen resource I could later point to!

This intro for JS beginners will feature:

- A rich overview of JavaScript & its ecosystem
- A step-by-step learning program & key resources
- Two JavaScript exercises for beginners

Let’s take those first baby steps.

→ Read the full post [here](https://snipcart.com/blog/javascript-beginner-intro-exercises)
Jelly Fin: Come chat with us!
Tags: jellyfin, opensource, discord
Published: 2018-08-30 14:34:48

---
title: Jelly Fin: Come chat with us!
published: true
description: People need to talk!
tags: jellyfin, opensource, discord
---

I recently just opened up a space to chat.  Come chat with us on Discord.  [Check it out here.](https://discord.gg/xveZ3FT)
We got our green cards and here is our startup!
Tags: showdev, books, web
Published: 2018-08-30 12:31:11

---
title: We got our green cards and here is our startup!
published: true
description: Introducing Bubblin, an online café of books.
tags: showdev, books, web 
author: Sonica Arora 
---
    TLDR; Meet ✨Bubblin Superbooks–A modern book reader for web.✨ 

*[…a huge yay!, a thousand 🎉🎉🎉s pop, and the 🍾🍾🍾 flows and a million 🎊 🎊 🎊 fall to the ground…]*


Hello! 

It feels awesome to finally be able to say this (after five years of wait):

> We have a startup! 😇

Meet [Bubblin Superbooks](https://bubblin.io) - a fun little project that my husband and I have built using Ruby on Rails, Postgres and JavaScript (Node). **Bubblin** is *tablet first*, so please pick up your iPad and flip open a book to start reading. 

A little backstory. We always thought that if books are not files, why should e-books be?! To escape this notion of a file masquerading as an e-book (sic), we created Bubblin Superbooks and gave free and beautiful books a new home on web.

On Bubblin, you can heart books that you like or share them with your friends. Or you can simply hangout with other book lovers and be a part of a quiet, calm and level-headed community.

Since Bubblin is all about reading longform, we wanted the books to go *offline-first*. How couldn't we?! 

We use a simple [Service Worker](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) instance under each book and introduce **offline book reading on web**, thus making it a very close to experience of reading real books offline. While Bubblin has been designed for a power tablet user on mind, it works just as good on desktops and mobile. It scales perfectly even on Apple Watch and an LCD TV.

Bubblin makes books enjoyable like never before, without ever needing us to leave the one place that we have come to love so much—the web! And, without felling a single happy tree! 🌱:)

For books we're relying on the awesome Gutenberg classics along with a [few](https://bubblin.io/cover/let-s-learn-es6-by-ryan-christiani)+[new](https://bubblin.io/cover/ladakh-by-satie-sharma)+[titles](https://bubblin.io/michaeljsullivan-michael-j-sullivan) contributed by the awesome community of writers. There's an OSS writer's [tool](https://bubblin.io/tools) in the works so hit me up if you wish it give its prerelease a go!

Now there's a lot going on with this little project of ours, and not everything is cool or even easy to reason about at the moment. But I'm sure that some of you’ll like it and share a word about us with your friends.

Good or bad, we are eager to hear your thoughts and feedback in the comments below. 


---

An alternate version of this article appeared on [The Bubblin Blog](https://bubblin.io/blog/announcement).
Using C# LINQ API to perform SQL IN logic at WHERE clause
Tags: csharp, sql, linq, sqlserver
Published: 2018-08-30 12:24:58

---
title: Using C# LINQ API to perform SQL IN logic at WHERE clause
published: true
description: 
tags: csharp, sql, linq, sqlserver
---

I was working on a project with `User` and `Costumer` identificação. The first is generated by the web app, and the second by the business department.

So I had to develop a logic to make those match between identifications. 

The `User` entity needs to know the `Costumer` identification and, in order to make the match, first I selected the users without a costumer and extracted a list of emails. Then, I selected the customers based on this email list. This statement can be transcribed to SQL syntax, like this:

```sql
SELECT *
FROM Customers
WHERE email IN (SELECT email FROM Users WHERE CustomerId IS NULL)
```

But how to translate the SQL to C# LINQ API?

1. First, make the selection from Users, extracting the list of emails
1. Select the Customers with those emails

This way:

```csharp
var emails = _userManager.Users
    .Where(user => user.CustomerId == null)
    .Select(user => user.Email) // extract the emails from users
    .ToList();

var customers = _applicationRepository.GetCustomers()
    .Where(customer => emails.Contains(customer.Email)) // the Contains method carry the IN logic when translated to SQL script
    .ToList();
```

Now we have the match programmatically.

That's it!

###Reference

* [Using LINQ to Perform "WHERE IN (Value1,Value2)" Queries](https://weblogs.asp.net/dwahlin/using-linq-to-perform-quot-where-in-value1-value2-quot-queries)
* [IN(Transact-SQL)](https://docs.microsoft.com/en-us/sql/t-sql/language-elements/in-transact-sql?view=sql-server-2017)
* [Queryable.Contains Method ](https://docs.microsoft.com/pt-br/dotnet/api/system.linq.queryable.contains?view=netframework-4.7.2)
* [LINQPad - The .NET Programmer’s Playground ](https://www.linqpad.net/)
How to select a front-end framework?
Tags: discuss, javascript, webdev, productivity
Published: 2018-08-30 11:06:48

---
title: How to select a front-end framework?
published: true
description: 
tags: #discuss #javascript #webdev #productivity
---

There are so many famous front-end frameworks you can select for new project. It would completely affect productivity of your team. 

How would you select front end framework for your new project?

* Angular
* React
* Ember
* Vue
* Extjs
* Hyperapp 

# Common Feature 
Common feature of these framework

* Two-Way Binding
* Dynamic Rendering / Templating
* Reusable Component
* Http Client 
* State Routing and Management
* Error Handling

*Please correct me if you found wrong*

# Selection

For me, I would try to select one which most developers in my team just think it may be good. I do not think wasting too much time can help your project. I think **"Maybe do something wrong"** is better than nothing. 

*The most importance is no one know which selection is correct.*







*This Post is republished in [Medium](https://medium.com/developer-notes/how-to-select-a-front-end-framework-1927c6ec0303)*
Adventures of a Hobbyist ~ Index
Tags: index
Published: 2018-08-30 11:06:38

---
title: Adventures of a Hobbyist ~ Index
published: true
description: Index for all posts in the Hobbyist series
tags: index
cover_image: https://thepracticaldev.s3.amazonaws.com/i/t1hcxxmwwfy83j0exv0g.png
---

- [Preamble](https://dev.to/link2twenty/adventures-of-a-hobbyist--part-one-2e0n)
- [First week of Learning](https://dev.to/link2twenty/adventures-of-a-hobbyist--part-two-2g5a)
- [Thinking about `conf` files](https://dev.to/link2twenty/adventures-of-a-hobbyist--part-three-l1m)
- [Playing with `MySQL` and `HTTP`](https://dev.to/link2twenty/adventures-of-a-hobbyist--part-four-2i9k)
- [Thinking a little more about `conf` files](https://dev.to/link2twenty/adventures-of-a-hobbyist--part-five-532c)
- [A slow week](https://dev.to/link2twenty/adventures-of-a-hobbyist--part-six-4l7c)
- [Playing with routing](http://dev.to/link2twenty/adventures-of-a-hobbyist--part-seven-8in)
  + [MySQL Editor in NodeJS (1)](https://dev.to/link2twenty/mysql-editor-in-nodejs--part-one-42j0)
  + [MySQL Editor in NodeJS (2)](https://dev.to/link2twenty/mysql-editor-in-nodejs--part-two-2abm)
  + [MySQL Editor in NodeJS (3)](https://dev.to/link2twenty/mysql-editor-in-nodejs--part-three-3ldp)
  + [MySQL Editor in NodeJS (4)](https://dev.to/link2twenty/mysql-editor-in-nodejs--part-four-3mjc)
  + [MySQL Editor in NodeJS (5)](https://dev.to/link2twenty/mysql-editor-in-nodejs--part-five-4026)
- [Project Nodetree recap ~ AoaH Eight](https://dev.to/link2twenty/project-nodetree-recap--aoah-eight-4ki6)
- [Storing permissions ~ AoaH Nine](https://dev.to/link2twenty/storing-permissions--aoah-nine-130f)
- [Storing permissions(again) ~ AoaH Ten](https://dev.to/link2twenty/storing-permissions-again--aoah-ten-4fdf)
- [First look at webpack ~ AoaH Eleven](https://dev.to/link2twenty/first-look-at-webpack--aoah-eleven-29en)
Using Excel with pandas
Tags: python, pandas, excel, dataanalysis
Published: 2018-08-30 09:33:44

---
title: Using Excel with pandas
published: true
description: 
tags: Python, Pandas, Excel, Data Analysis
---
I wrote a post about Using Python Pandas with Excel files for Data Analysis. Check it out - https://www.dataquest.io/blog/excel-and-pandas/
Have you tried out PHP programming with all symbols defined as unicode
Tags: php, unicode, tryout, experiment
Published: 2018-08-30 08:22:25

---
title: Have you tried out PHP programming with all symbols defined as unicode
published: true
description: 
tags: php, unicode, tryout, experiment
---


Here is one [example](https://3v4l.org/UVtt1) using [Devanagari](https://en.wikipedia.org/wiki/Devanagari):


```php
class लगर
{
    const इन्फो = 'इन्फो';

    public function लग(string $मेसेज, string $लेवल)
    {
        echo "[$लेवल] $मेसेज";
    }
}

(new लगर)->लग('hello', लगर::इन्फो);
```