Hacker News new | past | comments | ask | show | jobs | submit | shinryuu's comments login

Recommend buying a fairphone fully repairable, and possibly to degooglify if you want to go in that direction

Also worth noting is that tiel fellows does not scale.

It will never be able to accommodate all the people going to university.


How have you been burned? What kind of bugs did you have, and in what way was it difficult to debug?

Myself I built an RSS reader using aiohttp and then forked the code to make an image sorter.

I had a lot of people tell me I was crazy to write aiohttp servers because of the problems the previous poster mentioned but I had a long run of it working pretty well. On the other hand I’ve frequently had the experience of writing something in Python that falls apart like a tower of Jenga blocks the moment somebody else touches it. (Quite different from my experience with Java, Javascript, C#, PHP, …)

Once I started serving images along with the text and using the app over a 2Mbps link it seemed to me the aiohttp server was getting a little unreliable.

Most basically, an aiohttp server can only use one CPU thread at a time with the consequences that if one request holds the CPU for 5 seconds the server stops processing requests completely.. Although the aiohttp server could be reliable if you are almost entirely waiting for data to get back from the database, the residual amount of CPU load is going to put an upper bound on what the server can handle in the best case. If a coder is not so careful you get burned. My RSS reader has an AI component which runs completely in batch jobs, I don’t do any inference during requests which limits my flexibility and makes the application less “real-time” than it could be.

You can imagine systems where one aio server hands tasks off the another aio server but the blocking situation doesn’t get any better and if you want to make the system scalable there has to be at least one multiprocess or multithreaded server somewhere. At some point I am like “I have a 16 core machine but I am only using 1 core like my laptop in the 1990s” It didn’t help that my aio database drivers aren’t in conda which is another build hassle.

So last week I tore up the image sorter and rewrote it in Flask (my aio framework looks like Flask so it’s not too hard) and I run it out of gunicorn, I put a reverse proxy in front to deal with some Tailscale problems so I have IIS serving the images.


> Once I started serving images along with the text and using the app over a 2Mbps link it seemed to me the aiohttp server was getting a little unreliable.

Does that imply that it was due to images being heavier, and thus if you were to stream something like video from aiohttp it would not go so well?


For video I think I'd use nginx or something like that. The aiohttp server is meant for serving dynamic content, nginx is using async io too but it is written in C and optimized in every way.

Currently for my case the worst problem is head-of-line blocking, the system could be downloading 50 large images but to put a tag on a gallery it needs to load a small HTML page for a modal dialog, then it has to populate a dropdown box after a tag category is selected, then process the form request.

Since all these images are queued to download, the system has trouble prioritizing the HTML requests. The best answer to this for me is to build that thumbnailer to get the image size down, but I am also thinking of putting images on an entirely different port.


Here's a bug I ran into with Python async:

https://stackoverflow.com/q/78036302/265521

I've written about 200 lines of Python async code in total, so to run into a bug like that so soon was not encouraging.

I suspect it's just not a very popular feature and so it doesn't get a lot of use and debugging. And it's Python so it really needs a lot of ton of real world use to detect bugs.

Anyway I'm not going to waste my time debugging Python internals so I just switched to Deno.


It’s pretty easy to make a mistake like that with any concurrency framework. I can tell you stories about all the cases where in Java it was “use ExecutorService and… done” but it is so easy to get it wrong there.

Haha someone didn't like that I'm pointing out flaws in Python and down-voted that question.

same feeling there tbh. Though generally, when it's done in javascript it's done completely in a string, without javascript objects.

> Web Distribution, available with a software update later this spring, will let authorized developers distribute their iOS apps to EU users directly from a website owned by the developer.

iPhone users don't really own their own device, do they...


The iPhone revolution was that your phone used to be owned by the carrier, but now was owned by Apple, and Jobs got away with it.


Hence why most European countries just mostly stayed with pre-paid, and operators have been trying to bride us with contracts for iDevices, or if that doesn't get us, contracts in disguise for pre-paid users as post pay.

I will keep using Android devices with physical SIM until it isn't no longer viable.


Due to financing options like Klarna, keeping on monthly prepaid sim-only plans (which are cheap) and using a finance option to purchase the device outright has become much more popular at least in my circle in the UK.


You don't even need Klarna, the Apple website offers 0% 24 months financing for iPhone in the UK.


This really seems like a post from 15 years ago. In my experience prepaid is almost dead. It's the most expensive way to use a mobile phone and you can get a decent sim only subscription for 5 euro per month.


That’s nonsense! Bundled contracts are common in most if not all of Europes economies.


That might be the case, but the phones aren't bound to any specific carrier. A phone bundled with an O2 contract can be used by someone with a Telekom contract.


Where are your numbers against my numbers?


Show me yours first!


Nah, you were the one doubting me, Thomas, I don't need to show my wounds.


You’re the one making spurious claims! Too much ‘In Europe…’ bullshit posted here


It goes both ways my friend.


Used to be owned by your carrier for two years, and you could always pay to unlock it. Now it costs double and Apple owns it forever with no recourse.


I don't. This is a stark realisation that I have had over the past few years. I would once staunchly recommend iPhones for their strong security, in particular app isolation, on-device AI, and physical device security.

However, over the years there have been more and more instances where Apple decides what I can do with my phone. From restricting APIs to give their first-party apps advantage, to, most recently, not having any (local) method to move voice memos off my Apple Watch.

I've realised they are orchestrating their hardware and software to build a truly solid wall from within which they can extract continuous rent from their captives.

I don't own my device because I cannot freely run the software I create on it (without paying Apple and gaining their approval, which is impossible in some cases).

I'm done with Apple... but there are no acceptable alternatives. Android is bad in other aspects.

This is not a free and fair market; it's a duopoly.

I genuinely pray weekly for a phone like the Framework Laptop, where I can run my own software (Arch Linux) and repair and replace the hardware as needed.


I assume you're aware and have some other reason that disqualifies it (e.g. you're in the US), but Fairphone does exist and comes pretty close (i.e. PostmarketOS is supposed to run, at least): https://www.fairphone.com/


