1,419 karma · joined November 28, 2012
Mamdani won the primary for the democrats over Cuomo, but Cuomo decided to try and do an independent run to further challenge him.
It's never been about making government more effect or efficient-- it's the managerial equivalent of the "starve the beast" mentality.
Anyway, services like Feedbin have been going strong for a long time, have a rock solid syncing system with great tools for things like seeing frequency of posting and abandoned or moved feeds, folders, automatic filters, and broad support in the app ecosystem if you don't like their apps or web experience (which is very good).
RSS is absolutely extensive and has millions of users. It's at least as mainstream as Mastodon/ActivityPub, it's just not talked about as such, and that's _excluding_ Podcasts as a use case.
Except... this is exactly was R was created to do, with a focus on mathematical/statistical libraries written in things like FORTRAN.
R is great as a glue language for these purposes if the purpose of calling that low-level compiled code is largely to work with data and especially if that data is not so large/computationally intensive to work with that it does not need to be distributed across hardware.
That includes OPML export (which remained available online but has returned to the app), arranging items (always possible throughout, but there were some new sync bugs that had to be worked out, IIRC), Go To Podcast (click the three buttons, last option in menu) from an episode, etc.
Maybe that's where Ulysses wants to go, and its own implementation of some non-standard elements suggests that. But I also know people who will not use Ulysses because of its non-standard Markdown elements resulting in files that are less portable.
select
column_name,
MAX(value) FILTER (where meta_key='total_rows') as total_row,
MAX(value) FILTER (where meta_key='not_null_count') as not_null_count,
ROUND(SUM (amount_in_cents) FILTER (WHERE EXTRACT(MONTH FROM TIMESTAMP '2006-01-01 03:04:05) = 1) / 100.0, 2) as 'january_sub_total'
FROM table
GROUP BY column_nameAlso, I'd eat my shoe if more than 5% of cars entering Manhattan had 5 people in them. I'd guess the number is sub 0.5%.
That would let people who are getting into Elixir for data work run a query, get an Explorer.DataFrame, and interact further that way.
In the case of text delimited files, it is simply too easy and too common to generate, from the start, a malformed file that other systems cannot read. Because data loss is inherent in a text-based format, folks don't even bother to check if the files they generate can be successfully interpreted by their own system. PostgreSQL, Oracle, and MS SQL will all gladly produce CSV files that cannot be read back successfully. I'm not talking about some loss of metadata, I'm talking cannot be read.
In the "real world", of course I run validations on the data I accept. A common one for me, since the files are essentially "append only" when they're updated is to check for meaningfully fewer records than previous data loads. That's my best way of determining that when the file was read, records were dropped or lost because of things like quoting being messed up or an incomplete file transfer.
It's still not great that a mismatched quote, which is quite common, doesn't even trigger a warning in the validation methods of these parsers.
``` df = Explorer.DataFrame.from_csv(filename = "my_file.txt", delimiter: "|", infer_schema_length: nil) {:error, {:polars, "Could not parse `OTHER` as dtype Int64 at column 3.\nThe current offset in the file is 4447442 bytes.\n\nConsider specifying the correct dtype, increasing\nthe number of records used to infer the schema,\nrunning the parser with `ignore_parser_errors=true`\nor adding `OTHER` to the `null_values` list."}} ```
Note, I added `infer_schema_length: nil` assuming that the data type discovery via sampling was just less good in `polars`, since this would have it read the whole file before determine types, but it still failed.
The best way to do exactly what you're saying is just use R and do:
``` data.table::fread('my file.txt') |> arrow::write_parquet('new_file.parquet') ```
That will do the exact same thing-- sanitize the file, parsing and transforming the data correctly, logging questionable lines, and outputting a binary file that can be used by other systems later.
When you're working with thousands of files and hundreds of millions of lines every day and your client will be rightfully pissed if their data is off by $100,000 and my only resolution is to wait 2 weeks for someone in IT on their end upstream to _maybe_ fix the file, hopefully without introducing a new error...
Writing my own delimited file parser over a huge amount of community effort sounds like the worst case of not-invented-here syndrome ever. What stinks is how willing most of those projects are to fail silently.
Sounds like you worked with (or wrote) really bad R code.
> Utility-scale solar power generation in the U.S. is surging. This year, almost half the 46.1 gigawatts (GW) of generating capacity added to the grid will be solar, according to the U.S. Energy Information Administration, and solar has contributed more than 30% of all new capacity in five of the last six years.
https://news.sap.com/2022/11/the-take-utility-scale-solar-su...
Residential solar has no complexity for siting, transmission infrastructure, takes different skills to install, and let's relatively wealthy people move fast.
I also prefer Reeder to a large degree over NNW myself.
So I'm left wondering, did the frameworks fail or did the web developer community fail?