Git Product home page Git Product logo

website's Introduction

nuprl.github.io

Overview

This is the source code for the website for the Northeastern University Programming Research Lab, hosted at prl.ccs.neu.edu.

Any changes made to the master branch here will get deployed automatically to prl.ccs.neu.edu.

Note that we configure a cron job to rebuild so that the list of seminars shows up in the right order (as it needs to change after every seminar).

Building

Build Prerequisites: Racket, and python with the pygments library.

To build the site + blog and open a new window:

  make preview

To build the site, but not the blog:

make prl

To build one page, for example index.html:

  make index.html

Blog

See blog/README.md

Contributing

Please, submit any meaningful change (e.g., larger than a typo) as a pull request against master.

website's People

Contributors

a-wagner avatar aatxe avatar aviralg avatar benchung avatar bennn avatar camoy avatar dbp avatar gasche avatar heathermiller avatar howell avatar janvitek avatar jfsackett avatar johngouwar avatar jon-bell avatar julbinb avatar katherine-hough avatar kevinclancy avatar leifandersen avatar maxsnew avatar mhyee avatar michaelballantyne avatar minsungc avatar o- avatar palez avatar schuster avatar takikawa avatar tybug avatar ulysses4ever avatar wilbowma avatar ytzi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

website's Issues

Cross-posting

From Gabriel #28

We may want to refine slightly over this solution because the syndication feed item produced is not optimal: cliking it goes to our blog, precisely to this page with just the title, and then you have to click the title again to go to the actual content. It would be best of course if we could have the URL of the feed item (<link rel="alternate">in Atom parlance) point to the original post directly (again, changes to Frog are required with explicit cross-posting support), but otherwise it would be nice if we had a link to the original post in the article's header, because people could then follow it from their syndication feed (so one extra click instead of two to access the content).

The "this solution" in the 1st sentence is creating a blog post that only contains meta-data, e.g.:

Title: [Getting Started in Programming Languages (Cross-Post)](http://jschuster.org/blog/2016/11/29/getting-started-in-programming-languages/)
Date: 2016-11-30T15:24:45
Tags: by Jonathan Schuster, tutorial, semantics, books

Blog Comments

At @gasche's suggestion, we should probably add comments to the blog because otherwise all discussion is necessarily limited to Twitter. My opinion is that Disqus is a good option because the site is statically hosted, and we probably don't want to maintain our own comments back-end. It does, of course, have the disadvantage that it's proprietary and we don't really control it, but I've had positive experiences using it in the past.

Code Colors make Numbers Difficult to See

Moved from nuprl/nuprl.github.io-archive#82 (originally reported by @maxsnew)

I was looking at an an old blog post and it numbers in the code look nearly invisible because they are white on a very light background, see the part right after "ghci will tell us".

I see this is defined in https://github.com/nuprl/nuprl.github.io/blob/master/css/pygments.css , does anyone that cares about design have an opinion on what color it should be? Just scrolling through css colors, darkviolet is easy to read, but probably hard for colorblind people to distinguish from red.

Also reported on Twitter: https://twitter.com/bblfish/status/1175060862492729345

Add Di & Hyeyoung

We need to add Di and Hyeyoung to the people page:
prl.ccs.neu.edu/people.html

cc @hyeyoungshin

(I emailed Di, but I don't have a GitHub for her.)

bounce rate at 0 and cant figure out why

Since December 2nd my bounce rate which was regularly around 20% plummeted to near 0%. Since then it has remained around 0%. I know this is impossible so I am trying to figure out what would make it do this?

Do any of you have an idea, or can you please point me in the right direction?

Website: https://lautre[...].com/

Thank you for your help,

Joaquim

Add Aviral Goel

@aviralg also needs to be added to the organization.

Aviral, can you provide the following:

  • picture
  • advisor (Jan and Frank)
  • preferred email
  • website?
  • brief bio

Publication page needs better structure

(cc: @schuster)

I decided to do my part to help by adding to the Publication page the two publications of our lab at POPL'17 (one by me, one by Stephen, Alex and Ben G.). (I'll actually wait for the URL of @stchang's definitive version to submit a PR.) However, the publication page today is a bit unwieldy.

Old stuff

There is a (helpful) comment that we should only include publications where one author is a member of the lab at the time of publication (more precisely, it would make sense to consider publications with one author affiliated to the lab), but that old publications may not respect this rule. Why not fix old publications by enforcing the rule? It's easy to find out when people joined the lab, and to cut the publication list before that (and we can use the affiliations in the PDFs to decide corner cases).

Weird structure

The list of publications is currently defined as:

   (flatten (list mf-pubs
                  old-site-pubs
                  amal-pubs
                  jan-pubs
                  mitch-pubs
                  olin-pubs
                  will-pubs)))

where should the new papers go? I think that we could/should avoid this delicate question in the future, by moving all "old" publications to a publications-old.rkt file that would only export old-pubs (possibly by concatenating by-faculty-author lists internally), and having a single list of "new" publications that contains all new publications. This would also make publications.rkt less long and easier to edit for newcomers. Of course, that means we lose the easy way to single out publications of a specific faculty member, but (1) I don't think we actually need to do this, (2) it's going to be delicate again if two faculty publish a paper together and (3) we can always grep on the author names after the fact.

Analytics

I feel unmotivated to write cool blog posts without knowing about the tons of hits I'm getting.

I think it would be a great Christmas present for someone to set this up.
Supposedly Google analytics is pretty easy to set up, but I think @gasche wants something less evil.

Where is the favicon?

When I visit prl.ccs.neu.edu, none of the pages use the favicon in img/favicon.png.

Their source code talks about the image,
and the favicon appears when I build locally.

Mailing lists: do we need any guidelines?

Would it be helpful to have a couple of common labels for prl-all communication?
For example, smth like [regular] [social] for regular tea time announcements, or [admin] for scheduling lab events.

Personally, I use filters a lot, but don't know if anyone else cares :)

Race condition deploying the website

Here's a bad thing that could happen:

  1. pull requests A and B both target nuprl/website's master branch
  2. merge A, immediately merge B
  3. builds for A and B start on nuprl/nuprl.github.io
  4. the build for B finishes first & deploys
  5. the build for A finishes second & deploys

Oh no! The changes from B are not deployed. Need to rebuild the site.

Link to Twitter account

@schuster suggested this a while back, that the website should actually link to our Twitter.

The question is, where?

  1. Beside "Programming Research Laboratory" on the front page (similar to the CCIS and Northeastern links)
  2. On the Contact page (near the top? Bottom?)
  3. On every page as a top-level link, beside Blog
  4. Other?

Or some combination of the above.

I'm thinking at least 1. 3 might be too much.

When/how should we update Frog?

greghendershott/frog#180 was just merged upstream, which fixes a bug that affects our blog (it makes it painful to read for (at least) Thunderbird users that subscribed to the RSS feed.) How can I make sure that the version of frog used to generate the blog contains the fix?

Button to share on Facebook

janvitek

I was looking at the blog on the PRL web site. It is nice, I should visit it more.

One question: is there a way to add a button to share on Facebook. I don’t Twit or G+, but I FB.

o-

If anybody starts looking into this, I would suggest to switch to
something like https://github.com/panzi/SocialSharePrivacy at the same time.

Order of seminars

The list of seminars is in reverse chronological order, which gives us:

  • Far future
  • Near future
  • Next seminar
  • Last seminar
  • Near past
  • Far past

Meaning you have to scroll partway down the page to find the next upcoming seminar. At least past seminars are greyed out.

It would make more sense to split the list into upcoming seminars and past seminars. Upcoming seminars should be in chronological order so the next seminar is first.

Since the site is generated by a script, it should be straightforward to implement this. And we use Travis CI for our builds, which supports cron jobs.

README: Building is not explicit enough about `setup`

I discovered two issues with the description of building process in README.

  1. One can't just do make prl (as README seems to suggest) -- you have to make setup first.

  2. Before trying out make preview, one should raco frog --init first.

I could try to create a PR for this one. I'm not sure how to formulate it best though.

Add Saba

Hi @sabaa ,

We need to add you to the people page (source).

Can you reply here with a:

  • picture
  • personal website
  • academic history
  • short bio

Or just submit a pull request :)

