Hacker Newsnew | past | comments | ask | show | jobs | submit | jokoon's commentslogin

Make a social network that is centered around people who live in a 1 kilometer radius

Make them interact and do things, generally they will be less toxic because it will reduce their online disinhibition effect.

Make them have meals, meet, walk at the park, whatever.


I have considered a "physical social network". Standing on my usual street corner and holding a sign that directs strangers to join me and whoever else shows up, for a casual chat at the local coffee place at a specific time, with a few topics for conversation listed on the sign up front. If anyone has ideas for those topics, let me know, I'm likely to do it this Sunday.

you laugh, but bringing people back to reality might require using screens to do it

Actually I am open to the idea of an (minimalistic, non-profit) app helping solve this. What kind of app, I'm not sure, but I'm open to all ideas, including technology based ones.

I only said that because you reminded me of an idea I had, for a social experiment that tries to bring some "social media" elements into an in-person setting, to see what happens. (I do wish I could afford a camera and someone to man it, I've been told several times that I'd go viral.)


When NextDoor first came around, I recall walking down the street to help a lady move her couch down to the ground floor. She then gave me some cookies she'd baked. Fun! The notifications it sends me these days are less enjoyable so I send them to spam because unsubscribing doesn't seem to reliably work for me.

> Make a social network that is centered around people who live in a 1 kilometer radius…

Don't know if they still do, but Nextdoor required address verification via a postcard early on. I was pretty shocked at what some people in my area would post under their real names and locations.

