DEV Community

loading...
Junxiao Shi profile picture

Junxiao Shi

stallion coder; push-up specialist

Location Gaithersburg MD Joined Joined on  Personal website https://yoursunny.com github website twitter website

Work

guest researcher at NIST

Last 250 comments

Data Structures: Bidirectional Map

I usually use mnemonist package for all my BiMap needs: yomgu...

I Bet You Don't Keep A Developer Journal: 3 Reasons You Should

I have a bunch of text files for how I setup each server and ...

A GitHub issue report which makes you happy

I received a similar issue, on a library I put together in a ...

You don't need --save anymore for NPM installs

The closest I can find is: Detecting and installing Definitel...

You don't need --save anymore for NPM installs

I wish NPM can install production and development dependencie...

How to test your NPM package locally

npm link cannot catch errors in package creation, such as mis...

Why i hate Javascript

Don't like the numbers? Use BigInt and everything will make s...

Dockerize your Go app

It's a trade-off between fewer dependency on the host (by inc...

Dockerize your Go app

/etc/ssl/certs isn't necessary when you build the production ...

Dockerize your Go app

ENV CGO_ENABLED 0 is very important. If it's forgotten, the p...

How to create a password generator using react

Math.random() is not cryptographically secure and must not be...

How to access localhost from other devices within the same network?

There could be behavioral difference between localhost and HT...

What was your win this week?

I wrote about the deep technology behind a wacky webpage that...

Do developers still use PHP?

I still reach for PHP when I don't want to give another 1GB+ ...

Is Dev.to victim of its own success?

There is a beginner community using the same Forem software: ...

A Faster Free Heroku (Kinda) | Quick Hack

I don't think a timer would prevent sleep. These services are...

Code Smell 82 - Tests Violating Encapsulation

Test creates an instance of Hagnman, not Hangman. $hangma...

Code Smell 82 - Tests Violating Encapsulation

Is it Hangman (implementation) or Hagnman (in test case)?

`at` coming soon to ECMAScript

Coming from C++, my first feeling is that .at(nonexistent) wo...

`at` coming soon to ECMAScript

Modulo is risky because you get NaN on an empty array.

`at` coming soon to ECMAScript

What if you need second-to-last item? .at(-2) is as reasonabl...

Buying a new domain is not the way to start your side project

I keep websites on subdomains, so that I never pay for increa...

Buying a new domain is not the way to start your side project

I put everything on subdomains. People find my content via se...

How to convert your website from HTTP to HTTPS

acme.sh is easier and automated.

What was your win this week?

I participated in 11th NDN Hackathon and won most practical a...

Code Smell 72 - Return Codes

Tell the designers of Go programming language. There's no exc...

I made a Twitter Clone with VueJS and Go

I guess there's some sort of coding school teaching people ho...

Do you use Docker?

When I install a program not written by myself and not in the...

Do you use Docker?

Portainer is a web GUI for controlling Docker. lowendspirit.c...

What's your favorite Static Site Generator?

I keep my eggs in multiple baskets. /t/ has Jekyll. /study/ h...

How often do you maintain the code that's not a part of your favorite stack?

The stallion coder does not deal with legacy code. I rewrite ...

Do I need to do private side projects to be/become a professional web developer?

I started a side project when I'm in grad school: NDN Arduino...

What revenue models do you use in your apps?

I have everything open source. It's outrageous to ask for pay...

Have you learned Rust?

I tried Rust once, in 2019 Code Jam qualification. I haven't ...

Introduction to HTTP Cookies

I guess this one is for the British: npmjs.com/package/biscui...

Get Real Time Date and Time using JavaScript

ESLint is unhappy seeing all those var and new Array. Also, m...

Iโ€™m a release manager for PHP 8.1!

Manager of PHP is using a Ruby blog system. The irony.

Do you code on weekends?

Since the pandemic began, there's no more difference between ...

Is 0kb of *HTML* in your future? ๐Ÿ”ฎ A website without JS...HTML...CSS or IMAGES!?โ‰๐Ÿ˜ฑ

The truth: debian@bbb:~$ curl -I https://inhu.co/demos/no-...

How many domains have you let expire?

65536.cn (2006-2014) It used to be my blog, but I consolidate...

How to start a TypeScript project [2021]

I wish I know! My own library is ESM only since (almost) the ...

How to start a TypeScript project [2021]

It ain't 2021 edition if TypeScript is not configured to emit...

Day 3: Dizzy from all the CSS

You don't need cross-browser CSS anymore. Just make it kinda ...

5 things that are ruining your blogs & how to fix 'em! ๐Ÿ˜ฑ

I write a lot of "15-30-60 minute post" but readers can CTRL+...

5 things that are ruining your blogs & how to fix 'em! ๐Ÿ˜ฑ

I sometimes hint at the "super cool thing" but I explain what...

5 things that are ruining your blogs & how to fix 'em! ๐Ÿ˜ฑ

My funniest engagement is: If you find this article interes...

DISCUSS: JavaScript just DIED! What language should replace it?

Do you know, you can embed an ActiveX control on the webpage?...

I made a 'new tab' browser extension/theme

New Tab is the new FOLDER.HTT . FOLDER.HTT is a Windows 98 fe...

How a compromised NPM package can steal your secrets (POC + prevention)

What if the entrypoint script modifies process.env, clearing ...

What was your win this week?

I won the raffle for a "leftover" vaccine. It reduces the cha...

Why you should make your site accessible

My accessibility solution is providing a phone number so that...

I got a 50$ gift from dev.to, and here it is ๐Ÿ˜

I've been eyeing the yellow shirt because that color looks gr...

My First Personal Site! ๐Ÿ“ฃ

I see rotating buttons โ€ฆ Netlify is indeed nice for static w...

Show off the swag you got (ฬฟโ–€ฬฟโ€ฟโ€‰ฬฟโ–€ฬฟ ฬฟ)

A vendor sent me a The North Face backpack, in exchange of 15...

Do you workout son!? ๐Ÿง ๐Ÿ‹๏ธ

Since the gym closed in pandemic (now reopened but I don't da...

Do you code mobile-first?

Sometimes, I use Pure CSS, and everything is responsive. Oth...

No Known Bugs and How to Get There

What to do with Pull Requests that have been open for more th...

How to clear commit history using GIT

Last time I force-pushed to the main branch, people started s...

What's your fav SSR framework: Next, Nuxt, Nest or Sapper?

Hell has cookies, but only if you visit the hell with HTTP/1....

Show me your best Open Source project

yoursunny / ND...

Which programming language would you start with and why?

If I'm a freshman taking my first programming class, I want i...

5 habits every developer should adopt!

The closest I got was one day of no coding after 20 days of 9...

What exactly is VanillaJS?

github.com/madrobby/vapor.js <script></script>...

What exactly is VanillaJS?

semicolon.js is more powerful than VanillaJS and only margina...

5 habits every developer should adopt!

I'm the stallion coder ๐Ÿฆ„ and I cannot possibly burn out.

What you hate the most about being a Developer? ๐Ÿ˜…๐Ÿค“

I schedule meetings at 3am or 7am.

What you hate the most about being a Developer? ๐Ÿ˜…๐Ÿค“

Waiting more than 3 days for a code review.

What you hate the most about being a Developer? ๐Ÿ˜…๐Ÿค“

VS Code has a spell check extension that can save you.

What would you need 64GB of RAM for?

It's my first non-trivial Node.js program and I was clueless ...

Show off your Terminal Setup ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป๐Ÿ’ฏ

I have default terminal in Ubuntu MATE and I like it. I have ...

Stop using virtualenv, pyenv, nvm, goenv and Use Docker images

My servers are mostly 1GB or 2GB, so I can't fit many contain...

Web Development Bad Habits to Kick

I'm intrigued with screen readers. Can't they just call me by...

Stop using virtualenv, pyenv, nvm, goenv and Use Docker images

Docker is great for production deployment but painful for dev...

My first website - Give some feedback please

Bug report Environment: Firefox 85 on Windows 1920x1080 re...

Choosing between Netlify, Vercel and Digital Ocean

If you have managing servers anyway, you can get cheaper serv...

Put Down the Destructuring Hammer

I find destruction handy for supplying a default value to an ...

Show off your VSCode Setup ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป๐Ÿ’ฏ

I have Markdownlint configuration in the repository, and CI f...

Show off your VSCode Setup ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป๐Ÿ’ฏ

I didn't bother to look for the buttons for changing fonts an...

Why you should drop ExpressJS in 2021

I tend to select different frameworks every time I start a ne...

5 CV don'ts for software engineers

My CV is written in LaTeX. I cannot possibly have colors, vis...

A story of data hiding and why you shouldn't

play.golang.org/p/ADAMCB_GuTE package main import ( "...

A story of data hiding and why you shouldn't

play.golang.org/p/u5hi1fE6g3_p package main import ( ...

A story of data hiding and why you shouldn't

Look into the reflect package. It allows you to read unexport...

A story of data hiding and why you shouldn't

Go doesn't have warnings. As I said, you can read unexported ...

A story of data hiding and why you shouldn't

The purpose of having something unexported is that the librar...

Package Version - Update or Not Update?

I upgrade aggressively but manually. I don't commit the packa...

February 4th, 2021: What did you learn this week?

I wrote a very long blog article The Reality of NDN Video Str...

What was your win this week?

I wrote a very long blog article The Reality of NDN Video Str...

I completely rewrote my personal website using Dev.to as a CMS

This is a risky direction. In 2035, Dev.to is bankrupt and no...

Migrating from CommonJS to ESM

ESM in Node is becoming easier since Node 14.2. In NDNts, I'v...

Hacktoberfest 2020 challenge completed!

I did the PRs but no sign of the shirts.

How do you approach adding new npm dependencies to a project?

I have many "10 weekly downloads" dependencies, but I do cons...

How do you approach adding new npm dependencies to a project?

I add dependency all the time. I only check whether they have...

Want to crosspost to dev.to? There's a GitHub action for that.

I'm cross-posting manually as I don't have that many articles...

10 bad TypeScript habits to break this year

Can you make an ESLint config / plug-in for these?

Funny story

How does detention work during an online class?

Code Smell 57 - Versioned Functions

What if: It's a C function, where optional arguments are no...

How to fix "Unknown command nvm" on Linux

For me, the most common reasons of "unknown command nvm" are:...

Do you keep a backlog of 'ready-to-publish' articles?

My crappy website setup wouldn't let me keep a backlog, becau...

Hacktoberfest 2020 T and stickers

I received two identical packages in 2018. Same order number ...

Make one resolution this year. Never write your own Authentication

My password was in Top 5 DEV Comments of the week of 2020-Oct...

Make one resolution this year. Never write your own Authentication

How to delete my password from haveibeenpwned.com/ ? I emaile...

Code Smell 52 - Fragile Tests

Should tests verify the internals (private fields) of a class...

What max-width do you set for your websites?

I set 960px, because my screen is 1024x768. <BODY BACKG...

How do you come up with the product names?

I build libraries for Named Data Networking (NDN). I name my ...

Project with mixed NPM and YARN use

If it's a library, do not commit lockfile, because your depen...

Code Smell 51 - Double Negatives

When working with PKI certificates, is it OK to use NotBefore...

What's your fav SSR framework: Next, Nuxt, Nest or Sapper?

I'm too ashamed to let others find out that the page is made ...

What's your fav SSR framework: Next, Nuxt, Nest or Sapper?

We could support TAB key navigation by defining <AREA> ...

What's your fav SSR framework: Next, Nuxt, Nest or Sapper?

Accessibility? We are fully ADA compliant. There's a 800 phon...

What tech did you use to build your personal website/portfolio? 2020 Edition!

The 1998 article is my homework from elementary school. 2002-...

What tech did you use to build your personal website/portfolio? 2020 Edition!

yoursunny.com has been operating since 2006. It's still Markd...

What External Display do you use with your computer?

Laptops are standalone. Raspberry Pi is hooked onto an AOC 2...

Which sites do you spend more time on than you should?

talk.lowendspirit.com lowendtalk.com These are two forums se...

Having a dev as a life partner!

Vim is better than Emacs. If you disagree, you can't marry me.

Stickers on your laptop?

All my devices are clean without stickers. I like the smooth ...

How many domain names do you own?

I have 3 paid domains: yoursunny.com is the main website. It...

Rate my portfolio site!

I was visiting from Moto x4 device using Chrome Android.

Datetime.js - Syntax sugar and not only...

no TypeScript typings no ES Modules, no tree-shaking support

Rate my portfolio site!

"Node.JS" should be "Node.js" per official site. "Express.JS...

Rate my portfolio site!

"JAM Stack (Learning)" is exceeding the edge on mobile browse...

Posting YouTube-only articles is hurting the quality in Dev.to

I post almost full text on DEV (except embedded demos that re...

Did anyone got their hacktoberfest T-shirt??

Not yet, and I'm not in a hurry. I received about 5 free shir...

Do you Git Branch in personal projects?

I used to have master only. If CI fails or I find a typo, I'l...

Do you still use IDs for unique elements?

You can't avoid id in this case: <label for="f_name"&gt...

How long does it take for your test suite to run?

Timings are just for running the test suite, excluding the co...

Do you prefer Fetch or Axios?

$.getJSON() $.getScript() Don't forget $(selector).load(uri)...

Do you prefer Fetch or Axios?

jQuery.ajax() ๐Ÿคฆ

PHP 8 performance ๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿš€

I don't know about PHP8, but PHP7 indeed has good OOP. As for...

PHP Functions for Golang - phpfuncs

My favorites are missing: phpinfo file_get_contents Also,...

PHP 8 performance ๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿ˜๐Ÿš€

PHP used to be Personal Homepage Preprocessor and I'll contin...

console.log(x): The way out

I don't have any printf() console.log() fmt.Println() when I ...

I made 100 high-quality illustrations, totally free. Use it anywhere without attribution.

The only conditions are that you don't duplicate Scale, crea...

Cleaning up Disk Space on a Linux Machine from the Commandย Line

Log files are filling up my Debian/Ubuntu server. The solutio...

Calling all Data Nerds

It's from 2012. blog.newrelic.com/product-news/att...

Calling all Data Nerds

Data nerd, there's a shirt for that.

Nice list of github markdown emoji

Where are the skin tones?

Code Smell 33 - Abbreviations

So Go standard library is a code smell?

How do you keep track of notes in code?

I have a stack of recycled paper (i.e. one side already used)...

Do you know what a pointer is?

You can use Python until it's too slow and you need an extens...

Code Smell 32 - Singletons

How is GodFactory supposed to be used if it always throws?

Warnings against using unofficial installers

Docker container, virtual machine, hourly VPS, โ€ฆ

Warnings against using unofficial installers

An "official" installer is not guaranteed to not delete data....

Transport Protocols: TCP and UDP

SCTP and UDP-Lite are crying in the corner.

Shaking Down the Raspberry Pi 400

I hope they make an NVMe edition. SD cards are too slow.

Warnings against using unofficial installers

Where's the backup for your databases? Where's the pre-produ...

What's your favorite ESLint Config and Plugins?๐Ÿ‘ฎ๐Ÿฝ๐Ÿšจ๐Ÿž

I'm using the XO linter that is based on ESLint. I like its s...

How do you cross-post articles from your blog to DEV?

I haven't run into changing text situation, but I need to cha...

Announcing TypeScript 4.1

NDNts updated to TypeScript 4.1 on the day it came out. ESLin...

What's your fav SSR framework: Next, Nuxt, Nest or Sapper?

It's in internal network for now. 50 Likes on the comment abo...

What's your fav SSR framework: Next, Nuxt, Nest or Sapper?

My server side rendering pipeline: I use nginx to invoke PHP ...

๐Ÿšš How to deploy Golang application on any GNU/Linux system, but without Docker?

I find it easier to run Go programs with pm2, together with N...

What's your 1st programming language & What you use today?

My first general purpose programming language is Visual Basic...

I'll make a custom social image for your GitHub repo

I guess it's Puppeteer time?

I'll make a custom social image for your GitHub repo

I see the examples. Can the watcher and stargazer counts auto...

What is your Tech Stack?

I have both Go and C in the same codebase. yoursunny.com/t/20...

Do you know what a pointer is?

A pointer is a magical being that causes your program to cras...

What is your Tech Stack?

Browser: TypeScript, Preact, Pure CSS Web server: nginx, PHP ...

Code Smell 24 - Boolean Coercions

res means result. It is common in C code.

Square a number: awful answers only

We need some bloated JavaScript libraries. <!DOCTYPE ht...

Code Smell 24 - Boolean Coercions

My real code uses the variable name res. github.com/usnistgov...

Code Smell 24 - Boolean Coercions

Depending on whether you want true or false. I usually test f...

Code Smell 24 - Boolean Coercions

Go doesn't allow conversions from and to boolean type altoget...

I Tried to Create HTML Alternative, Here's What Happened...

Someone invented new network protocol that replaces TCP/IP, a...

innerHTML Vs. textContent: The subtle difference.

XO linter changes innerText to textContent automatically.

I Tried to Create HTML Alternative, Here's What Happened...

You need to make a new browser, not adapters.

Now, you don't have to think twice before sharing some confidential data (file or message).

You have to completely trust the website owner. Even if the w...

What kind of music do you listen to while coding ?

I do not normally listen to any music while coding. Silence h...

Where do you store GitHub README.md assets?

The only asset in my README is the project logo. It's a handw...

Import npm package from skypack.dev

I tried with my NDNts packages and the output looks correct. ...

When was the last time you used float?

I searched through my website and there's only one page that ...

My laptop is 8 years old

My first two laptops both lasted 10 years. DELL 600m: prima...

How to get organic traffic to your developer blog.

One of my best performing articles is How to Print uint64_t i...

Stop Using React? But Why??

Web servers are already serving static assets from memory: th...

Reverse a string: awful answers only

We need a computer network. package main import ( "fm...

How do you launch your coding projects?

I right-click the Visual Studio Code icon on the Taskbar, and...

Why do you still use Php?

My website yoursunny.com is proudly powered by PHP, without a...

How to list Open Source work on resume?

If I apply to Microsoft, I would include: Contributed 19 pu...

We All Suck At Finishing Projects

Most hackathons require us to start a new project. I hope mor...

We All Suck At Finishing Projects

The software isn't finished until the last user is dead. In t...

Build your own React Tooltip Component

It's a lot easier to use the HTML title attribute: <but...

The ultime guide to privacy on web: a free enterprise grade VPN

Step 2: Letโ€™s open some ports Hmm, that's why my website i...

5 Reasons why Cloud Free Tier is better than your Raspberry Pi

I signed up at Oracle Cloud last month. It's powerful for hos...

What's your fav bundler: Rollup, Parcel or Webpack?

I'm not supposed to pick favorites. My NDNts library is pack...

Swap two numbers without using a temporary variable

The temporary array is most likely optimized away.

How to Deal with Nightmare Clients ๐ŸŽƒ

My policy is, you have to pay for first project before I'll d...

JavaScript Rendered Hello World

The xo linter says you are supposed to use querySelector than...

Time to stop using REST...

This is when the server side maintains each version indefinit...

Time to stop using REST...

I see, GitHub API has HATEOAS. However, if the client code is...

Time to stop using REST...

No matter REST, JSON-RPC, or GraphQL, if the data structure (...

Time to stop using REST...

GraphQL Playground is missing a major feature: fill in all th...

The best keyboard I ever had for coding

I only have a few crappy keyboards. I hate laptops that do no...

President Trumpโ€™s Twitter accessed by security expert who guessed password "maga2020!"

My password is o7j7k3w5. I post it on Twitter and forums, so ...

How many PRs you created in the Hacktober Fest 2020? โœจ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป

It's white shirt this year. I can't take a dip in the mud pit...

How many PRs you created in the Hacktober Fest 2020? โœจ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป

I only created 4 Pull Requests. All are merged. I don't like ...

Do you prefer subdomains or subdirectories?

Reverse proxy won't work well if two servers are far from eac...

Hacktoberfest 2020 Check-in

I've got four high quality Pull Requests merged. I'm regular...

Do you prefer subdomains or subdirectories?

My main website uses subdirectory naming. For example, the bl...

Building a basic website with Parcel

Yes, I changed browserslist - but it's mentioned nowhere in P...

Building a basic website with Parcel

My main complaint about Parcel is the "regenerate runtime" er...

Building a basic website with Parcel

moment is now "legacy" because it lacks tree shaking. Don't u...

How do you keep development projects on your PC organized?

My repository checkouts are in $HOME/code or %USERPROFILE%\Do...

What can be max const name in JavaScript?

I checked the ECMA-262 Standard edition 5.1. There isn't a li...

Why I Removed Google Analytics

I'm the opposite. I enjoy watching each pageview by the users...

Best Colors and Names

Too many colors. I usually use clrs.cc that is a lot simpler.

How do you deal with content editing after the site has been shipped?

When I'm in college, I built a simple CMS that generates stat...

Google Chrome enables file system API ... Super Cool ๐Ÿ˜

I'm make a malware that accepts "file submission", but reques...

JavaScript Challenge 4: Who Likes It - [ES2021]

Won't work on iOS - the new IE. caniuse.com/mdn-javascript_bu...

Have you ever used free domains like .tk, .ml, .ga, .cf and .gq?

Have you found all three rickrolls?

GitLab joined legalized discrimination. Why does no one talk about this?

Issues including their comments are in my email inbox.

GitLab joined legalized discrimination. Why does no one talk about this?

If you don't have backup, it means the data isn't important t...

What was your win this week?

I convinced two repositories where I often contribute to to a...

Do you still use Lodash and Underscore in 2020?

I have _.debounce in a project written in 2018. ES2018 doesn'...

How much time are you actually using?

One of our weekly virtual meetings nominally starts at 14:00 ...

Hacktoberfest - through a different lens. ๐ŸŒณ

I have received five tees so far this year but I would still ...

GitLab joined legalized discrimination. Why does no one talk about this?

Import from your local backup.

GitLab joined legalized discrimination. Why does no one talk about this?

We are too scared to talk about this. FBI would come with liq...

End-to-End Encrypted Chat with the Web Crypto API

Then you should use non-exportable key and pass it around as ...

End-to-End Encrypted Chat with the Web Crypto API

const privateKeyJwk = await window.crypto.subtle.exportKey( ...

End-to-End Encrypted Chat with the Web Crypto API

This is still wrong: For every encryption operation, it mus...

End-to-End Encrypted Chat with the Web Crypto API

I see you are using ECDH shared secret as AES key. This is no...

End-to-End Encrypted Chat with the Web Crypto API

Last time I designed a system using random IV with AES-GCM an...

How do you organize pet-projects?

My tiny one-off projects are turned into blog posts. yoursunn...

End-to-End Encrypted Chat with the Web Crypto API

My buddy made an Android app that lets users scan each other'...

Best Laptops For Developers

My current laptop is an Acer Spin 5. 13-inch display: I hat...

How do you deal with legacy projects?

The stallion coder doesn't deal with legacy code. I rewrite a...

End-to-End Encrypted Chat with the Web Crypto API

The usage of constant IV with AES-GCM completely breaks its s...

End-to-End Encrypted Chat with the Web Crypto API

How does the user trust that the server is not a Man In The M...

Have you ever used free domains like .tk, .ml, .ga, .cf and .gq?

I used to employ Freenom domains to serve static assets. Back...

Check Out My Portfolio!!

A portfolio inside a portfolio.

What do you use Cron jobs for?

Linux crontab: daily "I don't have COVID" email reports wee...

The Night owls guide to 6am

My bedtime is all over the place: evening conference calls, l...

The Night owls guide to 6am

Don't use any alarm clock! Always wake up naturally. The only...

Developer burnout: This shit is real!

I'm the stallion coder so I have been coding 14 hours per day...

How to participate in the Hacktoberfest as a Code Newbie ๐Ÿ’ป

This โ—Ineligible Repository thing is very depressing. Now I h...

What's your use of Raspberry Pi?

Pluma can handle more tabs, but I don't need more than 10 ope...

HTTP Response Status Codes

I just look at http.cat/ to select my HTTP response codes.

What do you use to create logos?

My recent logos are made with SVG. I write SVG code directly....

What was your win this week?

My paper is the runner up in Best Paper Award of ACM-ICN 2020...

Securely Automating npm publish with the New npm Automation Tokens

What prevents an automation token from being stolen and used ...

What's your use of Raspberry Pi?

2GB is enough for 3 browser tabs (Slack or Facebook or Gmail ...

What is your favorite local dev server?

I mainly use webpack and webpack-dev-server. They may not be ...

What's your use of Raspberry Pi?

Pi 4B 2GB: main desktop running Ubuntu MATE 20.04, hooked ont...

How to get DEV stickers free?

Hacktoberfest package comes with one DEV sticker. I have an e...

loading...