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

Ignore the "dropbox-in-a-weekend" trolls, they're just nosy. Your project sounds interesting, good luck.

I don't disagree with you main point but thought this was funny:

> They literally borrow money to buy these things. So if they can afford it,

Borrowing money would indicate they can't afford it. But I think you mean "afford the risk in order to achieve a societal norm".


Not achieve a societal norm but facilitate everyday tasks with the many, MANY things that are THAT much easier with a smartphone.

Now I get the author’s point, but there’s preferring to be off-grid (which I also tend to be), and there’s purposefully handicapping yourself then complaining about it later.

Look, if you run a blog, post your articles on places like HN and actually interact with the World Wide Web on a frequent basis you don’t get to preach about smartphones being evil devices that “society” imposes on you. You can’t have your cake and eat it too.

This is like a biker complaining there’s too many cars on the street. A motorcycle is a smaller vehicle but it’s still very much part of that class of problem they’re so proudly rising against.

It’s theatre. Pure and simple theatre.


Where is the logical tie between interacting with the web in general, running a server or whatever and not being allowed to complain about being pushed into the Google/Apple-duopoloy, remote attestation and similar things? o_O

The logical tie is in the fact that the single most important reason smartphones are so prevalent and important today is their ability to connect to the internet, and let’s talk like adults here, if you run a blog and market your articles around on sites like HN, you’re already very much IN the Google monopoly. Google already knows who you are, what you do and everything else they want to know. You’re already playing their game.

If not having a smartphone ticks some weird box for the author, hurray them! However, let’s not pretend this has anything to do with privacy, protection or morals. This is just a self-congratulating blog post. It’s the LinkedIn humble-brag adapted to a different audience. Again, it’s theatre.


Thank you for your reply, and so true. This is an electronic medium after all, and the smartphone, the greatest electronic device ever invented, makes participating in it so easy. Tonight I ate in a restaurant with a paper menu (I avoid QR menus because I’m old) but was able to send photos to my family & meet my wife for dessert by sending iMessages during dinner. I have over 50 years of film, DSLR, and iPhone photos and all are on my iPhone to look at any time I wish. Restricting yourself by not taking advantage of such devices is fine, but don’t pretend you’re not missing out on some of life’s greatest moments.

> If you can afford and have a place for long term. Buy better stuff. Used quality furniture, even antique, can be incredibly cheap.

IKEA is ideal for a certain stage of your life. It's ideal for optimizing vertical space. It's largely function over form. It looks like middle school classroom furniture. And when junior writes on it w/ a sharpie ¯\_(ツ)_/¯.

When you have the space for a separate dining room, agreed that used antiques are comparable in price.

I wouldn't touch their couches rich or poor though; they're painful.


I have an IKEA LANDSKRONA (in Gunnared dark grey) and it's a good sofa for like 650 €. I don't think I've really considered sofas to be that markedly better than mine even if they're double or quadruple the cost.


It's very use and location dependent. I'm going to get a good or at least relatively good dining room table. Some cubbyholes/shelves for a closet? IKEA is fine. I also have an IKEA bureau in my bedroom. I occasionally wonder if I should have splurged on a "real" piece of furniture but it saved me thousands of dollars and is perfectly adequate.


This makes any assembly 1-way, though. Some people (with a very high time:money ratio obviously) might find the collapsible, portable nature of Ikea an advantage.


I'm sure I'm not the only person to have built a wall unit in a bedroom only to learn, later, getting it out the door, and through the hall, and down the stairs turns out to be job for Dirk Gently.

That said, moving some of this flat pack furniture has been a mixed bag. Some move well, some don't.

I did have a wall unit, a $99 hardware store particle board piece assembled with big screws and those interesting, round cam fasteners. It survived three separate moves, including one where it flew out the back of my pickup truck onto asphalt (thankfully in a gas station, vs the freeway I was about to get on). Corner got dinged, door flew off, but it survived!

But I've had other pieces that assemble and are rigid, when torqued around through the moving process start to come undone. The particle board and fasteners are designed for loads only in specific directions and tend to not do well, and fail, outside of those.


I've owned a lot of IKEA furniture, and at no point have I ever considered disassembling them. And I don't think IKEA really even advertises their stuff to be a flatpack-to-furniture-to-flatpack design.


