samth
2019-9-22 11:49:00

@philip.mcgrath In general, those types are tricky because 3d syntax exists


sorawee
2019-9-22 16:28:35

I have a Racket application that currently outputs a lot of text to command line. I don’t really care where this text is output to. It could be command line, browser, or GUI application, but it is running in a remote server, so GUI seems to be out of option? What I want is the ability to see output in real time, search and filter messages (with or without tags), support rich structures (colorizable and collapsible structures a la syntax object printing in DrRacket), and save and load. It should be efficient and can handle a lot of messages.

If I run my application in DrRacket, I would get a lot of these features for free, but again, GUI application doesn’t work over remote server. Also, it’s quite lagging and doesn’t have filtering.

Do you have any recommendation? (I feel this should be a pretty standard thing in software engineering). Has anyone implemented this? And if not, what would be the easiest way to implement it?


soegaard2
2019-9-22 16:33:15

Something like this? http://lnav.org/features


sorawee
2019-9-22 16:34:26

Maybe, I will take a look more closely, thanks!


samdphillips
2019-9-22 18:49:05

Cool. IRL I manage Splunk/ELK stacks which also sound similar (but with a lot more infrastructure.)


krismicinski
2019-9-22 19:25:24

One of my colleagues wants to allow requiring a racket file from another user account that the user has read access but not write access to. It’s failing because racket is trying to create a compiled/ folder in that directory. Is there a way to prevent this?


soegaard2
2019-9-22 19:32:22

Get the colleague to compile his files?


krismicinski
2019-9-22 19:32:41

ah, hm, ok, I sincerely don’t know how to do that from drracket?


krismicinski
2019-9-22 19:33:02

sorry, ok, I’ll look into this. This is definitely something I should know how to do but I don’t really know how he’s set it up so it’s hard for me to say how easy that would be


krismicinski
2019-9-22 19:33:57

I guess the idea is that once he’s compiled it once, this folder will be there and drracket will no longer attempt write-access to the folder..?



krismicinski
2019-9-22 19:34:32

Oh interesting..


soegaard2
2019-9-22 19:35:08

If he is using DrRacket he can disable automatic compilation in the “Language” menu.


krismicinski
2019-9-22 19:35:11

Yeah, unfortunately I think he is definitely not expert enough to be able to effectively use these, but I will try to digest them :slightly_smiling_face:


krismicinski
2019-9-22 19:35:22

ah ok, that’s a good concrete answer. Let’s see if it works.


soegaard2
2019-9-22 19:35:37

It will load a bit slower, but it will work (I think).


soegaard2
2019-9-22 19:36:06

Do you know where to change it?


krismicinski
2019-9-22 19:36:35

So the use case here is: he writes some files in a folder students have read access but not write access to. The students require those files.


spdegabrielle
2019-9-22 19:36:39

What about making a local copy (in a folder with rw access) of the file before calling it?


krismicinski
2019-9-22 19:36:54

yeah, that’s not a downright bad idea but it would force him to write some machinery to do this


soegaard2
2019-9-22 19:37:18

I think the local copy is a better idea.


krismicinski
2019-9-22 19:37:54

I agree but this seems like this should be something that should be easy. Not to imply anything critical, I’m just genuinely surprised it’s so hard to include a file you can read but not write :stuck_out_tongue:


krismicinski
2019-9-22 19:38:18

(I love Racket and am surprised I don’t know the answer to this actually, so it surprised me as much as anything.)


spdegabrielle
2019-9-22 19:40:22

What about publishing the file as a package so the student can require it the usual way?


krismicinski
2019-9-22 19:40:36

ah possibly but I think it changes way too much for this to be feasible


krismicinski
2019-9-22 19:40:50

really the answer would be to integrate it into a set of grading scripts, the point is that the user shouldn’t be able to change the file at all


markus.pfeiffer
2019-9-22 19:40:51

can you symlink?


krismicinski
2019-9-22 19:41:05

hm.. How would symlinking help? I guess I figured the permissions would still be the same.


krismicinski
2019-9-22 19:41:30

I agree he’s doing something a bit hacky here but also something I think isn’t too surprising


soegaard2
2019-9-22 19:41:42

How about he has a private folder with his files. When done, he copies the folder to a puclic folder, where the students has write access.


krismicinski
2019-9-22 19:42:09

that would be fine, but i think in general it’s not good to give students write access to things that could influence others.


krismicinski
2019-9-22 19:42:21

so I agree this copying locally idea is better


spdegabrielle
2019-9-22 19:42:38

The student symlinks the file into a folder they have rw access to?


spdegabrielle
2019-9-22 19:42:55

so not a copy


krismicinski
2019-9-22 19:43:06

ah! Yes, I see your point. So the observation is that only the folder’s permissions matter


spdegabrielle
2019-9-22 19:43:09

And updates automatically?


krismicinski
2019-9-22 19:43:17

yeah, that’s a good idea actually.


krismicinski
2019-9-22 19:43:21

I like this one the most


spdegabrielle
2019-9-22 19:43:34

(Ive not tried it!)


soegaard2
2019-9-22 19:44:07

I can’t find it the docs, but (require (git …)) worked at some point.


soegaard2
2019-9-22 19:45:30

Do symlinks work across disk volumes?


spdegabrielle
2019-9-22 19:50:47

Yes


spdegabrielle
2019-9-22 19:51:04

Hard links don’t


soegaard2
2019-9-22 19:51:31

What about Windows?


spdegabrielle
2019-9-22 19:52:59

(I’m assuming the students all have accounts on a Linux box to do their labs or assessment?)


spdegabrielle
2019-9-22 19:54:18

I think windows does symlinks too.


spdegabrielle
2019-9-22 19:54:43

But I’ve never used symlinks on win


krismicinski
2019-9-22 19:58:58

yeah, using windows generally breaks things.


krismicinski
2019-9-22 19:59:17

although there is a pretty decent solution for students running windows these days, as the WSL stuff is very good


krismicinski
2019-9-22 20:00:08

although I definitely just wish none of my students had windows, I think there are concerns there about being exclusionary, so I think WSL has really helped.


spdegabrielle
2019-9-22 20:03:19

Updating the file may break the symlink(depending on how the file is updated) on both win & Linux


keenencates
2019-9-22 20:03:35

I always found that weird in undergrad,; other students were very Windows entrenched


keenencates
2019-9-22 20:03:51

learning linux was like releasing a shackle from my neck or something


spdegabrielle
2019-9-22 20:05:59

I think the most stable soln is to copy the file locally each time the code is run.


spdegabrielle
2019-9-22 20:08:02

@keenencates ugrads are windows entrenched because windows dominates highschools. It’s not their fault.


krismicinski
2019-9-22 23:56:10

We’ll see what happens


krismicinski
2019-9-23 00:03:12

the test server I use now uses docker and boots up fresh directories, so I don’t really have this issue as much