HNHacker News
TopNewBestAskShowJobs

cldellow

2,755 karma · joined September 21, 2013

Colin Dellow / cldellow@gmail.com

https://cldellow.com/ https://code402.com/ https://www.hikeratlas.com/

submissionscomments
cldellow··on How to own an airline in 3 easy steps and grab the TSA nofly list along the way
> suffering

> cynical user of a tool of coercive soft-power

> weapon masquerading as a new morality

Take with a grain of salt, but I feel like you have stronger emotions on this issue than the trans and non-binary people I know.

cldellow··on HC-tree is an experimental high-concurrency database back end for SQLite
Maybe I'm using SQLite wrong, but I have a website scraper. It's written in python and so uses processes for concurrency to avoid GIL issues.

On my laptop, 16 processes accessing the same SQLite db file can do something like 5,000 write transactions/second. That seems like plenty for many purposes?

A caveat: it's in WAL mode, with synchronous mode set to NORMAL. This means that it's not fsyncing the WAL on each individual transaction commit. Instead, they get synced in batches roughly every 200ms. If you pull the power plug on the server, it may lose some amount of writes that happened in that time. Terminating the process is fine.

Yeah, yeah, we're giving up some amount of durability. In practice, not very much (200ms of transactions) and only very rarely (when the server dies). That seems like a fine trade-off for many backend processes and many web apps. You could tune this, as well: for the transactions that you _really_ want durability on, run a checkpoint before rendering your response to the user.

cldellow··on Bike helmets: what the science says about an American safety obsession
King County, Washington (Seattle)

Edit: actually, repealed last year due to racism [1]

[1]: https://www.seattletimes.com/seattle-news/transportation/kin...

cldellow··on Microsoft to lay off 11k employees
It varies. I was at MSFT during the 2008 layoffs.

My division fired a few percent of people.

A friend's group had a "We're firing everyone in Redmond who works on this team and consolidating in Hyderabad."

cldellow··on Programmer salaries in the age of LLMs
The author of this post claims that the Internet happened, enabling easier, cheaper access to law databases, which increased the value that "top tier" lawyers could extract from their paralegals.

> What happened? Well, if you’re an elite lawyer in the modern age, you probably command a large team of lower-tier lawyers, cheap paralegals, and so on, who are very good at using the Internet to look up case law and draft your opinions and so on. In contrast, if you’re an elite lawyer in the year 1990, it’s much more valuable for you specifically to have an encyclopedic knowledge of all the relevant case law, and it’s much harder for you to delegate modular pieces of work off to less competent people.

cldellow··on The IAB loves tracking users but hates users tracking them
Run it if you want. But if you run AdNauseam, people are still getting paid. The publisher, the ad network, the ad agency.

The advertiser is getting screwed, but the other parties will work really hard to explain it away to them. "You're getting great engagement with the creative -- you clearly just need to improve the landing page experience."

For me, my balance is that I'll run an ad blocker and whitelist sites that (a) create original content and (b) don't abuse me as a viewer.

cldellow··on The IAB loves tracking users but hates users tracking them
The only real solution is an ad blocker. I worked at an ad tech company. We all ran ad blockers. The hypocrisy is through the roof.

This is the best solution because it severely negatively affects the ecosystem.

Publishers make less, so they crank up the ad density for the remaining users. That increases user resentment and suppresses the per-ad cost, enabling much crappier ads to run on the website. That also increases user resentment and suppresses the per-ad cost, and the glorious cycle continues.

cldellow··on For your next side project, make a browser extension
It's good to be wary.

My home province gave a private company a 50+ year monopoly on our land title records. I would _love_ something like RECAP for our land title records...but I suspect it's not possible to do it without violating the usage agreement that gets you the record in the first place.

cldellow··on For your next side project, make a browser extension
> Legalities of this? They seem to be getting away with it.

The US government runs PACER itself, they don't contract it to a profit-motivated third-party. [1] As a result, they're pretty lenient. At one point, their website said: "The information gathered from the PACER system is a matter of public record and may be reproduced without permission".

So it's totally legal.

The RECAP people also make it _really_ easy to ingest documents. For example, lawyers can add a RECAP email address as one of their default contact addresses with the court. Then all filings on any case that lawyer is involved in get automatically ingested when they are filed.

[1]: Well, they outsource the administration to a third-party. But it seems more like a "we pay you, you keep the lights on", vs a public-private partnership where the third-party has a profit incentive based on the revenue of the service.

cldellow··on Woman ordered to repay employer after software shows ‘time theft’
They did fire her and move on.

Then she sued them for wrongful termination. The judgment wasn't in her favour.

The facts presented to the tribunal were brutal and painted her in a very bad light. She could have avoided the negative outcome by not having sued the employer in the first place.

cldellow··on Woman ordered to repay employer after software shows ‘time theft’
You can read the tribunal decision here [1]

What should Reach have done? They fronted her money to set up a WFH office. They were paying her professional fees.