> I've owned a lot of IKEA furniture

same.

> and at no point have I ever considered disassembling them

That is wise. I don't claim disassembling it for move was a good idea, but it compressed my stuff into a compact car.

Consider also that some of their beds don't fit through a doorway built (esp if doorway is not code width) so some level of disassembly may be required for mere room-to-room moving.

I'm only calling out a tradeoff that may or may not apply. Not everyone is you and me.

> I don't think IKEA really even advertises their stuff to be a

The whole point of this thread (this site?) is repurposing outside of creator intent.


This would be a fire FPS especially if the bullets traveled along the curve.


Even crazier idea would be the possibility of 'normal bullets' that travel along the curve, and 'special bullets' that travel on a direct diagonal via warped space & time.


Or Office Space


There's Goldilocks zone for resumes where you want enough buzzwords to get past the recruiter but not so many that Hiring manager would reject you.

I know what gp is saying. They want to stay credible to the general public without also bearing the over-polished and verbose hallmark of LLM.


You're not the only one. I never stopped to delve into what this N+1 problem was b/c I assumed it was never an issue for me. All these years and this is the 1st time I've finally understood what they were saying.

However, after going back and forth with LLM on it just now, I feel like "1+N" is just a coding mistake, not a perplexing multi-faceted, engineering problem to be solved. Experience or a slow application would teach you to find a better way to get that info and then you move on.


I think N+1 problem in real applications are more than just a coding experience problem. N+1 problems frequently arise because of separation of concerns where the code doing the looping, and the code making the sub-queries are significantly separated from each other. In that case preventing the N+1 is not obvious, and fixing it can be very complex, and result in messy code.

In languages with strong meta-programming, like Ruby, it is possible to deal with N+1s more automatically, which allows you to prevent them systematically, and most importantly have an elegant solution to N+1s that span independent blocks of code.

A couple of articles about these techniques: https://www.aha.io/engineering/articles/90-percent-of-rails-... https://www.aha.io/engineering/articles/automatically-avoidi...


> not a perplexing multi-faceted, engineering problem to be solved

It's a common mistake, not a deep, interesting one.


It is just a coding mistake, except that fixing that mistake leaves you with clunkier abstractions.

If you have Foos, and users have permissions that control what they can do to a Foo, you'd like to have a function `GetPermissions : (UserId, FooId) -> Async<Permissions>`. If users can frob Foos you'd like to have a `FrobFoo : (FooId) -> Async<void>` function.

But as soon as you let users select multiple Foos, or god forbid, an entire folder containing Foos, and bulk-frob them now you have to write `FrobFoos : (List<FooId>) -> Async<void>`. And to avoid the implementation of that causing another 1+N checking permissions, you also need `GetPermissionsBulk : (UserId, List<FooId> -> Async<Dictionary<FooId, Permissions>>`. The singular forms of those functions, to avoid duplication, now become wrappers over the bulk forms.

The logic becomes harder to trace in the rewritten, bulk forms of the functions, but they are efficient.

Next the customer hits you with a request like "let's have a smart-frob function that works on all the selected foos. For foos that are red, it frobs them, if they are blue, it fizzles them". Now you have to bulk-load to select the redness or blueness of all your Foos, build two separate lists, red and blue, then call your bulk-frob and bulk-fizzle functions accordingly on the two lists. Again the machinery to turn the requirement into a batch-shaped thing is not a lot, but it does kind of obscure the original business requirement.

At various times in the life of the project you will have a feature that starts as a "always done on one Foo" thing because it's triggered by a button on the detail screen. Then somebody will possibly come along and want to do it in bulk later and you have to rewrite the implementation. Unless you have very strict code review that everything MUST be written in batch-style taking a list of IDs up to the API layer.

I wrote a library[1] many years ago to solve this problem and allow the straightforward, non-batch versions of the functions to be automatically batchable. The idea is kind of like what React did for frontend dev: React was not faster than mutating the page with jQuery soup, but it was much faster than replacing the entire DOM on every render, and it let you write your code as if that was what you were doing. That was a very simple mental model and much less buggy than jQuery soup.

