MurphyA/hacker-news huggingface dataset:
by canucker2016 | 2025-05-18 21:55:34+00:00
Analysis of 32-bit Windows Vista ASLR - https://www.blackhat.com/presentations/bh-dc-07/Whitehouse/P...

After the stack address has been selected, the process heaps are selected. Each heap is allocated from a range of 32 different locations, each separated by 64kB. The location of the first heap must be chosen to avoid the previously placed stack, and each of the following heaps must be allocated to avoid those allocated before it. An important result of Vista’s ASLR design is that some address space layout parameters such as PEB, stack and heap locations are selected once per program execution. Other parameters, such as the location of the program code, data segment, BSS segment and libraries, change only between reboots. This paper shows that the stack, heap, image and PEB protected by ASLR on Microsoft Windows Vista 32bit RTM have different frequency distributions. While the stack has near uniform distribution over a very wide range, the heap and PEB, and to a lesser degree the image base have much smaller ranges and because of biases in their distributions do not efficiently use this range. As a result, the protection offered by ASLR under Windows Vista may not be as robust as expected.
by wavemode | 2025-05-18 21:56:37+00:00
> It felt like the first 3 (or 2.5) paragraphs, which were arguing that Bjork needed an official website, were a bit of a tangent from the main argument of the article, which was that we need more professional critics, but social media has essentially defunded and dethroned them.

In what way is that a tangent? In both cases, the author argues that a centralized authoritative source of information is better than scattershot posts on social media.
by const_cast | 2025-05-18 21:57:13+00:00
> The motivation to remove social security isn't economic or rational, it's political and psychological.

Yes this is it and this is all it ever was. The second the pen was put to paper and SS was made law it has been under attack. People have been proclaiming it'll go insolvent any day now for almost a century.

It's an ideological attack and we shouldn't even humor these people. The idea of essentially retirement insurance feels unfair to a ton of people and that's that.
by RadiozRadioz | 2025-05-18 21:57:43+00:00
If you reframe it slightly, it can make sense. Those x hundred engineers are working on y hundred features / integrations. Do you need all of those? Do you want all of those? I bet a handful of those engineers are currently working on a brand new UI redesign that will move all the buttons you're used to. One of the engineers is adding a new cookie popup & enforcing SMS 2FA as we speak.

One of the things I dislike about moden software is the constant bloat and churn, because there are so many customers and so many different incentives for software companies to keep pushing features ad infinitum. In contrast, home-grown software like this has one customer and they know exactly what they want. It doesn't matter that a theoretical home-grown app doesn't integrate with the 10 social networks the user doesn't use, because it integrates perfectly with the one they do use.

This person isn't rebuilding the entirety of Obsidian, they're rebuilding the subset of parts they actually use and get value from, which is a much smaller project. By intelligently narrowing your scope like this, making stuff yourself is totally viable. Reframe "limiting" as "targeted".
by comrade1234 | 2025-05-18 21:58:29+00:00
Hiring a junior dev is a luxury for big companies that can afford to tie up senior devs tandem coding with a junior for months, then giving easy projects to the junior dev with extensive code review and hand-holding for another year.

I don’t think anyone has the budget for that anymore - not even the big companies. It’s two years of negative $ output for the $ you put in and after those two years the junior dev leaves anyway for a more senior position.
by godelski | 2025-05-18 21:58:59+00:00
> Big-O notation is about asymptotics.

Excuse me, but what made you believe I do not understand this? I'm not sure what comment you're responding to, but it sure isn't mine.

>> I took the author's use of O(n) vs O(n^2) as a framing point rather than a literal model.

Honestly, the reason I said this is because from the article

| The reason I borrow the asymptotic notation is because it implies the growth rate is an upper bound (best case scenario) and generalizes away specific constant factors and sums. The analogy breaks down when you force n or n^2 imply something numerically specific about your growth rate, or introduce functions with different growth rates like logs or exponentials. For now we will (somewhat unprincipledly) stick with two sole classes: O(n) and O(n^2).

Along with their emphasis on "vaguely". I can forgive the author for bad verbage. It is a personal blog where they're not trying to sell anyone on a fully fledged out idea and appear to be trying to spur conversations. Especially considering it looks like they are an undergrad. Frankly, I can understand them despite the wrong words. Given this, it would require me to operate in bad faith by rejecting the main thing they are attempting to communicate by focusing on the details that ultimately don't matter to their claim.

> If you want to talk about a finite period of time, use a regression model, not asymptotics

They did. They said "startup". The whole time they bound the conversation to early businesses. I even directly stated this

