The shooting happened during a salsa event, Canada's largest Latin street festival. Toronto police say two gunmen were responsible but that the suspects have not been detained yet.
Police in Toronto are responding to an active shooter at a festival in the Canadian city. Two people have been killed and three more wounded, police said.
The Iranian navy has said it closed the Strait of Hormuz after firing on a vessel transiting an "unapproved route." In response, the US launched a third set of strikes on Iran this week. Follow DW for more.
Release: sqlite-utils 4.1 The first dot-release since 4.0 a few days ago , introducing a number of minor new features. sqlite-utils insert and sqlite-utils upsert now accept a --code option for providing a block of Python code (or a path to a .py file) that defines a rows() function or rows iterable of rows to insert, as an alternative to importing from a file. ( #684 ) sqlite-utils already had features that allow you to pass blocks of Python code as CLI arguments, for example this one for the sqlite-utils convert command: sqlite - utils convert content . db articles headline ' def convert ( value ): return value . upper ()' Allowing blocks of code to generate new rows directly was on obvious extension of that pattern: sqlite - utils insert data . db creatures - - code ' def rows (): yield { "id" : 1 , "name" : "Cleo" } yield { "id" : 2 , "name" : "Suna" } ' - - pk id sqlite-utils insert and sqlite-utils upsert now accept --type column-name type to override the type automatically chosen when the table is created . This is useful for CSV or TSV columns such as ZIP codes that look like integers but should be stored as TEXT to preserve leading zeros. ( #131 ) A long-standing feature request which turned out to be a simple implementation . New table.drop_index(name) method and sqlite-utils drop-index command for dropping an index by name. Both accept ignore=True / --ignore to ignore a missing index. ( #626 ) sqlite-utils query can now read the SQL query from standard input by passing - in place of the query, for example echo "select * from dogs" | sqlite-utils query dogs.db - . ( #765 ) Two more small features. I had Codex review all open issues and highlight the easiest ones! sqlite-utils upsert can now infer the primary key of an existing table, so --pk can be omitted when upserting into a table that already has a primary key. Another Codex suggestion, an obvious missing CLI feature from a Python library improvement that shipped in the 4.0 release. table.transform() and table.transform_sql() now accept strict=True or strict=False to change a table’s SQLite strict mode . Omitting the option preserves the existing mode. ( #787 ) The sqlite-utils transform command now accepts --strict and --no-strict to change a table’s strict mode. ( #787 ) These two were inspired by Prefer STRICT tables in SQLite by Evan Hahn, which did the rounds on Hacker News today. Evan pointed out that: Unfortunately, I don’t think there’s a way to ALTER a table to make it strict. I think you have to copy the data out of the non-strict table into the strict one. That's exactly what the sqlite-utils transform mechanism does, so I extended it to add the ability to switch tables from strict to non-strict and vice-versa. Here's the GPT-5.6 Sol xhigh Codex transcript I used to implement those new strict table features. One of the most useful prompts I ran was this one: use uv run python -c and manually exercise the new .transform(strict=) option, see if you can find any edge-cases or bugs Effectively telling the model to manually test its work, outside of the automated tests it had already written. This turned up two minor issues that we then fixed. Tags: projects , python , sqlite , sqlite-utils , annotated-release-notes , ai-assisted-programming
It's no mystery to me why the Tesla Model Y is the world's best-selling car. As a total package, I could make a fair argument that it's simply because it is the world's best car. I'm no stranger to Teslas at this point. We've owned a Model S Plaid, the Model X we traded in on the Y, and we still have the Cyberbeast too. But as impressive as all those cars are, the Y towers above them in several key respects, but first and foremost, value. The premium all-wheel-drive white-on-white seven-seater we just got was right around $55,000. That's not exactly cheap, but it's less than half of what we spent on any of the other Teslas. It's a quarter of what we spent on the Porsche Taycan Turbo S. It's a sixth of what a new Aston Martin DBX would set you back. And, if I could just have one car, I'd pick the Y over all of them. The first thing you notice coming from earlier Tesla models is just how well-built the new Model Y is. The gigapress process that produces these new cars results in a package that feels reassuringly solid: no squeaks, no rattles, no flex. This couldn't be said about any of the earlier S and X models we had. But compared to other makes, it's not exactly revolutionary that a brand-new car feels well put together. Many other makes have managed to perfect that process over the decades. Tesla has now merely leapfrogged itself to the front of the class. But what very much is revolutionary is just how effortless owning the Y feels. It starts with entry and exit. Once you've paired your phone, you never think about keys or starting or stopping the car again. It just happens. There's no on/off button, no starter, no unlock. Again, other makes have made attempts at this, but none that I've tried is even close to the effortlessness that Tesla's superior software stack is able to deliver. Speaking of software: It just works. Every time. Going anywhere. You don't miss Apple CarPlay or Android Auto for a second. The navigation, the Spotify integration, the setup. Everything feels like it was written by a leading American software company. Not subcontractors out of India or firmware developers forced to deal with user interfaces. But where everything comes together is FSD. The self-driving technology that Tesla pushed against all odds for over a decade is finally here in an utterly magical incarnation. The car not just drives itself anywhere, it drives better than almost any human I've ever been driven by has been able to do. Its ability to anticipate traffic patterns, hit the perfect deceleration curve towards a light, slow down for even minor speed bumps, and gracefully curve around pedestrians or cyclists is nearly unbelievable. As in, you'd be forgiven the suspicion that there must be a human driver hidden somewhere controlling the car over the internet. But it's just AI, and it's gotten fiendishly better over just the past year or so. All in service of that effortless experience. In fact, I'd go so far as to call it a luxurious experience. Like you're being escorted by the Queen's own driver to your desired destination. The Queen wouldn't bother with keys or rattles or driving. She'd just get in, be driven, and arrive fresh for a waive. This is the best approximation you can buy for mortal money today. But then, unlike the old X, it's actually also surprisingly delightful to grab the wheel yourself, hustle it down a hill, lean it into some fun corners, and surge out on that wave of endless torque that electric motors always deliver so well. No, it's not a Porsche 911, but I'd say it's 90% as fun as a Taycan, at a fraction of the price, in a package that's endlessly more practical, and — did I mention this already? — can drive itself once you're done with the spirited part of the journey. The Tesla Model Y is a triumph of capitalism. Making the best self-driving technology available to the masses at a price that's accessible to the middle class in a car that even billionaires would appreciate. Andy Warhol captured this egalitarian celebration well with this sentiment: “A Coke is a Coke and no amount of money can get you a better Coke than the one the bum on the corner is drinking. All the Cokes are the same and all the Cokes are good.” The Tesla Model Y is an incredible car for nearly everyone.
The Iranian navy has said it closed the Strait of Hormuz after firing on a vessel transiting an "unapproved route." In response, the US has launched a fresh set of strikes on Iran. Follow DW for more.
The Iranian navy has said it closed the Strait of Hormuz after firing on a vessel transiting an "unapproved route." It said the waterway would reopen after the US ends its "interference in the region."
Firefighters have started to rein in the wildfire that killed 12 people in the southern Andalusia region, which is home to one of Spain's largest expat communities.
After setting the music gear corner of the internet on fire back in 2023 with the first glimpse at the Nopia, creators Martin Grieco and Rocío Gal are almost ready to bring it to market. The duo brought it to the MusicRadar offices for an in-depth first look and revealed that it will be launching […]
Hello HN! I'm the author of Ant, a JavaScript ecosystem built around a runtime with its own JavaScript engine. Ant also includes a package manager, the ants.land package registry, a platform for deploying and hosting applications, and Ant Desktop for building native desktop apps with web technologies, similar to Electron. The goal is for these pieces to work as one coherent platform while remaining compatible with the wider JavaScript ecosystem. It's still early, and I'd appreciate any feedback on the overall direction or what you'd like to see from an e2e alternative to the existing JavaScript stacks. P.S. I’ve shared Ant here before as a runtime; since then, it has grown into the broader ecosystem you see today. Comments URL: https://news.ycombinator.com/item?id=48875377 Points: 304 # Comments: 135