1. Introducing DoorDash Tasks (about.doordash.com)

Dashers have a new way to earn on their own terms by completing short activities like taking photos of a dish or recording everyday tasks, helping businesses get real-world insights.

3. Theodosian Land Walls of Constantinople (turkisharchaeonews.net)

The Land Walls of Constantinople β€” one of the longest and oldest surviving defence systems in Europe β€” stretch for 7.2 kilometres along the western edge of the Historical Peninsula of modern-day Istanbul. Built in the early 5th century CE and added to the UNESCO World Heritage List in 1985, this monumental fortification includes the 5.7 km-long Theodosian Walls and the Blachernae Walls, which extend from the Tekfur Palace (Palace of the Porphyrogenitus) to the Golden Horn. For centuries, these formidable barriers protected Constantinople from countless sieges. The walls are pierced by numerous gates β€” some dating back to the Eastern Roman (Byzantine) era, others added later during Ottoman times.

5. Vectorization of Verilog Designs and its Effects on Verification and Synthesis (arxiv.org)

Vectorization is a compiler optimization that replaces multiple operations on scalar values with a single operation on vector values. Although common in traditional compilers such as rustc, clang, and gcc, vectorization is not common in the Verilog ecosystem. This happens because, even though Verilog supports vector notation, the language provides no semantic guarantee that a vectorized signal behaves as a word-level entity: synthesis tools still resolve multiple individual assignments and a single vector assignment into the same set of parallel wire connections. However, vectorization brings important benefits in other domains. In particular, it reduces symbolic complexity even when the underlying hardware remains unchanged. Formal verification tools such as Cadence Jasper operates at the symbolic level: they reason about Boolean functions, state transitions, and equivalence classes, rather than about individual wires or gates. When these tools can treat a bus as a single symbolic entity, they scale more efficiently. This paper supports this observation by introducing a Verilog vectorizer. The vectorizer, built on top of the CIRCT compilation infrastructure, recognizes several vectorization patterns, including inverted assignments, assignments involving complex expressions, and inter-module assignments. It has been experimented with some Electronic design automation (EDA) tools, and for Jasper tool, it improves elaboration time by 28.12% and reduces memory consumption by 51.30% on 1,157 designs from the ChiBench collection.

14. Turkish Coffee? Since the 16th Century, It's in the Water (specialprojects.sprudge.com)

Istanbul has never been a city with water to spare. For most of history, water everywhere was not only a necessity but also a marker of status, a matter of discipline, and often an aesthetic pursuit. That’s why, when you look closely at the story of coffee in the Ottoman world, you don’t find only […]

20. Can the world get its supply of oil by bypassing the Strait of Hormuz? (www.firstpost.com)

The Strait of Hormuz has been effectively shut with Iran attacking vessels and its Supreme Leader, Mojtaba Khamenei, vowing to keep it blocked. This has led to panic about the supply of oil and natural gas. Countries are now scrambling for alternative routes. But experts note that none of the options can replace the oil normally shipped through the critical Gulf chokepoint

21. SSH Certificates and Git Signing (codon.org.uk)

When you're looking at source code it can be helpful to have some evidence indicating who wrote it. Author tags give a surface level indication, but it turns out you can just lie and if someone isn't paying attention when merging stuff there's certainly a risk that a commit could be merged with an author field that doesn't represent reality. Account compromise can make this even worse - a PR being opened by a compromised user is going to be hard to distinguish from the authentic user.

22. Linking Smaller Haskell Binaries (brandon.si)

Haskell binaries can get quite large (think ~100MB), especially for projects with many transitive dependencies. Here are two strategies that can help at link time, the latter being more experimental.
I used the test-pandoc binary from pandoc on GHC 9.2.5 below. This was nice because obviously it was easy to test if linking broke anything (just run the tests).
-split-sections and --gc-sections You can instruct ghc to emit code in individual minimal sections, allowing the linker to easily find and remove dead code. This looks like, in your cabal.project:

Article Details

Browse by Date

Type to search HN and engineering blog articles
Press Escape to close  |  ↑↓ to navigate  |  Enter to open