>> Considering startup as context I think we know what part of the graph we're talking about...

Maybe you're referring to the preceding line

>> Besides, we can approximate sigmoids with linear or quadratic functions when windowing them.

Which again, same thing.

My point is: you're derailing the conversation

You are technically right, but you're derailing the conversation in an effort to prove your intellectual capabilities to a person who were not questioning them in the first place. You're flexing to the wrong group. You just responded to something my comment was never about.

> I understand what OP tries to say but that's not really a good framing point for many reasons.

So address what the OP tries to say, *and while doing so* you can add additional technical correctness. *This does not derail the conversation.* It continues the conversation and enhances it! You can do both! But as your comment stands (and bee_rider's), you just are moving the conversation away from what OP wanted to discuss and instead hyper-fixating on what they themselves said is not the best language.
by fluidcruft | 2025-05-18 21:59:22+00:00
My only issue with wireguard/tailscale is that somehow my work IT has managed to make it unusable on our wifi. It's really annoying. I'm pretty sure it's a misconfiguration on their end but they don't have any reason to care.

OpenVPN does seem to always work everywhere (presumably because outside contractors and support personnel use OpenVPN when onsite so it's a squeaky wheel that matters) so I've moved to that instead. Beyond that I can't figure out what the hell is the problem and the way IT works, they have no reason to fix it. I did get them to somewhat work on it by reporting Google VPN as randomly failing, but they just fixed Google VPN and nothing more than that. So anyway wireguard is great until you encounter bullshit corporate firewalls.
by Al-Khwarizmi | 2025-05-18 21:59:25+00:00
They make LLMs play a very abstract game that rewards them points from answering the same as the other, and punishes them from answering differently, and LLMs tend to converge to an answer. From that to "social conventions" there is a long, long stretch. The paper lacks a baseline - wouldn't much simpler (non-LLM) systems also exhibit the same property? Is it that surprising that systems that are clones of each other (because they didn't even try "mixed societies" of different LLMs) agree when you give them points for agreeing?

Maybe I'm missing something but in my view this is pure hype and no substance. And note that I'm far from an LLM skeptic and I wouldn't rule out at all that current LLMs could develop social conventions, but this simulation doesn't really show that convincingly.
by mongol | 2025-05-18 21:59:26+00:00
Are you referring to US healthcare? Or his care as an ex-president?

Unrelated: It is less than a year since he decided to not stand for election. This time last year he planned to stay in power for four more years. Prostate cancer as is as I understand it slow-growing. Could it have been there already when he planned for re-election, how regular are health checks in that position?
by bryanhogan | 2025-05-18 22:00:48+00:00
I don't understand the negative concerns mentioned by the author.

It's quite easy to sync notes to your mobile device using a free method, or using a cloud service you might already be paying for [4].

The great thing about Obsidian is that the notes itself are just markdown files, so you can use them in any other program. This protects you as a user in case Obsidian enters a enshittification phase. A good alternative is haptic [0], it is very similar to Obsidian but can also be used in the browser. Or LogSeq [1], SilverBullet[2] and just Visual Studio Code also work well. For just editing a single file MarkText[3] is also good.

[0]: https://github.com/chroxify/haptic

[1]: https://logseq.com/

[2]: https://silverbullet.md/

[3]: https://www.marktext.cc/

[4]: https://bryanhogan.com/blog/how-to-sync-obsidian
by ethbr1 | 2025-05-18 22:02:52+00:00
You have to discount Gaza's economic development by needing to rebuild their infrastructure every few years and a complete blockade since 2007.

Why is there so much per capita aid to Gaza?

Because Israel prevents them from having a functioning economy.

Why does Israel prevent that?

Because then it would have to bargain with a stronger counterparty for an ultimate resolution.

Until Israel realizes that it either needs to (a) kill every man, woman, and child in Gaza or (b) grant them a functioning, independent state, the wheel will keep on turning. Israel represses and provokes Palestinians; Palestinians lash out; Israel cracks down militarily until international pressure forces them to stop; GOTO 10.
by brig90 | 2025-05-18 22:03:12+00:00
This doesn’t burst my bubble at all — if anything, it’s great to hear that others have been able to make meaningful progress using different methods. I wasn’t trying to crack the manuscript or stake a claim on the origin; this project was more about exploring how modern tools like NLP and clustering could model structure in unknown languages.

My main goal was to learn and see if the manuscript behaved like a real language, not necessarily to translate it. Appreciate the link — I’ll check it out (once I get my German up to speed!).
by blacksmith_tb | 2025-05-18 22:04:26+00:00
The only tricky part being that it's desirable to limit the amount of sun shining into the house in the warmer months, but not the cooler ones. Awnings that fold or are otherwise removable are a reasonable solution, there are also sunshades which mount outside, and also use a spinning rod to raise and lower (if the electronics and motor here could be weatherproofed a little they might be quite usable).
by koito17 | 2025-05-18 22:05:15+00:00
I agree with this.

The error messages in TypeScript can be difficult to understand. I often scroll to the very bottom of the error message then read upward line-by-line until I find the exact type mismatch. Even with super complex types, this has never failed me; or at least I can't recall ever being confused by the types in popular libraries like React Hook Form and Tanstack Table.

Another thing I find strange in the article is the following statement.

I often end up resorting to casting things as any [...]

Every TypeScript codebase I have worked with typically includes a linter (Biome or ESLint) where explicit use of `any` is prohibited. Additionally, when reviewing code, I also require the writer to justify their usage of `as` over `satisfies`, since `as` creates soundness holes in the type system.

Lastly, I wish the author had written a bit more about type generation as an alternative. For instance, React Router -- when used as a framework -- automatically generates types in order to implement things like type-safe links. In the React Native world, there is a library called "React Navigation" that can also provide type-safe links without needing to spawn a separate process (and file watcher) that generates type declarations. In my personal experience, I highly prefer the approach of React Navigation, because the LSP server won't have temporary hiccups when data is stale (i.e. the time between regeneration and the LSP server's update cycle).

