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

It seems to me that what the FOSS world needs in order to succeed is an extreme push towards forming a class of programmers specialized in reverse engineering. We already have plenty of capable coders who have written so much useful software, but does is matter if we can't use all the hardware at our disposal? Our devices are filled to the brim with accelerators, sensors and assorted specialized hardware that we could be taking advantage of, but they are all buried behind proprietary drivers or just plain inaccessible firmware.


What a waste of human potential that would be.

Don't get me wrong those peoe are heroes. They're literally sacrificing their life time for a good cause. But like with many such many hero stories, some bureaucrat could have resolved the issue with the stroke of a pen.

What we need is an extreme push against a culture of secrecy and disempowerement of device owners.


You’re wrong about it being a waste of potential imo.

It’s real world training for reverse engineers. Having worked in that field myself I can tell you I was never surrounded by so many smart, talented and exceptional people as when I worked with other reverse engineers (especially in the video game world).

RE is a necessity, and it paves the way for some incredible talent to shine and practice.


I think the argument is that in a better world where everything came with open specs we wouldn't need reverse engineers and those smart people could spend their time on something else. It's an argument pointing out where we live away from the global optimum.


Yes and my argument is that we might lose out on the skills being developed by fantastic reverse engineers :)

A global optimum would include some other way for these legends in the making to train.


They'd be solving other low level problems instead I assume. Systems that are unintentional blackboxes instead of intentional ones.


That is like saying it would be a waste give aid to refugees in war zones because we shouldn't have wars in the first place. There will always be push back against open hardware as long as it is profitable.


Not having a war is much harder than approving the release of a bunch of documentation PDFs that you have already.


What is done is done. Even if some piece of legislation were to come out tomorrow all the older devices would still be completely closed off. Would we have to collectively just push to move to the new open-by-default devices or should we persist in reverse engineering the older stuff?


That's not how laws work.


Are all laws retroactive? The EU has now mandated the use of USB-C, does that mean I can bring my iPhone 4 to Apple and have them solder the new port?


Laws can say you cannot sell any more X unless it complies with Y. That's not a retroactive law.


I don't think you've read my reply correctly. If a law were to come out that said "you can't sell any more X unless it complies with Y" we would still have billions of devices that don't comply with Y. So even if a law about open hardware/firmware were to pass in the next few years, we would still need a huge reverse engineering effort to open up all the older devices. Unless you want to argue that, yes, we should forget about those older devices and all jump on the new compliant platform, I think pushing hard for good reverse engineers is a very implortant priority


> So even if a law about open hardware/firmware were to pass in the next few years, we would still need a huge reverse engineering effort to open up all the older devices.

Not necessarily. Impose a tax on all products where the manufacturers do not release all documentation even for past devices, that should serve as a pretty decent incentive.

Yes, legally it's a questionably grey area, but to be honest it's time to actually use our market power.


Some laws are retroactive, some aren't. And, anyway, "you must publish the specs of any hardware that you keep selling" isn't retroactive in any way, but would solve most of the historic problem.


Not all are, but they can be. There's typically a bias (can't remember the name, but it's a known concept) to not change the legality of past actions. But there have been and could be situations where previously-legal actions were retroactively outlawed and punished. It comes down to a decision per situation: what is a higher good: the individual's ability to rely on my current action to be legal in the future if it is legal now, or rather the ability of society to deter from things even though the laws haven't been updated yet. Prominent examples of this (sorry for the Godwin spin here) are punishments of Nazis post-war, for actions that were technically legal during the Nazi years. The argument being "being able to rely on the law not being applied retroactively is not a higher good that stopping people from doing clearly immoral things."


Nazi warcrimes were punished retroactively for a number or reasons, political and not. One of the most important ones was that what the Nazis did was blatanly wrong. You can't seriously claim that killing millions of people can be justified simply because there isn't a law about it, it's something so intrinsically evil that you can't rely on pure formality.

Arguably, refusing to publish literally every single document pertaining to proprietary hardware is not on the same level of obivous malpractice as a genocide, so I think you could have proposed a milder example to argue your point.