(And well outside the realm of political nonsense. Someone posted a pic of their toddler's first poop in the potty.)

I think the power of shame has reduced significantly in recent years.


I think shame is still powerful, but in the context of Nextdoor we just don't see our neighbors very often anymore. In many cases they might as well be random people on the other side of the country. I live in a small town and I'm quite friendly with my neighbors, but I still see and talk to them relatively rarely.

Civility and sense of decorum have greatly diminished in the past few decades especially online.

When you have a toddler it's very surprising what becomes normal. We're potty-training our son and I sometimes get texts from my spouse with a picture of a poop in a bad spot and then just the word "help."

I mean, we did that, too. But there's a bit of a gulf between a text to the spouse and posting it for 20k people you run into regularly to see.

I stopped reading when he started using the visitor pattern

The visitor pattern is very common in programming language implementations. I've seen it in the Rust compiler, in the Java Compiler, in the Go compiler and in the Roslyn C# compiler. Also used extensively in JetBrains' IDEs.

What do you have against this pattern? Or what is a better alternative?


Visitor is heavy of code pattern that can be replaced by elegant, readable switch with exhaustive check, so all operations available by "Kind" enum are covered.

This wasn't available in Javs at the time. You're free to rewrite it with pattern matching (like the book, quite literally, leaves as an exercise for the reader).

A switch or pattern matching approach is useful, but not practical for some cases. For example, there are cases where you are interested in only a single kind of node in the three, for those cases the Visitor pattern is very helpful, while doing pattern matching is cumbersome because you have to match and check almost every node kind. That's why, for example, the Rust compiler still uses the visitor pattern for certain things, and pattern matching for others.

Roslyn has visitor pattern combined with the 'Kind' enumeration you mentioned. You can either choose to visiti a SyntaxNode of a certain type, or override the generic version and decide what you want to do based on that enumeration.

Exhaustive switch with tail-calling makes for a very fast and readable interpreter.

What’s bad about the visitor pattern? /gen

https://grugbrain.dev/

grug very elated find big brain developer Bob Nystrom redeem the big brain tribe and write excellent book on recursive descent: Crafting Interpreters

book available online free, but grug highly recommend all interested grugs purchase book on general principle, provide much big brain advice and grug love book very much except visitor pattern (trap!)

Grug says bad.

In all seriousness, the rough argument is that it's a "big brain" way of thinking. It sounds great on paper, but is often times not the easiest machinery to have to manage when there are simpler options (e.g. just add a method).


https://news.ycombinator.com/item?id=44304648

Grug doesn't elaborate much, but here's the author's take in slightly more detail.


The bytecode interpreter in the second half of the book doesn't use the visitor pattern.

No, but his first "Tree-walk Interpreter" does - he builds an AST then uses the visitor pattern to interpret it.

https://craftinginterpreters.com/representing-code.html#work...


To quote the very first paragraph of the bytecode interpreter section[1]:

> The style of interpretation it uses—walking the AST directly—is good enough for some real-world uses, but leaves a lot to be desired for a general-purpose scripting language.

Sometimes it's useful to teach progressively, using techniques that were used more often and aren't as much anymore, rather than firehosing a low-level bytecode at people.

[1] https://craftinginterpreters.com/a-bytecode-virtual-machine....


Sure, I'm not criticizing it.

He's doesn't actually build on this though, but rather goes back to a single pass compiler (no AST, no visitor) for his bytecode compiler.


the parser does

The parsers in crafting interpreters do not use the visitor pattern. The visitor pattern is used when you already have a tree structure or similar. The parser is what gives you such tree structure, the AST. When you have this structure, you typically use the visitor pattern to process it for semantic analysis, code generation, etc.

I’ve only glanced at the second part but I don’t remember that being the case.

Why?

so barely 2 or 3 times better than xz

not really worth it


I wish there was a markdown renderer, that doesn't use HTML

It would be insanely faster to render


I wish I could understand why it is so difficult to build an un-googled android image.

One reason, I guess it's not possible because it's a complex OS?

But is the real obstacle being smartphone brands not publishing their hardware drivers?

It is so easy to install linux on a PC, yet I don't see the same happening for android while it's actually running a linux kernel, so it really begs the question.


GrapheneOS does this just fine.

It comes with optional sandboxed Google Play Services and Store, meaning that these run just like any other app, with no special permissions. You can give them only Network access. The Play Store is still the most secure way to download everyday apps, so a lot of GrapheneOS users use Google's Play Store with a burner account in a separate profile, usually the Owner (the main) profile - since you can then disable apps in Owner and install them into other profiles. And the sandboxed google stuff can be used to run proper Google apps without any problem. Even sandboxed Android Auto works.


> I wish I could understand why it is so difficult to build an un-googled android image. > It is so easy to install linux on a PC, yet I don't see the same happening for android while it's actually running a linux kernel, so it really begs the question.

It's not particularly difficult -- see Graphene and Lineage. The main issue is that there are few phones on which to run these custom builds. Ironically, Google Pixels allow to run other operating systems than the one they come with (the bootloader can be unlocked). Other than the Pixel and a couple of Chinese models, you are looking at low-end or ancient hardware. You can't just build a phone without OS and install Linux/Android like you would on a PC.


Why is it so difficult to build those images?

Android is open source, does that mean brands don't release the drivers, or the scripts involved in making the images?

Are those drivers and scripts proprietary?


> But is the real obstacle being smartphone brands not publishing their hardware drivers? In part, afaik. On one hand, you have binary blobs that come from Google and you cannot generate yourself. The other part, is that you, as an individual, have no relationships with manufacturers so you have no access to their drivers.

It's not that difficult, plenty of ROMs exist, and analogues of all the apps exist as well.

I have read claims that there were fake documents inserted in those leaks, who aimed at pushing disinformation.

That itself would be a very convenient lie if the disclosures were damaging or embarrassing.

Maybe you should include a source, especially if you're making claims about alleged "disinformation"? :-)

I tried intensive workout

It's unhelpful because I got tired, and then I stopped workout entirely

Now I just do fast walking and it's nice


Have you tried lifting weights (different pace than HIT)?

You sound like a couch potato, like me.

Try HIIT 1 minute walking, 1 minute running

stimulating for the brain, safe, fun and an easy way to ease into running.


this really needs a TLDR

after reading a summary, this title is very click-baity

The title reads like "a cat got into a nuclear plant, got contaminated in a and spread radioactivity with cat litter stuck to its paws"


I don't even know what would be the point of such device, and if there really is a market for it for tech companies. I would say yes?

As a consumer, all I want if a very minimal "phone", with wifi, touch screen, battery, but no 4g or mobile networking, and linux on it. Just the cheapest, smallest, wifi, battery-powered, touchscreen LCD device that could exist that can run executables.

People are going to say "but just buy a cheap phone", but I cannot really run custom software on those, I can't expect to install a custom system image, and generally even cheap phones CPU SOC are way way too powerful. Open source phones are generally crazy expensive and very powerful, and I am not going to buy those.

With the range of hardware that exist out there, I think such device could cost about 60 euros, and it would be more interesting than a RPI.

The RPI is an amazing product, but it lacks an all integrated consumer device with an actual screen and battery. Of course I can already build one with a compute module etc, but it's not really portable and not designed around a flat battery.


> I think such device could cost about 60 euros

Making a thing made, shipped and delivered at 60 euros each on credit cards is HARD. 600 is easier. 60m consider it done. I wouldn't want to even make and sell, idk, a lens cap for a camera, at that price, without first owning couple factories running at healthy levels of utilization. Maaaaybe if my customers would be happy with a 3D printed artisanal version of it. But even then it'll technically be delivered at a slight loss.


They don’t make cellphones, they make little computers. Hypothetically you could probably use an Arduino or an esp32 to make a cellphone, but you wouldn’t say those organizations lack an all-integrated consumer device, right? They just aren’t in that business.

First, note that what's on that article is not an Raspberry Pi, it's a Raspberry Pi Pico.

I'm not sure about what you want. You don't want a phone, so you want... A tablet, maybe? Or a Raspberry Pi 3/4/5 with a touch screen? Do you want a small screen? Big? Keyboard/Keypad? Touch only?


You can buy touchscreen enclosures for the various pi models. If you want to put in the effort to make your own PCB you could really slim it down by using a pi compute module

What are free, good alternatives to github?

Is gitlab still relevant?


If you want something close to the GitHub UX, then Forgejo or Gitea.

If not, there are loads of options depending on your preferences and needs.

GitLab is still relevant. Personally I find it too resource-heavy (both server and web ui) to be my first pick but it's still widely used and actively developed.


For what part(s) of github?

Free as in freedom?

Many other tools/platforms provide decent source control and issue tracking. Nothing else has the FOSS project market share of github, and this matters especially when you're looking for the canonical home of a project and trying to judge how popular/active/viable it is (stars/commits/issues/PRs).

If you want exposure and participation for your FOSS project, it's harder to not use github.

FWIW, Forgejo does the source control stuff well. I love it for self-hosted local mirrors.


For small teams, fossil is unbeatable

https://fossil-scm.org


GitLab is very relevant. In some spaces, it is the only one with enough features. But it is pretty expensive and the way i see it, only the ultimate pricing plan makes sense. Premium makes no sense unless you are just a small company developing proprietary software with separate workflow for customers..

GitLab, Codeberg, SourceHut, Notabug, Radicle, Tangled… & that is just Git but there are other VCSs hosted other ways like Darcs, Pijul, Fossil, & so on.

I use codeberg

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: