frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Monster of 2025: Endless Subscriptions

https://www.motherjones.com/politics/2025/12/monster-of-2025-endless-subscriptions/
1•zdw•2m ago•0 comments

Tana – Turns your ideas, meetings and projects into action

https://tana.inc/index
1•punnerud•2m ago•0 comments

Show HN: Got tired of searching for AI news daily so I built my own AI news page

https://dreyx.com/
2•lilsquid•3m ago•0 comments

MCP Is a Fad

https://tombedor.dev/mcp-is-a-fad/
1•jjfoooo4•5m ago•0 comments

Anthropic Preparing New Agentic Tasks Mode for Claude

https://www.testingcatalog.com/anthropic-testing-new-agentic-tasks-mode-for-claude/
1•gmays•6m ago•0 comments

IntelTechniques Search Tools

https://inteltechniques.com/tools/index.html
1•eustoria•6m ago•0 comments

Proton CEO Andy Yen Explains the Withdrawal from Switzerland with the VÜPF

https://www.nzz.ch/technologie/proton-ceo-andy-yen-wer-gesetzgebung-der-polizei-ueberlaesst-sollt...
1•eustoria•8m ago•0 comments

hk - an operating system kernel written in Rust

https://github.com/jgarzik/hk
1•simonpure•9m ago•0 comments

Alternate Timelines Maps from the Internet

https://alternate-timelines.com/thread/276/maps-internet-thread
1•B1FF_PSUVM•9m ago•0 comments

Europe's new carbon tax on imported goods will change global trade

https://theconversation.com/how-europes-new-carbon-tax-on-imported-goods-will-change-global-trade...
2•ksec•12m ago•1 comments

Invisible infrared surveillance technology and those caught in its digital cage

https://apnews.com/photo-essay/chinese-surveillance-silicon-valley-tech-photo-essay-2da6d9ae5c29d...
1•nabla9•12m ago•0 comments

The invisible hand screws up your regression

https://www.economicforces.xyz/p/the-invisible-hand-screws-up-your
1•ksec•12m ago•0 comments

Show HN: Waves – A terminal music player with library browsing and radio mode

https://github.com/llehouerou/waves
2•llehouerou•15m ago•0 comments

Vazen :: Production-grade monorepo starter for full-stack apps on Cloudflare

https://github.com/Hashversion/vazen
1•Hashversion•17m ago•0 comments

OSS/OpenWrt Firmware for Linkplay A31 WiFi Audio Streaming Module

https://github.com/hn/linkplay-a31
1•hn___•21m ago•0 comments

Public Domain Day 2026

https://web.law.duke.edu/cspd/publicdomainday/2026/
2•throw0101c•22m ago•0 comments

Nvidia Is the Only AI Model Maker That Can Afford to Give It Away

https://www.nextplatform.com/2025/12/17/nvidia-is-the-only-ai-model-maker-that-can-afford-to-give...
2•nabla9•23m ago•0 comments

Show HN: An open-source Chinese ePub reader iOS app with pop-up dictionary

https://apps.apple.com/ca/app/wen-reader/id6755988730
1•olivezh•24m ago•0 comments

Space Math Academy

https://space-math.academy
1•dynamicwebpaige•24m ago•1 comments

Council agrees position on the digital euro and strengthening the role of cash

https://www.consilium.europa.eu/en/press/press-releases/2025/12/19/single-currency-council-agrees...
1•HelloUsername•28m ago•0 comments

What they don't tell you about demand paging in school

https://offlinemark.com/demand-paging/
1•fanf2•29m ago•1 comments

Programming Languages Used for Music

https://timthompson.com/plum/cgi/showlist.cgi?sort=name&concise=yes
2•ofalkaed•30m ago•0 comments

Photo of a damaged Starlink satellite taken by another satellite

https://twitter.com/michaelnicollsx/status/2002419447521562638
1•wmf•31m ago•0 comments

Rage bait: the psychology behind social media's angriest posts

https://theconversation.com/rage-bait-the-psychology-behind-social-medias-angriest-posts-271041
2•wjSgoWPm5bWAhXB•32m ago•0 comments

Thunderbird 2025 Review: Building Stronger for the Future

https://blog.thunderbird.net/2025/12/thunderbird-2025-review-building-stronger-for-the-future/
1•donatzsky•35m ago•0 comments

Publisher Pathfinder is a tool to help find publishing partners and investors

https://www.gamesindustry.biz/publisher-pathfinder-is-a-new-tool-to-help-developers-find-publishi...
1•ohjeez•36m ago•0 comments

Worst Technology Flops of 2025 - MIT Technology Review

https://www.technologyreview.com/2025/12/18/1130106/the-8-worst-technology-flops-of-2025/
3•Fiveplus•38m ago•0 comments

I spent a WEEK without IPv4

https://www.apalrd.net/posts/2023/network_ipv6/
19•mahirsaid•40m ago•14 comments

Backing Up Spotify

https://annas-archive.li/blog/backing-up-spotify.html
3•vitplister•43m ago•0 comments

'GhostPairing' attack enables complete WhatsApp account control

https://www.telegraphindia.com/india/ghostpairing-attack-enables-complete-whatsapp-account-contro...
3•Fiveplus•44m ago•0 comments
Open in hackernews

Show HN: Dragon (programming lang, also known as Dragonlang)

https://github.com/eotter-beep/dragonlang
2•telui•2h ago
# Dragonlang

Tiny line-based language with a minimal interpreter in `__main__.py`.

## File extension

Source files use the `.dragon` extension. The interpreter also accepts a filename without an extension and will try `<name>.dragon` if it exists.

## Running

File mode:

```bash python __main__.py path/to/program.dragon ```

REPL mode:

```bash python __main__.py ```

Type `exit` or `quit` to leave the REPL.

### File resolution

When a path argument has no extension (no `.` anywhere in the name), the interpreter tries `<path>.dragon` first if it exists.

## Execution model

- The interpreter processes one line at a time. - There is no multi-line syntax, block structure, or statement separator. - Parsing is based on simple substring checks, not tokenization or a grammar.

### Matching order

Lines are checked in this order, and the first match wins:

1. `+` (addition) 2. `-` (subtraction) 3. `print` 4. `on error` 5. exact variable lookup 6. fallback error

This means lines containing `+` or `-` will never reach `print` or `on error` handling, even if those words appear in the line.

## Syntax and behavior (based on `__main__.py`)

Each line is processed independently. Parsing is minimal and based on substring checks, not a formal grammar.

### Print

Print a string literal:

```dragon print "hello" print 'world' ```

If the text after `print` matches a variable name in the interpreter environment, its value is printed instead. (Variables are not yet assignable.)

Notes:

- `print` is detected anywhere in the line, not just at the start. - The interpreter strips `print` and then trims spaces and quotes (`"`, `'`) from both ends. There is no escape handling.

### Integer math

Addition and subtraction are supported with integers:

```dragon 2+3 10-4 ```

Whitespace around operators is allowed.

Notes:

- The interpreter splits on the first `+` or `-` it sees. - Both sides are trimmed and looked up in the environment before parsing. - Non-integer values raise a `ValueError` and are reported as a generic error.

### Variables (read-only)

Variables can be read if they already exist in the interpreter environment. There is currently no syntax to assign new variables. Variables are stored in the `env` dictionary in `__main__.py`.

### "on error"

There is a special line prefix `on error` that is parsed but does not currently produce output. It strips the prefix, looks up the remaining text in the environment if present, and then returns without printing.

## Error behavior

- File mode: any exception in `run()` prints `Error in line: <line>`. - REPL mode: exceptions are caught, but the current code prints the exception class object rather than the actual error message.

## Example program

```dragon print "hello" 2 + 3 10-4 ```

## Current limitations

- No variable assignment yet (the environment is read-only). - No conditionals, loops, or functions. - No comments, string escapes, or multi-line statements. - Errors are reported as `Error in line: <line>`. - The `on error` line is parsed but has no visible effect.

## Reserved words

The following words are used in the interpreter:

- `webcollect` - `list` - `open` - `system` - `shutdown` - `warn` - `go to` - `enter` - `info` - `time` - `pause`

## Using `pause`

```dragon pause <amount> ```