After five months, when her productivity was lower than expected, they began having weekly discussions about productivity. They installed TimeCamp, with her knowledge.

But... then, even when she presumably knew she was being monitored--she falsified her time sheets. In her words: "Clearly, it’s, I’ve plugged hours that I shouldn’t have plugged to files um when I wasn’t working on them and like, I can’t hide that"

She's a white-collar employee in the finance industry. If you can't trust her, you can't keep her.

Ultimately, they fired her.

They would have probably let it go there. But then _she_ sued them for $5,000 in wrongful termination claims. That's... pretty brazen!

[1]: https://decisions.civilresolutionbc.ca/crt/crtd/en/item/5230...

cldellow··on WAL Mode in LiteFS
WAL and synchronous=NORMAL is huge.

I love databases that choose safe defaults.

That said, many real-life applications of databases don't need to block for confirmation that the transaction has been durably committed -- ETL jobs, integration tests, most logging, etc.

When you discover that you can get a 20-50x speedup for basically free, it's like Christmas.

cldellow··on SQLite 2022 Recap
You can still persist them; you just have to wire it up yourself. Using workers is a best practice for any CPU-bound task, so that's not a drawback by itself in my mind.

It's good for single-page applications. Many datasets are relatively small -- pushing them to the client is reasonable. In exchange, you get zero-latency querying and can build very responsive UIs that can use SQL, versus writing REST APIs or GraphQL APIs.

Taken to an extreme, it permits publishing datasets that can be queried with no ongoing server-side expenses.

A wild example: Datasette is a Python service that makes SQLite databases queryable via the web. It turns out that since you can compile Python and SQLite to WASM, you can run Datasette entirely in the user's browser [1]. The startup time is brutal, because it's literally simulating the `pip install`, but a purpose-built SPA wouldn't have this problem.

[1]: https://lite.datasette.io/?url=https%3A%2F%2Fcongress-legisl...

cldellow··on I am not a supplier
The original tweet can be seen at https://web.archive.org/web/20211119123038/https://twitter.c...

It's hard to tell, but it sounds like the user had a question about how to use the `-E` flag.

Directing them to https://curl.se/gethelp.html seems... reasonable? The first link on that URL is to the curl-users mailing list, which seems like a reasonable venue for such a question.

cldellow··on Cached Chrome Top Million Websites
> How does that work?

Disclaimer: I'm not a Clickhouse user, but I have a bit of experience with Parquet.

It looks like the native format is (very briefly) described here: https://clickhouse.com/docs/en/interfaces/formats/#native

It looks similar at a high level to Parquet: binary, columnar and has metadata that permits requesting a subset of the data.

Looking at:

> Processed 4.60 thousand rows, 273.86 MB

I'd guess it's chunking the rows into groups of ~4,000.

The OP must have a nice connection if that completed in 0.5 seconds! (Or perhaps the 273.86MB is the uncompressed size after zstd compression, or perhaps there were other parts of the session that caused that chunk to get cached, and it was elided from what was pasted in to HN.)

EDIT: I was curious, so I ran the tool and watched bandwidth on iftop. It uses about ~50MB each time I run the query. From this, I conclude: it does not cache things, the 273.86MB is the uncompressed size, and OP has a much better internet connection than me. :)

cldellow··on Why I'm still using Python
Slight nitpick: the credit that was being claimed is that Python allows fast developer speed while not sacrificing overall runtime performance.

The code that is written in a language other than Python is often not written by the developer writing the Python code.

As an example, I've been fiddling with inferring automatic data extraction rules for data in scraped webpages.

The meat of the algorithm and its heuristics is in Python. The heavy lifting of parsing HTML and evaluating CSS selectors is done by a C parser that I did not write. For me, prototyping the heuristics in C would have been quite a bit slower.

cldellow··on Why I'm still using Python
Am I missing something?

The OP's comment is that while Python's native interpreter is slow, Python code as a whole can still be fast since people will delegate the hot spots to non-Python libraries optimized for speed.

To refute that, you linked to John Carmack quoting Horace He saying that Python's native interpreter does CPU-based math slower than a GPU. But...that's why people writing Python use libraries to delegate math-intensive work to a GPU, which is the OP's point.

cldellow··on Breaking up with Python
Yes, it was bizarre to see:

- Python is too big

- Python's standard library is too small

- therefore, you should use JavaScript

It made me wonder if I was hallucinating, so I went and checked... my `node` execurtable is 78MB. Thanks to its robust standard library, my node_modules folder is only 884 MB.

cldellow··on Is Twitter Operationally Okay?
Someone is doing something at https://deadbird.singlepane.io/d/hI9vrUO4k/home?orgId=4

I have no idea what, though. :)

cldellow··on Existing smartphones will connect with new satellite constellations in 2023
Oh, yeah, NA's plans are expensive, no argument there. Just not 50x more expensive.
cldellow··on Existing smartphones will connect with new satellite constellations in 2023
Man, as a Canadian, I hate being put in the position of defending our wireless monopolies. But here goes.