The idea of my library was basically borrowed from other functional languages with a resumption monad, meaning that instead of an opaque async task to go do a thing, you have a "plan" which could either be a. done or b. waiting on some errand that requires firing off a query. If you have a list of plans like from a loop, you could step all of them to the next errand they are waiting on, then fire those off in a batch. So plans could be composed linearly or "batch-style" depending on your preference[2].

What makes it very powerful is the combination with an F# type provider that could analyze your SQL and automatically determine a caching profile for each query. It knows what tables the query reads from, what tables it writes to, whether it uses any impure functions like random(), etc. So within one transaction, it wouldn't re-run the same pure query again, it would pull the results from a local cache -- except if another command issued in that transaction updates those tables, the cache is automatically invalidated. This solves the other code smell that starts to accumulate as you try to write efficient database code in a complex app -- keeping materialized objects loaded in memory and passing them around to other functions so they don't have to re-query for them.

Anyway, it was a little too weird to catch on, and I was a little too burnt out to maintain it.

[1]https://github.com/fsprojects/Rezoom.SQL

[2]https://fsprojects.github.io/Rezoom.SQL/doc/Rezoom/README.ht...


Possibly. But I noticed offhand in the DFW, Texas area there many local streets - sometimes flat ground-level parking lots - paved entirely in concrete, not just highways. Apparently for them the up front investment in "normal" (portland?) concrete is more economical.


There was a stretch of U.S. highway in my hometown that was built with concrete slabs. It is actually very durable and lasts for decades without need of repair, but it is also done in segments and the segments shift and create unevenness over time. Its not a terribly bumpy ride but it definitely isn't smooth like fresh asphalt. Anyways, at some point they grinded off a small layer of concrete and paved over the top with asphalt. When asphalt is fresh its definitely a more enjoyable drive.


Iirc, part of the problem with putting asphalt on top of a well-made roadbed in DFW was the asphalt never lasted because of the heat.

They are now paving the concrete roads in Plano with a temperature resistant asphalt.

The road noise difference is palpable


> Amazon's only core product that they care about now is their stock price.

"Only" here is incorrect. I posit every public company's primary concern is stock price. But certain behaviors and values align with driving that stock price up and for Amazon it's Customer Obsession. And they are not obsessed with it because they love you, it's because they love your repeat business. But that obsession means your happiness and their stock price are aligned, for now.

I pushed Purchase on Amazon one day and was opening the package 36 minutes later. I can barely drive down to a gas station, get a coke and come back in that time. But I wanted a particular, random item one morning and was setting it up within the hour without leaving my seat. Ebay and Walmart and Local shop can't do that.

I support leaving out of principle, that's laudable. But it won't be because they aren't good at delivering CX.


It's not very customer obsessed when their email that they send me doesn't even have which items I've ordered.


That's because you probably are using gmail, and Google is reading your emails and harvesting your shopping history. That's why Amazon is being secretive: to deny Google that information.


I am not using Gmail. I like having the actual order details in my email so I can keep track of various orders without needing to go to Amazon's increasingly sluggish website.

Not to mention that finding previous orders via email is much, much faster than going through their website.


I.e you’re saying AWS values hiding data from google more than customer satisfaction.

That doesn’t sound like being customer focused or obsessed at all.


I'm ok with Google having that information. Where is the checkbox to enable including useful details in emails?


The fact is that Amazon has at least two customers here: you, the user trying to find an item to buy, and advertisers, likely trying to convince you to buy a lower quality product. Who wins? I'm guessing the advertiser. They are far more likely to have a sales contact, anyway.


> And they are not obsessed with it because they love you, it's because they love your repeat business. But that obsession means your happiness and their stock price are aligned, for now.

But they're not maximizing repeat customers, they're maximizing repeat customers multiplied by product fees. (roughly)

They would prefer 100M customers paying $4 a product over 250M customers paying $1 a product.

They keep driving up product fees more and more, reducing how happy the buying experience is.


Getting something 36 minutes after ordering it is a nice surprise and great customer experience. I’m usually happy with a day or two.

After spending close to 6 months and countless phone calls trying to get a refund processed the bad experience is outweighing the good for me.

The entire experience on the unhappy path is so obnoxiously dreadful i don’t purchase anything on Amazon over an amount I’d be fine just losing. Even though 99% of my orders have been absolutely fine.


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

Search: