Skip to main content

Johan Bové

I want to like Gun DB JavaScript API and coding paradigm, but the method chaining is throwing me off a bit. I understand why it's done that way; so trying hard to get over myself and use it. The docs are great and the tutorials super cool. https://gun.eco/docs/API

Johan Bové

Johan Bové

Johan Bové

Johan Bové

Johan Bové

Johan Bové

My reasons to support the Gemini Internet Protocol

3 min read

Why do I believe Gemini is great for personal Internet presences? First of all, it's a real grass-roots initiative which I am very excited about.

If you're reading this, chances are high you are already using Gemini. But for history reasons and to share my opinions of Gemini I would like to offer you here some views of mine.

Collecting some of the strong-points of Gemini from my perspective of having some experience with Gopher and running personal websites.

Fast and lightweight

  • It's very easy on the system resources. So the protocol works really well on slower hardware without any problems. Hosting on a Raspberry Pi3 is easy-peasy.
  • Since there are no fancy design in Gemini capsules, it is really optimized for low bandwidth.
  • It should work really fine on a feature-phone, like for KaiOS. I don't believe there is a client yet for KaiOs at this time.
  • It's fairly easy to build clients and servers for the protocol.

Simple yet complete

  • The specifications provide enough functionality to do basically what you would expect to be able to do online.
  • Much lower learning curve compared to Gopher and HTML. You can start publishing Gemini pages within minutes.
  • Even-though the syntax is limited, it still gives enough playroom for creative expression.
  • Use of TLS certificates promises security and privacy.
  • It is more international than US-centric Gopher.
  • The procol supports the UTF-8 character set so any language can be used to publish sites in.
  • This should help make the protocol more popular in non-ascii wielding regions in the World.

Easy to publish

  • Content will be probably first of all stored in static text files which are future-proof and easy to maintain.
  • Many servers already available that require minimal technical skills.
  • Yes, you still need a server, but there are many collectives which you can join to facilitate this.

Focus

  • No popups, animations, videos, sound effects.
  • Focus on actual content instead of fluff and effects.
  • No advertisemens and commercial tracking.
  • No Facebook, Google or Twitter.

Accessible

  • Power of formatting goes into the clients or readers. Like in the good old days of the early Web, people are expected to style the content to their own liking.
  • It's pure text, has simple navigation rules, so should be great for people with disabilities.
  • No JavaScript so you really see what you get.

And on top of this, the young Gemini community is driven to make this a success!

I'm sold.

ps. I published this first in plain text on my Gemini capsule and now that I copy paste this into a HTML document I can really tell just how easy it is to publish on Gemini.

Johan Bové

Great article, especially from my point of view of being a Surface Pro 4 user since 2014, I can relate as well.
But I'm not like you. For my day job we got issued powerful Macbooks with i9 CPUs and 32GB or RAM and there are no complaints there, perhaps except for that these machines are almost completely locked down and I don't dare doing anything personal on it.
So I only use the Surface for my light-weight after-hours dabbling and messing around with shell scripts and JavaScript code. The only times I really see it struggle is when I'm running Beaker Browser and Patchwork and Syncthing at the same time. But I learned to be patient and just keep one thing open at a time. And I don't do Desktop Apps. I wished I could learn how to program that. Getting some inspiration from the people over dabbling with Gemini and Go and Rust, there's even a really cool client programmed in C.

My question though: would Microsoft allow you to build Windows 10 for x86–64 in their fancy Azure Cloud? Perhaps that's what they are aiming for? Would that be an option?

Johan Bové

How hackers steal your keys and secrets

After hunting for security bugs I've realized clients I’m working with are not familiar enough (or at all) with basic “hacking” techniques. API keys, passwords, SSH encrypted keys, and certificates are all great mechanisms of protection, as long they are kept secret. javascript, node.js, programming, security, syndicated, web dev

Johan Bové

A Practical Guide to the Web Cryptography API

Client-side encryption is a feature I had wanted to implement in octo for a while now. When it finally came time to tackle it, I was surprised at the sparse real-world examples on the topic. The documentation on MDN is robust, but it requires a lot of jumping around to individual method APIs. javascript, programming, syndicated, web dev

Johan Bové

Caching your GitHub credentials in Git

If you clone GitHub repositories using SSH, then you authenticate using an SSH key instead of using other credentials. For information about setting up an SSH connection, see "Generating an SSH Key." Install Git and the osxkeychain helper and tell Git to use it. javascript, programming, syndicated, web dev

Johan Bové

How to fix target=”_blank” links: a security and performance issue in web pages

Almost every web page has links which open in a new tab leaving the other web page still available. For example, news agencies will tweet about recent events on Twitter: the tweet contains a short description of the article and a link to see the full story on their web page. internet, javascript, security, syndicated, web

Johan Bové

"The Mess We're In" by Joe Armstrong - YouTube

Recommending this talk by Joe Armstrong to everyone who think himself a programmer, especially JavaScript people. (like myself) plus a clear message that peer-to-peer is the future of Web and perhaps of computing in general.

Johan Bové

Understanding npm-link

Sometimes you need to work on application code and a dependency at the same time. You might be the author of a dependency and don’t have good test coverage yet. The application can serve as an end-to-end test for the dependency. javascript, npm, programming, syndicated

Johan Bové

If you want your e-commerce website to actually make you money, don't make Google Tag Manager a requirement in your checkout process. Adblockers and other privacy tools like Duck Duck Go Privacy Essentials block Google Tag Manager and if your JavaScript depends on anything in Google Tag Manager, the sale won't go through. As a shop owner you will lose money.

Johan Bové

Sum of two floats in JavaScript: ``parseFloat(18530.08 + 0.010).toFixed(3)``






Johan Bové

Web Workers Rise Up!

Picture this. You are the dear leader of the little-known land of ScravaJipt, reigning supreme over all you survey. You have a chief servant to look after you, buy your clothes, press the buttons on your mobile phone. But there are times when this gets too much for him. javascript, programming, syndicated, web, web worker

Johan Bové

Web Workers Rise Up!

Picture this. You are the dear leader of the little-known land of ScravaJipt, reigning supreme over all you survey. You have a chief servant to look after you, buy your clothes, press the buttons on your mobile phone. But there are times when this gets too much for him. javascript, programming, syndicated, web, web worker

Johan Bové

Javascript Required ; Didn't Read

I do find it great how useful JavaScript is for enhanced functionality in web applications. But when it comes to reading, pure HTML and plain text are still the most reliable way.

Johan Bové