Fair point, not sure why you're being downvoted...

I would never dream to equate proprietary documentation to Nazi war crimes. That's without question. I just used this because, like so often, in questions about these war crimes, there is no real argument to be made for "the other side" so it clearly shows the line of reasoning for breaking with a legal convention in specific cases. You said it yourself: "it's something so intrinsically evil that you can't rely on pure formality." Which is exactly the point. Protecting the perpetrator just because there's also a value in relying on their actions being legal at the time just doesn't outweigh the cost of letting them get away with such monstrosities.

A more recent and less evil example would actually be the Cum-Ex scandal. One question was whether money would have to be given back, given that what happened might be technically-legal but blatantly, and expressly against the spirit/intention of the law. But that whole thing is still being fought out so the conclusion is less clear cut.


Completely agree. I took matters into my own hands with my laptop. Wasn't able to reverse engineer everything but I got many features working on Linux and the result was better than the proprietary Windows app.

I wish I was knowledgeable enough to tackle more complex hardware like webcams. Perhaps one day I will be.


> I wish I was knowledgeable enough to tackle more complex hardware like webcams. Perhaps one day I will be.

https://lkml.org/lkml/2020/9/17/363

People who started the job on Surface webcam hardware didn't even know C to begin with ;)


Yeah that's impressive... I have to step up my game then. :)

I was able to intercept and reverse engineer much of my laptop's USB features. I hit a wall when I tried to figure out the ACPI stuff. There's some fan control functionality in the Windows app that's missing from my software but the fans are terrible and always at 100% anyway so at some point I decided to just let it be.


What about if we just form a class of programmers that exclusively work with Linux and buy Linux compatible laptops? That would be my preference.


What's the point of that? One of the benefit of having a FOSS platform is that you can keep supporting and updating hardware and software that in the normal proprietary economy would have been abandoned a mere few years after entering the market. If instead of pushing for reverse engineering we simply made more and more people buy Linux-compatible devices (which still doesn't mean they'd run FOSS) we would have a humongous amount of perfectly fine hardware locked down and unable to be properly used.


That's martyrdom and it isn't even for a good cause IMO. If someone buys Windows-only hardware that loses support after a few years, that's on them.


> If someone buys Windows-only hardware that loses support after a few years, that's on them.

Unfortunately, the FOSS world isn't always able to cater to professional and prosumer crowds.

If it is absolutely critical to my work that a piece of hardware has feature X, then I'm going to buy it regardless.

I'd choose a FOSS-compatible solution if it were available, but this hasn't been the case many times in my career. (Yes, I can provide concrete examples if necessary.)


I think if say 15% of buyers demand Linux support, then it can become a standard feature of most sold equipment. Just like Windows support.


> Just like Windows support.

Completely non-existent? Either a laptop comes with windows or you get zero support. See every chromebook ever.


If you're reverse engineering you've already lost. Long-term it's much cheaper to buy FOSS-friendly hardware (AMD+AMD).


You are absolutely correct. We need an organisation that channels lots of money into hardware and software reverse engineering. This is of course how Linux started (without the funding); developers doing reverse engineering in their spare time on the hardware that they had and wanted to use.


Judging by Asahi, FOSS will be fine.

The real question is where the hell is the open source hardware?

Engineers working for NVIDIA, or camera IP core specialists are not gods. Let's just make our own god damn camera and GPU.


On that note, I recently read that Asahi now has pretty much a finished driver for the M1 GPU. How did they pull that off that quickly? Was there extensive documentation available?

Thanks to nouveau being mediocre at best and lagging 2 or 3 generations behind until it has usable support for a GPU, I always assumed writing a decent GPU driver through reverse engineering must be next to impossible.

So what's up with Asahi? Were there just some gifted Wunderkind working on it? Is the architecture so much simpler? Is there more information available? Iirc it's based on powerVR, so not completely unknown, but then again the nouveau team got some hints from Nvidia in the past, and also they have been working on it for a really long time in comparison. Just really curious.


> I recently read that Asahi now has pretty much a finished driver for the M1 GPU

Where have you read that? According to Asahi Lina's tweet from a few days ago, they are just starting with it:

https://nitter.net/LinaAsahi/status/1559408257965309952


Hmm, I can't seem to find it, but it was some article maybe half a year ago, where in the end they managed to render some model of a rabbit with shaders and all. Am I remembering something else here?


> Am I remembering something else here?

No. That has indeed happened. It was a work by Alyssa Rosenzweig [0].

If I understand correctly, she implemented the userspace Mesa driver. The kernel driver is being developed by Asahi Lina. Together, they are meant to provide "full open source graphics stack for 3D acceleration on Asahi Linux" [1].

[0] https://rosenzweig.io/blog/asahi-gpu-part-5.html

[1] https://rosenzweig.io/blog/asahi-gpu-part-6.html

Edit: make the quote more accurate, adjust formatting


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

(“Dissecting the Apple M1 GPU, Part II”)


nouveau has the problem that they rely on nvidia signed firmware blobs for some functionality (like reclocking), and if nvidia don't want to give them those blobs, then they can't use the features the blobs enable. With nvidia's Linux kernel driver going open (but firmware and userspace staying proprietary), the firmware will be released separately and be redistributable, so nouveau will be able to use it.


> if nvidia don't want to give them those blobs, then they can't use the features the blobs enable

Nvidia is giving these blobs to Windows users who download their drivers, so why can't they write a script/etc that extracts blobs from a Windows driver binary and let the user download that binary manually?


They are giving the blobs to Linux proprietary driver users too. I'm not sure why that isn't viable, but they definitely did it for very old unsigned versions of the firmware on old GPUs. I guess they got tired of the upgrade treadmill if they aren't doing it any more, but probably they have such a script for their own reverse engineering efforts but don't want to deal with the support issues from when users try the script against newer driver downloads etc.


> Judging by Asahi, FOSS will be fine.

Or rather: based on the results of other contemporary complex hardware RE efforts, Asahi will never be relevant. Think of _how many GPU hardware_ there have been efforts to RE, and how few have produced any drivers that people would be happy to use on a daily basis. How many people use Nouveau these days? PowerVR SGX (a "GNU high priority project" from a decade ago!)? Lima? Even Panfrost?

In fact, this entire IPU webcam thing is not new. We've had hardware with IPU for at least half a decade and literally _NO_ such device works with Linux, only a couple devices half-work, and very poorly at that.

There are much fewer people working on hardware support on Linux that you may think.


> The real question is where the hell is the open source hardware?

Agreed. I get so angry every time I think about the amount of Verilog and VHDL that will never, ever get released even after the companies responsible for it die and even after many years have elapsed.

Where is the 3Dfx VSA-100 source, for instance? What technical advantage could it give NVIDIA now? They purchased 3Dfx twenty years ago!


They don't necessarily own the rights to all the source. You can't release it if you licensed part of it from some other company and that company is now dead.


The problem is that fabricating a chip has upfront costs measured in 10s of millions for the masks, and the chips that come out aren't all uniform -- there is more work required to do to capture variations in power consumption, rejecting bad parts, etc in order to bin them to target different price points. It's hard to do at a reasonable cost per chip without huge volume.


So you backed a developer-oriented project all about open source software and your test to see if it was garbage or not is to consume proprietary video content and play video games through virtualization?


> So you backed a developer-oriented project all about open source software and your test to see if it was garbage or not is to consume proprietary video content and play video games through virtualization?

The referenced Kickstart was for the first pine64 boards, not the phones or laptops:

https://www.kickstarter.com/projects/pine64/pine-a64-first-1...

They were marketed as being "high performance" for both Linux and Android. They weren't, plain and simple. They were next to useless for anything.


These are things lots of people, even developers, do on their phones - play games and watch videos.


Don't you think there's a difference between "it's annoying I can't watch full blown movies on this experimental phone" and "it's garbage because no Netflix"?


