Skip to content

Instantly share code, notes, and snippets.

View fercomunello's full-sized avatar

Fernando Comunello fercomunello

View GitHub Profile
@fercomunello
fercomunello / convert.sh
Last active January 8, 2024 22:26
Convert FLAC to OPUS
#!/usr/bin/env bash
set -em
cd $(dirname $0)
rm -f *.opus
for i in *.flac
do
opusenc --bitrate 160 "$i" "$(echo $i | sed "s/.flac//g")".opus
mv -v *.opus ../opus
done
@fercomunello
fercomunello / Text.java
Last active November 23, 2023 18:43
An OOP Text implementation (not nullable & always "trimmed")
import java.util.Objects;
public class Text implements CharSequence {
protected final CharSequence origin;
public Text(final String origin) {
this.origin = origin == null ? "" : origin.trim();
}
@fercomunello
fercomunello / Decode.java
Created November 23, 2023 17:53
OOP way of computing enum sets
import java.util.Optional;
public final class Decode<T> implements Expression<T> {
private final T value;
private final boolean expression;
public Decode(final boolean expression, final T value) {
this.expression = expression;
this.value = value;
@fercomunello
fercomunello / index-partial.html
Last active November 21, 2023 00:45
Demo: Boosting pages with HTMX.
<head>
<title>Index | @htmx.org</title>
</head>
<h1>Home</h1>
<p>Having fun with htmx ^^</p>
@fercomunello
fercomunello / hx-progres-bar.html
Created November 10, 2023 19:42
HTMX progress bar client-side component
<!-- add hx-indicator="#main-progress-bar" on <body> -->
<div id="main-progress-bar" class="progress-bar">
<div class="progress-indicator"></div>
</div>
@fercomunello
fercomunello / commands.cli
Created June 23, 2023 00:58
Create a sandbox dev/test environment for WildFly Application Server
# => Run configuration script via ./jboss-cli.sh
# Start the server in admin-only mode
embed-server --std-out=echo
# Show runtime info
version
batch
# JSP Tuning
SHOW TIMEZONE;
SELECT name FROM pg_timezone_names WHERE name LIKE '%America%';
SET TIMEZONE = 'America/Sao_Paulo';
CREATE TYPE offer_type AS ENUM ('BUY', 'SELL');
CREATE TABLE bitcoin_trade (
id SERIAL UNIQUE NOT NULL,
description TEXT,
value DECIMAL(16, 2),
satoshis BIGINT,
last_price DECIMAL(16, 2),
<%@ page import="java.time.format.DateTimeFormatter" %>
<%@ page import="java.time.format.FormatStyle" %>
<jsp:useBean id="currentDate" type="java.time.LocalDate" scope="request" />
<jsp:useBean id="user" type="java.lang.String" scope="request" />
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
// Exemplo alternativo da implementação
import org.eclipse.krazo.engine.Viewable;
@GET
public Viewable welcome(@QueryParam("user") String user) {
var currentDate = LocalDate.now();
this.models.put("currentDate", currentDate);
this.models.put("user", user != null && !user.isBlank() ? user : "Guest");
return new Viewable("welcome.jsp");
<%@ page import="java.time.format.DateTimeFormatter" %>
<%@ page import="java.time.format.FormatStyle" %>
<jsp:useBean id="currentDate" type="java.time.LocalDate" scope="request" />
<jsp:useBean id="user" type="java.lang.String" scope="request" />
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>