At the end of the day, the complexity of types stems directly from modelling a highly dynamic language. Opting for "simpler" or "dumber" types doesn't remove this complexity; it just shifts errors from compile-time to runtime. The whole reason I use TypeScript is to avoid doing that.
by al_borland | 2025-05-18 22:05:51+00:00
Personally, I just set myself a budget of $100/month for subscriptions. I was going to drive myself crazy judging every one all the time, so I decided as long as I’m under this threshold I’m not going to stress.

I track the ones I have so I can compare the cost, looking at either daily, monthly, or yearly cost. Sorting by price, I can look them over to judge if one of them seems unusually expensive for what it is, and regularly review to see if there are and I’m not using and need to be cancelled.

My most expensive is the could backup for my NAS. $8/month is about what I pay for Proton, which offers a lot more than just note syncing. So $8 for notes does seem like a lot. Looking at Obsidian’s pricing page[0], the $8/month is for publishing… hosting a website with your Obsidian data. Just syncing is only $4, and there are many free ways to do it. That part of the article felt like the author was trying to justify writing their own tool due to cost. That doesn’t feel justified, and they were stretching… but the good thing is there doesn’t need to be any financial justification at all. Just make your own tool for the sake of making your own tool. That’s good enough.

[0] https://obsidian.md/pricing
by tomhow | 2025-05-18 22:06:02+00:00
We don't need to ban you, we just need you, along with everyone else here, to observe the guidelines, the first of which in the Comments section, is to ”be kind”. If everyone made the effort to do that, the site wouldn't be bad. It's no big deal, and it's not that hard to observe the guidelines if you're sincere about making a positive contribution to the site.
by Svoka | 2025-05-18 22:06:05+00:00
I applaud the action, but motivation is strange. I am all for making custom software for your own needs and tailored for own use cases, but price?

How much does your VPS costs vs Obsidian subscription? I wonder. Is it like 1 5$/month micro machine and you just pray that it will survive for 10 years without data loss?
by robocat | 2025-05-18 22:06:13+00:00
> Don't fuck with mains / appliances / HVAC / household water supply if you don't know what you're doing. This guy has no fucking idea what he's doing

A little OTT. How do people learn to maintain their house or learn to hack improvements? Should we all have your expertise? Perhaps you think paying a qualified installer would be better?

Any work on your home or car or whatever runs risks. Making mistakes is often an important part of learning (and can be expensive). Being a Swiss watch isn't a good compromise.

It is great that you share your knowledge: good feedback is difficult to get.
by toomanyreps | 2025-05-18 22:06:25+00:00
I have been using Supermemo daily (except for when I miss a day or two, vacations with no desktop, etc) since about 2010. I have found the newer algos to be pretty good. I have not had any bugs or a messed up collection. Its one of the pieces of software that is keeping me on Windows. There is still no foss replacement for incremental reading/writing [1]. Also, Supermemo has two modes that lets you skip a few days without being overloaded [2][3]. So you don't go from 20-30 cards to 200 if you skip a day.