That website seems... not great?

I think you got a 50x ratio by dividing the average prices of $0.12 (Italy) and $5.94 (Canada).

That appears to be a median...but I'd like to know how they chose the plans they used for the calculation. For example, Canada's maximum price is given as $46.02/GB. Perhaps such a plan is technically available, but I really doubt someone is using it for data, so it seems bizarre to include it in this data set.

For cheapest prices, they cite $0.05/GB for Italy and $1.66/GB for Canada. But off the top of my head, Rogers, which is the #1 telco in Canada, offers $0.74/GB. Seems... odd that it didn't make it into this dataset.

(And hey, I would like to know where I can pay $0.05 to get a GB/data in Italy. Full speed? On a good network?)

I pay $29/mo for unlimited data in Canada. Granted - with caveats! It gets throttled after the first 6 GB. I wonder if this would be counted as $4.83/GB in this survey? Their methodology PDF is unclear.

cldellow··on What happened to the first cryogenically frozen humans?
I'm not afpx, but I understood them to be saying "you have fewer good days when you're 50 than when you're 18." That is, health wise, it's better to be 18 than to be 50. :)

A related concept is the quality-adjusted life year (QALY), which is used when weighing the cost/benefits of certain interventions.

[1]: https://en.wikipedia.org/wiki/Quality-adjusted_life_year

cldellow··on Paul Graham is leaving Twitter for now
Yeah, it's pretty frustrating.

I initially tried the https://joinmastodon.org/servers thing in November, but the things proposed seemed like very niche communities.

I just tried the https://instances.social/ link -- the top 2 hits for me were very small instances (fewer than 5 people), which I wouldn't have much faith in joining.

Actually, I guess I should have mentioned how I _actually_ chose a server. I used https://fedifinder.glitch.me/ and joined the first fast-enough server that most of my existing contacts were on.

cldellow··on Paul Graham is leaving Twitter for now
> How does one find a good Mastodon server?

Hm, what makes a good server? I think for me, I want: not going to disappear, high uptime, low latency, moderate moderation.

You can measure moderation by going to most server's /about page, to see which servers they've limited interactions with.

I'm on hachyderm.io. It's good, but could be better. I expect it will remain at least at this baseline level of quality, so I'm too lazy to search out other options.

My wife is on wandering.shop. I'd say it struggles much more with latency/availability, but is still fine, especially if you use an app, which can paper over some of the latency issues.

cldellow··on Promotion of alternative social platforms policy
I think not a journalist, but a journalist's source [1].

I think the facts are something like:

- Martin Tripp, a Tesla employee working at the Gigafactory, leaked to a journalist that Tesla was wasting a large amount of raw material when making batteries

- Tesla identified that the leak came from Tripp and fired him

- Musk told the local sheriff and The Guardian that they had been tipped off that Tripp intended to come in and shoot up the factory

- Tripp disputes that he wanted to shoot up the factory

- Tripp was visited by police

- There was a civil lawsuit from each side, Tripp ended up having to pay $400K for leaking his employer's corporate trade secrets

[1]: https://www.theguardian.com/technology/2018/jun/21/tesla-whi...

cldellow··on Promotion of alternative social platforms policy
That's my recollection, too.

I think Instagram wasn't annotating their pages with either OpenGraph metadata or Twitter card metadata, and so you got a bland link vs a rich preview.

It seems like Instagram _were_ publishing og:image tags at one point, but then removed it. See, for example, this 2019 reddit post [1].

Instagram then announced a change to this policy in December of 2021 [2] and now annotates with og:image again.

[1]: https://www.reddit.com/r/Instagram/comments/dn2wsw/saving_an...

[2]: https://about.instagram.com/blog/announcements/introducing-b...

cldellow··on Bill Gates might be quietly boycotting Elon Musk's Twitter
Heh, the story was published at 4:09 PM EST on December 16.

This was 16 minutes after Bill Gates last tweeted, thus destroying the premise of the article.

Talk about bad luck.

cldellow··on French accounting firm Mazars is pausing all its work with crypto firms
The role of appellate courts is generally not to judge the facts of the case, but to judge whether the law has been applied correctly.

If you got convicted because the prosecutor and the trial judge didn't know what the law was, that's not right. That's what the Supreme Court decision here was about, not about whether or not Arthur Andersen had committed a crime.

In many cases, having your verdict overturned doesn't preclude the prosecutor from trying the case again.

cldellow··on Elon Musk’s Twitter Suspends Accounts of Several Journalists
The @joinmastodon account had posted a tweet that linked to the ElonJet account's new home on mastodon.social.

Banning them for that seems aggressive (vs: blocking/removing that tweet), but it's at least consistent.

Banning all links to any Mastodon server is pretty indefensible, though.

cldellow··on Twitter has banned Mastodon links in name and bio for being “malware”
infosec.exchange and hachyderm.io appear to be affected as well -- at least, I can't tweet links to them, nor put links to them in my bio.
← PreviousPage 5 of 16Next →