1. 32

    I totally get what the OP is saying. I want technology that is stable, sustainable, liberating, and which respects my autonomy. But the only way we get there is free software. Not corporate-driven open source, and certainly not proprietary software. I wonder if Unix-likes are really the best foundation for building that future; I suspect they might not be.

    If you care about old hardware and alternative architectures, Apple isn’t your best bet. They only target whatever Apple is selling. They’re a hardware company; software is their side-hustle. Well, hardware and now rent-seeking in their gated community, by means of the app store. They’re also a company built on planned obsolescence and “technology as fashion statement”.

    As for stability, most of the big players don’t care, because the incentives aren’t present. The tech field has inadvertently discovered the secret of zero-point energy: how to power the unchecked growth of an industry worth trillions of dollars on little more than bullshit, a commodity whose infinite supply is guaranteed. Surely, this discovery warrants a Nobel Prize in physics. As long as the alchemists of Silicon Valley can turn bullshit into investments from venture capitalists, there will be no stability.

    For what it’s worth, I use an iPhone. It’s a hand-me-down; I wouldn’t have bought it new. It’s an excellent appliance, but I know that when I use it, Apple is in the driver’s seat, not me. And I resent them for it.

    1. 10

      But the only way we get there is free software. Not corporate-driven open source, and certainly not proprietary software.

      I was a big believe in that for a very long time, too, but I’m not too convinced that software being free is the secret sauce here. Plenty of of free software projects treat users, at best, like a nuisance, and are actively or derisively hostile to other projects, sometimes in plain sight (eh, Gnome?). There’s lot of GPL code that only has major commercial backers behind it, working on major commercial schedules and producing major commercial codebases, to the point where even technically-inclined users are, in practice, largely unable to make contributions, or meaningfully maintain community forks, even if the licensing allows it (see e.g. Chrome).

      I’m starting to believe that free licensing is mostly an enabler, not a guarantee of any kind. No amount of licensing will fix problems that arise due to ego, or irresponsibility, or unkindness. Commercial pragmatism sometimes manages to keep some of these things in check at the product development level (which, presumably, is one of the reasons why the quality of Linux desktop development has steadily declined as less and less money got poured into it, but I’m open to the possibility that I’m just being bitter about these things now…)

      1. 3

        Plenty of of free software projects treat users, at best, like a nuisance, and are actively or derisively hostile to other projects, sometimes in plain sight

        I can personally attest to this. I know it all too well.

        largely unable to make contributions, or meaningfully maintain community forks, even if the licensing allows it (see e.g. Chrome).

        I feel this is an argument for having slower, surer process as well. Write a spec before writing and landing something. Have test plans. Implement human usability studies for new UI features. A tree that moves slower is inherently more stable (because new bugs can’t find their way in, and old bugs have longer to be fixed before it’s rewritten) and gives more opportunity for community involvement. But I know this is a controversial opinion.

      2. 7

        I want technology that is stable, sustainable, liberating, and which respects my autonomy. But the only way we get there is free software.

        The only way we get there is with a society that is stable, sustainable, and respects you autonomy. And we haven’t had that since at least the Industrial Revolution (for certain, specific quantities of stability, sustainability, and respect; those have never been absolute). The switch from craftsmanship to mass production made it kinda a lost cause.

        1. 12

          But the only way we get there is free software.

          I strongly suspect that’s not really true. We have to admit that the vast majority of open-source contributors do not have the work ethic (and why would they, they’re working on open source in their spare time because it’s fun) to push a project from “it fits my needs” to “everyone else can use it”. The sad situation is that most projects are eternally stuck in the minimal viable product stage, and nobody is willing to put in the extra “unfun” 80% of work to polish them and make them easy to use and stable.

          I know this is a problem I’m having, and I doubt I’m the only one.

          1. 7

            This really is the problem.

            Nobody wants to do usability studies, even informal ones. Hell, I just gather a group of friends + my Mum and have them sit at my laptop and tell me what they like and don’t like about the FOSS I’m writing, and from what I’ve gathered my UIs are miles away better than most others.

            Nobody wants to write a spec or a roadmap. Personally, I grew up loving discussing things and learning, and I view requirements gathering as an extension of both of those activities, so it’s really enjoyable for me.

            I run my FOSS projects kind of like how most corps used to run corp dev (somewhere between waterfall and agile). I feel that the quality is higher than most others, though I admit it’s subjective. And, you always like what you make because you made it so it works the way you expect.

            But in my opinion, process really is the problem. But if process was required, most FOSS wouldn’t exist, because nobody would really want to follow that sort of process in their free time. (Present company excluded.)

            1. 7

              I really want to see more UX designers get interested and involved in FOSS. It’s very clear that FOSS is driven primarily by sysadmins and secondarily by programmers. If we want a usable system then UX designers need to be involved in the conversation early and often.

              1. 2

                … and, with the risk of being catty, when there are UX designers, they are content in copying mainstream interfaces instead of innovating and trying to produce something original.

                1. 3

                  In the case of Linux, they’re oftent content copying the obviously bad examples, too.

              2. 4

                Every once in a while I’ll get the up the gumption to get organized, or maybe clean the house. Then I’ll use that energy, and I’ll try to put a system in place to raise that baseline for good. Later on, when I don’t have the same zeal, whatever system I invented almost certainly fails.

                The only systems that seem to survive are those that are dead simple. For instance, when I must remember to bring something with me, I leave it leaning against the front door. That habit stuck.

                So when it comes to development process, do you think there’s some absolute minimum process that could be advocated and popularized to help FOSS projects select the tasks that matter and make progress? …Lazy agile?

                1. 4

                  I leave it leaning against the front door. That habit stuck.

                  That was a particularly vivid flashback of my teenage years you just gave me. Wow.

                  do you think there’s some absolute minimum process that could be advocated and popularized to help FOSS projects select the tasks that matter and make progress? …Lazy agile?

                  I’m going to have to think very hard on this one. I’m not sure what that would look like. Definitely a thought train worth boarding.

                  1. 4

                    So when it comes to development process, do you think there’s some absolute minimum process that could be advocated and popularized to help FOSS projects select the tasks that matter and make progress? …Lazy agile?

                    This is why if I intend to work on FOSS that I feel might be “large” (e.g. something I can see myself working on for many months or years), I setup an issue tracker very early. For me, dumping requirements, ideas, and code shortcuts I’m taking into an issue tracker means that if I’m feeling sufficiently motivated I can power through big refactors or features that take a lot of work to add, but if I’m feeling less ambitious, I have some silly bug where I decremented the same count twice that I can fix that takes only an hour or so of my time and results in an actual, tangible win. That helps me keep forward momentum going. This is what helps me, at least.

                    1. 3

                      Interesting perspective. Thanks for chiming in!

                2. 6

                  What are the problem areas for you? I’m genuinely curious as I have been using free open source as a daily driver for a few years now, and for a while the worst was the lack of gaming support. There are more linux specific titles on steam right now to occupy my time that I don’t even have to faff about with proton yet.

                  I’ve been in teiresias camp now for a while, free software is the future.

                  1. 3

                    I am fine. I love to tinker with things even if it prevents me from “doing the work”. As a very basic example: if my network stops working after a package update, I lose the 30m-1h to find what’s wrong and fix it. However there are people in the world where this kind of productivity loss is unacceptable.

                    I’m afraid that the open source community mostly develops for people like me (and you, from what you’re saying).

                3. 11

                  The only way we get there is with a society that is stable, sustainable, and respects you autonomy. And we haven’t had that since at least the Industrial Revolution

                  Wait, what?

                  Since the Industrial Revolution we’ve had pretty much constantly increasing wealth, human rights, health, autonomy, throughout almost all the world:

                  https://ourworldindata.org/uploads/2019/11/Extreme-Poverty-projection-by-the-World-Bank-to-2030-786x550.png

                  Sub-Saharan Africa was and continues to be a basket-case, but I don’t think anyone is blaming that on the Industrial Revolution. (Actually, leaving aside the racists … what are people blaming that on? Why is it that the rest of the world is dragging itself out of povery, but Sub-Saharan Africa isn’t?)

                  1. 4

                    “Sub-Saharan Africa was and continues to be a basket-case, but I don’t think anyone is blaming that on the Industrial Revolution. “

                    You’re not accounting for the possibility of linkage between the shutdown of the annual monsoon of sub-saharan africa in the 1960’s to coal-burning in europe releasing sulphur dust, which rose during the industrial revolution. Obviously there were also political-driven things out in the area back then too. See one argument here: https://extranewsfeed.com/the-climate-doomsday-is-already-here-556a0763c11d , referencing http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.652.3232&rep=rep1&type=pdf and http://centaur.reading.ac.uk/37053/1/Dong_etal_revised2.pdf .

                    “Since the Industrial Revolution we’ve had pretty much constantly increasing wealth, human rights, health, autonomy, throughout almost all the world”

                    Be really careful with interpreting data-driven arguments (Pinker, Rosling, ourworldindata, etc.) as truth - they’re popular in the tech world, rationalist/progress circles, 80,000 hours, etc. I find myself unlearning parts of these narratives and trying to be more open minded to less rigorous arguments these days. The argument I’ve heard is that you can have someone in earning more money (which gets recorded on paper) but they may actually be undernourished compared to smallholder subsistence living (which data may translate as living in poverty). You also have to factor in the changes in ecological function / land use change with increase of people living in an urban niche.

                    As far as how all this relates back to free software, I don’t know enough - I see problems and interesting ideas both in free software movements and non-free software 🤷‍♂️

                    1. 5

                      As far as how all this relates back to free software, I don’t know enough - I see problems and interesting ideas both in free software movements and non-free software 🤷‍♂️

                      It was just me chiming in as usual whenever anyone blames capitalism, or industry, or so-on for all the world’s ills[1].

                      Capitalism and industry have been responsible for lifting billions out of the default state of humanity: miserable poverty, disease, and tribal warfare.

                      And in first-world countries, we’ve gone in one generation from “one expensive, fragile, and basically toy-like 8-bit microcomputer” to “everyone in the family owns multiple computers, including hand-held battery powered supercomputers with always-on high-speed Internet connections”. 90% of Australians, for example, are regular Internet users. 90%!

                      Meanwhile the proposed alternatives have been responsible for millions of deaths in the last century alone.

                      [1] Hyperbole, but not far off the mark.

                      1. 2

                        There needs to be a middle-ground between “pure” capitalism and “pure” socialism.

                        Both of them scare the living crap out of me.

                        But both of them also have very good, very useful ideas that the world needs to utilise.

                        1. 3

                          The good ideas present in socialism (like caring for those who, through no fault of their own, are incapable of caring for themselves) are in no way incompatible with pure[1] capitalism, and are also far from unique to socialism.

                          All that socialism implies is that people are forced to fund that care, as opposed to doing it voluntarily (through charity, mutual socities, unions, religions, etc.).

                          To put it in hacking terms: socialism is a brute-force kluge ;)

                          [1] By which I assume you mean laissez-faire.

                          1. 1

                            That type of socialism is like the GPL, in enforcing behavior that one is afraid might not happen voluntarily, given there would be the more capitalist resources available to do so.

                            A country with mandatory private health insurances use exactly the same maths to figure out costs, yet people see that as a huge problem because the USA fscked things up. I can attest to universal health care not being universal, not systematically, as the lines are long with a heavy emphasis on anything that’s not pre-emptive, even denying treatment due to cost.

                            That worries me, since competing companies are incentivized to keep their customers. Is that closed-source software? Maybe.

                            But often FOSS seems to behave like this monopoly superorganism that can do whatever, like the new Gnome UI stuff. Good thing there’s at least some competition.

                            1. 1

                              That type of socialism is like the GPL, in enforcing behavior that one is afraid might not happen voluntarily

                              Except that it’s unlike the GPL in that if you don’t want to use GPL software, you’re free to choose something else. If you don’t want to license your software under the GPL, you’re free to choose a different license.

                              Socialism doesn’t give those subject to it any choice in the matter.

                              (Edited to clarify: as currently implemented by mainstream politics. Voluntary communes and the like are just fine by me. Not how I’d choose to live personally, but a perfectly valid choice. And, note, completely compatible with laissez-faire capitalism.)

                              1. 1

                                That’s a fair extension to my analogy, sure. This does certainly start to break down if people compare BSD-licensed contributions and voluntary societal ones. Sadly that often degrades quite quickly into rich people buying a clean conscience without actually giving a crap, which is a nice parallel for Google’s FOSS effort.

                                I do agree with you and personally don’t really care if good charity came from a bad person/party, unless there are nasty strings attached.

                                Edit: bad wording maybe for “bad”. Nasty strings are t&c but also you can’t buy yourself clean with money from child-trafficking. These terms are too vague and subjective.

                    2. 1

                      The common explanation I’ve heard in left leaning circles is that because the countries are dirt poor, they have to take loans from institutions like the IMF, and those loans have incredibly shitty agreements which basically guarantee that the country remains poor because all of the value generated in that country is shipped over to the rich parts of the world. Many of them, for example, have enough fertile land and water to keep the population fed, but that land and water is instead being used to grow cash crop for the richer countries, which is part of the reason we enjoy cheap T-shirts and coffee. There’s also a lot of other ways the current economic world order kind of screws over the poorer countries; a lot of it is described in the Wikipedia article on neocolonialism.

                      Some people go as far as to claim that capitalism requires an underclass, so in social democracies which try to achieve some degree of equality within the nation, the underclass has to be out-sourced to places like Africa or China. (That certainly seems to be what’s happening, but whether it’s required by the economic system or just a flaw in the current implementation of it is up for debate.)

                      Personally, I find those explanations fairly convincing, and I haven’t heard any good refutations. I’m far from an expert on the topic though, so there may be other, good explanations. My personal guess would be that the reason this topic isn’t discussed that much (at least in non-racist circles) is that we basically have to conclude that the rich parts of the world are responsible for perpetuating the problem, and that acknowledging this and fixing it would be really fucking expensive.

                      1. 1

                        The book The Dictator’s Handbook (summarized in Rules for Rulers) offers another explanation. Foreign aid is a quid pro quo for policy changes. Aid recipients accept the loans and use it to enrich their government’s supporters.

                  2. 1

                    I use an iPhone. … I know that when I use it, Apple is in the driver’s seat, not me. And I resent them for it.

                    Can you say more about the origin of that resentment? I’ve seen versions of this perspective often and I’d like to understand where it comes from.

                    1. 3

                      For me, it’s a feeling of learned helplessness.

                      If I’m using my PinePhone and there’s a problem, it’s usually something I can fix. Even if it means running the onboard diagnostics and ordering a new motherboard (yeah, my WiFi just failed), that’s an intended use case. Sure there’s a binary blob or two involved, and I can’t personally repair surface-mount boards … but to a far greater extent than either an iPhone or an Android phone, it’s my device.

                      Contrast that with, say, an old Samsung phone. Want to upgrade the OS? You’re SOL if Samsung and/or your carrier has stopped shipping updates. Want to root the device, or swap OS? Expect a bunch of software to stop working (think Google Play, and games with overzealous anti-cheat for starters). Want to repair the device? Go buy some specialist tools and cross your fingers … but probably don’t bother, because OS updates aren’t a thing any more anyhow.

                      1. 5

                        but to a far greater extent than either an iPhone or an Android phone, it’s my device.

                        It is your device if you understand and enjoy technology to that extent, and I think this is an important point to drive home. Imagine you have a friend Foo. Foo uses a Mac, but is getting real tired of their Mac constantly telling them they can’t install a piece of software or that some application of theirs can’t read from a directory. Foo hears that all their cool tech friends are on Linux, so maybe Foo should be too. Foo installs a distro, and then tries to plug in two monitors with different DPIs. Big mistake; nothing is scaled properly. Foo searches online and sees references to font scaling, HiDPI support, this thing called Gnome, and other stuff. Foo hops into an online chatroom to ask a question then gets asked what their current Window Manager is. What?? Someone in the chat tells Foo that this is why they never use HiDPI displays, because it’s too much work to configure. What in the world, they just don’t use something because Linux doesn’t support it??

                        Half of my own knowledge of Linux comes from having gotten things to work for Linux. I remember in the mid-2000s when I had to run wpa_supplicant by hand on my wireless adapter and then add in some custom IP routes to make it play well with my router. I learned about ALSA by trying to figure out why my audio doesn’t work on startup (turns out the device changes device IDs on boot, and configs are based on the device ID, how fun). I learned about X11 and Xorg when troubleshooting issues with resolution, compiling display drivers, setting refresh rates, HiDPI, you name it. I learned LPR and CUPS by trying to get my printers to work. For me, this stuff is fun (to an extent, I don’t exactly enjoy having to whip out xrandr when trying to get my laptop to display slides to give a presentation.) But to the average user that is somewhat interested in freedom or configurability, “owning your device” shouldn’t mean having deep expertise in computing to troubleshoot an issue.

                        1. 2

                          It is your device if you understand and enjoy technology to that extent, and I think this is an important point to drive home.

                          Sure, absolutely. I was merely answering the original question from my own perspective, as requested by @kevinc. (Well, to be fair, he didn’t request it from me, but I’m presumptuous like that ;-P ).

                          What in the world, they just don’t use something because Linux doesn’t support it??

                          The irony! I’m posting this from a 1080p external monitor that I bought, at the time, because setting up display scaling on FreeBSD was on my TODO list.

                          1. 1

                            I did appreciate the bonus perspective. :)

                        2. 3

                          Samsung phones are a really bad example to use, since whatever-replaced-Cyanogen is still supporting the S3 last I checked (which is 11 years old at this point). Since the thing has a replaceable battery, you could reasonably expect to use it as a basic phone years to come (even if the memory is anaemic by modern Android standards).

                          You might have slightly better luck with using Apple in your example, but they’re on a 7-8 year support cycle with OS updates too. Wait 8 years and see if you can still replace your PinePhone’s motherboard. I’d be moderately surprised if Pine64 was still making the board in that time. (I know they have a LTS A64 but I don’t know what, if any, commitments they’ve made re the phone.)

                          1. 2

                            Samsung phones are a really bad example to use, since whatever-replaced-Cyanogen is still supporting the S3 last I checked (which is 11 years old at this point)

                            Yeah but Samsung isn’t. And a number of vendors whose software “supports Android” flat out refuses to run on phones with ROMs other than those approved by the manufacturer and carrier.

                            That some enterprising open-source developers have managed to hack part of the way around the problems posed by this awful ecosystem is great, but it doesn’t diminish the problems, or most of the feelings of helplessness.

                        3. 2

                          Sure. Sacrificing autonomy begets dependence. Dependence begets learned helplessness, which in turn begets dependence, in a vicious cycle. Sometimes there are perfectly good reasons to sacrifice personal autonomy, such as when the needs of the many are in conflict with the needs of the one. A perfect example of that situation is Covid 19 and lockdowns + mask mandates, but that discussion isn’t relevant here. Needless to say, when I feel that some company is constraining my power to make decisions, I turn resentful. When I use an iProduct from Apple, terms and conditions apply. Terms and conditions are those things that the conquering army dictates to a surrendering foe.

                          1. 2

                            Thanks for elaborating! If I understand, part of the problem is the popular norm of accepting the terms and conditions rather than thinking critically about them. That would lead those who do think critically and opt out to be relatively isolated in an uphill battle. I for one am unhappy with the QWERTY keyboard standard, not there’s anything nefarious about it — it’s just something people don’t think critically about and consider alternatives to. We could have better, but we let inertia win. I don’t really have an entity to be resentful of, but I might if a corporation were behind it.

                      1. 3

                        The article is a little short on recommended solutions. One seems to be a curated app store like iOS has. But perhaps there is something in between?

                        1. 4

                          Of course there is: open source extensions.

                          1. 2

                            Why “of course”? They’re essentially open source now:

                            $ head -n4 ~/Library/Application\ Support/Google/Chrome/Default/Extensions/mlomiejdfkolichcflejclcbmpeaniij/5.4.7_0/require_config.js 
                            /*jshint unused:false */
                            var require = {
                              baseUrl: '.',
                              paths: {
                            

                            One can make it easier by requiring source maps for compiled JS, but the problem will still be that there are a lot more extensions than volunteers are willing to review.

                            Apple has invested incredible amounts of money in building out review infrastructure, automating the testing / review process, and eating the costs of manually reviewing each app on their store. This makes economic sense because the iPhone / iPad / AppStore were a >$1e11 business for them in 2014.

                            Who is going to build that process / infrastructure for a crowdsourced version?

                            1. 2

                              That’s not what open source means.

                          2. 4

                            Or perhaps, use Firefox.

                            1. 5

                              He also mentions one such extension for Firefox having approximately 400k users.

                              1. 2

                                How if Firefox any different?

                              2. 2

                                Require that extensions publish and be installed from their source code in human-readable format. Forbid them access to any API that allows them to execute downloaded code. This gets you much, much cheaper auditing.

                                Require that network requests be individually approved by the user in a UI that exposes the payload and includes the warning that anything obfuscated should be denied. Aggregate these denials and feed that back into the app store.

                                Finer-grainer permissions, permitting access to page text but not url or network requests, etc. Implement taint tracking, so that a value like the current URL cannot be used to build outgoing network data.

                                Better UI in the app store, including serious warnings against applications that require permisisons that could be used to implement tracking.

                                1. 6

                                  Are FreeBSD or NetBSD communities any better? I’m not asking to absolve the Linux community, I’m just maybe seeking alternatives.

                                  1. 8

                                    The FreeBSD mailing lists have none of the legendary Linus/Theo flames. We’re still unhappy with Pottering’s software and the underhanded way it’s been foisted on people though.

                                    1. 5

                                      There may be some interesting self selection bias with people who choose to work on BSD license software (give it away to raise the bar for everyone) vs GPL (tit-for-tat share alike). I would consider Linux the mainstream/default free (as in price) software platform these days, so someone who chooses to run a BSD is likely doing so for some particular choice/reason.

                                      Then again, in any community large enough you will end up with undesirable personalities…especially in anonymous venues.

                                      1. 1

                                        so someone who chooses to run a BSD is likely doing so for some particular choice/reason.

                                        In my case, it’s actually because of systemd … or, perhaps, what systemd represents. You have your Windows in my Linux sums it up nicely:

                                        Go ahead, kids, spackle over all of that unsightly runlevel stuff. … Tune your distribution for desktop workloads. Go reinvent Windows. … Ultimately, that is what systemd looks like to the rest of us. It’s not pretty.

                                        I’m at the point where I can switch my work laptop over from Linux Mint to FreeBSD, and will be doing so one evening this week. I’ve created a GitHub repo for my setup scripts - bear in mind it’s still in flux, not fully tested, may eat your kittens, etc.

                                        I’ve found the FreeBSD documentation excellent, and a local FreeBSD user (hi Kirill!) very, very helpful in getting set up. Seriously, the documentation is really good … better than almost all commercial products I’ve used, and has been of great help in switching over from Linux.

                                      2. 1

                                        I think it’s much better in terms of community. When I first got into open source, Linux had me scared to participate due to all the vitriol foisted on some poor newbie who had the audacity to ask a simple question. RTFM was the lightest touch most would offer, but the BSD communities were far gentler and would actively help the most simple questions. I love FreeBSD but Docker is a game changer and they need something like that so I can use it at work and increase the BSD market share in my corporate setting.

                                      1. 4

                                        Previously here and talk here.

                                        1. 1

                                          Sweet, I didn’t know the talk was up.

                                        1. 3

                                          I made it about 16 minutes in before I figured out there is zero content in this talk. I want another downvote label due to this talk, such as “no content” or “fluff” or even “funny but totally useless”. Here’s a better talk about concurrency and maintaining systems in the cloud or on distributed systems.

                                          http://www.infoq.com/presentations/erlang-software-for-a-concurrent-world

                                          1. 2

                                            As funny as it was (and I enjoyed watching it in full), I have to agree with you. It’s almost just a standup act.

                                          1. 2

                                            Did anyone see the follow up video from Engel on Maddow where he answered that he opened a shady email?

                                            http://www.huffingtonpost.com/2014/02/07/nbc-richard-engel-reporter-fabricated-story-sochi-moscow_n_4745562.html

                                            No wonder his computer was compromised.

                                            1. 2

                                              There’s always the what do I want to work on vs. what I actually work on.

                                              Wants:

                                              Work on a scraper for the cupes ala this math genius

                                              Build some kind of simple REST server to build my really ghetto rigged home automation for renters

                                              Use said REST server to save all my quantified self data I need to collect in one spot

                                              Actual:

                                              mindlessly surf the web

                                              study a bit for school

                                              go out far too much

                                              1. 9

                                                I just started full-time at Amazon on the Route53 (DNS as a Service) team. I’m probably going to be busy this week getting ramped up at work and making sure I have everything taken care of for my apartment. If I have time, I’ll keep working on my FPGA FIR filter.

                                                1. 2

                                                  Are you using much python internally on that team?

                                                  1. 1

                                                    No, Amazon generally doesn’t use Python for internal backend systems.

                                                1. 1

                                                  I’m trying to build a data warehouse to sharpen my skills with Django and Javascript. It should be a simple star schema of products I’m comparing, I’m slowly bumbling along. I think I can tie my models to the database, but I’m stuck trying to build a specific input form. I need a tree view of categories that can collapse the features I’m comparing between models. That part is tripping me up.