That being said, its just another tool in the toolkit for learning stuff. I don't think I'm that much smarter or better at anything just because I have used Supermemo often for awhile. Honestly, I just like making cards and throwing articles I want to read later into Supermemo for processing. Most of what I use Supermemo for is incremental reading, which I have never been able to find a good replacement for. I like being reminded of cool stuff I have read and ideas that I have had. I would recommend also learning and practicing various mnemonic techniques alongside spaced repetition.

Most of the other algos/apps I have tried have been okay, I have not tried FSRS because I don't really use Anki anymore. I used Anki when I was in college for about 2-3 years because I would do flashcards using the mobile app. I was still using Supermemo daily during the same time period though.

I also use Clozemaster for language vocab with Supermemo. I put the sentences and some explanations into Supermemo after I do them in Clozemaster. I do not really consider myself to be a language learner or learning a language. I pick up new vocab very slowly and do not do anything else to practice the languages I am learning vocab from. I have also been using Math Academy almost daily for about seven months which is nice, but definitely not a full replacement for learning math. Using Math Academy actually made me start working with math textbooks and online resources again.

[1] https://www.help.supermemo.org/wiki/Incremental_reading [2] https://www.help.supermemo.org/wiki/Postpone [3] https://www.help.supermemo.org/wiki/Mercy
by nwatson | 2025-05-18 22:06:50+00:00
The Gates company make the Gates Carbon Belt to replace bike chains with a carbon fiber belt (encased in some polymer). My Priority Bicycle 600x has this belt drive, along with matching sprockets and a Pinion C1.12 "transmission", where all gearing/shifting takes place.

To check proper tension, Gates supplies an app [0] that also has you pluck the belt to measure the frequency. For my bike the appropriate tension is at 60Hz. Tension is adjusted by moving the rear axle backward or forward.

[0] https://play.google.com/store/apps/details?id=com.gates.carb...

EDIT: the advantages are ... no fragile derailleur; no chain lube; long belt lifespan; low maintenance
by LMMojo | 2025-05-18 22:06:50+00:00
I have a co-worker who is similar, needs to be about 3-4 inches from the screen. He had his monitor die, a 15" LCD, and the guys in IT 'did him a favor" and upgraded him to a 27" screen. He lasted all of an hour. Told IT it'll never work and they were confused until the saw and understood his use case.

I thought about these glasses, too, when I tore and detached my retina. With the surgery they drained me eye and my focal distance was initially maybe 1cm, and as my eye refilled the focal distance grew. At the time I wondered if sometime like Google Glass would work for me. I feel like there could be a lot of applications for these if they'll work with such short focal lengths.
by ednite | 2025-05-18 22:08:01+00:00
I'm really enjoying this discussion, and you’re right, my choice of the word “true” wasn’t ideal. Thanks for pointing that out. What I meant was more along the lines of “making the effort to stay connected”, the kind of friendships where both parties are there through the good and the bad. That kind of connection can form early or later in life, but once it exists, I believe it’s something to be cherished.

I won’t pretend I carried the full weight of maintaining every friendship. I was young, overwhelmed, and then came the career and everything else life throws at you. But with the friends who were there through thick and thin, I did make the effort to stay in touch, because a stronger bond had been forged.

And just to be clear, I wasn't placing blame on friends without children. Whether it’s kids, pets, demanding jobs, or anything else, none of us gets a free pass. Relationships need to be nourished, or they fade. For example, when we did movie nights, we made an effort to include everyone who wanted to join. If the film was age-appropriate, our little one came along, and no one minded. If not, we’d arrange a babysitter. We genuinely tried to stay connected, not just with our closest friends, but even with those we casually saw.

So to answer your question, yes, we made as much effort as we could to maintain friendships, which I think we both agree is the key message. My original post was simply a reflection on those who chose to stay connected despite the shift, not a judgment on those who didn’t.

You're right that effort needs to come from both sides, and I agree that some parents, for whatever reasons, do unintentionally withdraw from friendships. I can only speak from my own experience, where we genuinely tried to stay connected, but I understand how it might have felt one-sided to others.

In the end, people do grow apart for all kinds of reasons, and that doesn’t necessarily make anyone the villain.

Thanks again for the thoughtful pushback; it helped me better reflect on what I was trying to express.
by raymond_goo | 2025-05-18 22:08:54+00:00
Try something like this

!pip install pytesseract pdf2image pillow !apt install poppler-utils #!apt install tesseract-ocr from pdf2image import convert_from_path import pytesseract pages = convert_from_path('k.pdf', dpi=300) all_text = "" for page_num, img in enumerate(pages, start=1): text = pytesseract.image_to_string(img) all_text += f"\n--- Page {page_num} ---\n{text}" print(all_text)