It depends on what you were expecting. On their A64 Kickstarter they said the graphics capabilities are higher than the original XBox's level of performance. That might lead a person to expect it to play games well. The screenshot included a Netflix icon. The Kickstarter FAQ says it can play UHD 4K video. That might lead you to believe you could watch Netflix on it.

As I understand it, the phone is based on the A64 board.

On top of all this, on the PinePhone page they link to a video titled something like "This $200 phone can do ANYTHING!".


It can play 4k videos and it can play games, but expecting it to play 4k videos through an unoptimized browser with DRM and play virtualized games is extremely disingenuous.


Maybe they shouldn't include Netflix in their screenshot then.


Are your feet sore from moving the goalposts that far?


Are you seriously telling me you expect an ARM board running mainline Linux to play virtualized Android games? This is beyond beyond disingenuous, is somebody paying you to write this or what?


Yes, but they probably should not be buying experimental products for this purpose. Set your expectations according to your purchases. The Pine store makes it abundantly clear that this is not a device which you can expect to plug-and-play for whatever use-case you have.


> Yes, but they probably should not be buying experimental products for this purpose.

You misunderstand. i didn't back the phone/laptop. i backed the first pine64 boards, which were marketed as being much more capable than they turned out to be:

https://www.kickstarter.com/projects/pine64/pine-a64-first-1...


I have one of the original Kickstarter A64+, it has happily run low disk I/O tasks for years (on account of the uSDcard).

Right now it runs some services through Docker and is pretty dang solid.

I've never taken any manufacturer's performance claims too seriously, there's always an angle.


>you can update the UI of a car with a touchscreen but not one with buttons

A car is a dependable tool. Changing the UI during a car's lifetime is dangerous and unprofessional. I'd say the same is true for smartphones and computers but I guess the majority of people think of them as simple "cool entertainment devices"


Speak for yourself. My car gained the ability to display directions from CarPlay in the heads-up display overnight, while parked in my garage, increasing the value to me massively.


A feature has been added. Has anything changed, though...


Sure, lots of things. No regressions I’ve noticed…


let’s never improve, let’s bifurcate development to support old systems

this is a unproductive conservative attitude

no I won’t get off your lawn

I’ve been burned by changing UIs but it’s the price we pay for progress


>unproductive

tell me more about how updating your car's UI overnight can make you more productive


my point was broader, any one update won’t make you productive it will be likely be regressive

all updates taking together will allow for progress


Progress for progress sake is worse than worthless, and in the case here it’s distracting and dangerous. If it ain’t broke don’t fix it.


Not all movement is progress


Discord clients can't magically implement features that the Discord API doesn't have. The only thing they can do is personalize the experience locally, maybe by changing the interface or implementing more comfortable defaults and shortcuts. This is not a case of a Discord client offering Nitro (i.e. paid) features for free, to get the paid features you have to authenticate yourself through the API meaning Discord still gets the money and everyone's happy.


Why should companies that build products with serverside components be required to let you build your own clients? What you're saying when you make this demand is that it should be unlawful to build closed systems (or: unlawful to build closed systems if there's a network API anywhere in them).


The moment you have a publicly facing API you are saying "these are the rules to talk to us". It doesn't matter what the client is, if it follows the rules then it should work.

A website is a publicly facing API and if two different browsers can talk the HTTP protocol and implement all the other APIs the website requires then you shouldn't be blocked from accessing the website through one of them


You're not really answering my question. "One of the rules of this API is that you exclusively use this client" is an expressible rule. What gives you the right to dictate the terms that other people build by? I don't understand the principle here.


I'll explain why I want the right to dictate the terms by which software on my computer talks to software on other people's computers. It's because it's relatively easy to customize local software to work in ways I and other people want it to, and the only thing stopping us from doing so is arbitrary draconian laws and rules. This results in situations where you can't access a lot of straightforward websites and services unless you download an "app" that's actually just a wrapper around a web browser and a bunch of spyware, and it makes it impossible for people with various minor disabilities to use a lot of services comfortably.

The rule right now is "Any jerkoff can dictate what is and isn't allowed to run on my computer" and I would like to change that rule to "I'm in charge of what runs on my computer, you're in charge of what runs on your computer".


You are in charge of what runs on your computer, nobody is forcing you to use Discord.

There's no jerk dictating what is allowed to run on your computer, there's someone offering a piece of software that you can willingly install on your computer if you want.

If you don't want that, you're always free to not use the software or use workarounds to avoid the things you don't like.

I, for example, hate ads and use adblock always. But I don't think it's fair for me to go and say that everyone should forced to not put ads on their stuff.

I'm not a fan but I understand that I have no right to dictate what people do with their software


This is not true for platforms. If a community decides they're going to use Discord, then you, the individual, are out of luck. You either use that or miss out on the community or convince the entire community not to use Discord.


How is that different from, say, being forced to buy a PS5 or an X-whatever to participate in a gaming community, or to get a Spotify membership to hear a particular podcast?


They aren't very different. With Spotify we actually gave up a lot of power that custom clients had for the lowest-common-denominator sort of stuff, which is really sad.

With each of these products we keep giving up more and more of the powerful variety that was available before. While the average person doesn't lose much, the average person doesn't really exist and we've really lost a lot of long tails of value.


I see the potential value, I just don't understand the principle that enables us to dictate that private companies provide it to us.


I feel a lot of laws dictate what private companies provide us. For example a butcher's meat cannot be covered in rat poison. A hyperbolic example but for giant chat services like this where the wield an incredible amount of power because of scale they are still subject to restrictions by the government for the benefit of the people. The government totally has that overriding right because your companies operating in there county. Don't like it the same way the user has no choice but to not use your interface the company has the right now to operate in the country. Personally I think the api format is a little ambiguous but it's incredibly naive to think that companies cannot be subjected to laws on how they do business just because they built a computer service. With adoption comes regulation to protect both users and companies


The same principle behind antitrust laws: dismantling monopolies is good for the public and good for innovation


Lacking an open-for-all-comers API is not in fact an antitrust violation.


I agree of course, it's not a violation of any laws. I just thought you were asking for some moral principle to justify pressing a developer to make an API available


I mean, it's just not antitrust, at all. A vendor is not coherently a "monopoly for their own products".


As the world changes, we can't always expect new behaviors to ideally fit existing moral principles.

Is there a moral principle preventing a power company from providing you with all your electrical appliances and forbidding you from using those not provided by them?


There are a LOT of jerks coercing people into being used by Discord. Not only that, actively defending it.

FOMO on "community" is a considerable factor. The regular person is quite likely a social being. They will care and value being able to use the same platform.

It is a personal sacrifice to resist it while it remains. Even when a Free Software alternative becomes wide-reaching enough for an exodus, it'll be years too late.


> I, for example, hate ads and use adblock always.

> But I don't think it's fair for me to go and say that everyone should forced to not put ads on their stuff.

You can use ad blocking software because browsers are on our side. Our browsers support uBlock Origin whether webmasters like it or not and they don't have the power to force us to switch.

What companies like Discord and WhatsApp do is akin to contractually requiring us to use a specific browser that does their bidding on pain of banishment from the platform. That's how they get away with advertising, spamming, surveillance, DRM and countless other abuses: by forcing us to run their software on our computers if we want to use their service. If we could run our own clients, they would be powerless.


The terms of service are just Discord being transparent about what they’re doing.

The thing actually stopping you from using Discord with a third-party client is that Discord’s server software responds differently to the way the third-party clients talk to it.

You’re in charge of what runs on your computer, and they're in charge of what runs on theirs.


They are not transparent, since it's proprietary software.

The likelihood they sell/yield personal user data/metadata is too high to ignore.


> and I would like to change that rule to "I'm in charge of what runs on my computer, you're in charge of what runs on your computer".

Who is forcing you to install Discord?


A study group, a programming community, any social group that you want to be a part of and they've decided to use Discord.

Don't like the Discord client or have trouble using it? Pay the price of not participating in dozens of communities you would like to participate in.


It reminds me of being a little kid growing up in a house without any channels on TV which had been my parent's deliberate decision (to shelter us from all the advertising and presumably, help us become more active and creative). All of my friends would be talking and joking about some show they saw the other night, and I'd be out of that loop. Asking them to explain what they saw would annoy them a little, but I might get a begrudging explanation. For a solid couple of years, my friends' favourite characters from shows like South Park and Family Guy were mysterious figures from apocryphal legends, whose personalities I understood fragments of without actually ever seeing them.

Maybe sometimes I could pick up on a meme without knowing the source material and sort of fit in for a bit. That's what not participating directly can be like, when you're caught at the fringe of your community because you don't use <platform>.


Maybe take it up with those communities?


Or maybe we can just have interoperability and open systems so all users can be happy, and don't have to choose between being obnoxious social outcasts or bow down in total obedience to the surveillance capitalists?


The problem is that all users aren't happy. Having used federated services for years, they're never in synch, and some users always have access to some features that other users don't have.

In fact, the problem is chiefly that a certain group of assholes never upgrade their clients, ever, and disingenuously try to keep everyone on an old version of the protocol, because they don't see a need for new features. Period. I've been through this gauntlet with some long-running open-source projects, and basically these guys were like "plain text and command-line should be sufficient for everyone (and shame on you if it's not!)".

Of course, that's fine if you're a programmer, but then these guys were SHOCKED - shocked, I say, that people's whose primary working medium was images rather than text - you know, UI designers and artists - found it a struggle to work on their project and quickly gave up.

This kind of bigotry constantly stifles progress in the OSS community.

---

There's a damn good reason no federated service even comes remotely close to Discord, and it's because despite all of those features being developed for other clients, repeatedly, there is always heavy social pressure not to leave people out, so "newfangled" features get swatted down by communities, and people are forced to only use the features that everyone supports.

You can have IRC that supports pasting images just fine, but some asshole's client doesn't support it, so you're back to using a shithole solution like external pastebins or personal FTP servers, again. Otherwise you're dealing with a constant "I don't see anything! Why can't you just use something that works on my client!"

---

So no, "interoperability and open systems" doesn't mean all users can be happy. It's a trojan horse to let luddites force obsolete versions of the protocol on everyone because they don't want to update.


This is not the ask. Its just to have some kind of API.


We have interoperable, open systems; things like IRC and XMPP exist.

People chose discord over them.


Indeed. Discord also works just fine in a browser where it doesn't have any privileged access to your system.


While I understand your sentiment, no jerkoff is dictating what is and isn't allowed to run on your computer. You're always welcome to use something other than Discord.


At certain size companies should become platforms. Discord is just about there I feel.


How can a server know I'm using a different client if all the features are implemented? The condition that you may not use a third party client cannot be imposed by the API but is stipulated externally.


> Why should companies that build products with serverside components be required to let you build your own clients?

It's the only way to ensure we have the ability to adversarially interoperate with the offered service.

https://www.eff.org/deeplinks/2019/10/adversarial-interopera...


> Why should companies that build products with serverside components be required . . . ?

Because consumers should be able to make demands in return for adoption?

In a world less completely asymmetrically imbalanced toward capital, consumers would have a say in the products offered them, not merely the option to purchase (or not) rights to use technology as-is.


Network size on a spectrum from "me and my dog" to "society-wide monopoly" should be taken into account. (Not arguing Discord is at any particular point on that spectrum; only that it matters when considering policy decisions and how it burdens a company vs. benefits the public).


You got the causation backwards. There are chat server with open API much before discord like IRC. The only reason discord or something else worked is because they got private funding and operates at loss for many years. And the only reason they got private funding is because they want to reap the benefits of monopoly on its users in future. So if there is some rule like you suggest, discord wouldn't even exist.


> So if there is some rule like you suggest, discord wouldn't even exist.

Yes, exactly! Monopolies are bad and shouldn't exist, so companies that only exist to create them shouldn't exist either. Without Discord and other providers wishing to make a chat monopoly for themselves, development would be driven by need. That tends to create solutions that are much more open and less exploitative of its users.


I was at a phone repair shop and a guy came in saying he got hacked because when he did "something" a new thing popped up that was different from the one he wanted.

Turned out he just upgraded Android to the next version and when swiping down the top bar all the icons were completely different (I imagine it's Android 12?). Can't wait for him to upgrade to 13 or 14 and see what else they can uselessly rework


We still don't have a free software feature phone that has the same polish as bottom of the barrel flip phones from 20 years ago. I have a PinePhone and I'm seriously asking myself how much time it will take to get an experience remotely comparable with even the first iPhone, both in terms of ease of use and features. I believe people are rushing down this road with no real vision of what such a device needs to feel useable. I am planning to start developing something for the PinePhone in foreseeable the future, but just the difficulty in retrieving resources about understanding how the Linux kernel is patched to run on that ARM board, the necessary drivers and how all the various sensors and interfaces communicate really lets me down


It all mostly uses standard Linux interfaces. IIO for most sensors, V4L2 for camera, AT interface for modem, ALSA for codec audio controls, I2C to talk with accessories, USB configfs to configure USB gadgets,...

I struggle to recall something that's purely Pinephone specific from the userspace perspective. I tried almost all the lowest level Linux HW interfaces usable on Pinephone.


>>> just the difficulty in retrieving resources about understanding how the Linux kernel is patched to run on that ARM board, the necessary drivers and how all the various sensors and interfaces communicate really lets me down

maybe you could give it a try and document your trip ? As someone who'd love to help the cause, but who doesn't have much time, a good documentation would help.


It's such a bummer that they use a convoluted platform such as fandom.com to host their stuff. It's borderline unsearchable


>the benefits of writing it have to be elsewhere. In the satisfaction of a job done well. In the beauty and elegance of the code. The timeless perfection.

or, more realistically and less rose tintedly, people want to implement a functionality for their personal use case and hack together some code and libraries to get it done as quickly as possible


Then what would be the point in publishing it? Open source isn't just copying files to GitHub. If you aren't putting yourself out there and helping others understand how they might benefit from your work, then it's like a tree falling in the forest. Evangelizing is probably the bulk of the effort. So who would risk embarrassing themselves by evangelizing a giant hairball they slapped together? Any open source of note, you can always count on the fact that someone poured their heart and soul into it, at some point in the project's lifecycle.


Uhm, I've worked on both free software projects that were "a giant hairball" and on nicely structured things to be proud of.

Whoever has ever done something knows that you can help someone more with a messy project that does something than a near-perfect codebase that does nothing of value. And you publish something to help someone else!

A personal project can be done to achieve something or to aim for that illusive perfection we can never achieve at work (or both, ofc: it's not a XOR). Neither is to be discounted!


Yes but without vision, elegance, and leadership, open source is just a dumpster for corporations. Sure dumps are very helpful. But it's still a dump. There's no reason why it has to be that way. For example, something like Goodwill that's helpful and pleasant at the same time.


Usually if something is being eroded you check what chemicals the erosion releases. If you cook on a pan and you don't analyze the contents of the fumes you are totally responsible


The problem isn't that no one knew what's in the fumes and that those chemicals are being eaten/inhaled. It's that in laboratory testing they never showed any impact on humans - but scale it to few billion people and then you notice increased liver cancer rates.

The only good thing is that making non stick pans with this stuff has already been banned in US and EU for a good while.


I started reading the article and was bored out of my mind. But then the author told me these weren't simple cutting techniques I have already used over and over for decades, but japanese cutting techniques. Naturally this gave it a mysterious and exotic flavor I had never experienced before and now I feel like a medieval ninja when I slice my pretend-japanese carrots! /s


I’ll need to put together a website with various Japanese Python Function Techniques.


I was shocked to discover they use the exact same set of techniques as the French, but with totally different names!


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

Search: