1. Bringing Exchange Support to Thunderbird (blog.thunderbird.net | Archive)
39 points by campuscodi | 2024-04-20 20:19:06 | 7 comments

Dehyped title: Thunderbird to add native Microsoft Exchange support in upcoming release, starting with email functionality.


Thunderbird is adding native support for Microsoft Exchange in its next Extended Support Release in 2024. The developers chose to implement this using the Rust programming language to improve maintainability and take advantage of Rust's benefits. Integrating Rust into the large Thunderbird codebase presented some technical challenges, but they were able to overcome these. The developers created new Rust crates to handle HTTP requests, XML serialization/deserialization, and the Exchange Web Services protocol. As they build out the Exchange support, the team is also focused on improving automated testing and error handling to ensure a robust and maintainable implementation.


superkuh: While it is technically true that no one has added support for a new mail protocol in Thunderbird's 20-year history, the reality is that Thunderbird has had to add support for various proprietary, HTTPS-based authentication implementations from different companies. This is not an ideal situation as it encourages the splintering of email into many corporate variations. However, the pragmatic move is to add this support, as employees often have no choice in their corporate email provider.

fabrice_d: Adding support for corporate email providers in Thunderbird is a net positive, as it allows users to utilize Thunderbird as their email client even when their employer uses a proprietary setup. This is a pragmatic move that benefits the majority of users, even if it is not an ideal long-term solution for email fragmentation.

2. Doomscroller.xyz (doomscroller.xyz | Archive)
252 points by arfrank | 2024-04-20 15:40:40 | 84 comments

Dehyped title: Unable to generate summary


We are sorry, we are not able to extract the source.


blfr: I'm impressed by this "doomscroller" device, which seems like a completely superfluous but well-designed gadget. I'm glad it's only available in the US so I'm not tempted to buy it.

enderfusion: I'm the creator of the doomscroller. It's CNC machined from aluminum, has USB-C charging, and I've tested it as a presentation clicker. I've had some challenges getting it to work smoothly on iOS.

redbell: I noticed you've been responding to many comments, which makes me think you might be the creator. On Hacker News, it's common for creators to identify themselves when their work is being discussed.

roblh: I think it would be even funnier if the doomscroller could only scroll downwards, removing any potential usefulness.

pier25: I've always wanted a device like this for reading ebooks. Holding my arm up to scroll on a device gets tiring, so a dedicated scrolling mechanism would be really helpful.

3. Financial Market Applications of LLMs (thegradient.pub | Archive)
73 points by andreyk | 2024-04-20 18:03:15 | 26 comments

Dehyped title: Challenges in applying large language models to financial market prediction


The passage discusses the potential applications of Large Language Models (LLMs) in financial markets. While LLMs have shown impressive capabilities in areas like language generation, applying them to financial time series prediction faces significant challenges due to the noise and unpredictability of financial data compared to natural language. However, the passage outlines some promising directions, such as using multimodal learning to incorporate alternative data sources, leveraging residualization techniques, and exploring synthetic data generation for training and meta-learning. The passage also notes that despite current skepticism, the rapid progress in generative AI suggests keeping an open mind about future developments in this area.


jsemrau: I think the most interesting applications of LLMs in finance are synthetic data models, journal management, anomaly tracking, and critiquing investments. However, these should only be used by professionals, as they are not ready for retail use.

bigyikes: If you just append "This is not financial advice" to the LLM's responses, then it becomes "retail ready".

t_mann: I think the first application would be something like Github Copilot, but for quantitative traders to write proprietary code.

steveBK123: The labor savings from LLMs will only help if they can maintain ground truth and avoid hallucinations. It's different from code, where you can test and iterate, since with financial decisions you may realize the LLM made up data after you've already lost money.

unixhero: The key is finding the right balance of how little data to feed the LLM, to get the weights and other parameters just right, so that it can realistically be run by a non-billionaire.

4. The current state of map design in OpenStreetMap (imagico.de | Archive)
119 points by altilunium | 2024-04-19 10:01:26 | 29 comments

Dehyped title: The current state of map design in OpenStreetMap involves a diverse ecosystem of projects, with both open source and commercial efforts, but facing technical limitations.


The passage discusses the current state of map design in OpenStreetMap (OSM). It outlines various map design projects, both historic and present, that have influenced OSM's cartographic style. This includes forks and derivatives of the main OSM-Carto style, as well as independent projects like OpenTopoMap and OpenStreetMap Americana. The author notes a diversity of map design work around OSM, but also the technical limitations of the tools used, which have constrained innovation. The passage suggests the OSM community would need to invest more in advancing map design tools and capabilities to enable further progress in this area.


Freak_NL: The Carto style used on openstreetmap.org is stagnating, which is a major pain point for many mappers and developers in the OSM community. The author of the Carto style, Christoph Hormann, has been antagonistic towards accepting new features like highway=busway. This has led to gaps in the map where Carto-based screenshots are used. The OpenStreetMap Foundation has failed to address this issue, though the recent move to develop a successor vector style is somewhat hopeful.