Thank you. I did actually come across this a few weeks ago as I semi-regularly search for new phones in my despair!

It is the closest phone to what I have been after for a while. I particularly like their long software support and their support for right-to-repair. It runs stock Android, however I'm not sure whether that means Google is still fully entrenched into all aspects of the phone by default including through Play Store APIs, notifications, etc.

(If anyone would shed some light on the software side, I would appreciate it because I'm not familiar with modern Android.)

Even if it were suitable I would not be in a position to buy it for a while, hence I am still plodding along with my iPhone but just keeping an eye out for good alternatives.

Edit: I re-noticed you said it runs postmarketOS. That's awesome and I'll need to look into it - I know very little about it. Though it seems many aspects of the hardware are not supported on even the Fairphone 4.


Fairphone runs pretty standard Google Android, basically what you get in the emulator if you ask for the "Google Play" image, sliightly closer to AOSP than the Pixels.

The bootloader can be unlocked trivially (just like on OnePlus/Nexus), but loses SafetyNet when you do.


My guess is that if you want to use any of the common apps you will need the play store services app that does all the data collection.


The company that imports Fairphone 4 to the US (Murena) runs e/OS which is OK. There's a bit of FUD that pops up on HN about e/OS from time to time, but the reality is that it's a mostly de-Google'd but still usable LineageOS clone. Their emphasis is on de-Googling, and usability, not security. It's probably worth a look. I'd say that their privacy/de-Googling is the best of all the LineageOS flavors. You can see comparisons between all the flavors here:

https://eylenburg.github.io/android_comparison.htm

That said, you can flash any Android Os that supports Fairphone, or PostmarketOS to it.

The phone itself is responsive/quite good despite being a bit old at this point. I can do all normal phone tasks (email, web, music, navigation, etc) with no lag or any issues. I have not attempted to game on it. The Fairphone 4 is modular, parts are available for repairs, and it works great in the US with T-Mobile or T-Mobile MVNOs.

https://murena.com/america/shop/smartphones/brand-new/murena...


Yup, this is the choice: Either a walled garden run by Apple that has a price premium. Or a discounted device by Android that allows Google to snoop on all your data if you want to use a single one of their services (App Store, Gmail, Google Maps) - and correct me if I'm wrong but without play services enabled an Android is not really usable. I rather pay the premium.


GrapheneOS runs the google play services as a containerized app instead of a system level app, allowing you to disable access as needed. The downside is that it's only available for pixel phones.


GrapheneOS is as close to a private phone as possible nowadays, though it does require paying Google a somewhat hefty premium too (not as expensive as the iPhone, still). You can definitely use Android without Google apps, though GrapheneOS does include options that would let it behave like a normal app without special privileges. You can even isolate it to a work profile so it has no access to your main.


If you go with Android, you could flash GrapheneOS, which supports sandboxing Play Services.


very interesting, thanks! haven't heard of this feature before.


I depends what you want from your tool. I get around 4 years of use from the device. I upgrade every 2 years, and my son inherits my old one. I replace the battery if it's below 80%, it's usually once when I hand it over to my son.

That is a reasonable fee every month for the tool I get. I'm not tweaking every little thing and I don't need full access. I don't want it either. So far, Apple has created dependable devices that serves my purposes. I don't see the value in "upgrading" my phone. Maybe the pace will soon be slowed enough that it makes sense, but so far, the leap every 2 years has been enough for me to justify it. I know that is not what everybody want.

I used to do hardcore linux on computers as well, but now that I have other things I want to spend time on, I just need a laptop that is a tool. And maintaining and especially debugging Arch/Debian/Whatever breakage due to an upgrade is not part of the things I want to spend time on.

In principle, I do agree that we should have the ability to gain full access, one way or another. Maybe that means you cannot be part of the walled garden, but that should at least be a choice you can make.


Claims they don't see the value in "upgrading". Upgrades every 2 years.

You...think there are many people in 2024 with an even higher upgrade pace?


I don't see the value in upgrading parts of my phone apart from a failing battery. And if you read it again, I upgrade because my sons phone is 4 years old, and changing the battery is no longer worth it anymore to me.

But I suppose it's better to just jump on semantics instead of trying to understand the whole of the post.


Admittedly, you plus your son get 4 combined years out of the device. It's an unexpected way to count, but it works. And since you were talking about buying new devices, I took it as a context where that's what the word "upgrading" means too. I wouldn't speak of open-source or third-party mods to the phone as "upgrades", just... "modding". Anyhow. Sorry for skimming.


A few years ago I was still considering de-Googled Android, but IMHO that's still being too tied to Google's ecosystem, constantly trying to catch up.

IMHO hackers should focus their efforts on the likes of Pinephone / Librem 5 instead...

(See also : avoiding Chromium.)


Memos from watch show up immediately in Voice Memo on the associated phone, where they can be shared via AirDrop, email, Tailscale, ...


It's been a 'rent, not own' model since day one, since batteries are non-user-replaceable.


That is a wild take.

For one, batteries certainly are user replaceable, though it does require specialized tools and quite a bit of care.

Would you consider a car to be "rented, not owned" because they are difficult for the average end-user to repair?


Wow, I had no idea that even the first iPhone's battery change involved soldering !

https://www.ifixit.com/Guide/iPhone+1st+Generation+Battery+R...


> I know people that spend thousands of dollars a year on upkeep and upgrades for what are essentially super seedbox homelabs

And then you end with "there just needs to be no disincentives". If anything spending thousands of dollars a year on upkeep should be a disincentive for most people. You are not most people though, since you do it voluntarily.


I'm a maniac though. I used to run my stack just fine off a raspberri pi with a USB harddrive plugged in.

Actually, before that, I used to run it off an old macbook.

Do we need it to be where everyone hosts a node? I just had this conversation with a friend yesterday actually. We were in disagreement about the accessibility of self hosting and federation. He was of the opinion that we should push LLMs to where anyone can type "I want to host a video hosting platform" and chatgpt.exe will find and install jellyfin on their computer and set up a cloudflare tunnel, or whatever.

I'm more of the opinion that we should increase the quality of documentation until the one person just weird and nerdy enough out of a group of 20 will be able to deploy things on leftover hardware, and share with their friends.

What do you think?


In terms of accessibility I don't think it would be bad per se if chatgpt.exe would be able to help you with that. Though both of us know that there is maintenance involved and once something catch fire (which will happen at some point), you are kind of helpless.

Something like pikapods.com certainly helps with accessibility, even if it isn't self-hosting per se.

But all of that doesn't have little to do with incentives or disincentives. Even with very high accessibility there are disincentives to self-host. It will cost time and money in some way. For some people the intrinsic motivation will override those disincentives. But I think for the majority of people there will still not be enough motivation to do it.

There are more important things to do for them.


> There are more important things to do for them.

Well yes, because right now society disincentivizes people from ever spending their time from anything that doesn't earn them at least a little bit of money. Kind of to my earlier point that "FOSS" projects with a monetization angle dicincentivizes people to contribute their time, to make someone else money. Well, except for the fact that it's almost a requirement for people in certain geographies to have FOSS commits on their portfolio, due to economic disparity. Yay free labor pool.

Should we actually leverage our technology to share the bounty of post-scarcity we could have today, don't you think people would spend more time on passion projects?


I was among the people who benefited from udacity in the very beginning. They pretty much got me on the track for a software engineering career for which I will be forever grateful.

Feels more than a little sad that they just get acquired by a multinational.


10k euro / year will give a small apartment in a large city in Germany if that.


> The Gemini example, however, did not represent the bias in the source material

And that bias was to combat bias from the source material. In other words, you're damned if you do, and damned if you don't.

It almost seems like it's impossible to be without some kind of bias. I think the preferable way forward is to be transparent about your bias. We all have them, one way or another.

What is problematic though, with the AI models, you sort of inherit this ball of mud and it's hard to tell what kind of bias is inherent in it.


@urlwolf, it's not that difficult. This screenshot > https://imgur.com/a/24QPs2c once you click add, you can add your own search engine.

As far as I know, it's been like this for a long time.


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

Search: