From e038aee33f909119b871a2fd0c9cbecb26da9158 Mon Sep 17 00:00:00 2001 From: Mustafa Date: Mon, 3 Oct 2022 20:27:19 -0700 Subject: [PATCH] init commit --- .gitignore | 14 + archetypes/default.md | 6 + config.toml | 77 ++++ content/about.md | 25 ++ content/constitution.md | 65 +++ content/description.md | 11 + content/directory.md | 22 + content/eduroam.md | 15 + content/emails.md | 41 ++ content/events/installfest.md | 23 + content/join.md | 29 ++ content/linux.md | 202 +++++++++ content/lug-ucla-logo.svg | 36 ++ content/membership.md | 19 + content/news.md | 8 + content/ucla-vpn.md | 7 + favicon.ico | Bin 0 -> 68708 bytes layouts/partials/now.html | 18 + themes/ezhil/archetypes/default.md | 2 + themes/ezhil/layouts/404.html | 0 themes/ezhil/layouts/_default/list.html | 32 ++ themes/ezhil/layouts/_default/single.html | 55 +++ themes/ezhil/layouts/_default/terms.html | 32 ++ themes/ezhil/layouts/index.html | 42 ++ themes/ezhil/layouts/partials/disqus.html | 17 + themes/ezhil/layouts/partials/footer.html | 12 + themes/ezhil/layouts/partials/head.html | 26 ++ themes/ezhil/layouts/partials/header.html | 52 +++ themes/ezhil/layouts/partials/paginator.html | 15 + themes/ezhil/static/css/dark.css | 73 ++++ themes/ezhil/static/css/main.css | 416 +++++++++++++++++++ themes/ezhil/static/css/normalize.css | 1 + themes/ezhil/static/js/feather.min.js | 13 + themes/ezhil/static/js/main.js | 0 34 files changed, 1406 insertions(+) create mode 100644 .gitignore create mode 100644 archetypes/default.md create mode 100644 config.toml create mode 100644 content/about.md create mode 100644 content/constitution.md create mode 100644 content/description.md create mode 100644 content/directory.md create mode 100644 content/eduroam.md create mode 100644 content/emails.md create mode 100644 content/events/installfest.md create mode 100644 content/join.md create mode 100644 content/linux.md create mode 100644 content/lug-ucla-logo.svg create mode 100644 content/membership.md create mode 100644 content/news.md create mode 100644 content/ucla-vpn.md create mode 100644 favicon.ico create mode 100644 layouts/partials/now.html create mode 100644 themes/ezhil/archetypes/default.md create mode 100644 themes/ezhil/layouts/404.html create mode 100644 themes/ezhil/layouts/_default/list.html create mode 100644 themes/ezhil/layouts/_default/single.html create mode 100644 themes/ezhil/layouts/_default/terms.html create mode 100644 themes/ezhil/layouts/index.html create mode 100644 themes/ezhil/layouts/partials/disqus.html create mode 100644 themes/ezhil/layouts/partials/footer.html create mode 100644 themes/ezhil/layouts/partials/head.html create mode 100644 themes/ezhil/layouts/partials/header.html create mode 100644 themes/ezhil/layouts/partials/paginator.html create mode 100644 themes/ezhil/static/css/dark.css create mode 100644 themes/ezhil/static/css/main.css create mode 100644 themes/ezhil/static/css/normalize.css create mode 100644 themes/ezhil/static/js/feather.min.js create mode 100644 themes/ezhil/static/js/main.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1911a2d --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +# Generated files by hugo +/public/ +/resources/_gen/ +/assets/jsconfig.json +hugo_stats.json + +# Executable may be added to repository +hugo.exe +hugo.darwin +hugo.linux + +# Temporary lock file while building +/.hugo_build.lock + diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..a3214d1 --- /dev/null +++ b/config.toml @@ -0,0 +1,77 @@ +baseURL = "/" +languageCode = "en-us" +title = "UCLA LUG" +theme = "ezhil" +paginate = 5 + +copyright = "© 2022 Copyright" + +pygmentsstyle = "solarized-dark" +pygmentscodefences = true +pygmentscodefencesguesssyntax = true + +summaryLength = 20 + +[permalinks] + posts = '/:filename' + +[params] + subtitle = "UCLA Linux User Group. Free as in Freedom." + logo = "lug-ucla-logo.svg" + favicon = "/favicon.ico" + disableDisqusTypes = ["page"] + featherIconsCDN = true + mode = "auto" # "dark", "auto", "light" + # customCSS = "css/custom.css" # Custom CSS applied to default styles. + # customDarkCSS = "css/custom-dark.css" # Custom styles applied to dark mode css. + # customJS = ["https://code.jquery.com/jquery-3.4.1.js", "js/custom1.js"] # Custom JS scripts. + +[[menu.main]] +name = "About" +url = "/about" +weight = 1 + +[[menu.main]] +name = "Membership" +url = "/membership" +weight = 2 + +[[menu.main]] +name = "Articles" +url = "/posts" +weight = 3 + +[[menu.main]] +name = "News" +url = "/news" +weight = 4 + +[[menu.main]] +name = "Switch to Linux 🐧" +url = "/linux" +weight = 5 + +[[params.social]] +name = "Discord" +icon = "users" +url = "https://discord.com/invite/EmGKCa48R6" + +[[params.social]] +name = "Instagram" +icon = "instagram" +url = "https://instagram.com/lug.ucla" + +[[params.social]] +name = "Github" +icon = "github" +url = "https://github.com/lug-ucla" + +[[params.social]] +name = "RSS" +icon = "rss" +url = "/index.xml" + + + +[taxonomies] + tag = "tags" diff --git a/content/about.md b/content/about.md new file mode 100644 index 0000000..06a5110 --- /dev/null +++ b/content/about.md @@ -0,0 +1,25 @@ +--- +title: "About" +date: 2022-10-03 +type: "page" +--- + +**Linux Users Group at UCLA (LUG@UCLA)** goal is to promote computer users freedom with Linux and other Free/Open Source software. + +## Activities + +1. **[Linux installfests](https://linux.ucla.edu/installfest.html)**: on the 2nd Friday of every quarter. +1. **Linux Help & Advice**: in office hours and Discord. +1. **Tech Talks**. +1. **[Edit-a-thons](https://en.wikipedia.org/wiki/Edit-a-thon)**: Bi-quarterly group editing events aimed to contribute to free knowledge on Wikipedia, and other Linux Wikis. +1. **Mirrors**: to give students quick access to Linux Distros and Software. + + +## Visit us + +If you want help installing Linux or just want to eat and hang out, come to installfest! The [LUG Lounge](https://linux.ucla.edu/wiki/index.php/Lounge), at **Boelter Hall 2763**, is a meeting/study/hangout place for the group and facilitates a lot its activities. Feel free to stop by and meet other Linux users (as well as people in ACM and UPE)! + + +There is a makerspace on the floor below us, where you can go and 3D print things (as well as lasercut them). + +There is also a trash heap outside the first floor (next to the Engineering IV building), where you can sometimes find old monitors/computers and old networking equipment. \ No newline at end of file diff --git a/content/constitution.md b/content/constitution.md new file mode 100644 index 0000000..3938e52 --- /dev/null +++ b/content/constitution.md @@ -0,0 +1,65 @@ +## Article 1. Name + +This organization shall be referred to as the Linux Users Group at the University of California, Los Angeles (LUG@UCLA). The University of California, Los Angeles will hereafter in this document be referred to as "UCLA," or "the University." + +## Article 2. Statement of Purpose + +Linux is both a powerful, freely-available computer operating system and a fascinating sociological event with few parallels, the product of an international programmer community that exists independently of any national boundaries. + +The LUG@UCLA's purpose is to facilitate learning, creativity, and the advancement of computer science. To accomplish this goal, LUG@UCLA promotes the use of the Linux operating system at UCLA by encouraging its use among students, faculty, staff, and University departments; by providing a support network for Linux users; and by building a library of Linux- related materials. + +In attempting to promote the use of Linux, we also encourage programming under this operating system in the form of student-coordinated projects. LUG@UCLA student projects must benefit the UCLA community, the Linux community, or any subsets of the two. All software produced under the auspices of LUG@UCLA shall be distributed under the GNU General Public License, or the GNU Lesser General Public License, as appropriate. + +The group will have any number of projects being worked on at a given time, each with its own methods of organization and responsibility. The sole limitation on such projects is that they fall within the rules and focus of LUG@UCLA. + +## Article 3. Membership + +### Section 1. General Membership + +LUG@UCLA grants membership to anyone who asks for it. There shall be no membership fee or interviews. + +### Section 2. Policy of Non-discrimination + +LUG@UCLA, in accordance with applicable Federal and State law and University Policy, does not discriminate on the basis of race, color, national origin, religion, sex, disability, age, medical condition, ancestry, marital status, citizenship, sexual orientation, or status as a veteran of the Armed Forces. + +LUG@UCLA also prohibits sexual harassment. This non-discrimination policy covers organization membership, access to organization programs and activities, and the general treatment of members in the organization. + +## Article 4. Offices and Elections + +LUG@UCLA shall operate on a collaborative style of leadership, employing one President, three Vice-Presidents, and one Treasurer. LUG@UCLA shall elect officers once per academic year or as necessary. Only members currently enrolled as UCLA undergraduate and graduate students are eligible to hold office. All members of the group are allowed to vote in elections of the LUG@UCLA. + +We will use the approval voting system. Voters select which candidates they approve of (they can select multiple), and the candidate with the most approvals wins. + +Ties will be broken by a game of SuperTuxKart. + +### President + +This individual is the official liaison to the University, handles all school administrative issues, and is responsible for the group, its regular LUG or Officer meetings, dealing with other clubs, giving direction on LUG activity projects, and the delegation of tasks to be carried out on behalf of the LUG. This individual is one of the 3 signatories at club registration time. + +### Vice President / External + +This officer handles corporate relations, letters of thanks, company visits, guest speakers, room reservations, and arranging for a food sponsor at Installfests, etc. This individual is one of the 3 signatories at club registration time. + +### Vice President / Marketing + +The Marketing Director is responsible for the general improvement of the groups's reputation and profile through advertisement and other means, organizing materials & club T-shirts for quarterly events & resource fairs, directing publicity for the LUG, and growing LUG identity and spirit. + +### Vice President / Internal + +Internally, this person is responsible for the System Admin in the Lug lounge, general hardware upkeep and maintenance of the Lounge and its appearance, and is general ombudsman. + +### Treasurer + +The treasurer transfers LUG student club account funds and clears reimbursements. This person handles any financial matters, including making financial records available to authorized University officials upon request. This individual is one of the 3 signatories at club registration time. Leadership will act analogous to package maintainers in the open-source world. Anyone in the club is free to submit “patches” to the club. Officers should be involved in any meaningful changes to the club, but should not have absolute authority on patches to the club. + +## Article 5. Meetings + +LUG@UCLA shall hold general meetings at least once a quarter. The meetings shall be open to the public—membership is not a requisite to attend. + +## Article 6. Amendments to the Constitution + +This constitution may be amended by a two-thirds vote of the Membership at a General Meeting or a Special Meeting called for the purpose of voting to amend the constitution. + +## Article 7. Provision to Make Financial Records Available + +Financial records can be made available to University Officials upon request. Said requests can be submitted electronically via email and must provide a detailed description of the type of records requested. diff --git a/content/description.md b/content/description.md new file mode 100644 index 0000000..bbf8574 --- /dev/null +++ b/content/description.md @@ -0,0 +1,11 @@ +**Please give a brief, but detailed summary of your organization. Be sure to include any history of the group, a mission statement and a brief account of the student population that the organization represent.** + +The Linux Users Group (LUG) facilitates learning and advancement of computer science and free software by promoting the use of the open source GNU/Linux operating system and providing a support network for Linux users. There is no barrier to becoming a member; consequently, the LUG consists of students, non-students, inexperienced, and experienced alike. The LUG has been a group at UCLA for over 17 years, during which time it has helped expose free software to many people. + +**Please explain the benefit students may derive from your organization. Include how your group stimulates discussion, benefits education, or provides enrichment of any kind.** + +The LUG maintains a Linux computer lab and servers that host various digital services, which people can use to help familiarize themselves with Linux and other standardized technologies. The LUG is a constant source of Linux assistance to anybody that is in need. The LUG holds talks and presentations introducing various topics in computer science. Sometimes, group members engage in conversations surrounding the politics and economics of Linux. + +**Please describe the goals of your organization.** + +The goals of the LUG at UCLA parallels the goals of the thousands of other LUGs around the globe: to provide support and/or education for Linux users, both inexperienced and experienced. LUG at UCLA, being a university LUG, has secondary goals that are more student-oriented: to help with Linux-related coursework. diff --git a/content/directory.md b/content/directory.md new file mode 100644 index 0000000..3271af1 --- /dev/null +++ b/content/directory.md @@ -0,0 +1,22 @@ +--- +title: Directory +--- + +Here's a list of member-run websites: + +- [Dylon](https://linux.ucla.edu/dylon) +- [Liu](https://linux.ucla.edu/liu) +- [Maksym](https://linux.ucla.edu/maksym) +- [Ramsey](https://linux.ucla.edu/ramsey) +- [Zeke](https://linux.ucla.edu/zeke) +- [Mstfelg](https://linux.ucla.edu/mstfelg) +- [Jshiffer](https://linux.ucla.edu/jshiffer) +- [IDKYTM](https://linux.ucla.edu/idkytm.html) +- [Holy Hell!](https://linux.ucla.edu/holyhell.html) +- [Crafting for Cancer](https://linux.ucla.edu/craftingforcancer) +- [Installfests](https://linux.ucla.edu/installfest.html) + +Here's a list of test websites: + +- [Arch User](https://linux.ucla.edu/archuser) +- [Alpine](https://linux.ucla.edu/alpine/index.html) diff --git a/content/eduroam.md b/content/eduroam.md new file mode 100644 index 0000000..434f297 --- /dev/null +++ b/content/eduroam.md @@ -0,0 +1,15 @@ +Connecting to the eduroam WiFi network (on the UCLA campus) is easy with Linux. eduroam is available almost everywhere on campus, so this is probably the most convenient WiFi network. + +## Using NetworkManager + +Connect to the *eduroam* network using the following Wireless Security settings: + +| Security | WPA & WPA2 Enterprise | +| -------------------- | --------------------- | +| Authentication | Protected EAP (PEAP) | +| PEAP version | Automatic | +| Inner authentication | MSCHAPv2 | +| Username | your UCLA username | +| Password | your UCLA password | + +For other networks (like UCLA_SECURE_RES), going to the following website: http://nmcheck.gnome.org/ should bring up the "Accept terms and conditions" page. diff --git a/content/emails.md b/content/emails.md new file mode 100644 index 0000000..3388361 --- /dev/null +++ b/content/emails.md @@ -0,0 +1,41 @@ + **IMPORTANT: PLEASE CHOOSE A STRONG PASSWORD FOR YOUR EMAIL ACCOUNT** + +[![img](https://linux.ucla.edu/wiki/images/thumb/3/34/Image.png/300px-Image.png)](https://linux.ucla.edu/wiki/index.php/File:Image.png) + +Some hacking attempts on our email server + + **WE GET SEVERAL BRUTE FORCE ATTEMPTS EVERY DAY. IF THE HACKERS GET IN TO YOUR EMAIL ACCOUNT THEY WILL SEND SPAM AND THE CS DEPARTMENT WILL GET MAD AT US.** **Please use a secure password, otherwise we might have to restrict access to only people on the UCLA VPN.** + +## Logging in + +I am using the following settings with Thunderbird to get in. I haven't tried it with another email client but you are welcome to. + +SMTP: + +Server Name: mail.linux.ucla.edu + +Port: 587 + +[![img](https://linux.ucla.edu/wiki/images/thumb/9/9b/Hackerman.png/300px-Hackerman.png)](https://linux.ucla.edu/wiki/index.php/File:Hackerman.png) + +Look at all the hackers getting banned for too many failed login attempts! + +Authentication method: Normal password + +Connection security: STARTTLS + +IMAP: + +Server Name: mail.linux.ucla.edu + +Port: 993 + +Authentication method: Normal Password + +Connection security: SSL/TLS + +## Changing your password + +To change the password, please ssh into your web server and ssh to [your username]@10.0.0.10. Then use passwd to change your password. + +(Yes we know, this is a pretty crappy and inelegant solution, but it's good enough for now) diff --git a/content/events/installfest.md b/content/events/installfest.md new file mode 100644 index 0000000..eef9a48 --- /dev/null +++ b/content/events/installfest.md @@ -0,0 +1,23 @@ +--- +title: "2022 Fall Installfest" +date: 2022-10-03 +tags: events +author: LUG Board +--- + +(Free Pizza will be provided)! + +Linux Users Group (LUG) at UCLA, invites you to attend the quarterly Linux Installfest! Please fill out the RSVP form. + +* Date: 2022-10-07 Friday +* Time: 18:00-21:00 +* Location: Mong Auditorium in Engineering 6 (Pending Approval) +* RSVP: link + +## General Info + +LUG hosts a quarterly installfest on Friday of 2nd week. Attendees will be provided a USB drive and guide to dual booting their computers with Linux (most likely Debian or Arch Linux). However, attendees are welcome to bring their own flash drives and install any distro of their choice as well. Or if attendants do not feel comfortable with the possibility of losing their data, they can set up a Virtual Machine instead. + +## Note on M1 and M2 Macs + +We will not be able to install Linux on M1 and M2 Macs since they use custom Apple cores, however you can still set up a Virtual Machine to run Linux so feel free to come and chat with us! We plan on hosting a seperate event later about installing Asahi Linux, an Arch clone that works on M1 and M2 Macs. diff --git a/content/join.md b/content/join.md new file mode 100644 index 0000000..f08b079 --- /dev/null +++ b/content/join.md @@ -0,0 +1,29 @@ +--- +title: Join +--- + + + +## Rules + +I. Account Rules + +0. No illegal activity + +1. Do not use your account for personal gain. No crypto mining, business, or commercial activity please. + +2. We do not have resource limits on our machines. That being said, please do not abuse this or your access will be revoked. + +II. Lounge Rules + +0. We share the room with ACM and UPE. Please be nice to them. + +1. Don't make a mess! Clean up after yourself. + +2. Do not leave the room unattended. Close the door when you are the last person to leave. + +3. Do not take anything from the lounge that doesn't belong to you (unless you get permission) + +III. Contact + +0. Please send an email to board@linux.ucla.edu if you have questions. diff --git a/content/linux.md b/content/linux.md new file mode 100644 index 0000000..8d10a94 --- /dev/null +++ b/content/linux.md @@ -0,0 +1,202 @@ +So what's this Linux thing all about? What does Linux look like? What software runs on Linux? + +## What is Linux about? + +You can find a good introduction to Linux here, here, and here. + +## What does Linux look like? + +Over the last few years, Linux graphic user interfaces (GUI) have greatly improved. Click to view screenshots of the current desktop environments offered by the Gnome and KDE Project. + +- GNOME Overview +- KDE Overview + +## How about software? + +There is a large selection of software for Linux. For quick selection and comparison, see the fossfor.us site. + +According to freshmeat.net (a large index of software for Linux and other Unices), there are currently over 23,000 projects in development. Many of these programs are Open Source and/or free. + +## Getting Linux + +Interested in trying out Linux? Our Getting started page will step you though the process of finding, installing, and tweaking Linux on your computer. + +Installing Linux can sometimes be difficult, but the LUG is here to help! + +1. back up all your data (see page on backups) +2. pick a distribution +3. decide if you want to dual boot with Windows/Mac or just overwrite everything +4. install it: + - come to quarterly installfest + - stop by the lounge any time and somebody might help + - do it yourself! + +## Distros + +Choosing a distribution can be challenging! (Though it actually matters less than you think.) + +Here's a short and incomplete list to help you choose: + +**Debian-based (easiest):** + +1. MX Linux + +2. Mint + +3. Ubuntu + +4. Debian + +5. Pop! OS + +6. Elementary OS + +7. Zorin OS + +8. Kali (for hackers) + + +**Arch-based (harder):** + +1. EndeavourOS + +2. Manjaro + +3. Garuda + +4. Arch (hard) + +5. Artix + + +**Red Hat based:** + +1. Fedora + +2. Red Hat (usually used on servers, including the UCLA lnxsrvs) + +3. CentOS (Red Hat but without the tech support) +4. OpenSUSE + +**Other:** + +1. Void Linux + +2. Gentoo (hard) + +3. OpenBSD + +4. FreeBSD (we run this on some of our servers) + + +## Tips for selecting a distro + +If you are a beginner and you don't want to mess with the terminal that much, choose a Debian based one like Mint. Most of the Debian ones just work straight out of the box. There's also tons of support. + +If you have some experience (or you're a beginner who is fine with using the terminal), you can try one of the Arch-based distributions. Installing Arch takes a while, but it's actually not too hard. If you're too lazy to install Arch, choose a distribution with a graphical installer (like EndeavourOS). + +Here's a quiz you can try: https://distrochooser.de/en/ + +## Comparing Arch and Debian + +Choose Arch-based distributions if you want a minimal distribution. Choose Debian based distributions if you want stability or ease of use. + +# Desktop Environment + +The **desktop environment** (DE) is what makes up most of the user interface. It may include system panels, docks, window borders, backgrounds, and desktop widgets, among other things. GNU/Linux has a wide variety of DEs avaliable—this page will outline some of the most popular ones. + +It is important to note that no DE is tied to a particular GNU/Linux distribution, or vice versa. Thus, if your distribution of choice is Debian, you may use GNOME, or KDE, or both GNOME and KDE (if you installed both). You can install as many different DEs as you want and try them all! + +The three main desktop environments are XFCE, KDE, and GNOME. + +**XFCE:** + +XFCE is designed to be fast and minimalist + +**GNOME:** + +GNOME is simpler to use, and looks nicer. Of course, this comes at the cost of performance (the difference isn't that much though). + +**KDE:** + +KDE is in between GNOME and XFCE in terms of performance and features. If you are unsure, KDE is a good choice. + +### Tiling windows managers: + +Tiling window managers are a lot more difficult to use, and aren't for beginners. Navigation is usually done using the keyboard as opposed to the mouse. + +## FOSS Software + +Below is an overview of some popular software for Linux. For more software and downloads, check out our Software Downloads section. + +### Web Browser - Firefox, Chromium + +Firefox is a standards-compliant open source web browser developed by the free software community with the cooperation and support of Mozilla Corporation. Firefox provides all essential features of a browser for the modern web, and also a wide variety of add-ons that will undoubtedly satisfy anybody's needs and wants. + +Chromium is the open source web browser project from which Google Chrome draws its source code. + +### Office Suite - LibreOffice + +LibreOffice is a free and open source office suite. It includes key office applications such as a word processor, spreadsheet, presentation manager, and drawing program, all with a user interface and feature set similar to other office suites. + +Sophisticated and flexible, LibreOffice also works transparently with a variety of file formats, including those of Microsoft Office. It primarily supports the Open Document Formats (ODF), such as .odt (documents), .ods (spreadsheets), and .odp (presentations). Here at the LUG, these are the formats we primarily use. Also, many European governments are adopting ODF as the official format for electronic documents. ODF and LibreOffice promotes total interoperability and information integrity. + +### Instant Messaging - Pidgin, Empathy + +Pidgin is a messaging program that supports multiple protocols, including XMPP/Jabber (e.g. Google Talk), IRC, MSN, AIM, ICQ, amd Yahoo!. It features many plugins and has a large community surrounding it. + +Empathy is a messaging program that supports XMPP/Jabber (e.g. Google Talk), SIP, IRC, MSN, AIM, ICQ, and Yahoo!. It supports voice and video calls (only for XMPP and SIP), and has excellent integration with the GNOME desktop. + +### Audio Player - VLC, MPlayer, Clementine + +VLC is famously known as the player that "plays everything." It can handle DVDs, (S)VCDs, Audio CDs, web streams, TV cards and much more. You don't need to keep track of a dozen codec packs you need to have installed. VLC has nearly all codecs built-in. It can even play the file or media if it is damaged! + +- Comparison of audio player software - Wikipedia + +### Movie Player - MPlayer, VLC + +MPlayer is a movie player for Linux. It plays most MPEG, VOB, AVI, VIVO, ASF/WMV, QT/MOV, FLI, NuppelVideo, yuv4mpeg, FILM, RoQ, and OGG files, and some files for RealMedia. You can watch VideoCD, SVCD, DVD, 3ivx, FLI, and even DivX movies too. + +Another big feature of MPlayer is the wide range of supported output drivers. MPlayer supports displaying through a number of hardware MPEG decoder boards such as the DVB and DXR3/Hollywood+ . And what about nice, big anti-aliased shaded subtitles (9 supported types!!!) with european/ISO 8859-1,2 (hungarian, english, czech, etc), cyrillic, korean fonts, and OSD. + +### Graphics Software - GIMP, Inkscape + +GIMP is a professional *raster* image manipulation program, and part of the GNU project. It is suitable for tasks such as photo retouching, image composition, image authoring, or any other task that requires manipulation of raster images. + +Inkscape is a professional *vector* image manipulation/creation program. + +### Programming - Gcc, Eclipse, Qt + +The GNU Compiler Collection contains frontends for C, C++, Objective C, Chill, Fortran, and Java, as well as libraries for these languages. It is a full-featured ANSI C compiler, with support for K&R C as well. + +GCC provides many levels of source code error checking traditionally provided by other tools (such as lint), produces debugging information, and can perform many different optimizations to the resulting object code. + +### Games + +A quick list of popular games that have been ported to Linux: + +- Civilization: Call to Power +- Counter Strike +- Counter Strike: Source +- Descent 3 +- Doom 1/2/3 +- Half Life +- Half Life: Source +- Half Life 2 , HL2: E1, HL2: E2 +- Homeworld +- Kerbal Space Program +- Never Winter Nights +- Postal 2 +- Quake 1/2/3 (see ioquake3-based projects, such as OpenArena) +- Sid Meier's Alpha Centauri +- Simcity 3000 Unlimited +- Soldier Of Fortune +- Team Fortress 2 +- Tribes 2 +- Unreal Tournament + +Here are some fun open source games: + +- SuperTux +- SuperTuxKart +- Xonotic diff --git a/content/lug-ucla-logo.svg b/content/lug-ucla-logo.svg new file mode 100644 index 0000000..723a52b --- /dev/null +++ b/content/lug-ucla-logo.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/content/membership.md b/content/membership.md new file mode 100644 index 0000000..0ae64d8 --- /dev/null +++ b/content/membership.md @@ -0,0 +1,19 @@ +## Board + +| Name | Position | Contact | +| --------------------- | -------------------- | ----------------------- | +| Mustafa Alelg | President | me@mstfelg.com | +| David Zheng | Vice President | | +| Lawrence Liu | Programming Director | | +| James Shiffer | Secretary | jshiffer@linux.ucla.edu | +| Professor Paul Eggert | Faculty Advisor | eggert@cs.ucla.edu | + +## Join us + +Becoming a member is easy, and there's no membership fees or interviews! Fill out the [application form ](https://linux.ucla.edu/application.pdf) and email it to us at [board@linux.ucla.edu](mailto:board@linux.ucla.edu) (or hand it to one of the officers in person) + +**Member benefits include:** + +- SSH access +- Free web hosting +- Free server space diff --git a/content/news.md b/content/news.md new file mode 100644 index 0000000..6017c60 --- /dev/null +++ b/content/news.md @@ -0,0 +1,8 @@ +--- +title: News +--- + +1. 2022-10-03: Github account for LUG has been created. Website is moved to Hugo. +2. 2021-12-11: Come play [SuperTuxKart](https://supertuxkart.net) on our new server (it's literally called "LUG Server")! +3. 2021-12-03: Some members now have their own personal websites and emails. If you want your own website and email, please fill out the application form and email it to board@linux.ucla.edu +4. 2021-12-01: In order to support free software, we have set up an IRC to Discord bridge. You can now chat on IRC and messages will be relayed to Discord. diff --git a/content/ucla-vpn.md b/content/ucla-vpn.md new file mode 100644 index 0000000..a7e5faf --- /dev/null +++ b/content/ucla-vpn.md @@ -0,0 +1,7 @@ +The UCLA VPN allows you to access campus resources even when you are away from campus. This is useful for downloading scientific journals, for example. + +Connecting to the UCLA VPN is easy. + +Open NetworkManager and add a Cisco AnyConnect VPN connection. + +Set the gateway to **ssl.vpn.ucla.edu**. The username/password are the same as your school login. Please note that you will need to have your phone ready to do the two-factor authentication. diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3fea9c2724d23da305894d84ceed3b43b30fb267 GIT binary patch literal 68708 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 + span.magic { + font-weight: bold; + font-size: larger; + color: #e84545; + animation: 3s linear 0s infinite normal both running magic; + } + + @keyframes magic { + 0% { color: #e84545; } + 33% { color: #45e845; } + 66% {color: #4545e8; } + } + + diff --git a/themes/ezhil/archetypes/default.md b/themes/ezhil/archetypes/default.md new file mode 100644 index 0000000..ac36e06 --- /dev/null +++ b/themes/ezhil/archetypes/default.md @@ -0,0 +1,2 @@ ++++ ++++ diff --git a/themes/ezhil/layouts/404.html b/themes/ezhil/layouts/404.html new file mode 100644 index 0000000..e69de29 diff --git a/themes/ezhil/layouts/_default/list.html b/themes/ezhil/layouts/_default/list.html new file mode 100644 index 0000000..c110ca8 --- /dev/null +++ b/themes/ezhil/layouts/_default/list.html @@ -0,0 +1,32 @@ + + +{{ partial "header.html" . }} + + +
+ {{ partial "head.html" . }} + + {{ if isset .Data "Term" }} +

Entries tagged - "{{ .Data.Term }}"

+ {{ else }} +

All articles

+ {{ end }} + + {{ with .Content }}{{ . }}{{ end }} + +
    + {{- range .Data.Pages -}} + {{- if (in (.Site.Params.excludedTypes | default (slice "page")) .Type) -}} + {{- else -}} +
  • + {{.Title}} {{ dateFormat "Jan 2, 2006" .Date }}{{ if .Draft }} DRAFT {{ end }} +
  • + {{- end -}} + {{- end -}} +
+
+ + {{ partial "footer.html" . }} + + + diff --git a/themes/ezhil/layouts/_default/single.html b/themes/ezhil/layouts/_default/single.html new file mode 100644 index 0000000..4138ac7 --- /dev/null +++ b/themes/ezhil/layouts/_default/single.html @@ -0,0 +1,55 @@ + + +{{ partial "header.html" . }} + +
+ {{ partial "head.html" . }} + +
+

{{ .Title }}

+
Posted at — {{ dateFormat "Jan 2, 2006" .Date }}{{ if .Draft }} DRAFT {{ end }}
+
+ +
+ {{ .Content }} +
+ + + {{- $.Scratch.Set "isDisqus" true -}} + + + {{- if and (isset .Params "type") (in .Site.Params.disableDisqusTypes .Params.type) -}} + {{- $.Scratch.Set "isDisqus" false -}} + {{- end -}} + + + {{- if and (isset .Params "disqus") (eq .Params.disqus false) -}} + {{- $.Scratch.Set "isDisqus" false -}} + {{- else if and (isset .Params "disqus") (eq .Params.disqus true) -}} + {{- $.Scratch.Set "isDisqus" true -}} + {{- end -}} + + + {{ if not .Site.DisqusShortname }} + {{- $.Scratch.Set "isDisqus" false -}} + {{ end }} + + {{- if eq ($.Scratch.Get "isDisqus") true -}} + {{- partial "disqus.html" . -}} + {{- end -}} +
+ {{ partial "footer.html" . }} + + diff --git a/themes/ezhil/layouts/_default/terms.html b/themes/ezhil/layouts/_default/terms.html new file mode 100644 index 0000000..6083bee --- /dev/null +++ b/themes/ezhil/layouts/_default/terms.html @@ -0,0 +1,32 @@ + + +{{ partial "header.html" . }} + + +
+ {{ partial "head.html" . }} + +

{{ .Title }}

+ + {{ with .Content }}{{ . }}{{ end }} + + {{ $biggest := 1 }} + {{ $smallest := 1 }} + {{ $max := 3 }} + {{ $min := 1 }} + {{ $size := $min }} + + {{ $data := .Data }} +
+ {{ range $key, $value := .Data.Terms.ByCount }} + {{ $size := (add (mul (div $value.Count $biggest) (sub $max $min)) $min) }} + {{ $size := (cond (eq $biggest $smallest) $min $size) }} + {{ $value.Name }} + {{ end }} +
+
+ + {{ partial "footer.html" . }} + + + diff --git a/themes/ezhil/layouts/index.html b/themes/ezhil/layouts/index.html new file mode 100644 index 0000000..094db76 --- /dev/null +++ b/themes/ezhil/layouts/index.html @@ -0,0 +1,42 @@ + + +{{ partial "header.html" . }} + +
+ {{ partial "head.html" . }} + +
+

+ Upcoming events +

+ {{ partial "now.html" . }} + See past events. +
+ +
+

+ Recent posts +

+
+ {{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }} + {{ $paginator := .Paginate (where $pages "Params.hidden" "ne" true) }} + {{ range $paginator.Pages }} +
+
{{ dateFormat "Jan 2, 2006" .Date }}{{ if .Draft }} DRAFT {{ end }}
+ {{.Title}} — + + {{ if isset .Params "description" }} + {{ .Description }} + {{ else }} + {{ .Summary }}… + {{ end }} + +
+ {{ end }} + {{ template "partials/paginator.html" . }} +
+
+
+ {{ partial "footer.html" . }} + + diff --git a/themes/ezhil/layouts/partials/disqus.html b/themes/ezhil/layouts/partials/disqus.html new file mode 100644 index 0000000..8a829eb --- /dev/null +++ b/themes/ezhil/layouts/partials/disqus.html @@ -0,0 +1,17 @@ +
+ + +comments powered by Disqus diff --git a/themes/ezhil/layouts/partials/footer.html b/themes/ezhil/layouts/partials/footer.html new file mode 100644 index 0000000..1841def --- /dev/null +++ b/themes/ezhil/layouts/partials/footer.html @@ -0,0 +1,12 @@ + + +{{ if not .Site.IsServer }} +{{ template "_internal/google_analytics_async.html" . }} +{{ end }} +{{- with .Site.Params.Social -}} + +{{- end -}} diff --git a/themes/ezhil/layouts/partials/head.html b/themes/ezhil/layouts/partials/head.html new file mode 100644 index 0000000..1e3f437 --- /dev/null +++ b/themes/ezhil/layouts/partials/head.html @@ -0,0 +1,26 @@ +
+ +

+
+ {{- if isset .Site.Params "subtitle" -}} +

{{ .Site.Params.Subtitle | markdownify }}

+ {{- end -}} + +
+ + +
diff --git a/themes/ezhil/layouts/partials/header.html b/themes/ezhil/layouts/partials/header.html new file mode 100644 index 0000000..62e9d27 --- /dev/null +++ b/themes/ezhil/layouts/partials/header.html @@ -0,0 +1,52 @@ + + + + {{- $title := ( .Title ) -}} + {{- $siteTitle := ( .Site.Title ) -}} + {{- if .IsHome -}} + {{ $siteTitle }} {{ if isset .Site.Params "subtitle" }}- {{ .Site.Params.Subtitle }}{{ end }} + {{- else -}} + {{ $title }} - {{ $siteTitle }} + {{- end -}} + + {{- if isset .Site.Params "favicon" -}} + + {{- end -}} + + + {{ with .OutputFormats.Get "rss" -}} + {{ printf `` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} + {{ end -}} + + {{- template "_internal/opengraph.html" . -}} + {{- template "_internal/twitter_cards.html" . -}} + + + + + {{- if isset .Site.Params "customcss" }} + + {{ end }} + {{- if or (eq .Site.Params.mode "auto") (eq .Site.Params.mode "dark") -}} + + {{- if isset .Site.Params "customdarkcss" }} + + {{- end }} + {{- end }} + + {{ if and (isset .Site.Params "social") (isset .Site.Params "feathericonscdn") (eq .Site.Params.featherIconsCDN true) -}} + + {{- else if (isset .Site.Params "social") -}} + + {{ end }} + + {{- if isset .Site.Params "customjs" -}} + {{- range .Site.Params.customJS }} + {{- if or (hasPrefix . "http://") (hasPrefix . "https://") }} + + {{- else }} + + {{- end }} + {{- end }} + {{- end }} + diff --git a/themes/ezhil/layouts/partials/paginator.html b/themes/ezhil/layouts/partials/paginator.html new file mode 100644 index 0000000..ace433d --- /dev/null +++ b/themes/ezhil/layouts/partials/paginator.html @@ -0,0 +1,15 @@ +{{ $pag := $.Paginator }} +{{ if gt $pag.TotalPages 1 }} + +{{ end }} diff --git a/themes/ezhil/static/css/dark.css b/themes/ezhil/static/css/dark.css new file mode 100644 index 0000000..eeca406 --- /dev/null +++ b/themes/ezhil/static/css/dark.css @@ -0,0 +1,73 @@ +body { + color: #ddd; + background-color: #000; +} + +::-moz-selection { + background: #666; + text-shadow: none +} + +::selection { + background: #666; + text-shadow: none +} + +hr { + border-color: #333; +} + +blockquote { + border-color: #ddd; +} + +h1,h2,h3,h4,h5,h6 { + color: #ddd; +} + +a,a:hover { + color: #ff7979; + text-decoration: none; +} + +.site-description a, +.site-description a:hover { + color: #ddd; + text-decoration: underline; +} + +a:hover { + opacity: 0.8; +} + +.post-tags .tags a { + border: 1px solid #ddd; + color: #ddd; +} + +.site-title a { + color: #ddd; + text-decoration: none !important; +} + +.header nav, +.footer { + border-color: #333; +} + +.highlight { + background-color: #333; +} + +table th { + background-color: #333; +} + +table th, table td { + padding: 10px 20px; + border: 1px solid #666; +} + +pre code { + display: inline-block +} diff --git a/themes/ezhil/static/css/main.css b/themes/ezhil/static/css/main.css new file mode 100644 index 0000000..6d2edbf --- /dev/null +++ b/themes/ezhil/static/css/main.css @@ -0,0 +1,416 @@ +body { + font-family: "ubuntu", sans-serif; + font-weight: 400; + color: #333; + line-height: 1.6; + font-size: 16px; +} + +a, a:hover { + color: #a00; + text-decoration: none; + word-break: break-word; +} + +html,button,input,select,textarea { + color: #333; +} + +::-moz-selection { + background: #b3d4fc; + text-shadow: none; +} + +::selection { + background: #b3d4fc; + text-shadow: none; +} + +hr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #ccc; + margin: 1rem 0; + padding: 0; +} + +img { + margin: 10px auto 10px auto; + max-width: 100%; + display: block; +} + +a img { + border:none; +} + +figure { + margin: 0; + text-align: center; +} + +fieldset { + border: 0; + margin: 0; + padding: 0; +} + +textarea { + resize: vertical; +} + +blockquote { + margin-left: 1rem; + font-style: italic; + font-size: 1.4rem; + font-family: Georgia,bitstream charter,serif; + border-left: 3px solid; + border-color: #a00; + padding-left: 20px; +} + +blockquote cite { + font-size: 70%; + opacity: .8; +} + +blockquote em { + font-weight: 600; +} + +a,a:hover { + color: #a00; + text-decoration: none +} + +a:hover { + text-decoration: underline +} + +h1,h2,h3,h4,h5,h6 { + font-family: raleway,sans-serif; + line-height: 1.2; + color: #333; + font-weight: 200; +} + +h1 { + font-size: 2.75rem; +} + +h2 { + font-size: 2rem; +} + +h3 { + font-size: 1.6rem; +} + +h4 { + font-size: 1.2rem; +} + +h5 { + font-size: 1rem; +} + +h6 { + font-size: .9rem; +} + +.align-center { + text-align: center; +} + +.align-left { + text-align: left; +} + +.align-right { + text-align: right; +} + +.container { + max-width: 800px; +} + +ul { + padding-left: 15px; +} + +ul.flat { + margin: 0; + padding: 0; +} + +ul.flat li { + display: inline-block; + list-style: none; + margin-left: 0; +} + +.prevent-collapse { + min-height: .1rem +} + +.page-title { + margin: 0; +} + +.smaller { + font-size: 70%; +} + +ul { + list-style: disc inside; +} + +.site-title a { + color: #333; + text-decoration: none !important; +} + +.post ul li { + margin-bottom: 10px; +} + +.post ul li p { + display: inline; +} + +.highlight pre { + margin-bottom: 0; + margin-top: 0; + padding: 20px; + background-color: transparent !important; +} + +.highlight { + background: 0 0; + background-color: #FAFAFA; +} + +pre code { + display: inline-block; +} + + +.wrapper { + max-width: 760px; + margin: 0 auto; +} + +.container { + margin-top: 50px; +} + +.header { + margin-bottom: 20px; + padding-bottom: 20px; +} + +.header h1, +.header h2 { + margin: 0; + padding: 0; + font-size: 2rem; + line-height: 1.3em; +} + +.header h2 { + font-size: 1.125rem; +} + +.header nav { + margin-top: 20px; + border-top: 1px solid #f4f4f4; +} + +.header nav ul, +.header nav li { + margin: 0; +} + +.header nav ul.flat { + padding: 0; +} + +.header nav ul.flat li { + display: inline-block; + list-style: none; + margin-left: 0; + margin-right: 10px; + margin-top: 10px; + text-transform: capitalize; +} + +.header .site-description { + display: flex; + justify-content: space-between; +} + +.header .site-description nav { + margin: 0; + padding: 0; + border: none; + min-width: 50px; + margin-left: 15px; +} + +.header .site-description nav ul svg { + max-height: 15px; +} + +.section .section-header { + font-size: 0.75rem; + font-weight: 600; + text-transform: uppercase; + color: #999; + margin-bottom: 20px; + letter-spacing: 1px; +} + +.recent-posts .posts .post { + margin-bottom: 30px; +} + +.recent-posts .posts .post .meta, +.post .post-header .meta, +.list .posts .post .meta { + font-size: 0.725rem; + color: #999; + margin-bottom: 4px; +} + +.post .post-header { + margin-bottom: 30px; +} + +.post .post-header .title { + margin: 0; +} + +.post-tags a { + margin-right: 5px; +} + +.post .post-header .meta { + padding-left: 5px; + margin-top: 10px; +} + +.post .draft-label { + color: #a00; + text-decoration: none; + padding: 2px 4px; + border-radius: 4px; + margin-left: 6px; + background-color: #f9f2f4; +} + +.post-tags .tags li { + margin-bottom: 0; + margin-top: 20px; +} + +.post-tags .tags a { + display: inline-block; + border: 1px solid #a00; + border-radius: 4px; + padding: 0px 6px; + color: #a00; + line-height: 20px; + font-size: 12px; + text-decoration: none; + margin: 0 1px; +} + +.list .posts .post .meta { + margin-bottom: 0; + margin-left: 5px; +} + +.footer { + text-align: right; + font-size: 0.75em; + color: #999; + border-top: 1px solid #f4f4f4; + padding: 20px 0; + margin-top: 40px; +} + +.page-title { + margin-bottom: 0; +} + +.tag-cloud { + margin-top: 20px; +} + +.tag-cloud a { + margin-right: 15px; +} + +.pagination { + margin: 0; + padding: 0; + text-align: left; + display: flex; + justify-content: space-between; +} + +.pagination li { + list-style: none; + display: inline-block; + margin: 0; + padding: 0; +} + +.pagination .page-prev { + margin-right: 20px; + padding-right: 20px; +} + +.pagination .page-item.page-prev { + text-align: left; +} + +.pagination .page-item.page-next { + text-align: right; +} + +table th { + background-color: #f4f4f4; +} + +table th, table td { + padding: 10px 20px; + border: 1px solid #dddddd; +} + +@media (max-width: 767px) { + body { + padding: 20px; + } + + h1 { + font-size: 1.8rem; + } + + h2 { + font-size: 1.6rem; + } + + h3 { + font-size: 1.2rem; + } + + h4 { + font-size: 1rem; + } + + .container { + margin-top: 10px; + } +} diff --git a/themes/ezhil/static/css/normalize.css b/themes/ezhil/static/css/normalize.css new file mode 100644 index 0000000..08ac354 --- /dev/null +++ b/themes/ezhil/static/css/normalize.css @@ -0,0 +1 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */img,legend{border:0}legend,td,th{padding:0}html{font-family:serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0} \ No newline at end of file diff --git a/themes/ezhil/static/js/feather.min.js b/themes/ezhil/static/js/feather.min.js new file mode 100644 index 0000000..d229492 --- /dev/null +++ b/themes/ezhil/static/js/feather.min.js @@ -0,0 +1,13 @@ +!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.feather=n():e.feather=n()}("undefined"!=typeof self?self:this,function(){return function(e){var n={};function i(l){if(n[l])return n[l].exports;var t=n[l]={i:l,l:!1,exports:{}};return e[l].call(t.exports,t,t.exports,i),t.l=!0,t.exports}return i.m=e,i.c=n,i.d=function(e,n,l){i.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:l})},i.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},i.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(n,"a",n),n},i.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},i.p="",i(i.s=61)}([function(e,n,i){var l=i(20)("wks"),t=i(11),r=i(1).Symbol,o="function"==typeof r;(e.exports=function(e){return l[e]||(l[e]=o&&r[e]||(o?r:t)("Symbol."+e))}).store=l},function(e,n){var i=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(e,n){var i=e.exports={version:"2.5.6"};"number"==typeof __e&&(__e=i)},function(e,n){var i={}.hasOwnProperty;e.exports=function(e,n){return i.call(e,n)}},function(e,n,i){e.exports=!i(27)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,n,i){var l=i(13);e.exports=function(e){if(!l(e))throw TypeError(e+" is not an object!");return e}},function(e,n,i){var l=i(5),t=i(56),r=i(55),o=Object.defineProperty;n.f=i(4)?Object.defineProperty:function(e,n,i){if(l(e),n=r(n,!0),l(i),t)try{return o(e,n,i)}catch(e){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(e[n]=i.value),e}},function(e,n,i){var l=i(6),t=i(12);e.exports=i(4)?function(e,n,i){return l.f(e,n,t(1,i))}:function(e,n,i){return e[n]=i,e}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=o(i(35)),t=o(i(33)),r=o(i(32));function o(e){return e&&e.__esModule?e:{default:e}}n.default=Object.keys(t.default).map(function(e){return new l.default(e,t.default[e],r.default[e])}).reduce(function(e,n){return e[n.name]=n,e},{})},function(e,n,i){var l=i(20)("keys"),t=i(11);e.exports=function(e){return l[e]||(l[e]=t(e))}},function(e,n){e.exports={}},function(e,n){var i=0,l=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+l).toString(36))}},function(e,n){e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},function(e,n){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,n){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,n){var i=Math.ceil,l=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?l:i)(e)}},function(e,n,i){var l; +/*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +!function(){"use strict";var i=function(){function e(){}function n(e,n){for(var i=n.length,l=0;l0?t(l(e),9007199254740991):0}},function(e,n){var i={}.toString;e.exports=function(e){return i.call(e).slice(8,-1)}},function(e,n,i){var l=i(48),t=i(14);e.exports=function(e){return l(t(e))}},function(e,n,i){var l=i(54);e.exports=function(e,n,i){if(l(e),void 0===n)return e;switch(i){case 1:return function(i){return e.call(n,i)};case 2:return function(i,l){return e.call(n,i,l)};case 3:return function(i,l,t){return e.call(n,i,l,t)}}return function(){return e.apply(n,arguments)}}},function(e,n,i){var l=i(1),t=i(7),r=i(3),o=i(11)("src"),a=Function.toString,c=(""+a).split("toString");i(2).inspectSource=function(e){return a.call(e)},(e.exports=function(e,n,i,a){var y="function"==typeof i;y&&(r(i,"name")||t(i,"name",n)),e[n]!==i&&(y&&(r(i,o)||t(i,o,e[n]?""+e[n]:c.join(String(n)))),e===l?e[n]=i:a?e[n]?e[n]=i:t(e,n,i):(delete e[n],t(e,n,i)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||a.call(this)})},function(e,n,i){var l=i(13),t=i(1).document,r=l(t)&&l(t.createElement);e.exports=function(e){return r?t.createElement(e):{}}},function(e,n){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,n,i){var l=i(1),t=i(2),r=i(7),o=i(25),a=i(24),c=function(e,n,i){var y,p,h,x,s=e&c.F,u=e&c.G,d=e&c.S,f=e&c.P,v=e&c.B,g=u?l:d?l[n]||(l[n]={}):(l[n]||{}).prototype,m=u?t:t[n]||(t[n]={}),M=m.prototype||(m.prototype={});for(y in u&&(i=n),i)h=((p=!s&&g&&void 0!==g[y])?g:i)[y],x=v&&p?a(h,l):f&&"function"==typeof h?a(Function.call,h):h,g&&o(g,y,h,e&c.U),m[y]!=h&&r(m,y,x),f&&M[y]!=h&&(M[y]=h)};l.core=t,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,n){e.exports=!1},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=Object.assign||function(e){for(var n=1;n0&&void 0!==arguments[0]?arguments[0]:{};if("undefined"==typeof document)throw new Error("`feather.replace()` only works in a browser environment.");var n=document.querySelectorAll("[data-feather]");Array.from(n).forEach(function(n){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=function(e){return Array.from(e.attributes).reduce(function(e,n){return e[n.name]=n.value,e},{})}(e),o=i["data-feather"];delete i["data-feather"];var a=r.default[o].toSvg(l({},n,i,{class:(0,t.default)(n.class,i.class)})),c=(new DOMParser).parseFromString(a,"image/svg+xml").querySelector("svg");e.parentNode.replaceChild(c,e)}(n,e)})}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l,t=i(8),r=(l=t)&&l.__esModule?l:{default:l};n.default=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."),!e)throw new Error("The required `key` (icon name) parameter is missing.");if(!r.default[e])throw new Error("No icon matching '"+e+"'. See the complete list of icons at https://feathericons.com");return r.default[e].toSvg(n)}},function(e){e.exports={activity:["pulse","health","action","motion"],airplay:["stream","cast","mirroring"],"alert-circle":["warning"],"alert-octagon":["warning"],"alert-triangle":["warning"],"at-sign":["mention"],award:["achievement","badge"],aperture:["camera","photo"],bell:["alarm","notification"],"bell-off":["alarm","notification","silent"],bluetooth:["wireless"],"book-open":["read"],book:["read","dictionary","booklet","magazine"],bookmark:["read","clip","marker","tag"],briefcase:["work","bag","baggage","folder"],clipboard:["copy"],clock:["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],cloud:["weather"],codepen:["logo"],codesandbox:["logo"],coffee:["drink","cup","mug","tea","cafe","hot","beverage"],command:["keyboard","cmd"],compass:["navigation","safari","travel"],copy:["clone","duplicate"],"corner-down-left":["arrow"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],"credit-card":["purchase","payment","cc"],crop:["photo","image"],crosshair:["aim","target"],database:["storage"],delete:["remove"],disc:["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],droplet:["water"],edit:["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],eye:["view","watch"],"eye-off":["view","watch"],"external-link":["outbound"],facebook:["logo"],"fast-forward":["music"],figma:["logo","design","tool"],film:["movie","video"],"folder-minus":["directory"],"folder-plus":["directory"],folder:["directory"],frown:["emoji","face","bad","sad","emotion"],gift:["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],github:["logo","version control"],gitlab:["logo","version control"],global:["world","browser","language","translate"],"hard-drive":["computer","server"],hash:["hashtag","number","pound"],headphones:["music","audio"],heart:["like","love"],"help-circle":["question mark"],hexagon:["shape","node.js","logo"],home:["house"],image:["picture"],inbox:["email"],instagram:["logo","camera"],key:["password","login","authentication"],"life-bouy":["help","life ring","support"],linkedin:["logo"],lock:["security","password"],"log-in":["sign in","arrow"],"log-out":["sign out","arrow"],mail:["email"],"map-pin":["location","navigation","travel","marker"],map:["location","navigation","travel"],maximize:["fullscreen"],"maximize-2":["fullscreen","arrows"],meh:["emoji","face","neutral","emotion"],menu:["bars","navigation","hamburger"],"message-circle":["comment","chat"],"message-square":["comment","chat"],"mic-off":["record"],mic:["record"],minimize:["exit fullscreen"],"minimize-2":["exit fullscreen","arrows"],monitor:["tv"],moon:["dark","night"],"more-horizontal":["ellipsis"],"more-vertical":["ellipsis"],"mouse-pointer":["arrow","cursor"],move:["arrows"],navigation:["location","travel"],"navigation-2":["location","travel"],octagon:["stop"],package:["box"],paperclip:["attachment"],pause:["music","stop"],"pause-circle":["music","stop"],"pen-tool":["vector","drawing"],play:["music","start"],"play-circle":["music","start"],plus:["add","new"],"plus-circle":["add","new"],"plus-square":["add","new"],pocket:["logo","save"],power:["on","off"],radio:["signal"],rewind:["music"],rss:["feed","subscribe"],save:["floppy disk"],search:["find","magnifier","magnifying glass"],send:["message","mail","paper airplane"],settings:["cog","edit","gear","preferences"],shield:["security"],"shield-off":["security"],"shopping-bag":["ecommerce","cart","purchase","store"],"shopping-cart":["ecommerce","cart","purchase","store"],shuffle:["music"],"skip-back":["music"],"skip-forward":["music"],slash:["ban","no"],sliders:["settings","controls"],smile:["emoji","face","happy","good","emotion"],speaker:["music"],star:["bookmark","favorite","like"],sun:["brightness","weather","light"],sunrise:["weather"],sunset:["weather"],tag:["label"],target:["bullseye"],terminal:["code","command line"],"thumbs-down":["dislike","bad"],"thumbs-up":["like","good"],"toggle-left":["on","off","switch"],"toggle-right":["on","off","switch"],trash:["garbage","delete","remove"],"trash-2":["garbage","delete","remove"],triangle:["delta"],truck:["delivery","van","shipping"],twitter:["logo"],umbrella:["rain","weather"],"video-off":["camera","movie","film"],video:["camera","movie","film"],voicemail:["phone"],volume:["music","sound","mute"],"volume-1":["music","sound"],"volume-2":["music","sound"],"volume-x":["music","sound","mute"],watch:["clock","time"],wind:["weather","air"],"x-circle":["cancel","close","delete","remove","times"],"x-octagon":["delete","stop","alert","warning","times"],"x-square":["cancel","close","delete","remove","times"],x:["cancel","close","delete","remove","times"],youtube:["logo","video","play"],"zap-off":["flash","camera","lightning"],zap:["flash","camera","lightning"]}},function(e){e.exports={activity:'',airplay:'',"alert-circle":'',"alert-octagon":'',"alert-triangle":'',"align-center":'',"align-justify":'',"align-left":'',"align-right":'',anchor:'',aperture:'',archive:'',"arrow-down-circle":'',"arrow-down-left":'',"arrow-down-right":'',"arrow-down":'',"arrow-left-circle":'',"arrow-left":'',"arrow-right-circle":'',"arrow-right":'',"arrow-up-circle":'',"arrow-up-left":'',"arrow-up-right":'',"arrow-up":'',"at-sign":'',award:'',"bar-chart-2":'',"bar-chart":'',"battery-charging":'',battery:'',"bell-off":'',bell:'',bluetooth:'',bold:'',"book-open":'',book:'',bookmark:'',box:'',briefcase:'',calendar:'',"camera-off":'',camera:'',cast:'',"check-circle":'',"check-square":'',check:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',"chevrons-down":'',"chevrons-left":'',"chevrons-right":'',"chevrons-up":'',chrome:'',circle:'',clipboard:'',clock:'',"cloud-drizzle":'',"cloud-lightning":'',"cloud-off":'',"cloud-rain":'',"cloud-snow":'',cloud:'',code:'',codepen:'',codesandbox:'',coffee:'',columns:'',command:'',compass:'',copy:'',"corner-down-left":'',"corner-down-right":'',"corner-left-down":'',"corner-left-up":'',"corner-right-down":'',"corner-right-up":'',"corner-up-left":'',"corner-up-right":'',cpu:'',"credit-card":'',crop:'',crosshair:'',database:'',delete:'',disc:'',"dollar-sign":'',"download-cloud":'',download:'',droplet:'',"edit-2":'',"edit-3":'',edit:'',"external-link":'',"eye-off":'',eye:'',facebook:'',"fast-forward":'',feather:'',figma:'',"file-minus":'',"file-plus":'',"file-text":'',file:'',film:'',filter:'',flag:'',"folder-minus":'',"folder-plus":'',folder:'',frown:'',gift:'',"git-branch":'',"git-commit":'',"git-merge":'',"git-pull-request":'',github:'',gitlab:'',globe:'',grid:'',"hard-drive":'',hash:'',headphones:'',heart:'',"help-circle":'',hexagon:'',home:'',image:'',inbox:'',info:'',instagram:'',italic:'',key:'',layers:'',layout:'',"life-buoy":'',"link-2":'',link:'',linkedin:'',list:'',loader:'',lock:'',"log-in":'',"log-out":'',mail:'',"map-pin":'',map:'',"maximize-2":'',maximize:'',meh:'',menu:'',"message-circle":'',"message-square":'',"mic-off":'',mic:'',"minimize-2":'',minimize:'',"minus-circle":'',"minus-square":'',minus:'',monitor:'',moon:'',"more-horizontal":'',"more-vertical":'',"mouse-pointer":'',move:'',music:'',"navigation-2":'',navigation:'',octagon:'',package:'',paperclip:'',"pause-circle":'',pause:'',"pen-tool":'',percent:'',"phone-call":'',"phone-forwarded":'',"phone-incoming":'',"phone-missed":'',"phone-off":'',"phone-outgoing":'',phone:'',"pie-chart":'',"play-circle":'',play:'',"plus-circle":'',"plus-square":'',plus:'',pocket:'',power:'',printer:'',radio:'',"refresh-ccw":'',"refresh-cw":'',repeat:'',rewind:'',"rotate-ccw":'',"rotate-cw":'',rss:'',save:'',scissors:'',search:'',send:'',server:'',settings:'',"share-2":'',share:'',"shield-off":'',shield:'',"shopping-bag":'',"shopping-cart":'',shuffle:'',sidebar:'',"skip-back":'',"skip-forward":'',slack:'',slash:'',sliders:'',smartphone:'',smile:'',speaker:'',square:'',star:'',"stop-circle":'',sun:'',sunrise:'',sunset:'',tablet:'',tag:'',target:'',terminal:'',thermometer:'',"thumbs-down":'',"thumbs-up":'',"toggle-left":'',"toggle-right":'',"trash-2":'',trash:'',trello:'',"trending-down":'',"trending-up":'',triangle:'',truck:'',tv:'',twitter:'',type:'',umbrella:'',underline:'',unlock:'',"upload-cloud":'',upload:'',"user-check":'',"user-minus":'',"user-plus":'',"user-x":'',user:'',users:'',"video-off":'',video:'',voicemail:'',"volume-1":'',"volume-2":'',"volume-x":'',volume:'',watch:'',"wifi-off":'',wifi:'',wind:'',"x-circle":'',"x-octagon":'',"x-square":'',x:'',youtube:'',"zap-off":'',zap:'',"zoom-in":'',"zoom-out":''}},function(e){e.exports={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=Object.assign||function(e){for(var n=1;n2&&void 0!==arguments[2]?arguments[2]:[];!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=n,this.contents=i,this.tags=t,this.attrs=l({},o.default,{class:"feather feather-"+n})}return t(e,[{key:"toSvg",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return""+this.contents+""}},{key:"toString",value:function(){return this.contents}}]),e}();n.default=c},function(e,n,i){"use strict";var l=o(i(8)),t=o(i(31)),r=o(i(30));function o(e){return e&&e.__esModule?e:{default:e}}e.exports={icons:l.default,toSvg:t.default,replace:r.default}},function(e,n,i){var l=i(0)("iterator"),t=!1;try{var r=[7][l]();r.return=function(){t=!0},Array.from(r,function(){throw 2})}catch(e){}e.exports=function(e,n){if(!n&&!t)return!1;var i=!1;try{var r=[7],o=r[l]();o.next=function(){return{done:i=!0}},r[l]=function(){return o},e(r)}catch(e){}return i}},function(e,n,i){var l=i(22),t=i(0)("toStringTag"),r="Arguments"==l(function(){return arguments}());e.exports=function(e){var n,i,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,n){try{return e[n]}catch(e){}}(n=Object(e),t))?i:r?l(n):"Object"==(o=l(n))&&"function"==typeof n.callee?"Arguments":o}},function(e,n,i){var l=i(38),t=i(0)("iterator"),r=i(10);e.exports=i(2).getIteratorMethod=function(e){if(void 0!=e)return e[t]||e["@@iterator"]||r[l(e)]}},function(e,n,i){"use strict";var l=i(6),t=i(12);e.exports=function(e,n,i){n in e?l.f(e,n,t(0,i)):e[n]=i}},function(e,n,i){var l=i(10),t=i(0)("iterator"),r=Array.prototype;e.exports=function(e){return void 0!==e&&(l.Array===e||r[t]===e)}},function(e,n,i){var l=i(5);e.exports=function(e,n,i,t){try{return t?n(l(i)[0],i[1]):n(i)}catch(n){var r=e.return;throw void 0!==r&&l(r.call(e)),n}}},function(e,n,i){"use strict";var l=i(24),t=i(28),r=i(17),o=i(42),a=i(41),c=i(21),y=i(40),p=i(39);t(t.S+t.F*!i(37)(function(e){Array.from(e)}),"Array",{from:function(e){var n,i,t,h,x=r(e),s="function"==typeof this?this:Array,u=arguments.length,d=u>1?arguments[1]:void 0,f=void 0!==d,v=0,g=p(x);if(f&&(d=l(d,u>2?arguments[2]:void 0,2)),void 0==g||s==Array&&a(g))for(i=new s(n=c(x.length));n>v;v++)y(i,v,f?d(x[v],v):x[v]);else for(h=g.call(x),i=new s;!(t=h.next()).done;v++)y(i,v,f?o(h,d,[t.value,v],!0):t.value);return i.length=v,i}})},function(e,n,i){var l=i(3),t=i(17),r=i(9)("IE_PROTO"),o=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=t(e),l(e,r)?e[r]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?o:null}},function(e,n,i){var l=i(1).document;e.exports=l&&l.documentElement},function(e,n,i){var l=i(15),t=Math.max,r=Math.min;e.exports=function(e,n){return(e=l(e))<0?t(e+n,0):r(e,n)}},function(e,n,i){var l=i(23),t=i(21),r=i(46);e.exports=function(e){return function(n,i,o){var a,c=l(n),y=t(c.length),p=r(o,y);if(e&&i!=i){for(;y>p;)if((a=c[p++])!=a)return!0}else for(;y>p;p++)if((e||p in c)&&c[p]===i)return e||p||0;return!e&&-1}}},function(e,n,i){var l=i(22);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==l(e)?e.split(""):Object(e)}},function(e,n,i){var l=i(3),t=i(23),r=i(47)(!1),o=i(9)("IE_PROTO");e.exports=function(e,n){var i,a=t(e),c=0,y=[];for(i in a)i!=o&&l(a,i)&&y.push(i);for(;n.length>c;)l(a,i=n[c++])&&(~r(y,i)||y.push(i));return y}},function(e,n,i){var l=i(49),t=i(19);e.exports=Object.keys||function(e){return l(e,t)}},function(e,n,i){var l=i(6),t=i(5),r=i(50);e.exports=i(4)?Object.defineProperties:function(e,n){t(e);for(var i,o=r(n),a=o.length,c=0;a>c;)l.f(e,i=o[c++],n[i]);return e}},function(e,n,i){var l=i(5),t=i(51),r=i(19),o=i(9)("IE_PROTO"),a=function(){},c=function(){var e,n=i(26)("iframe"),l=r.length;for(n.style.display="none",i(45).appendChild(n),n.src="javascript:",(e=n.contentWindow.document).open(),e.write("
    +
  1. 10-07: Installfest, Friday 18:00-19:00 in Mong Auditorium in Engineering 6
  2. +
  3. 10-11: General meeting
  4. +