Monero Website Workgroup meeting scheduled for 27 October 2024 1900 UTC
The next Monero Website Workgroup 1 meeting is scheduled2 to take place on Sunday, October 27th 2024 at 19:00 UTC in the #monero-site 3 channels.
- Greetings
- Final vote on new website design4 (Candidates are rehar, hammerman & keep old design but add darkmode)
- Any other business
- Confirm next meeting agenda
Logs for the previous meeting are available on Mon … ⌘ Read more
Community Workgroup Meeting scheduled for 26 October 2024 1500 UTC
The next Monero Community Workgroup Meeting is scheduled1 to take place on Saturday, 26th of October 2024 at 15:00 UTC, in the #monero-community 2’3 channels.
Discussions should be focused on community highlights, CCS updates and workgroup reports. plowsof4 will moderate the meeting.
Logs and summary for the previous meeting are available on Monero Observer5.
_This is an ongoin … ⌘ Read more
Monero Dev Activity Report - Week 42 2024: 27 PRs, 14 Issues
This weekly report aims to provide a big picture view of Monero development activity, increase community support for existing devs and, hopefully, encourage new contributions.
Opened (8)
monero-project/monero
:
[47°09′36″S, 126°43′06″W] Raw reading: 0x671358F1, offset +/-3
Monero Observer Artistic Saturday Top 5 - Week 42, 2024
Previous Artistic Saturday weekly reports can be found in the [art] 1 section.
ofrnxmr completes first milestone for BasicSwapDEX CCS proposal
ofrnxmr1 has completed2 the first milestone (M1-O/M1-F/M1-B) for their CCS proposal3 to empower and steward BasicSwapDex4 to production quality software:
”`
Core v0.13.4 > v0.14.1:
- Update coincurve fork and rebase onto v20
- Include coincurve as a basicswap dependency
- Fix remote (local) node handling
- Started integration of the novel BCH <>XMR swap protocol
… ⌘ Read more”`
m2049r releases Monerujo v4.0.8 ‘Sidekick’
m2049r1 has released Monerujo2 version 4.0.8 Sidekick 3 with fixes for crashes on Android 14/15.
Option to lock wallet in background
Support for Sidekick Wallet
Update default nodes
Fix crashes on Android 14/15
Fix connectivity issues with Ledger
It is worth noting that Monerujo added support for its companion app Sidekick4 last month (v4.0.6), as reported5.
Before usage, it is re … ⌘ Read more
rottenwheel publishes ‘Revuo Monero’ Issue href=”https://txt.sour.is/search?q=%23214”>#214**
rottenwheel1 has published Issue #2142’3 of the weekly Revuo Monero audience-funded newsletter, which covers October 10-17 2024 news:
Recent News
Upcoming Events
CCS Proposals
Price & Blockchain Stats
Volunteer Opportunities
Support
To support Revuo Monero, you can contribute XMR to the address listed in the footer of each issue and on the Support 4 page.
jeffro256’s ‘Carrot’ spec peer review CCS proposal ready for funding
jeffro2561’s CCS proposal2 to get the Carrot 3 spec document peer reviewed by CypherStack is ready for funding:
Funding needed: 126 XMR
To support this proposal, you can donate any XMR amount to the address listed on its Gitlab Funding Required 4 page.
Consult the previous Monero Observer report5 to learn more about this CCS.
Monero Research Lab meeting scheduled for 23 October 2024 1700 UTC
The next Monero Research Lab1 meeting is scheduled to take place on Wednesday, October 23rd 2024 at 17:00 UTC on IRC-Libera/Matrix2 in the #monero-research-lab channels.
ErikASD creates XMR payment processor that uses PGP login system
ErikASD1 has created simpyle-xmr-processor 2 - a Python-based concept Monero payment processor that credits accounts using a PGP login system:
I was interested on which the best way to accept XMR programmatically and made this concept payment processor that credits PGP based accounts with the XMR amount deposited like an exchange would have with sub addresses assigned to each account.3
To h … ⌘ Read more
binarybaron posts first progress report for XMR-BTC atomic swaps ecosystem CCS proposal
binarybaron1 and einliterflashche2 have posted the first progress report3 for their CCS proposal to continue XMR-BTC atomic swaps development and help transform the ecosystem from a prototype into a mature marketplace 4:
Our primary focus this month has been the migration of the GUI from Electron to Tauri. [..] We are happy to see increased … ⌘ Read more
Justin Berman posts CCS progress report after 195 hours of dev work
Justin Berman1 has published the first progress report2 for his full-time 2024 (part 8) Monero/Seraphis dev work CCS proposal3:
I’m currently waiting on @kayabaNerve to complete work on the prove/verify API before I continue on to construct/verify/make consensus changes for fcmp++ txs (deliverables 4/5/6 of this CCS). To maintain forward progress on the fcmp++ integration, and since dang … ⌘ Read more
深入理解 Go 語言的棧
本期深入研究 Go 堆棧的工作原理以及作爲程序員爲什麼要關心它。本篇內容是根據 2023 年 3 月份#288 A deep dive into Go’s stack[1] 音頻錄製內容的整理與翻譯過程中爲符合中文慣用表達有適當刪改, 版權歸原作者所有. Mat Ryer: 大家好,歡迎收聽 Go Time。我是 Mat Ryer[2]。今天我們要討論的是 Go 的棧。究竟什麼是棧?它的作用 ⌘ Read more
Kewbit posts first progress report for ‘Haveno App’ CCS proposal
Kewbit1 has posted the first progress report2 for their CCS proposal to continue developing the Haveno App 3 (previously known as Haveno Plus):
Focusing specifically on the Protocol Interface milestone, I have implemented the full scope of gPRC interfacing in Dart and already hooked a considerable amount of it into the app itself, almost to the point of completion [..] Thank you for your … ⌘ Read more
woodser releases Haveno v1.0.12 with various fixes and improvements
woodser1 has released Haveno2 version 1.0.123 with various improvements, updates, and bug fixes.
Update to monero-project v0.18.3.4 and monero-java v0.8.33
Play sounds for notifications (can be disabled in Settings)
Schedule offers using available and pending funds
Support AppImage installer for Linux
Fix exporting and importing payment accounts across clients
Reclassify mainnet nodes as pub ... ⌘ [Read more](https://monero.observer/woodser-releases-haveno-v1.0.12/)
Monero Dev Activity Report - Week 41 2024: 23 PRs, 8 Issues
This weekly report aims to provide a big picture view of Monero development activity, increase community support for existing devs and, hopefully, encourage new contributions.
Opened (17)
monero-project/monero
:
rottenwheel publishes ‘Revuo Monero’ Issue href=”https://txt.sour.is/search?q=%23213”>#213**
rottenwheel1 has published Issue #2122’3 of the weekly Revuo Monero audience-funded newsletter, which covers October 3-10 2024 news:
Recent News
Upcoming Events
CCS Proposals
Price & Blockchain Stats
Volunteer Opportunities
Support
To support Revuo Monero, you can contribute XMR to the address listed in the footer of each issue and on the Support 4 page.
Minix Z300 0DB Fanless Mini PC with 2.5GbE LAN and Dual 4K Display Support
The Minix Z300-0dB delivers efficient, quiet performance with a fanless passive cooling design that eliminates the need for traditional fans. Powered by the Intel Alder Lake-N N300 octa-core processor, it features Kimtigo premium RAM and a PCIe 3.0 x4 NVMe SSD for fast read and write speeds, enhancing productivity and response times. According to the […] ⌘ Read more
Challenger+ RP2350 WiFi6/BLE5 IPEX3 with CircuitPython Compatibility
The Challenger+ RP2350 Wi-Fi6/BLE5 IPEX3 development board showcases the dual-core Cortex-M33/RISCV RP2350 microcontroller from Raspberry Pi. With 8MB of Flash and RAM, it’s optimized for developers creating embedded solutions that demand high-performance memory and wireless capabilities. A key component of the board is the ESP32-C6 module, enabling Wi-Fi6 and Bluetooth 5.3 connectivity. This module supports … ⌘ Read more
Cyrix126 releases Gupaxx v1.5.1
Cyrix1261 has released Gupaxx 2 version 1.5.13 with multiple bug fixes:
Freeze after some time
Xmrig could not be started after Xmrig-Proxy manually (Linux/MacOS)
Node and Proxy custom args were not parsed correctly
Unable to save node selection in Proxy Tab
Crashes on Wayland [..]
The full changelog, sources, SHA256SUM and .asc files can be found on Github3.
jeffro256 submits CCS proposal to get ‘Carrot’ reviewed by CypherStack
jeffro2561 has submitted a CCS proposal2 looking to get the Carrot 3 spec document peer reviewed by CypherStack4:
This CCS will provide funding for the first step towards a Carrot implementation in Monero. [..] The deliverable is a write-up which will include security proofs for all properties listed in section 9. [..] In the case that CypherStack requires more funds to com … ⌘ Read more
Monero Observer Artistic Saturday Top 5 - Week 41, 2024
Previous Artistic Saturday weekly reports can be found in the [art] 1 section.
![‘The ultimate stor … ⌘ Read more
Rucknium completes first milestone for statistical research CCS proposal
Rucknium1 has completed2 the first milestone for their latest CCS proposal to conduct statistical research to improve Monero’s privacy 3:
I have completed Milestone 1. [..] I evaluated the possible privacy impact of allowing permissionless querying of nodes’ fluff-phase transaction pools. Using techniques from the “topology inference from cascades” research literature, th … ⌘ Read more
v1docq47 posts August-September 2024 CCS progress report
v1docq471 has posted a second progress report (August-September 2024)1 for his latest CCS proposal2 to do Russian voice-over work and transcribe Monero content:
Work summaryThis is my August + September CCS progress report with voiceover and works on XMR.RU. [..] If you have suggestions or advice about my work, I will be glad to listen to them. Thanks for your support!
(A) Monero Russian Co ... ⌘ [Read more](https://monero.observer/v1docq47-posts-ccs-progress-report-august-september-2024/)
escapethe3RA: Looking for funding to maintain Monero Observer until 2026
Funding goal (24Q4+2025): 240 XMR
11 successful CCS proposals, 3500+ work hours, thousands of reports in over 3 years of thinking about, writing about, and dreaming about Monero.
That has been my sometimes rough yet always exciting secret life since 2021 and I wouldn’t change it for anything. More importantly, I owe it all to you. Thank you for supporting me since day 1 via the CCS.
Now, I am ready to skip the system and seek dire … ⌘ Read more
Monero Research Lab meeting scheduled for 16 October 2024 1700 UTC
The next Monero Research Lab1 meeting is scheduled to take place on Wednesday, October 16th 2024 at 17:00 UTC on IRC-Libera/Matrix2 in the #monero-research-lab channels.
- Updates. What is everyone working on?
- Stress testing monerod3
- Research Pre-Seraphis Full-Chain Membership Proofs4. Reviews for Carrot.5
- AOB.
This meeting’s chairperson should be … ⌘ Read more
MacBook Pro With M4 Chip May Support Up to Two External Displays
Apple’s upcoming entry-level M4 14-inch MacBook Pro may be capable of supporting up to two external displays, up from one display supported in the current M3 model, if recent leaks are anything to go by.
Apple’s existing M3 14-inch MacBook Pro comes with two Thunderbolt 3 USB-C ports, not three Thunderbolt 4 … ⌘ Read more
midipoet submits CCS proposal for ‘policy and regulatory framework’ research
midipoet1 has submitted a new CCS proposal2 looking to work part-time on policy and regulatory framework research within the Monero Policy Working Group 3 for 6 months:
I think its relevant to Monero currently and might allow the broader ecosystem to understand better how regulatory pressure is impacting privacy and data protection rights.
Total funding: 332 XMR ... ⌘ [Read more](https://monero.observer/midipoet-submits-ccs-proposal-policy-regulatory-framework-research/)
Community Workgroup Meeting scheduled for 12 October 2024 1500 UTC
The next Monero Community Workgroup Meeting is scheduled1 to take place on Saturday, 12th of October 2024 at 15:00 UTC, in the #monero-community 2’3 channels.
Discussions should be focused on community highlights, CCS updates and workgroup reports. plowsof4 will moderate the meeting.
Logs and summary for the previous meeting are available on Monero Observer5.
_This is an ongoin … ⌘ Read more
vtnerd posts September 2024 Monero dev report
vtnerd1 has posted a second progress report2 for his full-time Q3 2024 Monero dev work CCS proposal3:
Work overviewI rolled over the hours for a month last week. I was hoping to get another PR out before this merge request, but it looks like some of the work will have to wait. Reviewers can decide whether they trust additional (not yet posted) work has been done.
”`
- converting LWS REST server from an epee http se … ⌘ Read more”`
tobtoht releases Feather Wallet v2.7.0
tobtoht1 has released Feather Wallet2 version 2.7.03’4 with various fixes, updates, and improvements:
history: always show the integrated address in the destinations table if an outgoing transaction has a payment id - this issue could lead to a potential loss of funds if a repeat payment was made to a service and the address was copied from the dialog without verifying it; a report of this issue was rewarded with … ⌘ Read more
Cuprate Meeting scheduled for 15 October 2024 1800 UTC
The next Cuprate Meeting is scheduled1 to take place on Tuesday, October 15 2024 at 18:00 UTC on IRC-Libera/Matrix2 in the #cuprate channels.
Agenda overviewCuprate is an effort to create an alternative Monero node implementation.
Greetings
Updates: What is everyone working on?
Project: What is next for Cuprate?
Any other business
The meeting’s moderator should be Boog9003. Consult the Cuprate code … ⌘ Read more
BrandyJSon releases Feather Atomic v1.2
BrandyJSon1 has released Feather Atomic 2 version 1.23 with a temporary fix for the dead rendezvous points issue4:
[..] lets a user force a swaptool to query rendezvous points over clearnet. Does not completely solve the issue as it stems from comit xmr<->btc using an outdated libp2p version.
The full changelog, sources and SHA256sums can be found on Github3.
Apple Watch Users Report Vitals App Detecting Illness Before Symptoms Appear
Apple’s new Vitals app for watchOS 11 appears to be impressing some users with its ability to detect potential illness days before symptoms manifest, according to recent reports on Reddit.

monero-project/monero
:
Gupaxx v1.5.0 released with monerod integration
Cyrix1261 has released Gupaxx 2 version 1.5.03 with monerod integration4, multiple other UI changes, bug fixes and updates:
UI:
-new big feature: integration of Monerod
-new button on p2pool simple tab to use the local node (default)
Internals:
-new big feature: integration of Monerod process
-put p2pool to synchronizing status if a node doesn't respond
Fixes:
-xmrig-proxy tab sim ... ⌘ [Read more](https://monero.observer/cyrix126-releases-gupaxx-v1.5.0-monerod-integration/)
RINO platform to close down on October 31 2024: ‘we have to cut our losses’
The RINO1 team has announced2 plans to shut down their enterprise-grade Monero multisig browser wallet3 project on October 31st 2024, due to failed attempts to monetize the product, after 2+ years of operation4:
[..] our attempts to monetize the product never bore fruit to a point where the product could sustain itself, and at some point we have to cut our losses. As a consequence, … ⌘ Read more
ki9 starts work on XMR price API with data from Bisq, Haveno-reto
Keith Irwin (ki91) has apparently started working on XMR Price F.Y.I. 2 - a new Monero price API with unbiased street price data from multiple sources, including Haveno-reto 3 and Bisq 4:
[X] Domain name service
[X] TLS certs
[X] Nginx proxy
[X] Basic 11ty site
[ ] Basic http API
[ ] Haveno-reto data
[ ] Bisq data
[ ] Coingecko data
[ ] Forex data
[ ] API
[ ] ... ⌘ [Read more](https://monero.observer/ki9-starts-work-xmr-price-api-data-haveno-bisq/)
Monero Observer Artistic Saturday Top 5 - Week 40, 2024
Previous Artistic Saturday weekly reports can be found in the [art] 1 section.
 designed for high-performance applications, powered by the RK3588S System-on-Chip. Key features include an M.2 M-Key PCIe slot for SSD storage and an optional metal case with an integrated 3.5-inch LCD. The board is built around the Rockchip RK3588S SoC, which combines quad-core ARM Cortex-A76 […] ⌘ Read more
More thoughts about changes to twtxt (as if we haven’t had enough thoughts):
- There are lots of great ideas here! Is there a benefit to putting them all into one document? Seems to me this could more easily be a bunch of separate efforts that can progress at their own pace:
1a. Better and longer hashes.
1b. New possibly-controversial ideas like edit: and delete: and location-based references as an alternative to hashes.
1c. Best practices, e.g. Content-Type: text/plain; charset=utf-8
1d. Stuff already described at dev.twtxt.net that doesn’t need any changes.
We won’t know what will and won’t work until we try them. So I’m inclined to think of this as a bunch of draft ideas. Maybe later when we’ve seen it play out it could make sense to define a group of recommended twtxt extensions and give them a name.
Another reason for 1 (above) is: I like the current situation where all you need to get started is these two short and simple documents:
https://twtxt.readthedocs.io/en/latest/user/twtxtfile.html
https://twtxt.readthedocs.io/en/latest/user/discoverability.html
and everything else is an extension for anyone interested. (Deprecating non-UTC times seems reasonable to me, though.) Having a big long “twtxt v2” document seems less inviting to people looking for something simple. (@prologic@twtxt.net you mentioned an anonymous comment “you’ve ruined twtxt” and while I don’t completely agree with that commenter’s sentiment, I would feel like twtxt had lost something if it moved away from having a super-simple core.)All that being said, these are just my opinions, and I’m not doing the work of writing software or drafting proposals. Maybe I will at some point, but until then, if you’re actually implementing things, you’re in charge of what you decide to make, and I’m grateful for the work.
“First world” countries problem number x:
More than 3,600 chemicals approved for food contact in packaging, kitchenware or food processing equipment have been found in humans, new peer-reviewed research has found, highlighting a little-regulated exposure risk to toxic substances.
@lyse@lyse.isobeef.org on this:
3.2 Timestamps: I feel no need to mandate UTC. Timezones are fine with me. But I could also live with this new restriction. I fail to see, though, how this change would make things any easier compared to the original format.
Exactly! If anything it will make things more complicated, no?
Good writeup, @anth@a.9srv.net! I agree to most of your points.
3.2 Timestamps: I feel no need to mandate UTC. Timezones are fine with me. But I could also live with this new restriction. I fail to see, though, how this change would make things any easier compared to the original format.
3.4 Multi-Line Twts: What exactly do you think are bad things with multi-lines?
4.1 Hash Generation: I do like the idea with with a new uuid
metadata field! Any thoughts on two feeds selecting the same UUID for whatever reason? Well, the same could happen today with url
.
5.1 Reply to last & 5.2 More work to backtrack: I do not understand anything you’re saying. Can you rephrase that?
8.1 Metadata should be collected up front: I generally agree, but if the uuid
metadata field were a feed URL and no real UUID, there should be probably an exception to change the feed URL mid-file after relocation.
@sorenpeter@darch.dk Points 2 & 3 aren’t really applicable here in the discussion of the threading model really I’m afraid. WebMentions is completely orthogonal to the discussion. Further, no-one that uses Twtxt really uses WebMentions, whilst yarnd
supports the use of WebMentions, it’s very rarely used in practise (if ever) – In fact I should just drop the feature entirely.
The use of WebSub OTOH is far more useful and is used by every single yarnd
pod everywhere (no that there’s that many around these days) to subscribe to feed updates in ~near real-time without having the poll constantly.
Some more arguments for a local-based treading model over a content-based one:
The format:
(#<DATE URL>)
or(@<DATE URL>)
both makes sense: # as prefix is for a hashtag like we allredy got with the(#twthash)
and @ as prefix denotes that this is mention of a specific post in a feed, and not just the feed in general. Using either can make implementation easier, since most clients already got this kind of filtering.Having something like
(#<DATE URL>)
will also make mentions via webmetions for twtxt easier to implement, since there is no need for looking up the#twthash
. This will also make it possible to make 3th part twt-mentions services.Supporting twt/webmentions will also increase discoverability as a way to know about both replies and feed mentions from feeds that you don’t follow.
MS-CF16 Fanless Low-Power Pico-ITX SBC with Alder Lake-N and Amston Lake Processors
The MS-CF16 is a compact Pico-ITX single-board computer designed for fanless, low-power, high-performance applications in harsh environments. Powered by Intel Alder Lake-N or Amston Lake Series SoCs, the board features a 2.5GbE LAN port, a GbE LAN port, and SATA 3.0 for storage. Unlike the previously covered MS-CF17, this model offers configurable Intel processors, each […] ⌘ Read more
On my blog: Free Culture Book Club — Aumyr, part 3 https://john.colagioia.net/blog/2024/09/21/aumyr-3.html #freeculture #bookclub
And they have arrived (well, they did around 3 hours ago, LOL). Buttery smooth, my 16 Pro (one with dark cover). It took a bit over an hour to transfer all my data.
compressed_subject(msg_singlelined)
be configurable, so only a certain number of characters get displayed, ending on ellipses? Right now the entire twtxt is crammed into the Subject:
. This request aims to make twtxts display on mutt
/neomutt
, etc. more like emails do.
@movq@www.uninformativ.de yes, that’s perfect! <3
the stem matching is the same as how GIT does its branch hashes. i think you can stem it down to 2 or 3 sha bytes.
if a client sees someone in a yarn using a byte longer hash it can lengthen to match since it can assume that maybe the other client has a collision that it doesnt know about.
Kuo: iPhone 17 to Use 3nm Chip Tech, Some iPhone 18 Models to Use 2nm
Next year’s iPhone 17 series will feature processors made using TSMC’s 3-nonometer chip technology, but only some iPhone 18 models in 2026 are anticipated to use the Taiwanese chipmaker’s next-generation 2nm processor technology because of cost concerns, according to Apple analyst Ming-Chi Kuo. … ⌘ Read more
There’s a simple reason all the current hashes end in a or q: the hash is 256 bits, the base32 encoding chops that into groups of 5 bits, and 256 isn’t divisible by 5. The last character of the base32 encoding just has that left-over single bit (256 mod 5 = 1).
So I agree with #3 below, but do you have a source for #1, #2 or #4? I would expect any lack of variability in any part of a hash function’s output would make it more vulnerable to attacks, so designers of hash functions would want to make the whole output vary as much as possible.
Other than the divisible-by-5 thing, my current intuition is it doesn’t matter what part you take.
Hash Structure: Hashes are typically designed so that their outputs have specific statistical properties. The first few characters often have more entropy or variability, meaning they are less likely to have patterns. The last characters may not maintain this randomness, especially if the encoding method has a tendency to produce less varied endings.
Collision Resistance: When using hashes, the goal is to minimize the risk of collisions (different inputs producing the same output). By using the first few characters, you leverage the full distribution of the hash. The last characters may not distribute in the same way, potentially increasing the likelihood of collisions.
Encoding Characteristics: Base32 encoding has a specific structure and padding that might influence the last characters more than the first. If the data being hashed is similar, the last characters may be more similar across different hashes.
Use Cases: In many applications (like generating unique identifiers), the beginning of the hash is often the most informative and varied. Relying on the end might reduce the uniqueness of generated identifiers, especially if a prefix has a specific context or meaning.
Taking the last n characters of a base32 encoded hash instead of the first n can be problematic for several reasons:
Hash Structure: Hashes are typically designed so that their outputs have specific statistical properties. The first few characters often have more entropy or variability, meaning they are less likely to have patterns. The last characters may not maintain this randomness, especially if the encoding method has a tendency to produce less varied endings.
Collision Resistance: When using hashes, the goal is to minimize the risk of collisions (different inputs producing the same output). By using the first few characters, you leverage the full distribution of the hash. The last characters may not distribute in the same way, potentially increasing the likelihood of collisions.
Encoding Characteristics: Base32 encoding has a specific structure and padding that might influence the last characters more than the first. If the data being hashed is similar, the last characters may be more similar across different hashes.
Use Cases: In many applications (like generating unique identifiers), the beginning of the hash is often the most informative and varied. Relying on the end might reduce the uniqueness of generated identifiers, especially if a prefix has a specific context or meaning.
In summary, using the first n characters generally preserves the intended randomness and collision resistance of the hash, making it a safer choice in most cases.
Fanless PC with N97 CPU Dual GbE LAN and Dual HDMI Ports Supporting 4K at 60Hz
The QBiX-ADNAN97-A1 is an industrial-grade computing system engineered for robust performance and reliability. Featuring a compact, fanless design, it supports a DDR5 memory system, SATA 3.0, and dual GbE LAN ports, ensuring robust wired connectivity. As its name suggests, this industrial system features the Intel Processor N97, which is part of Intel’s 7 series. The […] ⌘ Read more
@movq@www.uninformativ.de I didn’t run the command as you recommended, but, I wiped things once more, and ran jenny -f
, and this time got:
david@arrakis:~$ jenny -f
Fetching archived feed https://anthony.buc.ci/user/abucci/twtxt.txt/1 (configured as abucci, https://anthony.buc.ci/user/abucci/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2024-04.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://darch.dk/twtxt-archive.txt (configured as soren, https://darch.dk/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2024-04-21_6v47cua.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://twtxt.net/user/prologic/twtxt.txt/1 (configured as prologic, https://twtxt.net/user/prologic/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2024-03.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2022-12-21_2us6qbq.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://twtxt.net/user/prologic/twtxt.txt/2 (configured as prologic, https://twtxt.net/user/prologic/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2024-02.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2022-01-14_ew5gzca.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://twtxt.net/user/prologic/twtxt.txt/3 (configured as prologic, https://twtxt.net/user/prologic/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2024-01.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-12-23_f6y65bq.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://twtxt.net/user/prologic/twtxt.txt/4 (configured as prologic, https://twtxt.net/user/prologic/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-12.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-12-04_e4x7yba.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://twtxt.net/user/prologic/twtxt.txt/5 (configured as prologic, https://twtxt.net/user/prologic/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-11.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-11-18_42tjxba.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://twtxt.net/user/prologic/twtxt.txt/6 (configured as prologic, https://twtxt.net/user/prologic/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-10.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-11-08_i2wnvaa.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-09.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-10-23_kvwn5oa.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-08.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-10-11_mljudaa.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-07.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-09-22_5mkqwua.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-06.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-07-27_xcnzmlq.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-05.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-06-16_mtedqya.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-04.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-04-29_z7lvzja.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-03.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-03-19_xjabvhq.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-02.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-02-24_te4a6oa.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-01.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-01-26_qxgigma.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-12.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2020-12-13_igfnala.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-11.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-10.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-09.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-08.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-07.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-06.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-05.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-04.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-03.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-02.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-01.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-12.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-11.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-10.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-09.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-08.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-07.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-06.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-05.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-04.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-03.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-02.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-01.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2020-12.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Notice that @prologic@twtxt.net’s /6
is there. I found the twtxt then. Kind of odd it didn’t show before.
Apple Seeds Fourth Developer Betas of iOS 18.1, iPadOS 18.1 and macOS Sequoia 15.1 With Apple Intelligence
Apple today provided developers with the fourth betas of iOS 18.1, iPadOS 18.1, and macOS Sequoia 15.1 to continue testing Apple Intelligence features. The third betas come two weeks after Apple seeded the third iOS 18.1, iPadOS 18.1, and macOS Sequoia 15.1 betas. Apple has als … ⌘ Read more
GENESYSM-ADN6: A 3.5″ SubCompact System with Triple 2.5GbE LAN Ports
GENESYSM-ADN6: A 3.5” SubCompact System with Triple 2.5GbE LAN Ports ⌘ Read more
(replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)
I think I like this a lot. 🤔
The problem with using hashes always was that they’re “one-directional”: You can construct a hash from URL + timestamp + twt, but you cannot do the inverse. When I see “, I have no idea what that could possibly refer to.
But of course something like (replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)
has all the information you need. This could simplify twt/feed discovery quite a bit, couldn’t it? 🤔 That thing that I just implemented – jenny asking some Yarn pod for some twt hash – would not be necessary anymore. Clients could easily and automatically fetch complete threads instead of requiring the user to follow all relevant feeds.
Only using the timestamp to identify a twt also solves the edit problem.
It even is better for non-Yarn clients, because you now don’t have to read, understand, and implement a “twt hash specification” before you can reply to someone.
The only problem, really, is that (replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)
is so long. Clients would have to try harder to hide this. 😅
Apple Releases tvOS 18 With InSight, New Screen Savers and More
Apple today released tvOS 18, the newest version of the tvOS operating system that runs on the Apple TV 4K and Apple TV HD models.
tvOS 18 can be downloaded using the Settings app on the Apple TV. Open up Settings and go to System > Software Update to get the new software. Apple TV owners who have automatic softwa … ⌘ Read more
@aelaraji@aelaraji.com make sense, probably. The twtxt was already on my Maildir, that’s why I can fetch it. I fetch every 3 minutes (sssh, don’t tell anyone!). LOL!
More:
Subject: The [tag URI scheme](https://en.wikipedia.org/wiki/Tag_URI_scheme) looks interesting. I like that it human read- and writable. And since we already got the timestamp in the twtxt.txt it would be
somewhat trivial to parse. But there are still the issue with what the name/id should be... Maybe it doesn't have to bee that stick? Instead of using `tag:` as the prefix/protocol, it would more it clear
what we are talking about by using `in-reply-to:` (https://indieweb.org/in-reply-to) or `replyto:` similar to `mailto:` 1. `(reply:sorenpeter@darch.dk,2024-09-15T12:06:27Z)' 2.
`(in-reply-to:darch.dk/twtxt.txt,2024-09-15T12:06:27Z)' 2. `(replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)' I know it's longer that 7-11 characters, but it's self-explaining when looking at the
twtxt.txt in the raw, and the cases above can all be caught with this regex: `\([\w-]*reply[\w-]*\:` Is this something that would work?
Subject: The [tag URI scheme](https://en.wikipedia.org/wiki/Tag_URI_scheme) looks interesting. I like that it human read- and writable. And since we already got the timestamp in the twtxt.txt it would be
somewhat trivial to parse. But there are still the issue with what the name/id should be... Maybe it doesn't have to bee that stick? Instead of using `tag:` as the prefix/protocol, it would more it clear
what we are talking about by using `in-reply-to:` (https://indieweb.org/in-reply-to) or `replyto:` similar to `mailto:` 1. `(reply:sorenpeter@darch.dk,2024-09-15T12:06:27Z)` 2.
`(in-reply-to:darch.dk/twtxt.txt,2024-09-15T12:06:27Z)` 3. `(replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)` I know it's longer that 7-11 characters, but it's self-explaining when looking at the
twtxt.txt in the raw, and the cases above can all be caught with this regex: `\([\w-]*reply[\w-]*\:` Is this something that would work?
Notice the difference? Soren edited, and broke everything.
@mckinley@twtxt.net Thanks for the feedback.
- Yeah I agrees that nick sound not be part of syntax. Any valid URL to a twtxt.txt-file should be enough and is more clear, so it is not confused with a email (one of the the issues with webfinger and fedivese handles)
- I think any valid URL would work, since we are not bound to look for exact matches. Accepting both http and https as well as a gemni and gophe could all work as long as the path to the twtxt.txt is the same.
- My idea is that you quote the timestamp as it is in the original twtxt.txt that you are referring to, so you can do it by simply copy/pasting. Also what are the change that the same human will make two different posts within the same second?!
Regarding the whole cryptographic keys for identity, to me it seems like an unnecessary layer of complexity. If you move to a new house or city you tell people that you moved - you can do the same in a twtxt.txt. Just post something like “I move to this new URL, please follow me there!” I did that with my feeds at least twice, and you guys still seem to read my posts:)
The tag URI scheme looks interesting. I like that it human read- and writable. And since we already got the timestamp in the twtxt.txt it would be somewhat trivial to parse. But there are still the issue with what the name/id should be… Maybe it doesn’t have to bee that stick?
Instead of using tag:
as the prefix/protocol, it would more it clear what we are talking about by using in-reply-to:
(https://indieweb.org/in-reply-to) or replyto:
similar to mailto:
(reply:sorenpeter@darch.dk,2024-09-15T12:06:27Z)
(in-reply-to:darch.dk/twtxt.txt,2024-09-15T12:06:27Z)
(replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)
I know it’s longer that 7-11 characters, but it’s self-explaining when looking at the twtxt.txt in the raw, and the cases above can all be caught with this regex: \([\w-]*reply[\w-]*\:
Is this something that would work?
MSI’s MS-CF17: An Ultra-Low-Power 3.5″ SBC with Intel Raptor Lake-P Processors
The MS-CF17 from MSI is an advanced single-board computer that combines high performance with a compact, fanless, ultra-low-power design. Featuring Intel’s latest 13th Gen Raptor Lake-P processors, the board is also available in an industrial-grade variant, making it suitable for demanding applications. This SBC is equipped with Intel Mobile 13th Gen Raptor Lake-P U Series […] ⌘ Read more
url
field in the feed to define the URL for hashing. It should have been the last encountered one. Then, assuming append-style feeds, you could override the old URL with a new one from a certain point on:
I was not suggesting to that everyone need to setup a working webfinger endpoint, but that we take the format of nick+(sub)domain as base for generating the hashed together with the message date and content.
If we omit the protocol prefix from the way we do things now will that not solve most of the problems? In the case of gemini://gemini.ctrl-c.club/~nristen/twtxt.txt
they also have a working twtxt.txt at https://ctrl-c.club/~nristen/twtxt.txt
… damn I just notice the gemini.
subdomain.
Okay what about defining a prefers protocol as part of the hash schema? so 1: https , 2: http 3: gemini 4: gopher ?
Asus X7433RE-IM-A is a 3.5″ Single Board Computer with Intel Atom X7433RE Processor
The X7433RE-IM-A is a 3.5” industrial single board computer designed for industrial applications, featuring the Intel Amston Lake System-on-Chip. It integrates Intel Deep Learning Boost and Advanced Vector Extensions 2 to enhance AI inference and accelerate workloads at the edge, specifically targeting IoT applications. This SBC is available with the x7433RE processor, offering … ⌘ Read more
Interesting.. QUIC isn’t very quick over fast internet.
QUIC is expected to be a game-changer in improving web application performance. In this paper, we conduct a systematic examination of QUIC’s performance over high-speed networks. We find that over fast Internet, the UDP+QUIC+HTTP/3 stack suffers a data rate reduction of up to 45.2% compared to the TCP+TLS+HTTP/2 counterpart. Moreover, the performance gap between QUIC and HTTP/2 grows as the underlying bandwidth increases. We observe this issue on lightweight data transfer clients and major web browsers (Chrome, Edge, Firefox, Opera), on different hosts (desktop, mobile), and over diverse networks (wired broadband, cellular). It affects not only file transfers, but also various applications such as video streaming (up to 9.8% video bitrate reduction) and web browsing. Through rigorous packet trace analysis and kernel- and user-space profiling, we identify the root cause to be high receiver-side processing overhead, in particular, excessive data packets and QUIC’s user-space ACKs. We make concrete recommendations for mitigating the observed performance issues.
Apple Announces iPhone 16 Pro and iPhone 16 Pro Max
Apple today announced the iPhone 16 Pro and iPhone 16 Pro Max—its latest flagship smartphones—featuring larger displays, an all-new Camera Control button, and the A18 Pro chip.
The iPhone 16 Pro has a 6.3-inch display, while the iPhone 16 Pro Max features a 6.9-inch display – the biggest [iPhone](https://www.macrumors.com/guid … ⌘ Read more
Gurman: No Apple Watch Ultra 3 Tomorrow, Ultra 2 in Black Likely
Bloomberg’s Mark Gurman today said that he does not expect Apple to announce an Apple Watch Ultra 3 at its event tomorrow. Instead, he believes that Apple will introduce a black color option for the Apple Watch Ultra 2.
Apple supply chain analyst Ming-Chi Kuo was first to ind … ⌘ Read more
@falsifian@www.falsifian.org In my opinion it was a mistake that we defined the first url
field in the feed to define the URL for hashing. It should have been the last encountered one. Then, assuming append-style feeds, you could override the old URL with a new one from a certain point on:
# url = https://example.com/alias/txtxt.txt
# url = https://example.com/initial/twtxt.txt
<message 1 uses the initial URL>
<message 2 uses the initial URL, too>
# url = https://example.com/new/twtxt.txt
<message 3 uses the new URL>
# url = https://example.com/brand-new/twtxt.txt
<message 4 uses the brand new URL>
In theory, the same could be done for prepend-style feeds. They do exist, I’ve come around them. The parser would just have to calculate the hashes afterwards and not immediately.
On the Subject of Feed Identities; I propose the following:
- Generate a Private/Public ED25519 key pair
- Use this key pair to sign your Twtxt feed
- Use it as your feed’s identity in place of
# url =
as# key = ...
For example:
$ ssh-keygen -f prologic@twtxt.net
$ ssh-keygen -Y sign -n prologic@twtxt.net -f prologic@twtxt.net twtxt.txt
And your feed would looke like:
# nick = prologic
# key = SHA256:23OiSfuPC4zT0lVh1Y+XKh+KjP59brhZfxFHIYZkbZs
# sig = twtxt.txt.sig
# prev = j6bmlgq twtxt.txt/1
# avatar = https://twtxt.net/user/prologic/avatar#gdoicerjkh3nynyxnxawwwkearr4qllkoevtwb3req4hojx5z43q
# description = "Problems are Solved by Method" 🇦🇺👨💻👨🦯🏹♔ 🏓⚯ 👨👩👧👧🛥 -- James Mills (operator of twtxt.net / creator of Yarn.social 🧶)
2024-06-14T18:22:17Z (#nef6byq) @<bender https://twtxt.net/user/bender/twtxt.txt> Hehe thanks! 😅 Still gotta sort out some other bugs, but that's tomorrows job 🤞
...
Twt Hash extension would change of course to use a feed’s ED25519 public key fingerprint.
[47°09′58″S, 126°43′39″W] Raw reading: 0x66D75CB2, offset +/-3
Beta 3 of iOS 18.1, MacOS Sequoia 15.1, & iPadOS 18.1 Released with Apple Intelligence
The third beta versions of iOS 18.1, iPadOS 18.1, and MacOS Sequoia 15.1, have been released by Apple. Each of these versions of beta system software support Apple Intelligence (assuming the iPhone, iPad, or Mac supports it too, anyway), whereas the iOS/ipadOS 18.0 and macOS 15.0 versions do not. With the amount of betas that … [Read More](https://osxdaily.com/ … ⌘ Read more
Apple Intelligence Not Device Region Locked to US in Latest Betas
Apple in the latest iOS 18.1, iPadOS 18.1, and macOS Sequoia 15.1 betas no longer requires users to set their device region to the United States, so now it’s just the US English language requirement that remains.
In previous betas, users not only had to change Siri’s lan … ⌘ Read more
QBiP-N97A: 3.5” SubCompact Embedded Motherboard with Intel Processor N97, DDR5 Memory, and SATA 6Gb/s Support
ICP Deutschland recently showcased the QBiP-N97A, a 3.5″ SubCompact Embedded Motherboard designed for various industrial applications, including automation systems and point-of-sale terminals. This motherboard features DDR5 memory support, dual 2.5GbE LAN ports, and SATA 6Gb/s support for storage. The QBiP-N97A is powered by the I … ⌘ Read more
Go 項目結構的簡潔實現
今天分享一個在 GitHub 上有 3.5k stars 的 Go 項目:go-backend-clean-arch[1]。該項目展示了一個 Golang 後端項目如何設計優雅的項目結構。項目架構——-3.Directory Explanation———————–.├── Dockerfile # Image file├── api│ ⌘ Read more
HTTP/2 differs from 1.x by becoming a binary protocol, it also multiplexes multiple channels over the same connection and has the ability to prefetch related content to the browser to lower the perceived latency.
HTTP/3 moves the binary protocol from HTTP/2 over to QUIC which is based on UDP instead of TCP. This makes it better suited to mobile or unstable networks where handling of transmission errors can be handled at a higher level.
Jetway JNUC-ADN1: NUC Board Featuring Intel N97 Processor and Dual 2.5GbE Ports
The JNUC-ADN1 is an embedded board with a NUC form-factor, powered by the Intel N97 low-power processor. This board is tailored for applications requiring efficient performance and compact size, such as digital signage and other commercial or industrial uses. The JNUC-ADN1 series is built around the Intel processor N97, which offers up to 3.60 GHz […] ⌘ Read more
Does anyone know what the differences between HTTP/1.1 HTTP/2 and HTTP/3 are? 🤔
Apple Releases Fourth watchOS 11 Public Beta With Vitals App and More
Apple today released the fourth beta of watchOS 11 to public beta testers, allowing non-developers to give the new features a try ahead of when the software launches this fall. The fourth beta comes two weeks after the third beta.
 i was born 41 years go, 3.5 months too early. I was so small my parents had to buy doll clothes at the toy store. Gonna be a nice day today, celebrate with my family :) we always treasure birthdays.🎂
<3