* If you can find ways to collect and preserve copies of the software, that can be big value. Every version and variation of a title has sometimes been important after the fact. Maybe use archive.org for historical archiving of software with unclear licensing status, and link to it from your wiki, with your wiki providing the background text and organizing that isn't archive.org's strong suit. (I'm not talking about piracy, but just trying to ensure that any copy at all survives, which had been a real problem on some other platforms of this era. Also, it's easier to get a company to say that such-and-such software from a company three acquisitions ago is OK for people to run on vintage boxes and in emulators and museums, than to ask them to find and provide a working copy, which they usually cannot.)
* You might want to capture provenance/copyright info for uploaded photos, like Wikipedia kinda does. Easier to capture it at upload/linking time, than to try to reconstruct it later.
I obtain copyright permission of all original images before uploading and give people clear contacts to do it. I refuse to install extensions that could clobber the setup (many aren't compatible with postgres). I also make an attempt to contact rightsholders. the only stuff I don't have permission for is a few system image placeholders and the logos of companies. The SGI trademarks are basically gone though, HPE ain't using them.
> If you can find ways to collect and preserve copies of the software, that can be big value. Every version and variation of a title has sometimes been important after the fact. Maybe use archive.org for historical archiving of software with unclear licensing status, and link to it from your wiki, with your wiki providing the background text and organizing that isn't archive.org's strong suit. (I'm not talking about piracy, but just trying to ensure that any copy at all survives, which had been a real problem on some other platforms of this era. Also, it's easier to get a company to say that such-and-such software from a company three acquisitions ago is OK for people to run on vintage boxes and in emulators and museums, than to ask them to find and provide a working copy, which they usually cannot.)
Over at IRIXNet we do have some files and such preserving what's not likely to get us in trouble, but I choose to not deal with copyrighted works on tech-pubs (which unlike IRIXNet is my pet project, not a part of IRIXNet)
I disapprove of this application (knowing how these things will be used), but I hesitate to condemn whomever worked on it, without knowing more.
A few background thoughts...
I remember browsing angel.co, and most of the startup blurbs were just depressing -- either crypto scams, or people who sounded unaware that they were doing something bad for society. Many worse-sounding than this one. So depressing, that even LinkedIn was a more pleasant place to be scrolling job listings.
But there can't be that many sociopaths, as it appeared there were on angel.co; they're probably mostly just people with not much world experience, and perhaps too much techbro echo chamber time, now going through the motions they were taught about how to be a startup founder.
Also, there's modes based on context, and I'll embarrass myself here... I remember during the dotcom gold rush, when I'd already had wholesome values instilled in me, plus the usual Internet-before-it-went-corporate values, yet I found on occasion I got distracted from those, in a mode. I was a grad student with a research assistantship, in a lab that had sponsors and VIPs coming through every day. I recall one time some people from a particular huge music industry company came through. So, I start telling them something about the emerging democratization of creation and distribution of high-quality music... and how I thought their company can get ahead of that. Afterwards, I was, like, why did I go out of my way to do that, like an amoral hired gun? On any other day, I'd be trying to help people to be empowered, and encourage them to get rid of that same company.
Going back to this particular application domain, another thought... If you've worked with factory people, at least the ones I did (in a startup introducing a new factory station) were delightful, and I can't imagine imposing this system on people there. Maybe that's another reason to know your customers and users: not only understanding the problem domain and getting the MVP right, but also to engage our natural human empathy and caring.
I understand where you're coming from but that demo video makes it very, very clear that the founders knew exactly how it was going to be used and explicitly approved. It is completely unambiguous that they have zero regard for natural human empathy and caring, and view slow factory workers as worthy of humiliation and punishment.
I don't understand how you could come to that conclusion, they are referring to a sweatshop employee by a number and humiliating him for bad performance to the audience. How much more explicit would their demo have to be in order for you to believe they understand how their tech will be used?
I don't mean to disagree with you. I have my own snap judgments, but trying to temper them at the moment. When I commented, I thought there was already more than enough people piling on to condemn, so I thought I should take a deep breath, and make some complementary points.
(Though, one of my snap judgments is that this is probably worse than they realize, over 0.6 probability, unless they're far into their sales meetings, or have a lot of world experience. The impression in the video is that they're imagining a class-based dynamic, with someone from a lower class than them being a lazy and unmotivated problem worker, and how they think is culturally appropriate to interact. That might actually be what they envision. But we have enough analogous examples, for decades, to assume that many customers will use it even worse. And with interaction flavors that are more culturally familiar and recognizable to us in the US.)
Edit: I didn't see your edit link when I responded. Yes, I think that link fits my first impression. I'll stand by my position that the condemning comments have been done enough, and that some other nuance and alternate interpretations might apply, and are worth mentioning, for this case and in general.
I have an incredible amount of respect for you for that, most of the time it's the right thing to do. However, I would encourage you to tune that reflex here since as the other user I linked to previously found, all the founders come from families that run sweatshops that they have had access to from a young age. They are imagining nothing, this is at best their actual views of the world and how it should work and at worst what they believe is a palatable view of sweatshops for the western audience they're seeking funding from.
I should add that, re-reading my initial comments, in light of some of the information I didn't have before, I see how some of my comments now miss the mark. I think the comments are still valid for general situations, and I'll leave them without edits or clarification. I just wish I'd picked better timing to mention them.
> The most influential decision maker on the Brown faculty was a computer science professor named Andy van Dam. I was one his teaching assistants during my senior year, so I got to know him pretty well. He was high strung and hard driving, and a little bit like Steve in his tendency to think that the universe revolved around him. I thought that it would be interesting to see how they interacted.
I didn't have that impression of him. Many people will say he has high standards, and can seem intense or maybe grumpy on occasion, but AFAIK, many of the countless people he's helped will also say that he has a heart of gold. (I personally knew two undergrads who said they'd gone through rough spots, and he above-and-beyond helped them.)
Also, at times it seemed that Andy knows everyone. My own small experience with this... Years after I'd graduated, a non-tech friend mentioned they'd love to work at this super-cool tech company, but friend did qualitative research, not code. So I email Andy (who I might never have even spoken 1-on-1 with), out of the blue: long shot, but does he happen to know how someone would approach that company, when they probably don't know why they might want this skill they've never heard of. He replied back: sure, the head of engineering there had been his student, and here's how to reach him, with a referral from Andy.
On the desktop, if you keep a Scheme interpreter installed, you can use it as a quick arbitrary-precision calculator, including support for fractions.
Guile is the most easily available one on a Linux system, though some others will give better REPL out of the box.
$ guile
GNU Guile 3.0.8
Copyright (C) 1995-2021 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> (+ 1/2 1/8 1/8)
$1 = 3/4
scheme@(guile-user)> (* $1 1/2)
$2 = 3/8
scheme@(guile-user)> (define rate 42)
scheme@(guile-user)> (* rate $2)
$3 = 63/4
scheme@(guile-user)> (define (foo x) (- x 1/32))
scheme@(guile-user)> (foo $3)
$4 = 503/32
scheme@(guile-user)> (exact->inexact $4)
$5 = 15.71875
scheme@(guile-user)>
You didn't like the parentheses and prefix operator syntax?
Syntax-wise, you could use Racket (or another Scheme, with a little more difficulty) to make a very thin layer over normal Scheme, and package it into a program called `calc`, like this:
I've seen grapes dropped in a bowl of vodka in the freezer, then strained out and put in a bowl after they freeze. Good way to make your co-workers chill out a little.
This is a nice example of one way to implement DSLs in a language that doesn't support them well.
IIUC, they're using Lua's language's function application syntax, combined with the ability to introduce a different namespace environment for function lookup, and then they're evaluating the tree of function calls at run time.
In languages that support doing this at compile time, through compile-time evaluation or compile-time syntax transformation, you can make run time faster. For example of syntax transformation, https://www.neilvandyke.org/racket/html-template/ shows an example of expanded syntax, where it's rendered some of the angle brackets and coalesced that with (escaped) HTML CDATA.
If you wanted to extend that, to support chunks of traditional HTML angle-bracket syntax inline with code (without using string literals), like in React, you could define a Racket reader to parse those chunks and transform them to parentheses syntax above.
reply