Make the blog header title a link

Just saw Gabriel's GC blog post on HN and I intuitively tried to press the "Inside PRL Reading between the Parentheses" text expecting it to take me to the list of blog posts, but it isn't actually a link.

I think I'll change it because the design made me feel like it should be a link and it's much bigger than the tiny "blog" link at the top.
Good idea? Bad idea? I'll do a pr later (or somebody else can go ahead and do if they feel like it).

Update copyright year?

Currently, the website footer says: "© Copyright Programming Research Laboratory 2015-2016".

I don't know much about copyrights, but should not it be 2015-2019?

Posts title levels should be shifted at rendering time

If you use # to mark sections in your blog posts and ## for subsections, they get translated literally to <h1> and <h2>, which is bad as the sections then conflict with the level of the blog post title. Currently the workaround is to manually increment the headings in the blog post, but I think that it would be nicer if the blog engine shifted the headings level accordingly (when I write a post, I think of the headings level locally for the post, I don't have the whole site architecture in mind).

In fact, I realize now that using <h1> for the post title also conflicts with the "Inside PRL" header that is, as it should, a <h1> heading itself. So the post title should be <h2>, and the sections <h3>. This supports the argument that post authors cannot know in advance how much to shift their headings, so it should be done at post rendering time.

Having this feature would require modifying Frog itself. If we do modify Frog, we have to think of a transition strategy for old posts (are there shifted, and they should be de-shifted, or do they suffer from the same issue?). Or we could make it an option at the Frog level, so that blog posts could opt in or out of heading translation.

Can Redex express non-regular patterns?

PLT Redex FAQ reads:

Q. What can patterns not express? […] Non-regular patterns. For example, one non-regular pattern is “all lists that contain some number of integers followed by the same number of strings”.

But I believe the (integer ..._n string ..._n) pattern matches the description exactly:

#lang racket
(require redex)

(define-language L)

(redex-match? L (integer ..._n string ..._n) (term ())) ;; => #t
(redex-match? L (integer ..._n string ..._n) (term (1))) ;; => #f
(redex-match? L (integer ..._n string ..._n) (term (1 "a"))) ;; => #t
(redex-match? L (integer ..._n string ..._n) (term (1 2 "a"))) ;; => #f

Link to seminar notes

This is probably a browser-specific issue, but sometimes clicking the seminar notes links makes my browser download the markdown. (This happens for me on Firefox on macOS.) On Android, the notes are served as plain text.

Does this happen to anyone else? Is it a problem? (If not, we can just close this issue.)

One (simple?) fix is to link to the GitHub repo's copy of the file, where you get the markdown rendered for free. But this might be brittle, if GitHub changes how their links work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.