Posted on r/politics |
Score: 20055 |
Comments: 817
Republican-led congressional committees have launched bipartisan inquiries into a Washington Post report alleging Defense Secretary Pete Hegseth ordered the killing of survivors on a suspected drug-smuggling vessel. The attacks, part of a broader campaign against cartels, have been criticized by Democrats as potential war crimes, while Hegseth has denied the allegations as fabricated.
Key Points:
House and Senate Armed Services Committees, led by Republicans, are investigating allegations that Defense Secretary Pete Hegseth ordered to 'kill everybody' on a boat carrying suspected drug traffickers.
The alleged order followed an initial missile strike on the vessel, targeting survivors clinging to wreckage, in a series of attacks that have killed at least 83 people.
Democratic Senator Mark Kelly stated the reported actions appear to be a war crime, emphasizing that the U.S. must hold itself to a high standard.
Hegseth has denied the Washington Post's reporting, calling it 'fabricated' and part of 'fake news' intended to discredit military operations.
The operations are justified by the Trump administration as part of an 'armed conflict' with drug cartels, but critics liken them to extrajudicial killings.
""If what has been reported is accurate, I’ve got serious concerns about anybody in that chain of command stepping over a line that they should never step over," Kelly said. "We are not Russia. We are not Iraq. We hold ourselves to a very high standard of professionalism.""
Confused Trump, 79, Instantly Forgets He Just Refused to Comment
Posted on r/politics |
Score: 12790 |
Comments: 504
The article reports that former President Donald Trump, while aboard Air Force One, was asked by a reporter if he had spoken with Venezuelan President Nicolás Maduro. He initially refused to comment but then immediately confirmed the call had taken place, contradicting himself within seconds. The call, reportedly about a potential in-person meeting, occurs amidst heightened U.S. military activity in the Caribbean and tensions with Venezuela.
Key Points:
President Donald Trump was asked by a reporter aboard Air Force One if he had spoken with Venezuelan President Nicolás Maduro.
Trump first said, "I don’t want to comment on it," but then instantly added, "The answer is yes," confirming the call.
The reported call included discussion of a possible in-person meeting to discuss tensions between the two countries.
This diplomatic engagement occurs against a backdrop of a U.S. military campaign in the Caribbean targeting narcotrafficking.
The situation has sparked fears that tensions could escalate into direct conflict.
""I don’t want to comment on it," he said before adding, without pause: "The answer is yes.""
Posted on r/politics |
Score: 11550 |
Comments: 898
Despite the Trump administration's stated priority of reviving blue-collar jobs, data shows a continued decline in employment across key sectors like manufacturing and transportation. Economists point to restrictive immigration policies and tariff-induced uncertainty as major factors dampening investment and demand. While overall hiring saw an uptick, blue-collar job growth has turned negative for the first time since the pandemic.
Key Points:
Blue-collar job growth has turned negative in 2025, with losses in manufacturing, mining, and transportation outweighing gains in construction.
Economists cite restrictive immigration policies as constraining labor supply, particularly in the construction sector.
Tariffs are blamed for creating uncertainty, reducing consumer demand, and discouraging business investment.
The services sector's weak performance is being propped up solely by gains in health care employment.
The decline continues a long-term trend, contradicting the administration's goal of a blue-collar renaissance.
"Companies are reluctant to invest in a context where they have no idea what tariffs will be in place six months from now, much less three to five years from now. Also, tariffs pull money out of consumers' pockets, reducing demand."
US appeals court rules former Trump lawyer Alina Habba disqualified as New Jersey prosecutor
Posted on r/politics |
Score: 8792 |
Comments: 125
A U.S. appeals court has disqualified Alina Habba, a former lawyer for Donald Trump, from serving as New Jersey's top federal prosecutor. The court ruled her previous representation of Trump created a conflict of interest that could not be waived.
Key Points:
Former Trump lawyer Alina Habba is disqualified from becoming New Jersey's top federal prosecutor.
A U.S. appeals court ruled her prior representation of Trump created a conflict of interest.
The conflict was deemed unwaivable, preventing her from taking the position.
The decision highlights ethical barriers for lawyers moving between high-profile private clients and public office.
"Former Trump lawyer Alina Habba is disqualified as top New Jersey prosecutor, US appeals court rules"
I built an open-source CRM that you can self-host - Relaticle
Posted on r/selfhosted |
Score: 727 |
Comments: 41
The author introduces Relaticle, an open-source CRM built with Laravel and Filament that can be self-hosted. It was created to address frustrations with data ownership and subscription costs in SaaS CRMs, offering full customization and a modern tech stack.
Key Points:
Built for complete data ownership and to avoid per-seat pricing by being self-hosted.
Features include company/contact management, a sales pipeline, task management, and AI-powered summaries.
Uses a modern tech stack: Laravel, Livewire, Filament, and supports PostgreSQL/MySQL.
Designed for easy deployment via Docker, VPS, or PaaS solutions like Coolify.
Fully customizable through custom fields and includes multi-workspace support for teams.
"After years of using various SaaS CRMs and being frustrated with data ownership concerns and subscription costs, I decided to build something that can be fully self-hosted."
I just counted: 68 different credentials across my homelab. Send help.
Posted on r/selfhosted |
Score: 282 |
Comments: 81
The author conducted an audit of their homelab and discovered a staggering 68 different credentials, including admin users, static API keys, and human logins. To improve security and reduce management overhead, they migrated to modern identity solutions like workload identities and a single OIDC provider, drastically reducing their credential footprint.
Key Points:
A homelab audit revealed 68 distinct credentials, posing a significant security and maintenance risk.
The credentials comprised 23 Docker container admin users, 18 static API keys, and 27 human logins.
The author migrated to modern identity and access management solutions like workload identities and JIT (Just-In-Time) certificates.
They consolidated human logins to a single OIDC (OpenID Connect) provider.
This modernization effort reduced the credential burden to essentially one master password and short-lived certificates, enhancing security and operability.
"Just migrated everything I could to workload identities + JIT certs + single OIDC provider for humans. Cut the list down to literally one master password + certs that expire before I wake up."
There are 47.2 million developers in the world - Global developer population trends 2025
Posted on r/programming |
Score: 260 |
Comments: 90
The article presents SlashData's 2025 estimate that there are 47.2 million active software developers globally, based on their independent survey methodology. It discusses the webinar's focus on analyzing growth trends, regional distribution, and the impact of AI-assisted coding tools on the developer population.
Key Points:
The global active software developer population is estimated at 47.2 million in 2025.
The analysis is based on SlashData's independent, bottom-up methodology rooted in their Global Developer Survey.
The webinar aims to explore growth trends over the past three years and the shifting balance between professional and amateur developers.
Key breakdowns of the population include region, project type, programming language, industry vertical, and company size.
The discussion addresses debates about population changes and the impact of AI-assisted coding tools.
"We calculate the number of active software developers globally using our own independent bottom-up methodology, firmly rooted in reliable measurement through our Global Developer Survey. We're not just using available third-party population estimates; we derive our own estimates independently."
Posted on r/programming |
Score: 175 |
Comments: 74
The article explains why compilers generate the 'xor eax, eax' instruction to zero a register instead of a more intuitive 'mov eax, 0'. This two-byte instruction saves space and is recognized by modern CPUs as a zeroing idiom, allowing it to execute with zero cycles by breaking dependency chains and optimizing register renaming. The author notes this is a common optimization that improves both code size and performance.
Key Points:
XOR eax, eax is a two-byte instruction, saving three bytes compared to MOV eax, 0, which improves code density and instruction cache efficiency.
Modern x86 CPUs recognize this zeroing idiom early in the pipeline, allocate a dependency-free zero register, and can remove it from the execution queue, making it effectively zero-cycle.
Writing to the 32-bit EAX register automatically zeros the upper 32 bits of RAX, making xor eax, eax an efficient way to zero the full 64-bit register.
This optimization is so common that XOR appears among the top 20 most executed instructions on a typical Linux system.
Compilers use the 32-bit variant (e.g., xor r8d, r8d) even for 64-bit registers, likely for internal consistency.
"Since this is a very common operation, x86 CPUs spot this “zeroing idiom” early in the pipeline and can specifically optimise around it: the out-of-order tracking systems knows that the value of “eax” (or whichever register is being zeroed) does not depend on the previous value of eax, so it can allocate a fresh, dependency-free zero register renamer slot. And, having done that it removes the operation from the execution queue - that is the xor takes zero execution cycles!"
LubeLogger, Vehicle Maintenance and Fuel Mileage Tracker, slips into December with some banging new features
Posted on r/selfhosted |
Score: 153 |
Comments: 11
LubeLogger, a vehicle maintenance and fuel mileage tracker, announced three major new features in a December update. These include a custom Inspections form feature, a Household system for shared vehicle management, and an experimental AI integration via a separate MCP server.
Key Points:
Introduction of a custom Inspections feature for creating reusable forms and action items for vehicle checks.
Launch of a Household system to easily share vehicle access with defined roles (Viewer, Editor, Manager).
Release of an experimental AI MCP server to allow AI agents to add records from photos of receipts, dashboards, and invoices.
All features are designed to reduce friction and improve the user experience for logging vehicle data.
"With the new Household feature, you no longer have to manually add a user to each vehicle and instead you can add them to your household once and they will automatically have access to all the vehicles in your garage."
Opus 4.5 just helped me (a frontend dev) speed up a MongoDB query at work by 60x
Posted on r/ClaudeAI |
Score: 133 |
Comments: 41
A frontend developer with limited backend expertise used Claude Code (Opus 4.5) to optimize a slow MongoDB query. The AI helped analyze the query plan and suggest changes, reducing execution time from over 45 seconds to under 1 second. The author highlights how AI tools are empowering engineers to solve problems outside their traditional expertise.
Key Points:
A frontend developer successfully optimized a complex backend MongoDB query with AI assistance.
The problematic query was reduced from 45+ seconds to under 1 second, a 60x speed improvement.
Claude Code methodically guided the process, including using `.explain()` and interpreting the query plan.
The tool enabled the developer to work outside their core specialty with confidence.
The author expresses that AI is creating a transformative 'golden era' for software development.
"There is no chance I would’ve had the time or confidence to dive in and fix something like this before Claude Code. For the first time in my career I actually feel like a 10x engineer."
Beej's Guide to Learning Computer Science is a structured manual for students, covering the mindset, problem-solving techniques, and practical learning strategies essential for success in the field. It emphasizes a growth mindset, systematic debugging, and the effective use of tools like AI.
Key Points:
Cultivate a growth mindset with tenacity and a desire to learn.
Follow a structured problem-solving process: understand, plan, code, and reflect.
Employ practical learning techniques like the 30-minute rule and rubber duck debugging.
Learn to debug systematically by building a mental model and reproducing issues.
Use AI as a learning aid for explanation and guidance, not as a crutch for solutions.
The author, a new Georgist supporter, asks if there are taxes that fundamentally contradict Georgist principles, using Germany's high real estate transfer tax as a potential example. They argue that this tax, by imposing a large upfront cost on property transactions, prevents land from changing hands, which is the opposite of Georgist aims.
Key Points:
The author seeks to identify taxes that are antithetical to Georgism.
Germany's real estate transfer tax is proposed as a prime example of an 'anti-Georgist' tax.
The tax imposes a significant one-time cost (5% of property value) on transactions.
This high cost acts as a barrier, preventing land from being readily bought and sold.
The author contrasts this with the much lower annual property tax, implying the transfer tax's effect is more harmful to land market fluidity.
"I had the thought, since I currently want to buy a home in Germany, that the real estate transfer tax is extremely expensive and thus prevents land from changing hands."
A user is impressed with Claude Code using Sonnet 4.5 but wants cheaper access to the more powerful Opus 4.5 model without the expensive Max plan. They are asking if alternatives like Cursor or Copilot, which offer Opus 4.5, provide a comparable experience to using it directly in Claude Code.
Key Points:
The user finds Claude Code with Sonnet 4.5 to be superior to alternatives like Codex.
They cannot afford the $100 Max plan needed for Opus 4.5 in Claude Code and find pay-per-use too expensive.
They are investigating if third-party tools like Cursor or Copilot offer a viable, cheaper way to use Opus 4.5.
They want to know if Opus 4.5 in those tools is better than using Sonnet 4.5 directly in Claude Code.
They are seeking optimized, budget-friendly access to Opus 4.5 as a temporary solution.
"I've seen people talking about Cursor and Copliot which offer the Opus 4.5 model, but is that in any way comparable with it being used in Claude code? For example, is the Opus 4.5 in copilot/cursor better option than sticking with 4.5 Sonnet directly in claude code?"
Spring Boot Built-in API Versioning - Piotr's TechBlog
Posted on r/programming |
Score: 12 |
Comments: 2
The article explains how to implement API versioning using a new built-in feature in Spring Boot 4. It demonstrates the feature with a practical example of a Person API that evolves from returning a birthDate to an age field. The author shows two common versioning strategies: using HTTP headers and using the request path.
Key Points:
Spring Boot 4 introduces a built-in API versioning feature for REST endpoints.
The example uses an evolving Person model, with an old version returning a birthDate and a current version returning an age.
Two primary versioning strategies are covered: versioning via HTTP headers and versioning via the request path.
The implementation involves creating separate model classes (PersonOld, PersonCurrent) that extend a common abstract Person class.
The article provides a sample GitHub repository with source code for readers to try the feature themselves.
"This article explains how to use Spring Boot built-in API versioning feature to expose different versions of REST endpoints. This is one of the most interesting updates introduced with Spring Boot 4."
The article introduces ULID (Universally Unique Lexicographically Sortable Identifier) as an alternative to UUIDs, highlighting its advantages for database performance and integration. It explains that ULID combines a timestamp with randomness to create identifiers that are sortable, URL-safe, and compatible with existing UUID database columns. The author provides a practical example using Go and PostgreSQL to demonstrate seamless adoption.
Key Points:
ULID addresses UUID limitations like poor sortability, database fragmentation, and dependency on MAC addresses or seeds.
Its 128-bit structure uses 48 bits for a timestamp and 80 bits for randomness, making it lexicographically sortable.
ULIDs are case-insensitive, URL-safe, and compatible with native UUID database columns, easing integration.
The time-based prefix ensures new records are appended to indexes, improving write performance over random UUIDs.
Libraries like oklog/ulid in Go implement interfaces for automatic conversion, allowing use without schema changes.
"The time-based prefix means that new ULIDs will always be greater than older ULIDs, ensuring that records inserted later will be physically placed at the end of the index. This contrasts sharply with UUID v4, where the sheer randomness means records are scattered throughout the index structure."