"Okay wth, today we're going to make the entire base solar powered"
When making software that's supposed to be used, you can't mess around that much. At the end of the day, someone has to use it and if its weird it'll be bad.
But in Factorio? Nobody is using it so sure, make it bizzare. Change the rules, let yourself go. Don't test the design just send it.
Bored? Too challenging? Don't bother finishing the design do something else.
> When making software that's supposed to be used, you can't mess around that much. At the end of the day, someone has to use it and if its weird it'll be bad.
This makes me sad.
You don’t need to make software for mass appeal.
Git is weird and bizarre (especially when initially released), but it’s used and well loved.
> You don’t need to make software for mass appeal.
Hear, hear. I would tell you all about the tools my household runs on but it is as you say. Still gives me a lot of satisfaction to make stuff that makes life better, and for someone more adventurous than me it might also be something you can use to try out new technologies or build something for on your CV. The only downside is that internet connectivity being down means, e.g., you need to remember to load the grocery list before leaving the house that has the server in it and better hope your phone doesn't decide for you that the page needs to be unloaded on the way!
Phones being unreliable and making data-tossing decisions without your involvement is indeed the complaint I meant to share. It has been a pet peeve about Android since day one and it has only gotten worse (websites like dontkillmyapp come to mind); would hope that being aware of the downsides helps us fix or reliably work around the issue one day
I don't understand the first point though, do you mean I should set up remote access? Because that's definitely there, it's just that if the uplink is down on the ISP's side or whatever, then you can't access the system outside the house. Or if I were to host it outside the house, then you just shift the SPOF to a different location. What are you suggesting or pointing out exactly?
> Any changes will be updated when you next get back home [...] removing need for the cloud
More than one person can be in the grocery store. Syncing a file does not work because you overwrite each other's changes; this is what we started with but this is why I made (what I call) multiplayer groceries in the first place
And note that I also don't need a "cloud"; it's hosted on my own system rather than someone else's
That's... the situation as described in the post which the comment above you was responding to?
> The only downside is that internet connectivity being down means, e.g., you need to remember to load the grocery list before leaving the house that has the server in it
Wireguard or Tailscale Inc. are not magically going to resolve that situation. Does Tailscale even work locally if your internet is down or does it require their cloud for NAT punching regardless of whether you're on the server's LAN? For starters
We keep a postit list next to the breadmaker and write stuff down when we need to get something. Then when it is time to go shopping, we simply peel off the list and away we go.
I am getting disgusted by people who need to have that screen in their hand, all waking hours.
I won't go so far as to say I'm disgusted by what others do, but I am increasingly resenting having to use my phone for myriad tasks that shouldn't require a phone in the first place. Like unlocking my apartment door. It's obviously so that someone can get a recurring cut where they would have once provided a one-time semi-permanent solution (like a key, or a notepad).
I mean, maybe some of this will be blunted over time as open source slowly eats away at these utilities, but until then I view my phone like a grenade, or a drug, or a slot machine, or a money-eater.
My apartment recently moved over to “smart locks” and I immediately noped out (app is slow), choosing to memorize the codes instead. This was clearly an afterthought since about 40% of the time touches are missed when using the keypads.
Why anyone wanted to unlock their door with their phone instead of tapping a fob, I’m not sure, but the only interesting feature (temp access for friends) doesn’t seem worth it.
"Why anyone wanted to unlock their door with their phone instead of tapping a fob, "
I would want to do it with my phone because then I only have to have one thing to carry around with me. I haven't carried a key ring in years. I don't even carry a wallet these days. It's really quite useful. Way fewer trips back to fetch the keys/wallet, etc.
> I would want to do it with my phone because then I only have to have one thing to carry around with me.
I would prefer this to be a keyring over a phone for aforementioned reasons. Secondly, the app is buggy and often just fails to work. Third, it takes a good deal of time to take out the phone and fumble around with the software.
I rarely need to open the software to make my car open the door automatically. Once in a blue moon I need to actually open the app to force it to connect. I actually can't remember the last time I needed to do that. It's normally completely seamless. The phone stays in my pocket - the doors unlock when I'm nearby, and lock when I leave.
That's my experience of course, other car apps might be much different. But that's an issue with the implementation, not the concept.
Maybe, but if you really don’t want to carry stuff around then it’s optimal to just type the code in (…which is why it makes zero sense that the keypads suck. except that they were being cheap.)
Then what I'm carrying around is a bunch of codes in my head which is its own form of baggage, or I re-use the codes and that comes with the same risks as reusing passwords has. Using the phone for everything has risks too, but I think not much differently than a password manager does, and most phones I've used have a reasonable device recovery process (not that I've had to use them or have expertise in that area...).
Carrying a single thing (which has a bunch of other uses than just access control) doesn't feel like a burden to me.
That said, I don't disagree at all that the typical keypad for access control on everything pretty much sucks. My front door has like 4 buttons only and does the telephone keyboard thing of using the same button for multiple 'numbers' in your code. Time to jump on amazon to look for a decent front door lock that works with my phone :)
> It's obviously so that someone can get a recurring cut
As the person who started this discussion about needing software for household things, let me be clear that this is not the sort of situation I'm talking about! The things I use, I either made or maintain myself because it's my hobby. Nobody needs to use them who doesn't want to and there is no cut. I think the conversation diverges here as this is not the same situation! Probably anyone would agree that being forced to use something or other is very different from being able to use something or other.
In the part of the world where I currently live there are cafes/restaurants that have a menu ONLY in the form a QR code that leads to some shitty slow and laggy webpage with the actual menu. I can't express how much I hate this.
Why do I even need a smartphone the go to a restaurant and eat something? Why would anyone effectively refusing service to people who don't have smartphones or do not want to use them? If I need their service and have money to pay for it why would they put additional obstacles in my way? What's their motivation for scaring of a potential customer using totally arbitrary criteria that has nothing to do with the service they provide?
This. And then getting shouted at or (less than politely) talked down to for wanting to talk to the staff for how they deal allergies. Only to finally load the menu, show them the information isn’t there, and promptly walk out.
My apologies that using available technology to improve upon suboptimal solutions disgusts you. In case it helps to know why "that screen" improves upon paper in the first place:
- I'm not always home when I decide to want to buy something, so then I couldn't write it on that paper
- We go shopping together most of the time. That screen lets you check items off and sync that to the other person's that screen. Alternatively, there is a mode where it gives each participant a subset of the items so you don't get duplicate things
- That screen can give you the list in the right order if you just tell the app one time what layout a store has (e.g. first the bread and breakfast things, then the cooling section, then the freezer section.. those sorts of categories)
- That screen can also work with a map function where it does a traveling salesperson problem to find a good path to walk down to get each item, but this requires entering the location of everything rather than just having everything broadly categorized
- That screen suggests things you frequently buy, so it's one tap for what you commonly need
- That screen can temporarily hide items you are going to get in the next store, so you can glance and see that the list is clear and you're good to go check out and then unhide the things when you enter the next store
- That screen can automatically add items from recipes you've added
- You have that screen anyway. The pen and paper, on the other hand, are consumables
We could forego all these benefits for, eh, not being "glued", whatever the advantage in that is. It's not like I'm getting distracted by notifications in the store if that's what you're worried about
I'm getting the distinct impression that handwriting human language may be beyond the basic capabilities of the Modern Human.
Seems to be memory and basic cognitive difficulties such as "sorting" whatever that means when actually buying the stuff in the store. I've been buying stuff in stores constantly for 50 years and I'm very fast, without aid.
But boy howdy these devices sound like just the tool for people with actual cognitive difficulties; we should make definitely sure that they have them. Might be a problem though on the data entry side.
Yeah, as a last resort that is a good suggestion. On a proper computer you could even use "save page as" and have it run the javascript so you can use all of the functionality (e.g., checking items off, or temporarily hiding when you're planning to get them in the next store) except that the syncing will fail until you get back home, which would be okay then.
It's a rare situation though, otherwise it would have been worth it to make a proper app that caches all data locally rather than a webpage
> You don’t need to make software for mass appeal.
Some people, like myself, enjoy writing code but need a purpose to write code. If I don’t have a reason, or problem to solve, I can’t just sit down and start coding.
Honestly, that fits into the same boat for me. I like fixing problems for people and I’m not particularly creative in the classical sense. So messing with visual effects for the sake of it doesn’t really do it for me. Weirdly, if someone needed it for something, I’d probably pull a 60 hour shift to figure it all out ;-P
I mean, what is “useful” in the sense of “paying the bills” is quite different from “useful” in the sense of social utility - and what you _perceive_ as social utility is a whole other thing on top of that, that’s only _hopefully_ somewhat aligned with the actual thing.
Working on something that feels like it’s only useful as a way to extract money is incredibly unrewarding in my experience, to the point of increasing my feeling of burnout.
Useful does not mean mass appeal. The software I got paid the most to write is used by a handful of people on a manufacturing site and 99.9999999999% of the public will never see it.
It solved a problem they had and I’m proud of it but yea it’s incredibly niche and useful to a very select few people.
I don’t disagree and, to be honest, that kind of work is something I really enjoy.
I’m mostly, personally, talking about building toy apps or hacking my microwave to play Doom. Not throwing shade at those who do, it’s just not what motivates me.
Maybe it's just rose-tinted-glasses, but I remember a time when software was split between "IBM-Corpo" culture, and zany SV/MIT/Caltech culture where people threw things at the wall and proceeded when stuff stuck.
It kind of saddens me that it feels like it's now only IBM-Corpo, and everyone feels the need to be ever-productive and adhere to strict rules and schema.
tl;dr : I remember when the fun Factorio game was qbasic.exe and no one blinked about it. We all had fun.
> It kind of saddens me that it feels like it's now only IBM-Corpo
I think about this whenever I see a new open source library hosted on its own domain with a polished and slick promo material. I really don't mean to throw shade at designers for making nice designs, but it just feels weird and corporate-y to me that the polish is a priority.
There are, of course, open source projects that serve as a hook for selling SaaS products, which is corporate by nature and thus doesn't trigger the same feeling in me.
the permaculture of: patches in emails; binaries on usenet; releases / of sources on maybe less savoury personal web sites
otoh lack of basically centralized source control / git / hub / lab etc would also be missed dearly
depending on context: corporate polish can be fine; especially if software "is infra"; let truly (?) fun inconsequential software be messy and / or fun if sparks joy
apropos permaculture: i enjoyed TIS-100 but never got interested by factorio (maybe its art?) but anyways i'd personally find it more interesting to see more declarative / triggered simulation / play out in ever interesting ways
so maybe biologic systems over industry in space?
maybe there exist such games already? they do in my mind at least; i should look into current simulation frameworks maybe and read up on ecology
TIS-100 was one example of the general context of "programming in games" or "games as programming" which I've actually played and enjoyed. I get that Factorio has a different game loop and broader sandbox than TIS-100, so I can see where you're coming from. Factorio, on the outset however, hasn't quite gripped me. Again, it might be this particular one's art and overall setup, but TBH I also think that outside of constrained puzzling as you say, I'm much more inclined to work on all those little side projects desperately waiting for attention...
In some ways, this reminds me of Guitar Hero and its set of games. As great as those are for getting into music, once you're already into it, it can feel like time that could have been better spent on deliberate practice or at least some good old jamming for fun. I do love games, as long as they don't take up too much time and have an ending. In an earlier life I've already burned plenty of midnight oil on similarly "open ended" play (4X and other strategy or construction games are the worst traps for me). I'd rather finish BG3 at some point - at least that one has a definitive end to the player's story and is a bit more of a change of scenery from what I do for a living (building and optimizing systems).
Then again... maybe I'll finally try Satisfactory which I own through Humble Choice IIRC; or maybe I should avoid doing that at all costs for the reasons above... ;)
Not long after his immersion in LIFE, Gosper himself got a glimpse of the limits of the tight circle the hackers had drawn. It happened in the man-made daylight of the 1972 Apollo 17 moon shot. He was a passenger on a special cruise to the Caribbean, a “science cruise” timed for the launch, and the boat was loaded with sci-fi writers, futurists, scientists of varying stripes, cultural commentators, and, according to Gosper, “an unbelievable quantity of just completely empty-headed cruise-niks.”
Gosper was there as part of Marvin Minsky’s party. He got to engage in discussion with the likes of Norman Mailer, Katherine Anne Porter, Isaac Asimov, and Carl Sagan, who impressed Gosper with his Ping-Pong playing. For real competition, Gosper snuck in some forbidden matches with the Indonesian crewmen, who were by far the best players on the boat.
Apollo 17 was to be the first manned space shot initiated at night, and the cruise boat was sitting three miles off Cape Kennedy for an advantageous view of the launch. Gosper had heard all the arguments against going to the trouble of seeing a liftoff—why not watch it on television, since you’ll be miles away from the actual launching pad? But when he saw the damn thing actually lift off, he appreciated the distance. The night had been set ablaze, and the energy peak got to his very insides. The shirt slapped on his chest, the change in his pocket jingled, and the PA system speakers broke from their brackets on the viewing stand and dangled by their power cords. The rocket, which of course never could have held to so true a course without computers, leapt into the sky, hell-bent for the cosmos like some flaming avenger, a Spacewar nightmare; the cruise-niks were stunned into trances by the power and glory of the sight. The Indonesian crewmen went berserk. Gosper later recalled them running around in a panic and throwing their Ping-Pong equipment overboard, “like some kind of sacrifice.”
The sight affected Gosper profoundly. Before that night, Gosper had disdained NASA’s human-wave approach toward things. He had been adamant in defending the AI lab’s more individualistic form of hacker elegance in programming, and in computing style in general. But now he saw how the real world, when it got its mind made up, could have an astounding effect. NASA had not applied the Hacker Ethic, yet it had done something the lab, for all its pioneering, never could have done. Gosper realized that the ninth-floor hackers were in some sense deluding themselves, working on machines of relatively little power compared to the computers of the future—yet still trying to do it all, change the world right there in the lab. And since the state of computing had not yet developed machines with the power to change the world at large—certainly nothing to make your chest rumble as did the NASA operation—all that the hackers wound up doing was making Tools to Make Tools. It was embarrassing.
Gosper’s revelation led him to believe that the hackers could change things—just make the computers bigger, more powerful, without skimping on expense. But the problem went even deeper than that. While the mastery of the hackers had indeed made computer programming a spiritual pursuit, a magical art, and while the culture of the lab was developed to the point of a technological Walden Pond, something was essentially lacking.
The world.
As much as the hackers tried to make their own world on the ninth floor, it could not be done. The movement of key people was inevitable. And the harsh realities of funding hit Tech Square in the seventies: ARPA, adhering to the strict new Mansfield Amendment passed by Congress, had to ask for specific justification for many computer projects. The unlimited funds for basic research were drying up; ARPA was pushing some pet projects like speech recognition (which would have directly increased the government’s ability to mass-monitor phone conversations abroad and at home). Minsky thought the policy was a “losing” one, and distanced the AI lab from it. But there was no longer enough money to hire anyone who showed exceptional talent for hacking. And slowly, as MIT itself became more ensconced in training students for conventional computer studies, the Institute’s attitude to computer studies shifted focus somewhat. The AI lab began to look for teachers as well as researchers, and the hackers were seldom interested in the bureaucratic hassles, social demands, and lack of hands-on machine time that came with teaching courses.
Levy, Steven. Hackers: Heroes of the Computer Revolution - 25th Anniversary Edition
Thundering towers blasting into space is a primal thrill... but what if the hackers can do all of that with some aluminum foil, duct tape, and other things found in every garage workshop?
Big and flashy bets are expensive, many small bets are a far, far better way to explore the design space, especially now that we can share all the results with almost no cost.
The hacker culture is still there but hacker social media (unless carefully curated) is flooded with optimized content to the point where the cool stuff is hard to find and you only see the grifter techs.
There’s loads of hacker spirit still alive in the homelab and home automation space just to give one example.
Having lots of fun tinkering with Proxmox, Wled, Shelly devices to manipulate electric rollers, and more. Couldn’t quite get Valetudo running on my robot vacuum (my model isn’t the easiest to hack) but the concept is so cool. Triggering automations With dirt cheap NFC tags or a cheap wireless numpad is so satisfying.
Building an *arr stack is another area where there’s tons of amazing creativity online and the hacker spirit still lives on.
You don't even have to look per se. The YouTube aglo provides me a lot of interesting content that isn't especially high quality or production value. I do take an effort to ignore click bait as much as possible and click "don't recommend channel" for things like MKBHD and LTT, because those crowd out original content if you let them.
What do you mean, back! There's more than ever! We're overflowing with talented peeps hacking on cool things, writing nice blogs publishing zines, and so forth and on!
The formerly-counterculture conventions got so cult and big they grew a counter-counterculture of smaller places.
Outside the walls of the AI SaaS grind. There be life.
> You don’t need to make software for mass appeal.
In Factorio, the things you make don't need to have *any* appeal. It's just fun.
If you have more fun making random wonky software, that's great for you and I'm happy for you. But I personally find Factorio to be more fun than software when I'm trying to enjoy my days off. (at least, some of the time. Sometimes I have fun making software too but only if I have that 'itch'. With Factorio, it's fun even if I don't have an itch)
The core of Git is incredibly simple and elegant (content addressable database). It's an amazing approach to how to represent the data that needs representing.
The UI is the challenging bit, and that's because Linus just slapped something on to demonstrate it, expecting that a proper UI would be built over the plumbing he'd created.
Used? Certainly. Well loved? Oh boy do I disagree.
I think it's an extremely powerful tool, and it's worth knowing how to wield it well, but that power comes at the expense of user friendliness, especially for junior devs who don't have an intuition of git internals and how commands map to them.
Rebasing, reflogs, pickaxes, 3 way merges, merge directions, the fact that merge directions are reversed during rebases, are all weird things that are pretty specific to git.
At least as far as how they’re presented
> First time I hear such nonsense
You don’t seem to listen very closely. Linus himself recognized git’s perceived weirdness in a talk he gave about it years ago.
I don't understand, I can make whatever software I want, for whatever purpose, and it can still be impactful, depending on the user. It feels way more impactful than anything I can make in Factorio or similar.
When I asked Kovařík about this, he brought up Euro Truck Simulator, a wilfully mundane game about hauling cargo. The developers, who are friends of his, once told him that many of their most enthusiastic players are ... truckers. Truckers who spend their time off from their trucking jobs pretending to do more trucking ... a lot of people actually enjoy the work they do. They just don’t always enjoy their jobs that much, because of all the things that get in the way of the work.
If you like Power Wash Simulator, you'll LOVE the relaxing meditative idle game Paint Drying Simulator, and the exquisite organic fractal patina of its sequel, Paint Peeling Simulator. ;)
No, it’s boring to use cheap personal attacks (like I responded to) instead of actually engaging. If I wanted to read that, I could find it in YouTube comments.
I figured out a good cadence; first threads discuss a schema and sketch/iterate over an ERD and C4 diagram. Then we have threads to build modules on top of a framework. It knows if we're working with python/typer/pydantic or go or typescript and various frameworks/design decisions... Key is keeping topics separate so contexts don't overrun. And be explicit to say "don't re-generate code just talk high level" etc.
It depends on whether you make software for a living or for OSS. One does not preclude the other, even if one is rarer. Given my situation, as I had initially stated, I am part of the latter. Even still, were I the former, I still don't get why one would work "for free" basically, especially in terms of a game versus real life.
If you’re building oss with no users, or just for yourself, you’re functionally doing something more like art than coding in terms of how you prioritize and execute.
Here's to hoping things like Patreon and GitHub Sponsors make it more common. These platforms could truly change the way things are done in the software world. Given enough sponsors, I could quit my job and focus on free software every day.
Of course not. I think you misunderstand, if a game is too similar to real life, I am unsure why I should play it, whereas if it is fairly different, such as an FPS, it becomes much more fun for me. My question is primarily on the former, of why people seem to play a game that basically is like work but has no benefit for them. If it's fun for them, then that's fine, but my question more, why is it fun for them in the first place? That's really what I want to figure out.
Sometimes it's fun to do things when there's no real world consequence attached to failure and experimentation even if the mechanics are similar to something we do for work.
I sometimes do project euler puzzles for fun. I'm a CS professor - this starts to feel kinda close to my job. But it's relaxing and there's no pressure and no one is affected when I screw up; I just get to keep kicking at it, or put it down. The freedom makes a big difference.
The "solving an interesting problem" part of my job is the part I love. It's the other stuff I need a break from sometimes. :)
I think I can answer this to some extend. I kinda feel like you do, that playing factorio is time that I could more productively spend on side projects (especially considering how much time it costs), but I don’t kill bugs in side projects, don’t build train lines, don’t build spaceships. I play factorio because the dopamine hit when something comes together is nearly the same, but the actions I take are different enough to stay fun.
Also, I just think it’s good to not look at something that’s too much like work once in a while. Even if factorio is closer than many other things.
It's fun to solve problems. How do I optimize this sub-factory? - That's the same fun as "how do I optimize this function" but instead of a green light from my test runner one gets a colorful display of a working factory with a visible result. The fact that I reduced memory usage of that function by 10% I don't see in that way. And probably both both are equal in benefit to humanity's progress (zero)
> When making software that's supposed to be used, you can't mess around that much. At the end of the day, someone has to use it and if its weird it'll be bad.
Sue you do. And you’re not obliged to keep it in some workable form just because they use it, they can use something else.
>When making software that's supposed to be used, you can't mess around that much. At the end of the day, someone has to use it and if its weird it'll be bad.
More counter-examples: LaTeX, vim, Regex, Blender, SAP, most Unix CLIs...
"Okay wth, today we're going to make the entire base solar powered"
When making software that's supposed to be used, you can't mess around that much. At the end of the day, someone has to use it and if its weird it'll be bad.
But in Factorio? Nobody is using it so sure, make it bizzare. Change the rules, let yourself go. Don't test the design just send it.
Bored? Too challenging? Don't bother finishing the design do something else.