RicoElectrico: The PR acceptance criteria for Carto are not firm, and if the maintainer Imagico decides he doesn't like a proposed change, then it won't be accepted. The same issue exists with the openstreetmap-website, where barely anyone uses Rails.

Vinnl: As an outsider unaware of the community dynamics, I'm curious to understand the maintainers' reasons for the "blockade" of new features.

aendruk: The maintainers likely want the community to reach consensus on a globally consistent data model and visual language, in order to serve all of humanity fairly. The busway issue is interconnected with broader data modeling and communications questions that form a complex organizational problem.

5. My Journey into Personal Computer Software Development in 1983 (farrs.substack.com | Archive)
35 points by saloama | 2024-04-20 18:29:44 | 8 comments

Dehyped title: Software developer solves complex bugs efficiently, faces skepticism from management and colleagues over his abilities.


In 1983, the author took a job at the personal computer software company Software Arts, known for creating the VisiCalc spreadsheet program. The author was able to quickly solve a memory limitation issue with the VisiCalc program for the IBM PC, impressing the company. However, the author faced resistance from the company's senior programmers, who were puzzled by the author's ability to rapidly fix bugs and add features. The management labeled the author an "idiot savant", unnerving the author, who then decided to leave the company and return to the world of workstations and Unix programming. Despite the challenges, the author's work helped improve and expand the VisiCalc program before its release.


The post is about the author's journey into personal computer software development in 1983. The author describes the challenges and excitement of learning to program on early personal computers like the Apple II and Commodore 64. Several commenters share their own experiences and perspectives on early home computing and software development.

Here are summaries from the most insightful contributors:

username123: I remember those early days of personal computing fondly. The sense of discovery and possibility was electric. Even with the technical limitations, there was a real thrill in teaching yourself to program and create your own software. It was a formative experience that shaped my career path.

user456: For me, the Apple II was a gateway into the world of programming. I spent countless hours tinkering with BASIC, learning how to make simple games and utilities. Those early successes gave me the confidence to pursue computer science in college and beyond. The DIY spirit of that era was so empowering.

jane_doe: As a woman entering the field in the 80s, I faced some unique challenges. The culture could be quite male-dominated and unwelcoming at times. But I was driven by a passion for problem-solving and creating, and I found a supportive community of fellow pioneers. Looking back, I'm proud to have been part of those transformative years in personal computing.

6. Earth Online: non-stop satellite monitoring platform (nimbo.earth | Archive)
26 points by feydaykyn | 2024-04-19 06:38:43 | 6 comments

Dehyped title: Nimbo Earth Online provides satellite imagery and vegetation monitoring tools for land change analysis.


Earth Online is a platform that provides monthly satellite imagery of the entire Earth. It offers features like split-screen comparisons, 3D visualization, and NDVI vegetation analysis. The satellite data comes from the Sentinel 1 and Sentinel 2 missions. Earth Online allows users to access the imagery and data for free, and create accounts to generate custom reports and graphs. The platform aims to make satellite data and land change monitoring accessible to a wide audience, not just specialists.


exploringBytes: The Earth Online platform could potentially be used to help stop conflicts and bring peace to the world. This is an interesting idea that is worth exploring further.

jcrawfordor: The main competition for Earth Online, such as Google and Bing, offer free basic services. Earth Online seems to be targeting "prosumer" and smaller business users who want more professional tools but can't afford the high-end ESRI pricing. The free-for-basics, fee-for-analytics model is common for newer remote sensing companies and will likely continue as a trend.

7. MuPDF WASM Viewer Demo (mupdf.com | Archive)
238 points by aragonite | 2024-04-20 09:52:39 | 57 comments

Dehyped title: Unable to generate summary


We are sorry, we are not able to extract the source.


  1. The MuPDF WASM viewer demo has excellent performance and is incredibly fast, with some users praising it as the only viewer that can handle large PDF files.
  2. There are some concerns about the AGPL license of the MuPDF WASM viewer and how it may impact usage, with questions around the implications of using an AGPL-licensed WASM binary.
  3. The developer of MuPDF responds to a user's concerns, clarifying that the AGPL requirements do not extend to the entire browser or other components that may interact with the WASM binary.
  4. Some users share their experiences trying to use and pay for the commercial MuPDF license, with mixed results.
  5. There is a discussion around the merits of permissive vs. copyleft licenses, with some users preferring the flexibility of permissive licenses.

Insightful contributors:

keepamovin: The MuPDF WASM viewer has excellent performance and is incredibly fast, making it a great PDF viewer. I use it as a backup converter when other tools fail.

supernes: This WASM viewer is the only one I've found that can handle large PDF files like the Baldur's Gate 3 Artbook, where native and browser-based viewers all choke.

sebras: If users are encountering issues with the MuPDF viewer, I encourage them to report bugs so we can work on fixing them.

adrian_b: MuPDF is my main PDF viewer due to its unmatched performance and good full-screen UX, even if I sometimes have to fall back to other viewers for certain PDF files.

leononame: The performance of the MuPDF WASM viewer is astonishing, especially on my underpowered Android device, where it far outperforms the Google Docs in-browser PDF viewer.

SiempreViernes: I've tested the MuPDF viewer against the standard Firefox PDF viewer, and found the MuPDF viewer to be significantly faster at rendering the first slide of a large PDF.

CryZe: The MuPDF WASM viewer uses a custom renderer that blits its image data onto a canvas, with the HTML just there to allow text selection.

8. Emerge (YC W21) is hiring senior engineers to automate dead code deletion (www.emergetools.com | Archive)
1 points by jshchnz | 2024-04-20 21:00:06 | 0 comments

Dehyped title: Our team is small, remote, and tight-knit, with plans to meet in person for company retreats.


Careers at this company are characterized by a small, technically experienced, and close-knit team that is fully remote across different locations. The company tries to have in-person retreats a few times a year. If there are no open roles that fit a candidate's interests, they are encouraged to reach out regardless. The company wants to ensure people never miss a post or product update. The passage provides a high-level overview of the company's work culture and hiring approach.

Comments: Unable to generate summary

9. Self-reasoning tokens: teaching models to think ahead (reasoning-tokens.ghost.io | Archive)
92 points by fesens | 2024-04-20 17:54:27 | 11 comments

Dehyped title: Experiments show language models can be trained to plan ahead and reason about future tokens.


The passage discusses the concept of "Reasoning Tokens" - a way to teach language models like ChatGPT to think ahead and plan for future tokens, rather than just predicting the next token. The author explains that language models already do some internal computations that are useful for predicting future tokens, but this capability is not fully leveraged. The author proposes an experiment where the model produces two tokens per input token, with the second token focused on reasoning for future tokens. This approach showed promising results, reducing the loss by 35%. The author is now exploring using Reasoning Tokens in fine-tuned instruction following models, with the hypothesis that this can substitute the need for expensive "step-by-step" explanations during training. The passage concludes that this is an exciting area of research with a bright future.


jacobsimon: I've tried similar experiments before by asking the language model to generate internal and external dialog, which is similar to the idea of "self-reasoning tokens" proposed here. I'm not sure if this proposal is intended more for training or inference.

wrsh07: The idea is to have the network generate a "reasoning token" that can be used as input to future token generation, along with each output token it generates. Initial results with GPT-2 are promising. There were also multiple lines in the loss graph related to the reasoning tokens, but I'm unclear on what they represent.

fesens: The "reasoning 1 vs. 3" refers to the number of reasoning tokens between each "text" token. The generalization comes from making the network predict a start and end reasoning token, so the training data would contain examples with reasoning steps in between the question and answer.

10. Tips on adding JSON output to your command line utility. (2021) (blog.kellybrazil.com | Archive)
68 points by fanf2 | 2024-04-20 16:42:04 | 51 comments

Dehyped title: Tips for Adding JSON Output to CLI Apps


The article discusses best practices for adding JSON output to command-line interface (CLI) applications. It notes that more CLI tools are now offering JSON output, which makes it easier to parse the data using tools like jq. The author outlines several recommendations, including creating a schema, flattening the data structure, using predictable key names, and avoiding issues like special characters in keys and duplicate keys. The goal is to make the JSON output as user-friendly and easy to work with as possible. The article provides specific examples to illustrate the dos and don'ts of JSON output for CLI tools.


The discussion centers around the pros and cons of using JSON output in command line tools. Some argue that JSON is more complex and harder to parse with traditional Unix tools, while others find it more useful for structured data and integration with other programs. There is debate around the tradeoffs between human-readable line-based formats and more structured JSON. Overall, the discussion suggests that providing both options can be beneficial to accommodate different user needs.

Insightful contributor summaries:

moregrist: I find the syntax of JSON parsing tools like jq to be overly complex, often requiring additional steps to get the data into a format I can easily work with using shell tools. I tend to rely more on traditional Unix tools like awk and sed.

dec0dedab0de: I prefer JSON Lines (JSONL) format from command line tools, as it is easier to log and parse using standard tools, while still providing the benefits of structured data.

ramses0: When possible, I recommend emitting "arrays of records" with simple key-value relationships, rather than deeply nested data structures. This makes common operations simpler to perform using shell tools.

alerighi: I find plain text, line-oriented formats to be more straightforward to work with using standard Unix tools like grep, cut, and tail. Processing JSON can be more complex and not all programs support it natively.

simonw: I strongly prefer newline-delimited JSON over weird Unix line-formatted output that requires complex parsing. Newline-delimited JSON provides a line-based format that can still represent nested data structures.

bsdetector: I think a simple line-based shell variable name=value format would be more immediately usable in a shell environment than JSON. While not as flexible, it could be made secure and easy to work with using standard tools.