-# Content Management Instructions - danix.xyz
+# danix.xyz — Content Agent
-You are the content curator for https://danix.xyz. You operate strictly within the `content/` directory and manage bilingual (IT/EN) content using Hugo Page Bundles.
+You are the content curator for https://danix.xyz. You manage bilingual (IT/EN) Hugo Page Bundle content under `/content/`.
-## 🌍 Multilingual Content Structure
-
-The site is **bilingual with English as the default language** and Italian as the secondary language. All content must be organized to support seamless language switching.
-
-### Languages
-
-- **English (EN)**: Default language for the site
-- **Italian (IT)**: Secondary language with full translations
-
-### Directory Structure
+## Session Start
+On every session start: read HANDOFF_AGENTS.md if present, then wait for user direction.
+## Directory Structure
```
content/
-├── it/
-│ ├── _index.md # Articles list (IT)
-│ └── articles/
-│ └── article-slug/
-│ └── index.md # Article content (IT)
-└── en/
- ├── _index.md # Articles list (EN)
- └── articles/
- └── article-slug/
- └── index.md # Article content (EN)
-static
-├── api # This folder is not your concern
-├── images
-│ ├── default_thumbnail_dark.png
-│ ├── default_thumbnail_light.png
-│ ├── fav.png
-│ └── lampD.png
-└── uppies
- ├── 2009
- │ ├── 06
- │ │ └── featured_image.jpg
- │ └── 07
- │ └── featured_image.jpg
- ├── 2010
- │ ├── 03
- │ ├── 11
- │ │ └── featured_image.jpg
- │ └── 12
- ├── 2011
- │ ├── 01
- │ ├── 02
- │ ├── 07
- │ │ ├── gallery_image01.jpg
- │ │ ├── gallery_image02.jpg
- │ │ ├── gallery_image03.jpg
- │ │ ├── gallery_image04.jpg
- │ │ └── featured_image.jpg
- [...]
-```
-
-### File Naming Conventions
-
-- **Italian content**: Use `index.md`
-- **English content**: Use `index.md`
-- **Assets**: All images and attachments are shared between language versions (no duplication)
-- **Consistency**: If an article exists in Italian, create an English translation in the corresponding English bundle and vice-versa. If you find an english article in the Italian content folder, ask the user for confirmation before moving it to the English content folder and then propose to translate it, and vice-versa.
-
-### Content Structure Example
-
-A typical article Page Bundle looks like this:
-
-```
-content/it/articles/why-i-love-go/
-└── index.md # Article with front-matter
-```
-
-The English version shares the same assets:
-
-```
-content/en/articles/why-i-love-go/
-└── index.md # English translation
-```
-
-## 📋 Article Front-Matter
-
-All articles use Page Bundles with TOML front-matter. The front-matter defines metadata for the article and controls how it's displayed throughout the site.
-
-### Required Fields
-
-- **title**: Article headline (translated for each language)
-- **date** = Publication date (ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`)
-- **author** = "Danilo M."
-- **draft** = Set to `false` when published, `true` while in development
-- **type** = Article type (see Article Types section): `life`, `photo`, `link`, `quote`, or `tech`
-- **tags** = List of content tags (translated, comma-separated)
-- **categories** = List of categories (translated, comma-separated)
-- **description** = Brief summary for listings and SEO (translated)
-
-### Optional Fields
-
-- **pinned** = Set to `true` to pin article to top of listings
-- **updated** = Date of last significant update (ISO 8601 format)
-- **image** = Path to featured image for photo articles
-- **external_url** = URL for link-type articles
-- **link_title** = Title of external link
-- **quote_text** = The quote content for quote-type articles
-- **quote_author** = Author of the quote
-
-## 📝 Article Types
-
-### 1. Life
-
-Generic blog posts, personal essays, and thoughts on various topics.
-
-**Description**: Use this type for personal reflections, essays, tutorials, announcements, and general blog content.
-
-**Front-matter example**:
-```toml
-+++
-title = "Why I Started This Blog"
-date = "2026-04-15T10:30:00Z"
-draft = false
-type = "life"
-tags = ["blogging, thoughts, programming"]
-categories = ["personal"]
-description = "Exploring the reasons behind starting my personal blog and what I hope to share."
-+++
-```
-
-**Content**: Standard markdown, any length, supports all shortcodes (images, galleries, contact form).
-
-**File structure**:
-```
-content/it/articles/why-i-started-blogging/
-└── index.md
-```
-
-**Example URL**: `/it/articles/why-i-started-blogging/`
-
-### 2. Photo
-
-Photo essays, galleries, and visual-focused content.
-
-**Description**: Use this type for travel photography, galleries, visual stories, and photo essays with accompanying text.
-
-**Front-matter example**:
-```toml
-+++
-title = "Mountain Hiking Adventure"
-date = "2026-04-10T14:20:00Z"
-draft = false
-type = "photo"
-image = "/images/mountain-peak.jpg"
-tags = ["photography, travel, nature"]
-categories = ["photos"]
-description = "A visual journey through the Alpine mountains with stunning photography."
-+++
-```
-
-**Content**: Markdown with image and gallery shortcodes for visual storytelling.
-
-**File structure**:
-```
-content/it/articles/mountain-hiking-adventure/
-└── index.md
-```
-
-**Requirements**: Must include `image`.
-
-**Example URL**: `/it/articles/mountain-hiking-adventure/`
-
-### 3. Link
-
-Bookmarks, external content recommendations, and brief commentary on articles from other sources.
-
-**Description**: Use this type to share and comment on interesting external resources without writing a full article.
-
-**Front-matter example**:
-```toml
-+++
-title = "Interesting Read: The Unix Philosophy"
-date = "2026-04-08T09:15:00Z"
-draft = false
-type = "link"
-external_url = "https://en.wikipedia.org/wiki/Unix_philosophy"
-link_title = "The Unix Philosophy"
-tags = ["unix, philosophy, programming"]
-categories = ["links"]
-description = "An insightful overview of Unix principles and their lasting impact on software design."
-+++
-```
-
-**Content**: Brief commentary or summary of the external resource (optional).
-
-**File structure**:
-```
-content/it/articles/unix-philosophy-link/
-└── index.md
-```
-
-**Requirements**: Must include `external_url` and `link_title`.
-
-**Example URL**: `/it/articles/unix-philosophy-link/`
-
-### 4. Quote
-
-Pull quotes, inspirational content, and quotations with optional commentary.
-
-**Description**: Use this type to highlight meaningful quotes, create inspirational content, or document memorable ideas.
-
-**Front-matter example**:
-```toml
-+++
-title = "On Simplicity"
-date = "2026-04-05T11:00:00Z"
-draft = false
-type = "quote"
-tags = ["philosophy, wisdom, simplicity"]
-categories = ["quotes"]
-description = "A meditation on simplicity and its role in clear thinking."
-+++
-```
-
-**Content**: use the shortcode `quote` to render the content of the quote.
-
-**File structure**:
-```
-content/it/articles/simplicity-quote/
-└── index.md
-```
-
-**Example URL**: `/it/articles/simplicity-quote/`
-
-### 5. Tech
-
-Technical articles, tutorials, guides, and programming content with code examples.
-
-**Description**: Use this type for technical writing, tutorials, how-to guides, and in-depth programming articles.
-
-**Front-matter example**:
-```toml
-+++
-title = "Building a Go CLI Tool"
-date = "2026-04-01T15:45:00Z"
-draft = false
-type = "tech"
-tags = ["golang, cli, programming"]
-categories = ["tutorials"]
-description = "A step-by-step guide to building a command-line tool in Go with example code."
-+++
-```
-
-**Content**: Markdown with code blocks, syntax highlighting handled automatically via Chroma.
-
-**Code block example**:
-````markdown
-```go
-package main
-
-import (
- "fmt"
- "flag"
-)
-
-func main() {
- name := flag.String("name", "World", "name to greet")
- flag.Parse()
- fmt.Printf("Hello, %s!\n", *name)
-}
-```
-````
-
-**File structure**:
-```
-content/it/articles/building-go-cli-tool/
-├── index.md
-```
-
-**Example URL**: `/it/articles/building-go-cli-tool/`
-
-## 🎨 Editorial Standards
-
-Follow these standards to maintain consistency and quality across the site.
-
-### Structure
-
-- **Always use Page Bundles**: Organize all content using Hugo's Page Bundle pattern (`content/section/slug/index.md`)
-- **Never use raw HTML**: All formatting must use markdown and shortcodes only
-- **Asset organization**: Store images and attachments within the `static/uppies` directory, organized by year and month for ease of inclusion.
-
-### Front-Matter Checklist
-
-Before publishing any article, verify:
-
-- [ ] **title**: Clear, descriptive headline
-- [ ] **date**: Correct publication date (ISO 8601)
-- [ ] **draft**: Set to `false` for published articles
-- [ ] **type**: One of the five article types
-- [ ] **tags**: Consistent with site taxonomy
-- [ ] **categories**: Consistent with site taxonomy
-- [ ] **description**: Compelling summary for listings
-- [ ] **Type-specific fields**: Include required fields for your article type
-
-## 🔌 Shortcode Usage
-
-The theme provides powerful shortcodes to enhance your content with images, galleries, forms, and text styling. **For complete shortcode documentation with all parameters, examples, and troubleshooting, see [SHORTCODES.md](./SHORTCODES.md)** — this section is a quick reference.
-
-### Structural Shortcodes
-
-#### Images
-
-Responsive images with optional captions and lazy-loading:
-
+├── it/articles/<slug>/index.md
+└── en/articles/<slug>/index.md
+static/uppies/YYYY/MM/ # shared images, same paths in both languages
```
-{{< image src="/images/mountain.jpg" alt="Mountain landscape" caption="Hiking in the Alps" >}}
-```
-
-#### Galleries
-
-Create responsive image grids:
-
-```
-{{< gallery cols="3" >}}
-
-
-
-{{< /gallery >}}
-```
-
-#### Gravatar
-
-Display author profiles with Gravatar:
-
-```
-{{< gravatar email="danix@danix.xyz" alt="Profile" class="w-32 h-32 rounded-full" >}}
-```
-
-#### Video
-
-Embed responsive videos (local files or YouTube):
+## Front-Matter (TOML, delimited by +++)
+Required fields for every article:
```
-{{< video src="demo.webm" >}}
-{{< video id="dQw4w9WgXcQ" title="YouTube Video" >}}
+title, date (ISO 8601), author = "Danilo M.", draft = true, type, tags, categories, description
```
+Optional: `pinned`, `updated`, `image`, `external_url`, `link_title`, `quote_text`, `quote_author`
-#### Contact Form
+**`draft = true` always on new articles. Never set false without explicit user permission.**
-Embed an interactive contact form:
+## Article Types & Required Extra Fields
+| type | extra required fields |
+|-------|-------------------------------|
+| life | — |
+| tech | — |
+| photo | `image` |
+| link | `external_url`, `link_title` |
+| quote | use `{{< quote >}}` shortcode |
+## Shortcodes — use these, never raw HTML
```
+{{< image src="/uppies/YYYY/MM/file.jpg" alt="..." caption="..." >}}
+{{< gallery cols="2" >}}   {{< /gallery >}}
+{{< video src="file.webm" >}} or {{< video id="YT_ID" title="..." >}}
+{{< quote source="Author" >}}text{{< /quote >}}
+{{< actions url="..." desc="..." >}}
+{{< gravatar email="..." alt="..." class="..." >}}
{{< contact >}}
+{{< dropcap >}}First words{{< /dropcap >}}, rest of paragraph...
+{{< em >}}text{{< /em >}}
+{{< strike >}}text{{< /strike >}}
```
-#### Quote
-
-Display blockquote with optional attribution:
-
-```
-{{< quote source="Author Name" >}}
-Your quote text here
-{{< /quote >}}
-```
-
-#### Actions
-
-Styled action buttons (downloads, CTAs):
-
-```
-{{< actions url="https://example.com/file.zip" desc="Download ZIP" >}}
-```
-
-### Inline Text Shortcodes
-
-Simple inline wrappers for styling text within paragraphs. No parameters needed.
-
-#### Strikethrough
-
-Mark text as struck-through or removed:
-
-```
-This text is {{< strike >}}wrong{{< /strike >}} and has been corrected.
-```
-
-#### Emphasis
-
-Apply semantic emphasis (renders as italic):
-
-```
-This is {{< em >}}very important{{< /em >}} information.
-```
-
-#### Drop Cap
-
-Style the first letter(s) of a paragraph with a drop cap effect:
-
-```
-{{< dropcap >}}Once upon a time{{< /dropcap >}}, in a land far away...
-```
-
-### When to Use SHORTCODES.md
-
-Refer to [SHORTCODES.md](./SHORTCODES.md) for:
-- Full parameter documentation for each shortcode
-- Advanced examples and customization options
-- CSS class references for styling
-- Accessibility and browser compatibility notes
-- Troubleshooting and error resolution
-
-## 📚 Taxonomy Consistency
-
-Maintain consistent tags and categories across both language versions to enable proper content filtering and organization.
-
-### Tag Mappings
-
-Keep translations consistent across languages. Example mappings:
-
-| Italian | English |
-|---------|---------|
+## Taxonomy Mappings
+| IT | EN |
+|---|---|
| programmazione | programming |
-| tutorial | tutorial |
| sicurezza | security |
-| golang | golang |
-| linux | linux |
-
-### Category Mappings
-
-Ensure categories are translated consistently:
-
-| Italian | English |
-|---------|---------|
| articoli | articles |
| foto | photos |
-| link | links |
| citazioni | quotes |
-| tutorial | tutorials |
-
-### Best Practices
-
-- Create a consistent taxonomy document for your team
-- Use lowercase tags and categories
-- Avoid redundant tags (don't use both "programming" and "programming-tutorial")
-- Translate tags and categories when creating English versions
-
-## 🚀 Content Workflow
-
-Follow this workflow when creating and publishing new articles.
-
-### Creating a New Article
-
-1. **Create the directory structure**:
- ```bash
- mkdir -p content/it/articles/my-article-slug
- ```
-
-2. **Create the Italian index.md** with front-matter:
- ```toml
- +++
- title = "Article Title"
- date = "2026-04-15T10:00:00Z"
- draft = true
- type = "life"
- tags = ["tag1, tag2"]
- categories = ["category"]
- description = "Brief description"
- +++
-
- Article content here in markdown.
- ```
-
-3. **Add assets** (images, etc.) to the bundle:
- ```bash
- mkdir static/uppies/<YEAR>/<MONTH>/
- # Copy images to the MONTH folder
- ```
-
-4. **Create the English translation** (index.md) in the English bundle:
- ```bash
- mkdir -p content/en/articles/my-article-slug
- # Create index.md with translated front-matter and content
- # Reference the same images directory
- ```
-
-5. **Test locally** with Hugo:
- ```bash
- hugo server
- ```
-
-6. **Review the preview** at http://localhost:1313 in both languages
-
-7. **Finalize when ready**: Set `draft: false` in the front-matter
-
-8. **Push to production**: Commit and deploy the changes
-
-### File Organization Tips
-
-- Use descriptive, URL-friendly slugs: `my-awesome-article` not `Article 1`
-- Store images in `static/uppies/` folder arranged by year and month subfolders
-- Use descriptive image names: `sunset-mountain.jpg` not `img1.jpg`
-- Keep bundle structure flat: avoid deep nesting of directories
-
-### Language Version Management
-
-- When creating English versions, ensure front-matter translations are accurate
-- Use the same directory structure in both `content/it/` and `content/en/`
-- Images are shared; use the same paths in both language versions
-- If one language version needs updating, both should be reviewed for consistency
-
----
+| tutorial | tutorial |
+| linux | linux |
+| golang | golang |
-**Questions or issues?** Refer to [SHORTCODES.md](./SHORTCODES.md) for shortcode documentation or [CLAUDE.md](./CLAUDE.md) for theme development guidelines. Always ask clarifying questions to the user before making changes.
+Tags: lowercase, no redundant overlap (e.g. not both "linux" and "linux-tutorial").
+Categories: Uppercase, no duplication
+
+## Voice & Tone
+Colloquial, direct, old-school hacker. Humble but expert. First-person ("I", "me", "my").
+- No marketing-speak. Not: "In today's fast-paced digital world." Yes: "Here's how I set up..."
+- Think out loud: "I think out loud," "in the hope it turns useful," "here's how I did it."
+- Explain technical concepts through analogy when helpful.
+- Structure: punchy intro (why you're doing this) → clear steps.
+
+## Language Hygiene
+If you find content in the wrong language folder, ask for confirmation before moving or translating.
+
+## Protocols
+- **Clarification**: If slug, tags, or asset paths are missing or ambiguous, ask before drafting.
+- **Confirmation**: Before writing files, summarize your plan (type, slug, tags, image paths) and wait for approval.
+- **Output format**: Wrap each file in XML tags — never use markdown code fences for file output:
+ ```
+ <file path="content/en/articles/<slug>/index.md">
+ ...content...
+ </file>
+ <file path="content/it/articles/<slug>/index.md">
+ ...content...
+ </file>
+ ```
\ No newline at end of file
+++
-title = "Come Funziona Questo Sito"
+title = "How This Site Works"
date = "2024-11-12T11:12:25+01:00"
draft = true
type = "tech"
+tags = ["web", "development"]
+categories = ["DIY", "Code", "Blogging"]
author = "Danilo M."
-excerpt = "Questo sito è sviluppato con HUGO, ecco come funziona."
-categories = [ "DIY", "Code", "Blogging"]
-tags = [ "Hugo", "development", "web"]
-typora-root-url = "../../static"
+++
-Questo sito è sviluppato con HUGO, un framework per costruire siti "statici".
\ No newline at end of file
+TODO: Translate this article from Italian to English.
+++
-title = "conquista la folla.."
-author = "Danilo M."
-type = "quote"
-draft = true
+title = "Conquer the Crowd.."
date = "2013-04-21T08:17:11+00:00"
-categories = [ "Blogging"]
-tags = [ "gladiator", "massimo decimo meridio"]
+draft = true
+type = "quote"
+tags = ["gladiator", "Massimo Decimo Meridio"]
+categories = ["Blogging"]
+author = "Danilo M."
+++
-{{< quote source="Massimo X Meridio" >}}
-conquisterò la folla… gli darò qualcosa che non ha mai visto prima
-{{< /quote >}}
\ No newline at end of file
+TODO: Translate this article from Italian to English.
+++
-title = "Mario Congiusta candidato al Consiglio Regionale calabrese"
-author = "Danilo M."
-type = "life"
+title = "Mario Congiusta Candidate for the Regional Council"
date = "2010-03-05T09:17:55+00:00"
-excerpt = "voglio segnalarvi la candidatura di Mario Congiusta alle prossime Elezioni per il Consiglio Regionale Calabrese."
-categories = [ "Blogging"]
-tags = [ "calabria", "candidato", "congiusta", "consiglio", "elezioni", "incensurato", "libertà di stampa", "mario", "regionale"]
draft = true
+type = "life"
+tags = ["calabria", "candidate", "council", "elections", "clean record", "freedom of the press", "regional"]
+categories = ["Blogging"]
+author = "Danilo M."
+++
-Vi voglio segnalare un avvenimento molto importante per me. Premesso che io non mi interesso molto di politica, mi guardo intorno e mi rendo conto che la situazione in Calabria e in Italia sta cadendo vertiginosamente in un baratro senza fondo.
-
-La corruzione c'è sempre stata, ma ultimamente la nostra politica sembra diretta sempre più verso un'idea totalitaria, verso un futuro che non voglio nemmeno immaginare. Chi è al potere cerca di accentrare sempre più potere su se stesso, non esistono più schieramenti, tutti le parti politiche collaborano tra loro di nascosto, si scambiano favori in modo da ottenerne altri, e tutto questo uccide la democrazia, tutto questo uccide la voce che il popolo ha in merito alle questioni dello Stato.
-
-<!--more-->
-
-Io non mi occupo di politica dicevo, però sento che intorno a noi c'è bisogno di maggiore chiarezza, c'è bisogno di trasparenza, io voglio poter dire che le persone che ricoprono una qualsiasi carica pubblica, o che aspirano a ricoprirla, sono persone oneste, sono persone che aspirano a quella carica **per esprimere le proprie idee**, non per guadagnare di più. Io voglio partecipare ai concorsi pubblici senza dovermi preoccupare del fatto che ci saranno persone sleali che otterranno risultati migliori dei miei perchè “spinti” da questo o quel potente. :vangry:
-
-Mi rendo conto che queste potrebbero sembrare considerazioni utopistiche, ma se non miriamo ad un traguardo più alto, più nobile, stiamo solo facendo un favore a chi è già al potere, **se continueremo a giocare secondo le loro regole, non potremo mai vincere**.
-
-Per questo voglio segnalarvi la **candidatura di Mario Congiusta** alle prossime Elezioni per il Consiglio Regionale Calabrese.
-
-E' di persone come Mario che la Calabria, l'Italia intera ha bisogno in questo momento.
-
-Bisogna partire da persone come Mario Congiusta perchè l'onestà e la trasparenza delle cariche politiche non dev'essere un valore aggiunto, l'onestà deve essere la norma, i valori aggiunti di un politico sono le idee ed in base a quelle i politici vanno confrontati.
-
-Come ho detto, non mi occupo di politica, però sono un accanito sostenitore dell'onestà, dalle piccole cose a quelle più importanti, e spero un giorno di poter vivere in uno Stato democratico che non sia tale soltanto a parole ma che assicuri ai suoi cittadini una pacifica convivenza, senza sotterfugi...
-
-Voi la chiamerete utopia, io la chiamo **speranza**.
\ No newline at end of file
+TODO: Translate this article from Italian to English.
+++
-title = "La giornata del pi Greco"
-author = "Danilo M."
-type = "life"
+title = "Pi Day"
date = "2010-03-14T11:55:45+00:00"
-excerpt = "Festeggiamo insieme la giornata del pi greco"
-categories = [ "Blogging"]
-tags = [ "lerry shawn", "celebrazione", "feste", "pi greco"]
draft = true
+type = "life"
+tags = ["lerry shawn", "celebration", "pi day"]
+categories = ["Blogging"]
+author = "Danilo M."
+++
-Buona giornata del pi Greco a tutti… :D
-
-Dal 1988 si festeggia il 14 Marzo la giornata del pi Greco, la data è stata scelta in base alla scrittura anglosassone di questo giorno, 3.14 che ricorda l’approssimazione per 3 cifre del pi Greco.
-
-<!--more-->
-
-Il primo a festeggiare questa ricorrenza fu il fisico Lerry Shawn che organizzò un corteo circolare attorno ad uno degli edifici dell’[Exploratorium di San Francisco][1] e la vendita di torte alla frutta decorate con le cifre decimali di questo magico numero. In seguito il fisico venne insignito del titolo di **Principe del pi Greco**.
-
-Tutt’oggi nei dipartimenti di matematica di numerose università si organizzano delle feste per celebrare questo numero.
-
-Per maggiori informazioni e qualche altro link interessante vi rimando alla [pagina][2] che wikipedia italia dedica a questo evento.
-
-Happy 3.14 a tutti :D
-
-[1]: http://it.wikipedia.org/wiki/Exploratorium "Exploratorium di San Francisco"
-[2]: http://it.wikipedia.org/wiki/Giorno_di_pi_greco "giorno del pi greco su wikipedia"
\ No newline at end of file
+TODO: Translate this article from Italian to English.
+++
-title = "le email queste sconosciute :)"
-author = "Danilo M."
-type = "life"
+title = "Those Unknown Emails :)"
date = "2010-11-06T22:28:43+00:00"
-excerpt = "piccoli comportamenti da seguire quando si invia una email."
draft = true
-categories = [ "Blogging"]
-tags = [ "attachments", "email", "howto", "mistakes", "privacy", "subject"]
+type = "life"
+tags = ["attachments", "email", "howto", "mistakes", "privacy", "subject"]
+categories = ["Blogging"]
+author = "Danilo M."
+++
-Prendo spunto da un simpatico quanto tristemente reale [articolo pubblicato][1] sul [blog di barbara sgarzi][2], una giornalista che non conoscevo ma che non mancherò di seguire, per parlarvi di un mezzo di comunicazione variamente utilizzato ma purtroppo spesso sottovalutato come le **email**.
-
-<!--more-->
-
-{{< image src="/uploads/2010/11/email-at1-300x211.gif" alt="Email at symbol illustration" >}}{{< /image >}}
-Già vi immagino, voi fedeli (3) lettori, subito pronti a dire: "_ma cosa vorrai mai insegnarci sulle email che già non sappiamo?_" beh, iniziamo dalla prima cosa che colpisce l'occhio di chi riceve una mail, l'**oggetto**.
-
-Eh già, si chiama oggetto perchè serve a descrivere ciò di cui l'email parla, l'oggetto del messaggio appunto. Non ha quindi senso lasciare il campo in bianco o scrivere cose senza senso tipo "email da tizio:, "comunicazione da sempronio: eccetera, per sapere chi è il mittente dell'email c'è il campo "From: o "Da: oppure indovinate un po', "Mittente:, l'avreste mai detto?! :)
-
-Un'altra cosa piuttosto bruttina da vedere è il corpo del messaggio vuoto con tutto il contenuto relegato negli allegati, se ricevo una mail così non è che mi precipito a leggere l'allegato, piuttosto la cestino direttamente! Gli allegati servono per allegare qualcosa che non si può mettere nel corpo del messaggio, non per contenere il messaggio!
-
-Un altro problema che affligge spesso chi riceve email è l'invio di foto! Su questo punto potremmo spendere fiumi di parole parlando del fatto che al giorno d'oggi con le adsl super veloci che ci ritroviamo non sia più un problema ricevere allegati pesanti, ma non capisco perchè io debba stare a scaricare una foto da 12 megapixel a 300 <acronym title="dot per inches (punti per pollice)">dpi</acronym> se non dovrò nemmeno stamparla, ma al massimo condividerla sul blog o su facebook; perdete un attimino del vostro <span style="text-decoration: line-through">prezioso</span> tempo anche voi e riducete le dimensioni delle foto che inviate, già ridurre la risoluzione da 300 a 72 [dpi][4] aiuterà notevolmente chi dovrà ricevere la mail oltre che farvi risparmiare molto tempo in invio.. Un altro appunto relativo alle dimensioni delle foto, se state mandando una foto di un tenero cucciolo che dovrà fare da sfondo al piccì del vostro/a amato/a, che senso ha che misuri 4000 pixel sul lato corto?! Una risoluzione decente potrebbe essere 1600 pixel sul lato lungo e il lato corto dimensionato in proporzione, in questo modo le dimensioni scenderanno ulteriormente senza che si perda la qualità del vostro pregevolissimo scatto! ;)
-
-{{< image src="/uploads/2010/11/url-300x197.jpg" alt="URL structure illustration" >}}{{< /image >}}
-[5]Il punto successivo di questa carrellata potrebbe avere un titolo e un articolo a se, "_come inviare link. Il modo corretto di condividere i famigerati [URL][6]_"; fin dagli albori di internet si è avvertita infatti la necessità di condividere link interessanti con i nostri contatti, e sopratutto negli ultimi tempi i link sono diventati sempre più lunghi e complessi, cose tipo:
-
-```
-http://www.example.net/test/sample_page.php?variable00=aldsgfqeworslkdf2934523&variable01=abbecceddario&variable02=tomorrow+will+rain#bookmark539
-```
-
-e nonostante io capisca che condividere i link sia fondamentale proprio non riesco a concepire il fatto che chi invia i link non si prenda la briga di controllare che siano quantomeno funzionanti prima di inviare la mail, il copia/incolla è una conquista stupenda, ma perchè fare la figura dei <span style="text-decoration: line-through">pirla</span> (a dir poco) inviando link chilometrici spezzettati in 20 parti che per ricostruirli si impiega più tempo che a leggere il resto della posta, col rischio poi che ci si dimentichi di un minuscolo carattere tipo un punto e il link non funzioni?! Per ovviare a questo tipo di inconvenienti, si può fare più attenzione riguardando la mail prima di inviarla, oppure si può utilizzare uno dei tanti servizi di URL shortening presenti sul web, ~~come ad esempio [uri.danixland.net][7],~~ in questo modo i link diventeranno molto più brevi e semplici da gestire, e si eviteranno tanti problemi per chi legge le email!
-
-Ancora un altro consiglio, **ricontrollate ciò che avete scritto**, no seriamente, consegnereste mai un compito senza averlo nemmeno riguardato? E allora perchè prima di inviare una mail che vi sarà costata probabilmente meno tempo per scriverla, non le date una rilettura veloce?! Sono fantastiche le email con l'oggetto ma senza il testo, o quelle con il testo "_Allegato pronto per la spedizione_: ma senza l'allegato! Suvvia, che ci vuole a soffermarsi un attimo su ciò che si sta facendo?!
-
-Per ultimo mi lascio probabilmente la madre di tutti i comportamenti sbagliati quando si invia un'email, il disrispetto della privacy! di cosa sto parlando?! Avete presente quelle stupende catene di S. Antonio che vanno tanto di moda nei periodi di festa? Quelle con allegate le presentazioni strappalacrime in PowerPoint che "_se non le inoltri a 140 amici entro i prossimi 7 minuti non hai cuore e ti morirà il gatto strozzandosi mentre sta mangiando il pesce rosso e morendo cadrà in testa al cane al quale si spezzerà una gamba e per la tristezza l'uccellino non mangerà più e si lascerà morire?_" Bene, quelle catene sono l'eden degli spammer, ricevere una di quelle email è come ricevere in regalo tutta la lista dei propri amici su facebook moltiplicata per tutti gli amici di ogni singolo amico, a volte sono più lunghe le liste di indirizzi email che il corpo stesso del messaggio.. Questo accade perchè probabilmente non si conosce bene il mezzo di comunicazione che si sta usando, il campo "A:: dovrebbe contenere il destinatario dell'email, e fin qui non ci piove, ma come comportarsi quando ci sono più destinatari? Ecco che ci viene in aiuto il campo "[Bcc:][8]: altrimenti detto "<acronym title="Copia carbone nascosta">Ccn:</acronym>". Questo campo viene utilizzato per inserire i destinatari secondari dell'email e far si che il loro indirizzo non sia visibile ai destinatari principali specificati nel campo "To:; quando ci sono tantissimi destinatari e non tutti si conoscono tra loro, è buona norma evitare che gli indirizzi email siano visibili onde evitare che qualcuno possa accusarvi di violazione della privacy! Io personalmente sono spesso tentato di denunciare i mittenti di email del genere :/
-
-Mi sembra di aver esaurito gli argomenti riguardo le email, mi auguro di ricevere tante comunicazioni da voi, e spero proprio che farete tesoro di ciò che vi ho consigliato, altrimenti potete anche risparmiarvi il tempo di scrivermi, tanto probabilmente non leggerò mai ciò che mi mandate ;)
-
-Vi lascio nuovamente il link da cui ho attinto per scrivere questo articolo, dategli un'occhiata, come anche al resto del blog, è ben scritto e l'ho trovato variamente interessante. [http://uri.danixland.net/e](2)
-
-[1]: http://uri.danixland.net/e "decalogo per gli uffici stampa - blimunda.net"
-[2]: http://uri.danixland.net/d "Il blog di blimunda"
-[3]: /uploads/2010/11/email-at11.gif
-[4]: http://uri.danixland.net/f "punti per pollice - wikipedia"
-[5]: /uploads/2010/11/url1.jpg
-[6]: http://uri.danixland.net/g "uniform resource locator - wikipedia"
-[7]: http://uri.danixland.net "URL shortening made in danixland"
-[8]: http://uri.danixland.net/h "Blind carbon copy - wikipedia"
\ No newline at end of file
+TODO: Translate this article from Italian to English.
+++
title = "Money for indipendence"
author = "Danilo M."
-type = "life"
+type = "quote"
date = "2013-04-30T08:58:25+00:00"
excerpt = "Quoting Henry Ford"
-categories = ["blogging", "life"]
-tags = ["hope", "indipendence", "money", "quotes"]
+categories = [ "Blogging", "Self Reflection"]
+tags = [ "indipendence", "money", "hope", "quote"]
+++
+
{{< quote source="Henry Ford" >}}
If money is your hope for independence you will never have it.
-{{< /quote >}}
+{{< /quote >}}
\ No newline at end of file
+++
-title = "myself as a droid.."
-author = "Danilo M."
-type = "life"
+title = "Myself as a Droid.."
date = "2011-02-14T13:31:08+00:00"
draft = true
-categories = ["web"]
-tags = ["android", "droidify", "market"]
+type = "life"
+tags = ["web", "android", "droidify", "market"]
+categories = ["Blogging"]
+author = "Danilo M."
+++
-<figure style="width: 500px" class="wp-caption aligncenter"><img loading="lazy" style="margin-right: auto; margin-left: auto;" src="http://danixland.net/wp-content/uploads/2011/02/wpid-android21.png" alt="image" width="500" height="500" /><figcaption class="wp-caption-text">che ve ne pare? il mio autoritratto in stile android!!</figcaption></figure>
-
-l’ho creato usando [droidify yourself][1], un’app di google per il market di android.. ;-)
- [1]: https://market.android.com/details?id=com.google.android.apps.androidify
\ No newline at end of file
+TODO: Translate this article from Italian to English.
type = "life"
date = "2011-08-31T09:57:22+00:00"
excerpt = "We are nerds, Resistance is futile"
-categories = ["blogging"]
-tags = ["john green", "nerds"]
+categories = [ "Blogging"]
+tags = [ "john green", "nerds"]
+++
+
{{< image src="/uploads/2011/08/nerdslikeus.png" alt="nerds like us" caption="We are nerds. Resistance is futile" figure-class="text-center" >}}{{< /image >}}
date = "2019-10-30T13:22:48+00:00"
image = "/uppies/2019/10/server.jpg"
excerpt = "Here's a short list of components for what will possibly be my future home server."
-categories = [ "diy"]
+categories = [ "DIY"]
tags = [ "build", "flying dutchman", "server", "linux"]
+++
author = "Danilo M."
excerpt = "How do you deal with the reality of living with yourself?"
image = "/uppies/2025/10/loneliness.jpg"
-categories = ["life"]
-tags = ["life", "responsibility", "loneliness", "introspection"]
+categories = [ "Self Reflection"]
+tags = [ "life", "responsibility", "loneliness", "introspection"]
typora-root-url = "../../static"
+++
How do you deal with the reality of living with yourself?
-What does
\ No newline at end of file
+What does
\ No newline at end of file
type = "life"
date = "2011-08-31T08:05:35+00:00"
excerpt = "'the right thing to do outside of the box.. '"
-categories = ["blogging", "life"]
-tags = ["quotes", "think outside of the box"]
+categories = [ "Blogging", "Self Reflection"]
+tags = [ "think outside of the box", "quote"]
+++
+
{{< quote source="Tim Ferriss" >}}
It isn’t enough to think outside the box. Thinking is passive. Get used to acting outside the box.
-{{< /quote >}}
+{{< /quote >}}
\ No newline at end of file
type = "life"
date = "2016-02-14T17:52:21+00:00"
image = "/uppies/2016/02/palette.jpg"
-categories = ["code", "diy"]
-tags = ["colors", "github", "html5", "palette", "php", "viewer"]
+categories = [ "Code", "DIY"]
+tags = [ "colors", "github", "html5", "palette", "php", "viewer"]
+++
+
{{< image src="https://danix.xyz/wp-content/uploads/2016/02/palette-1.jpg" alt="palette-viewer screenshot" link="https://github.com/danixland/palette-viewer" caption="palette-viewer on github" >}}{{< /image >}}
{{< dropcap >}}
type = "life"
date = "2010-12-19T21:07:04+00:00"
draft = true
-categories = ["fotografia"]
-tags = ["feste", "gioco", "natale", "poker"]
+categories = [ "Photography"]
+tags = [ "poker", "feste", "gioco"]
+++
+
<figure style="width: 500px" class="wp-caption aligncenter"><img loading="lazy" style="margin-right: auto;margin-left: auto" src="http://danixland.net/wp-content/uploads/2010/12/wpid-2010-12-19-21.45.121.jpg" alt="image" width="500" height="375" /><figcaption class="wp-caption-text">seratina relax a base di poker.. ovviamente senza soldi veri :-) il modo migliore per passare le serate quando non si ha voglia di uscire..</figcaption></figure>
\ No newline at end of file
date = "2011-10-01T07:28:14+00:00"
excerpt = "An EPIC video of two floppy disks playing the imperial march.. nerdgasm.."
image = "/uppies/2011/10/vader.jpg"
-categories = ["blogging", "web"]
-tags = ["floppy disks", "imperial march", "nerdgasm", "nerds", "star wars", "youtube"]
+categories = [ "Blogging"]
+tags = [ "web", "floppy disks", "imperial march", "nerdgasm", "nerds", "star wars", "youtube"]
+++
+
<figure class="wp-block-embed-youtube aligncenter wp-block-embed is-type-rich is-provider-embed-handler wp-embed-aspect-4-3 wp-has-aspect-ratio">
<div class="wp-block-embed__wrapper">
date = "2011-10-06T10:51:17+00:00"
excerpt = "Goodbye Steve Jobs.. One of the few people I really wanted to meet at least once in my life."
image = "/uppies/2011/10/jobs.jpg"
-categories = ["blogging", "life"]
-tags = ["Steve Jobs"]
+categories = [ "Blogging"]
+tags = [ "Steve Jobs"]
+++
+
<figure id="attachment_3691" aria-describedby="caption-attachment-3691" style="width: 1024px" class="wp-caption aligncenter"><img loading="lazy" class="wp-image-3691 size-large" src="https://danix.xyz/wp-content/uploads/2011/10/jobs-1024x741.jpg" alt="" width="1024" height="741" srcset="https://danix.xyz/wp-content/uploads/2011/10/jobs-1024x741.jpg 1024w, https://danix.xyz/wp-content/uploads/2011/10/jobs-300x217.jpg 300w, https://danix.xyz/wp-content/uploads/2011/10/jobs-768x556.jpg 768w, https://danix.xyz/wp-content/uploads/2011/10/jobs.jpg 1500w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption id="caption-attachment-3691" class="wp-caption-text">Today a truly beautiful mind has left our world. Today is a very sad day.</figcaption></figure>
\ No newline at end of file
type = "life"
date = "2011-09-26T14:24:45+00:00"
excerpt = "Accept responsibility for your life. Know that it is you who will get you where you want to go, no one else."
-categories = ["blogging", "life"]
-tags = ["life", "responsibility"]
+categories = [ "Blogging", "Self Reflection"]
+tags = [ "life", "responsibility"]
+++
+
<blockquote class="wp-block-quote">
<p>
Accept responsibility for your life. Know that it is you who will get you where you want to go, no one else.
+++
-title = "sasso, carta, forbice, lucertola, spock!"
-author = "Danilo M."
-type = "life"
+title = "Rock, Paper, Scissors, Lizard, Spock!"
date = "2010-11-10T14:08:19+00:00"
-image = "/uppies/2010/11/nimoy-spock.jpg"
-categories = ["blogging"]
+draft = false
+type = "life"
tags = ["game", "lizard", "paper", "rock", "scissors", "spock"]
+categories = ["Blogging"]
+author = "Danilo M."
+++
-Chi di voi miei fedeli (3) lettori non ha giocato almeno una volta nella vita a Sasso, Carta, Forbice? Beh, se ci avete giocato, avrete notato che tra giocatori che si frequentano assiduamente, c’è l’80% di probabilità di un pareggio causato dalla scarsità di alternative…
-
-Ecco che vi viene in aiuto l’espansione del classico gioco: **Sasso, Carta, Forbice, Lucertola, Spock!**
-
-In quest’espansione sono aggiunti 2 ulteriori simboli, la mano a forma di lucertola (un po’ come il serpente delle ombre cinesi) e il classico saluto vulcaniano (indice e medio da una parte e anulare e mignolo dall’altra).
-
-Le interazioni e quindi le regole si moltiplicano di conseguenza e diventano:
-
- * La **forbice** taglia la **carta**.
- * Il **sasso** schiaccia la **lucertola**.
- * La **lucertola** avvelena **Spock**.
- * **Spock** rompe la **forbice**.
- * La **forbice** decapita la **lucertola**.
- * La **lucertola** mangia la **carta**.
- * La **carta** smentisce **Spock**.
- * **Spock** vaporizza il **sasso**.
- * Il **sasso** rompe la **forbice**.
-
-Mi sembra abbastanza più divertente, no!? :D
-
-Pensate che quest’espansione del gioco classico è stata menzionata addirittura in un articolo del times del 2005. L’invenzione si dice sia stata attribuita a [Sam Kass e Karen Bryla][1] e risalga addirittura alla metà degli anni ’90.
-
-Quindi adesso, tutti a giocare ;)
- [1]: http://uri.danixland.net/l "RPSSL webpage"
\ No newline at end of file
+TODO: Translate this article from Italian to English.
+++
title = "Speak to Me"
-author = "Danilo M."
-type = "life"
date = "2013-03-19T20:29:57+00:00"
-categories = ["blogging"]
+draft = false
+type = "quote"
tags = ["mad", "pink floyd"]
+categories = ["Blogging"]
+author = "Danilo M."
+++
-<blockquote class="wp-block-quote">
- <p>
- I’ve always been mad, I know I’ve been mad, like the most of us are. It’s very hard to explain why you’re mad, even if you’re not mad.
- </p>
-
- <cite>Pink Floyd – Speak to Me</cite>
-</blockquote>
-Credo che questo sarà il mio primo tattoo.. :)
\ No newline at end of file
+TODO: Translate this article from Italian to English.
+++
title = "sunset in Siderno"
author = "Danilo M."
-type = "life"
+type = "photo"
date = "2016-01-25T17:31:56+00:00"
image = "/uppies/2016/01/dx_0013.jpg"
-categories = ["nature"]
-tags = ["gopro", "kdenlive", "siderno", "sunset", "timelapse", "youtube"]
+categories = [ "Blogging"]
+tags = [ "nature", "gopro", "kdenlive", "siderno", "sunset", "timelapse", "youtube"]
+++
{{< video id="ku9JVNK6rLU" title="Sunset in Siderno - GoPro timelapse" >}}
+++
title = "Vulnerabilities for PGP and emails"
author = "Danilo M."
-type = "life"
+type = "tech"
date = "2018-05-15T10:04:06+00:00"
excerpt = "A series of vulnerabilities was discovered which affect emails encrypted with PGP and GnuPG, follow @EFF to understand more about this topic."
image = "/uppies/2018/05/og-efail-resized_3.png"
-categories = ["security"]
-tags = ["efail", "eff", "electronic frontier foundation", "gnupg", "pgp", "security", "vulnerability"]
+categories = [ "CyberSecurity"]
+tags = [ "efail", "eff", "electronic frontier foundation", "gnupg", "pgp", "security", "vulnerability"]
+++
+
following a series of tweets from the Electronic Frontier Foundation, I’m reblogging their article to give it even more visibility on a topic that many don’t seem to know, which is email encryption.
A group of researchers has found out [and published][1] a series of vulnerabilities affecting the use of PGP for email encryption (you can read more in depth coverage on this topic on the [EFF website][2])
+++
title = "Walt quote"
author = "Danilo M."
-type = "life"
+type = "quote"
date = "2015-06-10T02:41:58+00:00"
-categories = ["disney", "life"]
-tags = ["inspiring", "quote", "Walt Disney"]
+categories = [ "Self Reflection"]
+tags = [ "inspiring", "quote", "Walt Disney"]
+++
+
{{< quote source="Walt Disney">}}
all our dreams can come true if we have the courage to pursue them
{{< /quote >}}
\ No newline at end of file
+++
-title = "wp_patcher – un metodo per aggiornare WordPress"
-author = "Danilo M."
-type = "life"
+title = "wp_patcher – a Method to Update WordPress"
date = "2009-07-22T13:37:40+00:00"
-excerpt = "Ecco un metodo molto semplice per aggiornare la vostra installazione di WordPress, wp_patcher!!"
-categories = ["diy", "linux", "WordPress"]
+draft = false
+type = "tech"
tags = ["bash", "svn", "update", "WordPress"]
+categories = ["Code", "DIY"]
+author = "Danilo M."
+++
-Ciao a tutti,
-
-purtroppo si sa, l’estate è molto dannosa ai contenuti del mio blog, in questa stagione diventa difficile rimanere a casa a scrivere al pc, la tastiera del portatile si trasforma in una piastra su cui si potrebbe tranquillamente arrostire la carne per un picnic e starci vicino e come accendere il caminetto con 40 gradi di temperatura ambientale, praticamente un supplizio…
-
-<!--more-->
-
-Tuttavia gli sviluppatori di WordPress continuano alacremente a sfornare novità, ed è risaputo che bisogna aggiornare sempre la propria installazione di WP per non incorrere in spiacevoli inconvenienti come la perdita dei dati o l’hacking del proprio sito web. Per venire incontro ai blogger dalle ultime versioni di WP è possibile aggiornare automaticamente la propria installazione utilizzando una voce nel pannello di controllo. Questa possibilità, almeno per me, non ha funzionato nelle ultime 2 revisioni della versione 2.8, quindi ho deciso di provare un’altra strada :)
-
-chiacchierando su [slacky.eu][1], mi è stato suggerito di usare svn per recuperare le varie versioni di WP e poi di prendere solo le differenze in modo da andare a sostituire solo i files che effettivamente sono stati modificati. A questo punto mi son detto, perchè non scrivere uno script bash che mi chieda solo la mia versione attuale e quella verso cui voglio aggiornare, e poi mi crei un archivio contenente solo i files che mi servono??
-
-Detto fatto, mi sono messo a giocare un po’ con Vim e ho tirato fuori **wp_patcher.sh**, uno script bash che scarica le 2 revisioni richieste di wordpress, controlla le differenze e crea un archivio tar.bz2 pronto per essere installato ;)
-
-Questo è lo script:
-
-<pre class="wp-block-preformatted language-bash"><code>#! /bin/bash
-# WP-patcher - script che si occupa di recuperare le differenze
-# tra 2 versioni differenti di WordPress, scaricando le revisioni
-# tramite svn.
-
-# Autore: Danilo 'danix' Macrì - http://danixland.net
-# Licensed under the statements of the GPL v3 - http://www.gnu.org/licenses/gpl-3.0.html
-
-# exit status
-E_NOARGS=171
-
-# variabili
-workdir="wp_patch"
-old_vrs=$1
-new_vrs=$2
-sane_old_vrs=`echo $1 |sed s/[.]//g`
-sane_new_vrs=`echo $2 |sed s/[.]//g`
-patchdir="${sane_old_vrs}_to_${sane_new_vrs}_patch"
-
-#funzione di aiuto (viene mostrata in caso di errore nell'avvio del programma)
-showhelp () {
- echo "USO: `basename $0` vecchia_versione nuova_versione"
- echo "dove 'vecchia_versione' è la tua attuale versione di WordPress"
- echo "e 'nuova_versione' è la versione verso cui vuoi upgradare"
- exit $E_NOARGS
-}
-
-# controllo che siano presenti gli argomenti in modo da avere
-# le versioni di WP da scaricare
-if [ -z $1 ];then
- showhelp
-elif [ -z $2 ];then
- showhelp
-fi
-
-# inizio l'esecuzione dei comandi
-mkdir $workdir
-cd $workdir
-echo "sto recuperando le 2 versioni svn"
-svn co http://core.svn.wordpress.org/tags/$old_vrs
-echo "ho recuperato la versione $old_vrs"
-svn co http://core.svn.wordpress.org/tags/$new_vrs
-echo "ho recuperato la versione $new_vrs, adesso saranno esportate."
-svn export $old_vrs wp_$sane_old_vrs
-svn export $new_vrs wp_$sane_new_vrs
-rm -rf $old_vrs $new_vrs
-echo "ho esportato correttamente le 2 versioni di wordpress"
-echo "adesso procedo alla creazione della patch"
-diff -qr wp_$sane_old_vrs wp_$sane_new_vrs |cut -d" " -f4 > patch_file.txt
-mkdir $patchdir
-mods=`cat patch_file.txt`
-for i in $mods;do
- cp --parents $i $patchdir
-done
-echo "compressione in corso..."
-cd $patchdir
-mv wp_$sane_new_vrs wp_$new_vrs
-tar -jcvf ../wp_${patchdir}.tar.bz2 wp_$new_vrs
-cd ../
-mv wp_${patchdir}.tar.bz2 ../
-echo "patch creata"
-echo "ripulisco la directory di lavoro"
-cd ../
-rm -rf $workdir
-echo "l'archivio contenente i files da sostituire"
-echo "è il file 'wp_${patchdir}.tar.bz2"
-# fine :)
-exit 0</code></pre>
-
-E’ molto semplice e non dovrebbe essere difficile modificarlo secondo le vostre necessità…
-
-Lo script va salvato con un nome a vostro piacimento (io l’ho chiamato wp_patcher.sh) e poi va lanciato in questo modo:
-
-`wp_patcher.sh vecchia_versione nuova_versione`
-
-In una directory qualsiasi nella vostra home, ovviamente è consigliabile che lo lanciate in una directory vuota in modo da evitare conflitti con i files e le dir che il programma crea durante il suo funzionamento…
-
-Nell’esempio che vi ho riportato ‘vecchia\_versione’ sarà la vostra attuale versione di WordPress, e ‘nuova\_versione’ sarà la versione verso cui vorrete aggiornare.
-
-Perchè lo script funzioni è necessario che nel sistema sia installato svn, tar, e tutti i comandi di base come mv, cp, rm ecc… ma dubito che stiate utilizzando una qualsiasi distribuzione Linux e non abbiate questi programmi installati ;) .
-
-Una volta creato l’archivio con i files da aggiornare vi basterà decomprimerlo e caricare i files sul vostro spazio web sovrascrivendo quelli già presenti. Nel caso in cui fosse necessario un aggiornamento del database di WordPress vi basterà lanciare dal browser la pagina **http://urldelblog/wp-admin/upgrade.php**.
-
-<blockquote class="wp-block-quote alert">
- <p>
- <strong><em>Come sempre vale il consiglio, prima di aggiornare WordPress, di effettuare un backup dei files e del database, in modo da poter ripristinare una situazione funzionante in caso di problemi.</em></strong>
- </p>
-</blockquote>
-
-Questo script come potete vedere è rilasciato sotto la GPL v3, quindi è liberamente utilizzabile e modificabile entro i termini di questa licenza appunto.
-
-Se vi dovesse tornare utile, o anche semplicemente se voleste dirmi che lo avete provato o che non ha funzionato o farmi i complimenti o mandarmi a cagare :) non fatevi problemi e lasciatemi un commento…
-
-A presto
- [1]: http://www.slacky.eu "La comunità italiana di utenti slackware"
\ No newline at end of file
+TODO: Translate this article from Italian to English.
+++
-title = "xrandr e dual head su slackware 12.2 e intel"
-author = "Danilo M."
-type = "life"
+title = "xrandr and Dual Head on Slackware 12.2 and Intel"
date = "2009-06-29T17:05:13+00:00"
-excerpt = "'In questo breve articolo vi spiegherò come ottenere un desktop ultra wide che si espande su ben 2 monitor, ingredienti: una scheda video con 2 uscite e un editor di testo...'"
-categories = [ "diy", "code"]
-tags = [ "dual head", "extended desktop", "monitor setup", "slackware", "xorg", "xrandr"]
draft = true
+type = "tech"
+tags = ["dual head", "extended desktop", "monitor setup", "slackware", "xorg", "xrandr"]
+categories = ["Code", "DIY"]
+author = "Danilo M."
+++
-Oggi mi è capitato sottomano un monitor 17″ e mi è venuta la curiosità di provare a collegarlo all’uscita vga esterna del mio laptop. Detto fatto ho provato a fare qualche ricerca su internet per vedere se riuscivo a tirare su un sistema dual head in cui i 2 schermi formassero un unico desktop più grande.
-
-<!--more-->
-
-Dopo qualche tentativo ho trovato la soluzione quasi perfetta, cioè uno schermo complessivo di 2560×1024. Per ottenerlo è bastato mettere questa semplice riga nel mio xorg.conf:
-
-`Virtual 2560 1024`
-
-all’interno della SubSection “Display” nella sezione “Screen”. Quella riga non fa altro che istruire X sulle dimensioni complessive del desktop virtuale, i 2 valori si ottengono sommando la risoluzione del primo schermo, che nel mio caso era di 1280×1024, alla risoluzione del secondo schermo, che è nel mio caso quello del laptop e cioè 1280×800. La larghezza totale è quindi diventata 2560 mentre per l’altezza ho dovuto prendere quella dello schermo più grande, cioè quello esterno e quindi 1024.
-
-Ovviamente facendo in questo modo ho una superficie del desktop di circa il 120% rispetto a quella effettiva dei 2 monitor, però X tiene conto di questo problemino, infatti se io massimizzo una finestra nello schermo grande, questa si adatta alla dimensione maggiore, se la massimizzo nello schermo del laptop si adatta alla dimensione wide e non mi da problemi di scrolling. L’unico fastidio è che non arrivo a vedere la fine della barra di lxde se la lascio posizionata in basso, ma anche questo si risolve facilmente mettendola in alto…
-
-A questo punto, ogni qualvolta io voglia attivare il doppio desktop, mi basterà lanciare questo script che mi sono creato, l’ho chiamato **dualhead.sh**:
-
-<pre>#! /bin/bash
-
-case $1 in
- start ) xrandr --output LVDS --mode 1280x800 \
- --output VGA --mode 1280x1024 --left-of LVDS
- ;;
- stop ) xrandr --output VGA --off
- ;;
- * ) echo "USAGE: `basename $0` start | stop"
- exit 1
- ;;
-esac
-exit</pre>
-
-lanciandolo con flag “start” avvierà il dualhead mentre lanciando lo script con “stop” tutto il desktop ritornerà sul solo schermo del laptop in quanto xrandr spegnerà l’uscita vga esterna.
-
-Adesso potete godervi il vostro splendido desktop esteso, magari usando uno degli sfondi ultra wide presenti su [compiz-themes.org][1], io sto usando una splendida foto della baia di Melbourne, il bello è che comincia su uno schermo e finisce sull’altro, ma se non provate non potete capire… ;)
-
-Buon divertimento…
-
- [1]: http://www.compiz-themes.org/index.php?xcontentmode=6110&PHPSESSID=593590581b90557a2f710adca3e82d40 "skydomes su compiz-themes.org"
\ No newline at end of file
+TODO: Translate this article from Italian to English.
title = "Come Funziona Questo Sito"
date = "2024-11-12T11:12:25+01:00"
draft = true
-type = "life"
-tags = ["web", "development"]
-
+type = "tech"
author = "Danilo M."
-
+excerpt = "Questo sito è sviluppato con HUGO, ecco come funziona."
+categories = [ "DIY", "Code", "Blogging"]
+tags = [ "Hugo", "development", "web"]
+typora-root-url = "../../static"
+++
-TODO: Tradurre questo articolo dall'inglese all'italiano.
+Questo sito è sviluppato con HUGO, un framework per costruire siti "statici".
\ No newline at end of file
+++
title = "conquista la folla.."
-date = "2013-04-21T08:17:11+00:00"
-draft = true
-type = "life"
-tags = ["gladiator", "massimo decimo meridio"]
-
author = "Danilo M."
-
+type = "quote"
+draft = true
+date = "2013-04-21T08:17:11+00:00"
+categories = [ "Blogging"]
+tags = [ "gladiator", "massimo decimo meridio"]
+++
-TODO: Tradurre questo articolo dall'inglese all'italiano.
+{{< quote source="Massimo X Meridio" >}}
+conquisterò la folla… gli darò qualcosa che non ha mai visto prima
+{{< /quote >}}
\ No newline at end of file
+++
title = "Mario Congiusta candidato al Consiglio Regionale calabrese"
+author = "Danilo M."
+type = "life"
date = "2010-03-05T09:17:55+00:00"
+excerpt = "voglio segnalarvi la candidatura di Mario Congiusta alle prossime Elezioni per il Consiglio Regionale Calabrese."
+categories = [ "Blogging"]
+tags = [ "calabria", "candidato", "congiusta", "consiglio", "elezioni", "incensurato", "libertà di stampa", "mario", "regionale"]
draft = true
++++
-type = "life"
-tags = ["calabria", "candidato", "congiusta", "consiglio", "elezioni", "incensurato", "libertà di stampa", "mario", "regionale"]
+Vi voglio segnalare un avvenimento molto importante per me. Premesso che io non mi interesso molto di politica, mi guardo intorno e mi rendo conto che la situazione in Calabria e in Italia sta cadendo vertiginosamente in un baratro senza fondo.
-author = "Danilo M."
+La corruzione c'è sempre stata, ma ultimamente la nostra politica sembra diretta sempre più verso un'idea totalitaria, verso un futuro che non voglio nemmeno immaginare. Chi è al potere cerca di accentrare sempre più potere su se stesso, non esistono più schieramenti, tutti le parti politiche collaborano tra loro di nascosto, si scambiano favori in modo da ottenerne altri, e tutto questo uccide la democrazia, tutto questo uccide la voce che il popolo ha in merito alle questioni dello Stato.
-+++
+<!--more-->
+
+Io non mi occupo di politica dicevo, però sento che intorno a noi c'è bisogno di maggiore chiarezza, c'è bisogno di trasparenza, io voglio poter dire che le persone che ricoprono una qualsiasi carica pubblica, o che aspirano a ricoprirla, sono persone oneste, sono persone che aspirano a quella carica **per esprimere le proprie idee**, non per guadagnare di più. Io voglio partecipare ai concorsi pubblici senza dovermi preoccupare del fatto che ci saranno persone sleali che otterranno risultati migliori dei miei perchè “spinti” da questo o quel potente. :vangry:
+
+Mi rendo conto che queste potrebbero sembrare considerazioni utopistiche, ma se non miriamo ad un traguardo più alto, più nobile, stiamo solo facendo un favore a chi è già al potere, **se continueremo a giocare secondo le loro regole, non potremo mai vincere**.
+
+Per questo voglio segnalarvi la **candidatura di Mario Congiusta** alle prossime Elezioni per il Consiglio Regionale Calabrese.
+
+E' di persone come Mario che la Calabria, l'Italia intera ha bisogno in questo momento.
+
+Bisogna partire da persone come Mario Congiusta perchè l'onestà e la trasparenza delle cariche politiche non dev'essere un valore aggiunto, l'onestà deve essere la norma, i valori aggiunti di un politico sono le idee ed in base a quelle i politici vanno confrontati.
+
+Come ho detto, non mi occupo di politica, però sono un accanito sostenitore dell'onestà, dalle piccole cose a quelle più importanti, e spero un giorno di poter vivere in uno Stato democratico che non sia tale soltanto a parole ma che assicuri ai suoi cittadini una pacifica convivenza, senza sotterfugi...
-TODO: Tradurre questo articolo dall'inglese all'italiano.
+Voi la chiamerete utopia, io la chiamo **speranza**.
\ No newline at end of file
+++
title = "La giornata del pi Greco"
+author = "Danilo M."
+type = "life"
date = "2010-03-14T11:55:45+00:00"
+excerpt = "Festeggiamo insieme la giornata del pi greco"
+categories = [ "Blogging"]
+tags = [ "lerry shawn", "celebrazione", "feste", "pi greco"]
draft = true
++++
-type = "life"
-tags = ["celebrazione", "festa", "lerry shawn", "pi greco"]
+Buona giornata del pi Greco a tutti… :D
-author = "Danilo M."
+Dal 1988 si festeggia il 14 Marzo la giornata del pi Greco, la data è stata scelta in base alla scrittura anglosassone di questo giorno, 3.14 che ricorda l’approssimazione per 3 cifre del pi Greco.
-+++
+<!--more-->
+
+Il primo a festeggiare questa ricorrenza fu il fisico Lerry Shawn che organizzò un corteo circolare attorno ad uno degli edifici dell’[Exploratorium di San Francisco][1] e la vendita di torte alla frutta decorate con le cifre decimali di questo magico numero. In seguito il fisico venne insignito del titolo di **Principe del pi Greco**.
+
+Tutt’oggi nei dipartimenti di matematica di numerose università si organizzano delle feste per celebrare questo numero.
+
+Per maggiori informazioni e qualche altro link interessante vi rimando alla [pagina][2] che wikipedia italia dedica a questo evento.
+
+Happy 3.14 a tutti :D
-TODO: Tradurre questo articolo dall'inglese all'italiano.
+[1]: http://it.wikipedia.org/wiki/Exploratorium "Exploratorium di San Francisco"
+[2]: http://it.wikipedia.org/wiki/Giorno_di_pi_greco "giorno del pi greco su wikipedia"
\ No newline at end of file
+++
title = "le email queste sconosciute :)"
+author = "Danilo M."
+type = "life"
date = "2010-11-06T22:28:43+00:00"
+excerpt = "piccoli comportamenti da seguire quando si invia una email."
draft = true
-type = "life"
-tags = ["attachments", "email", "howto", "mistakes", "privacy", "subject"]
+categories = [ "Blogging"]
+tags = [ "attachments", "email", "howto", "mistakes", "privacy", "subject"]
++++
-author = "Danilo M."
+Prendo spunto da un simpatico quanto tristemente reale [articolo pubblicato][1] sul [blog di barbara sgarzi][2], una giornalista che non conoscevo ma che non mancherò di seguire, per parlarvi di un mezzo di comunicazione variamente utilizzato ma purtroppo spesso sottovalutato come le **email**.
-+++
+<!--more-->
+
+{{< image src="/uploads/2010/11/email-at1-300x211.gif" alt="Email at symbol illustration" >}}{{< /image >}}
+Già vi immagino, voi fedeli (3) lettori, subito pronti a dire: "_ma cosa vorrai mai insegnarci sulle email che già non sappiamo?_" beh, iniziamo dalla prima cosa che colpisce l'occhio di chi riceve una mail, l'**oggetto**.
+
+Eh già, si chiama oggetto perchè serve a descrivere ciò di cui l'email parla, l'oggetto del messaggio appunto. Non ha quindi senso lasciare il campo in bianco o scrivere cose senza senso tipo "email da tizio:, "comunicazione da sempronio: eccetera, per sapere chi è il mittente dell'email c'è il campo "From: o "Da: oppure indovinate un po', "Mittente:, l'avreste mai detto?! :)
+
+Un'altra cosa piuttosto bruttina da vedere è il corpo del messaggio vuoto con tutto il contenuto relegato negli allegati, se ricevo una mail così non è che mi precipito a leggere l'allegato, piuttosto la cestino direttamente! Gli allegati servono per allegare qualcosa che non si può mettere nel corpo del messaggio, non per contenere il messaggio!
+
+Un altro problema che affligge spesso chi riceve email è l'invio di foto! Su questo punto potremmo spendere fiumi di parole parlando del fatto che al giorno d'oggi con le adsl super veloci che ci ritroviamo non sia più un problema ricevere allegati pesanti, ma non capisco perchè io debba stare a scaricare una foto da 12 megapixel a 300 <acronym title="dot per inches (punti per pollice)">dpi</acronym> se non dovrò nemmeno stamparla, ma al massimo condividerla sul blog o su facebook; perdete un attimino del vostro <span style="text-decoration: line-through">prezioso</span> tempo anche voi e riducete le dimensioni delle foto che inviate, già ridurre la risoluzione da 300 a 72 [dpi][4] aiuterà notevolmente chi dovrà ricevere la mail oltre che farvi risparmiare molto tempo in invio.. Un altro appunto relativo alle dimensioni delle foto, se state mandando una foto di un tenero cucciolo che dovrà fare da sfondo al piccì del vostro/a amato/a, che senso ha che misuri 4000 pixel sul lato corto?! Una risoluzione decente potrebbe essere 1600 pixel sul lato lungo e il lato corto dimensionato in proporzione, in questo modo le dimensioni scenderanno ulteriormente senza che si perda la qualità del vostro pregevolissimo scatto! ;)
+
+{{< image src="/uploads/2010/11/url-300x197.jpg" alt="URL structure illustration" >}}{{< /image >}}
+[5]Il punto successivo di questa carrellata potrebbe avere un titolo e un articolo a se, "_come inviare link. Il modo corretto di condividere i famigerati [URL][6]_"; fin dagli albori di internet si è avvertita infatti la necessità di condividere link interessanti con i nostri contatti, e sopratutto negli ultimi tempi i link sono diventati sempre più lunghi e complessi, cose tipo:
+
+```
+http://www.example.net/test/sample_page.php?variable00=aldsgfqeworslkdf2934523&variable01=abbecceddario&variable02=tomorrow+will+rain#bookmark539
+```
+
+e nonostante io capisca che condividere i link sia fondamentale proprio non riesco a concepire il fatto che chi invia i link non si prenda la briga di controllare che siano quantomeno funzionanti prima di inviare la mail, il copia/incolla è una conquista stupenda, ma perchè fare la figura dei <span style="text-decoration: line-through">pirla</span> (a dir poco) inviando link chilometrici spezzettati in 20 parti che per ricostruirli si impiega più tempo che a leggere il resto della posta, col rischio poi che ci si dimentichi di un minuscolo carattere tipo un punto e il link non funzioni?! Per ovviare a questo tipo di inconvenienti, si può fare più attenzione riguardando la mail prima di inviarla, oppure si può utilizzare uno dei tanti servizi di URL shortening presenti sul web, ~~come ad esempio [uri.danixland.net][7],~~ in questo modo i link diventeranno molto più brevi e semplici da gestire, e si eviteranno tanti problemi per chi legge le email!
+
+Ancora un altro consiglio, **ricontrollate ciò che avete scritto**, no seriamente, consegnereste mai un compito senza averlo nemmeno riguardato? E allora perchè prima di inviare una mail che vi sarà costata probabilmente meno tempo per scriverla, non le date una rilettura veloce?! Sono fantastiche le email con l'oggetto ma senza il testo, o quelle con il testo "_Allegato pronto per la spedizione_: ma senza l'allegato! Suvvia, che ci vuole a soffermarsi un attimo su ciò che si sta facendo?!
+
+Per ultimo mi lascio probabilmente la madre di tutti i comportamenti sbagliati quando si invia un'email, il disrispetto della privacy! di cosa sto parlando?! Avete presente quelle stupende catene di S. Antonio che vanno tanto di moda nei periodi di festa? Quelle con allegate le presentazioni strappalacrime in PowerPoint che "_se non le inoltri a 140 amici entro i prossimi 7 minuti non hai cuore e ti morirà il gatto strozzandosi mentre sta mangiando il pesce rosso e morendo cadrà in testa al cane al quale si spezzerà una gamba e per la tristezza l'uccellino non mangerà più e si lascerà morire?_" Bene, quelle catene sono l'eden degli spammer, ricevere una di quelle email è come ricevere in regalo tutta la lista dei propri amici su facebook moltiplicata per tutti gli amici di ogni singolo amico, a volte sono più lunghe le liste di indirizzi email che il corpo stesso del messaggio.. Questo accade perchè probabilmente non si conosce bene il mezzo di comunicazione che si sta usando, il campo "A:: dovrebbe contenere il destinatario dell'email, e fin qui non ci piove, ma come comportarsi quando ci sono più destinatari? Ecco che ci viene in aiuto il campo "[Bcc:][8]: altrimenti detto "<acronym title="Copia carbone nascosta">Ccn:</acronym>". Questo campo viene utilizzato per inserire i destinatari secondari dell'email e far si che il loro indirizzo non sia visibile ai destinatari principali specificati nel campo "To:; quando ci sono tantissimi destinatari e non tutti si conoscono tra loro, è buona norma evitare che gli indirizzi email siano visibili onde evitare che qualcuno possa accusarvi di violazione della privacy! Io personalmente sono spesso tentato di denunciare i mittenti di email del genere :/
+
+Mi sembra di aver esaurito gli argomenti riguardo le email, mi auguro di ricevere tante comunicazioni da voi, e spero proprio che farete tesoro di ciò che vi ho consigliato, altrimenti potete anche risparmiarvi il tempo di scrivermi, tanto probabilmente non leggerò mai ciò che mi mandate ;)
+
+Vi lascio nuovamente il link da cui ho attinto per scrivere questo articolo, dategli un'occhiata, come anche al resto del blog, è ben scritto e l'ho trovato variamente interessante. [http://uri.danixland.net/e](2)
-TODO: Tradurre questo articolo dall'inglese all'italiano.
+[1]: http://uri.danixland.net/e "decalogo per gli uffici stampa - blimunda.net"
+[2]: http://uri.danixland.net/d "Il blog di blimunda"
+[3]: /uploads/2010/11/email-at11.gif
+[4]: http://uri.danixland.net/f "punti per pollice - wikipedia"
+[5]: /uploads/2010/11/url1.jpg
+[6]: http://uri.danixland.net/g "uniform resource locator - wikipedia"
+[7]: http://uri.danixland.net "URL shortening made in danixland"
+[8]: http://uri.danixland.net/h "Blind carbon copy - wikipedia"
\ No newline at end of file
+++
title = "myself as a droid.."
+author = "Danilo M."
+type = "life"
date = "2011-02-14T13:31:08+00:00"
draft = true
-type = "life"
-tags = ["android", "droidify", "market"]
-
-author = "Danilo M."
-
+categories = ["Blogging"]
+tags = ["web", "android", "droidify", "market"]
+++
+<figure style="width: 500px" class="wp-caption aligncenter"><img loading="lazy" style="margin-right: auto; margin-left: auto;" src="http://danixland.net/wp-content/uploads/2011/02/wpid-android21.png" alt="image" width="500" height="500" /><figcaption class="wp-caption-text">che ve ne pare? il mio autoritratto in stile android!!</figcaption></figure>
+
+l’ho creato usando [droidify yourself][1], un’app di google per il market di android.. ;-)
-TODO: Tradurre questo articolo dall'inglese all'italiano.
+ [1]: https://market.android.com/details?id=com.google.android.apps.androidify
\ No newline at end of file
+++
title = "sasso, carta, forbice, lucertola, spock!"
-date = "2010-11-10T14:08:19+00:00"
-
+author = "Danilo M."
type = "life"
-tags = ["game", "lizard", "paper", "rock", "scissors", "spock"]
+date = "2010-11-10T14:08:19+00:00"
image = "/uppies/2010/11/nimoy-spock.jpg"
-author = "Danilo M."
-
+categories = [ "Blogging"]
+tags = [ "game", "lizard", "paper", "rock", "scissors", "spock"]
+++
-TODO: Tradurre questo articolo dall'inglese all'italiano.
+Chi di voi miei fedeli (3) lettori non ha giocato almeno una volta nella vita a Sasso, Carta, Forbice? Beh, se ci avete giocato, avrete notato che tra giocatori che si frequentano assiduamente, c’è l’80% di probabilità di un pareggio causato dalla scarsità di alternative…
+
+Ecco che vi viene in aiuto l’espansione del classico gioco: **Sasso, Carta, Forbice, Lucertola, Spock!**
+
+In quest’espansione sono aggiunti 2 ulteriori simboli, la mano a forma di lucertola (un po’ come il serpente delle ombre cinesi) e il classico saluto vulcaniano (indice e medio da una parte e anulare e mignolo dall’altra).
+
+Le interazioni e quindi le regole si moltiplicano di conseguenza e diventano:
+
+ * La **forbice** taglia la **carta**.
+ * Il **sasso** schiaccia la **lucertola**.
+ * La **lucertola** avvelena **Spock**.
+ * **Spock** rompe la **forbice**.
+ * La **forbice** decapita la **lucertola**.
+ * La **lucertola** mangia la **carta**.
+ * La **carta** smentisce **Spock**.
+ * **Spock** vaporizza il **sasso**.
+ * Il **sasso** rompe la **forbice**.
+
+Mi sembra abbastanza più divertente, no!? :D
+
+Pensate che quest’espansione del gioco classico è stata menzionata addirittura in un articolo del times del 2005. L’invenzione si dice sia stata attribuita a [Sam Kass e Karen Bryla][1] e risalga addirittura alla metà degli anni ’90.
+
+Quindi adesso, tutti a giocare ;)
+
+ [1]: http://uri.danixland.net/l "RPSSL webpage"
\ No newline at end of file
+++
title = "Speak to Me"
-date = "2013-03-19T20:29:57+00:00"
-
-type = "life"
-tags = ["mad", "pink floyd"]
-
author = "Danilo M."
-
+type = "quote"
+date = "2013-03-19T20:29:57+00:00"
+categories = [ "Blogging"]
+tags = [ "mad", "pink floyd"]
+++
-TODO: Tradurre questo articolo dall'inglese all'italiano.
+<blockquote class="wp-block-quote">
+ <p>
+ I’ve always been mad, I know I’ve been mad, like the most of us are. It’s very hard to explain why you’re mad, even if you’re not mad.
+ </p>
+
+ <cite>Pink Floyd – Speak to Me</cite>
+</blockquote>
+
+Credo che questo sarà il mio primo tattoo.. :)
\ No newline at end of file
+++
title = "wp_patcher – un metodo per aggiornare WordPress"
+author = "Danilo M."
+type = "tech"
date = "2009-07-22T13:37:40+00:00"
+excerpt = "Ecco un metodo molto semplice per aggiornare la vostra installazione di WordPress, wp_patcher!!"
+categories = [ "Code", "DIY"]
+tags = [ "bash", "svn", "update", "WordPress"]
++++
-type = "life"
-tags = ["bash", "svn", "update", "WordPress"]
+Ciao a tutti,
-author = "Danilo M."
+purtroppo si sa, l’estate è molto dannosa ai contenuti del mio blog, in questa stagione diventa difficile rimanere a casa a scrivere al pc, la tastiera del portatile si trasforma in una piastra su cui si potrebbe tranquillamente arrostire la carne per un picnic e starci vicino e come accendere il caminetto con 40 gradi di temperatura ambientale, praticamente un supplizio…
-+++
+<!--more-->
+
+Tuttavia gli sviluppatori di WordPress continuano alacremente a sfornare novità, ed è risaputo che bisogna aggiornare sempre la propria installazione di WP per non incorrere in spiacevoli inconvenienti come la perdita dei dati o l’hacking del proprio sito web. Per venire incontro ai blogger dalle ultime versioni di WP è possibile aggiornare automaticamente la propria installazione utilizzando una voce nel pannello di controllo. Questa possibilità, almeno per me, non ha funzionato nelle ultime 2 revisioni della versione 2.8, quindi ho deciso di provare un’altra strada :)
+
+chiacchierando su [slacky.eu][1], mi è stato suggerito di usare svn per recuperare le varie versioni di WP e poi di prendere solo le differenze in modo da andare a sostituire solo i files che effettivamente sono stati modificati. A questo punto mi son detto, perchè non scrivere uno script bash che mi chieda solo la mia versione attuale e quella verso cui voglio aggiornare, e poi mi crei un archivio contenente solo i files che mi servono??
+
+Detto fatto, mi sono messo a giocare un po’ con Vim e ho tirato fuori **wp_patcher.sh**, uno script bash che scarica le 2 revisioni richieste di wordpress, controlla le differenze e crea un archivio tar.bz2 pronto per essere installato ;)
+
+Questo è lo script:
+
+<pre class="wp-block-preformatted language-bash"><code>#! /bin/bash
+# WP-patcher - script che si occupa di recuperare le differenze
+# tra 2 versioni differenti di WordPress, scaricando le revisioni
+# tramite svn.
+
+# Autore: Danilo 'danix' Macrì - http://danixland.net
+# Licensed under the statements of the GPL v3 - http://www.gnu.org/licenses/gpl-3.0.html
+
+# exit status
+E_NOARGS=171
+
+# variabili
+workdir="wp_patch"
+old_vrs=$1
+new_vrs=$2
+sane_old_vrs=`echo $1 |sed s/[.]//g`
+sane_new_vrs=`echo $2 |sed s/[.]//g`
+patchdir="${sane_old_vrs}_to_${sane_new_vrs}_patch"
+
+#funzione di aiuto (viene mostrata in caso di errore nell'avvio del programma)
+showhelp () {
+ echo "USO: `basename $0` vecchia_versione nuova_versione"
+ echo "dove 'vecchia_versione' è la tua attuale versione di WordPress"
+ echo "e 'nuova_versione' è la versione verso cui vuoi upgradare"
+ exit $E_NOARGS
+}
+
+# controllo che siano presenti gli argomenti in modo da avere
+# le versioni di WP da scaricare
+if [ -z $1 ];then
+ showhelp
+elif [ -z $2 ];then
+ showhelp
+fi
+
+# inizio l'esecuzione dei comandi
+mkdir $workdir
+cd $workdir
+echo "sto recuperando le 2 versioni svn"
+svn co http://core.svn.wordpress.org/tags/$old_vrs
+echo "ho recuperato la versione $old_vrs"
+svn co http://core.svn.wordpress.org/tags/$new_vrs
+echo "ho recuperato la versione $new_vrs, adesso saranno esportate."
+svn export $old_vrs wp_$sane_old_vrs
+svn export $new_vrs wp_$sane_new_vrs
+rm -rf $old_vrs $new_vrs
+echo "ho esportato correttamente le 2 versioni di wordpress"
+echo "adesso procedo alla creazione della patch"
+diff -qr wp_$sane_old_vrs wp_$sane_new_vrs |cut -d" " -f4 > patch_file.txt
+mkdir $patchdir
+mods=`cat patch_file.txt`
+for i in $mods;do
+ cp --parents $i $patchdir
+done
+echo "compressione in corso..."
+cd $patchdir
+mv wp_$sane_new_vrs wp_$new_vrs
+tar -jcvf ../wp_${patchdir}.tar.bz2 wp_$new_vrs
+cd ../
+mv wp_${patchdir}.tar.bz2 ../
+echo "patch creata"
+echo "ripulisco la directory di lavoro"
+cd ../
+rm -rf $workdir
+echo "l'archivio contenente i files da sostituire"
+echo "è il file 'wp_${patchdir}.tar.bz2"
+# fine :)
+exit 0</code></pre>
+
+E’ molto semplice e non dovrebbe essere difficile modificarlo secondo le vostre necessità…
+
+Lo script va salvato con un nome a vostro piacimento (io l’ho chiamato wp_patcher.sh) e poi va lanciato in questo modo:
+
+`wp_patcher.sh vecchia_versione nuova_versione`
+
+In una directory qualsiasi nella vostra home, ovviamente è consigliabile che lo lanciate in una directory vuota in modo da evitare conflitti con i files e le dir che il programma crea durante il suo funzionamento…
+
+Nell’esempio che vi ho riportato ‘vecchia\_versione’ sarà la vostra attuale versione di WordPress, e ‘nuova\_versione’ sarà la versione verso cui vorrete aggiornare.
+
+Perchè lo script funzioni è necessario che nel sistema sia installato svn, tar, e tutti i comandi di base come mv, cp, rm ecc… ma dubito che stiate utilizzando una qualsiasi distribuzione Linux e non abbiate questi programmi installati ;) .
+
+Una volta creato l’archivio con i files da aggiornare vi basterà decomprimerlo e caricare i files sul vostro spazio web sovrascrivendo quelli già presenti. Nel caso in cui fosse necessario un aggiornamento del database di WordPress vi basterà lanciare dal browser la pagina **http://urldelblog/wp-admin/upgrade.php**.
+
+<blockquote class="wp-block-quote alert">
+ <p>
+ <strong><em>Come sempre vale il consiglio, prima di aggiornare WordPress, di effettuare un backup dei files e del database, in modo da poter ripristinare una situazione funzionante in caso di problemi.</em></strong>
+ </p>
+</blockquote>
+
+Questo script come potete vedere è rilasciato sotto la GPL v3, quindi è liberamente utilizzabile e modificabile entro i termini di questa licenza appunto.
+
+Se vi dovesse tornare utile, o anche semplicemente se voleste dirmi che lo avete provato o che non ha funzionato o farmi i complimenti o mandarmi a cagare :) non fatevi problemi e lasciatemi un commento…
+
+A presto
-TODO: Tradurre questo articolo dall'inglese all'italiano.
+ [1]: http://www.slacky.eu "La comunità italiana di utenti slackware"
\ No newline at end of file
+++
title = "xrandr e dual head su slackware 12.2 e intel"
+author = "Danilo M."
+type = "tech"
date = "2009-06-29T17:05:13+00:00"
+excerpt = "'In questo breve articolo vi spiegherò come ottenere un desktop ultra wide che si espande su ben 2 monitor, ingredienti: una scheda video con 2 uscite e un editor di testo...'"
+categories = [ "Code", "DIY"]
+tags = [ "dual head", "extended desktop", "monitor setup", "slackware", "xorg", "xrandr"]
draft = true
++++
-type = "life"
-tags = ["dual head", "extended desktop", "monitor setup", "slackware", "xorg", "xrandr"]
+Oggi mi è capitato sottomano un monitor 17″ e mi è venuta la curiosità di provare a collegarlo all’uscita vga esterna del mio laptop. Detto fatto ho provato a fare qualche ricerca su internet per vedere se riuscivo a tirare su un sistema dual head in cui i 2 schermi formassero un unico desktop più grande.
-author = "Danilo M."
+<!--more-->
-+++
+Dopo qualche tentativo ho trovato la soluzione quasi perfetta, cioè uno schermo complessivo di 2560×1024. Per ottenerlo è bastato mettere questa semplice riga nel mio xorg.conf:
+
+`Virtual 2560 1024`
+
+all’interno della SubSection “Display” nella sezione “Screen”. Quella riga non fa altro che istruire X sulle dimensioni complessive del desktop virtuale, i 2 valori si ottengono sommando la risoluzione del primo schermo, che nel mio caso era di 1280×1024, alla risoluzione del secondo schermo, che è nel mio caso quello del laptop e cioè 1280×800. La larghezza totale è quindi diventata 2560 mentre per l’altezza ho dovuto prendere quella dello schermo più grande, cioè quello esterno e quindi 1024.
+
+Ovviamente facendo in questo modo ho una superficie del desktop di circa il 120% rispetto a quella effettiva dei 2 monitor, però X tiene conto di questo problemino, infatti se io massimizzo una finestra nello schermo grande, questa si adatta alla dimensione maggiore, se la massimizzo nello schermo del laptop si adatta alla dimensione wide e non mi da problemi di scrolling. L’unico fastidio è che non arrivo a vedere la fine della barra di lxde se la lascio posizionata in basso, ma anche questo si risolve facilmente mettendola in alto…
+
+A questo punto, ogni qualvolta io voglia attivare il doppio desktop, mi basterà lanciare questo script che mi sono creato, l’ho chiamato **dualhead.sh**:
+
+<pre>#! /bin/bash
+
+case $1 in
+ start ) xrandr --output LVDS --mode 1280x800 \
+ --output VGA --mode 1280x1024 --left-of LVDS
+ ;;
+ stop ) xrandr --output VGA --off
+ ;;
+ * ) echo "USAGE: `basename $0` start | stop"
+ exit 1
+ ;;
+esac
+exit</pre>
+
+lanciandolo con flag “start” avvierà il dualhead mentre lanciando lo script con “stop” tutto il desktop ritornerà sul solo schermo del laptop in quanto xrandr spegnerà l’uscita vga esterna.
+
+Adesso potete godervi il vostro splendido desktop esteso, magari usando uno degli sfondi ultra wide presenti su [compiz-themes.org][1], io sto usando una splendida foto della baia di Melbourne, il bello è che comincia su uno schermo e finisce sull’altro, ma se non provate non potete capire… ;)
+
+Buon divertimento…
-TODO: Tradurre questo articolo dall'inglese all'italiano.
+ [1]: http://www.compiz-themes.org/index.php?xcontentmode=6110&PHPSESSID=593590581b90557a2f710adca3e82d40 "skydomes su compiz-themes.org"
\ No newline at end of file
web
fotografia
disney
-blogging
android