diff --git a/2024/ApplicationTemplate.md b/2024/ApplicationTemplate.md new file mode 100644 index 0000000..f4bade5 --- /dev/null +++ b/2024/ApplicationTemplate.md @@ -0,0 +1,54 @@ +An ideal application will contain 5 things: +1. A **descriptive title** including the name of the **sub-org** you want to work with (if this is missing, your application may be rejected!) +2. **Information about you**, including contact information. +3. Link to a **code contribution** you have made to your organization. (Usually this is a link to a pull request.) +4. Information about your **proposed project**. This should be fairly detailed and include a **timeline**. +5. Information about **other commitments** that might affect your ability to work during the GSoC period. (exams, classes, holidays, other jobs, weddings, etc.) We can work around a lot of things, but it helps to know in advance. + +Sample Application Template: +# Sub-org name: The thing I want to do this summer + +**Note**: Make sure to include the sub-org name in the title both in Google's system and in your document. + +## About me +1. Name (and nicknames like your github and irc usernames) +2. University / program / year / expected graduation date +3. Contact info (email, phone, etc.) +4. Time zone +5. Link to a resume (if you want) + +## Code contribution +* Link to a pull request or code sample goes here. + * Ideally this should be code submitted to your chosen sub-org as a pull request or patch. + * It must represent your own work, although you can have help from developers to improve it. + * It must be publicly visible to your mentors and org admins. + * You can link more than one if you want. + +## Project information +1. Sub-org name +2. Project Abstract +3. Detailed description +4. Weekly timeline + * The default schedule for GSoC is 12 weeks, either full-time or part-time. See [the GSoC timeline](https://developers.google.com/open-source/gsoc/timeline) for precise dates. This template assumes you'll be using those 12 weeks; if you're doing an alternate schedule you can adjust appropriately. + * **Community Bonding**: List any prepwork you want to do before coding starts. + * For each coding week below, list planned code deliverables. Break the project into weeks and estimate what you will have complete at the end of each one. This schedule can be adjusted later if need be. + + * **Week 1** Note that usually even week 1's deliverables should include some code. + * **Week 2** + * **Week 3** + * **Week 4** + * **Week 5** + * **Week 6** Midterm point. You need enough done at this point for your mentor to evaluate your progress and pass you. Usually you want to be a bit more than half done. + * **Week 7** + * **Week 8** + * **Week 9** + * **Week 10** + * **Week 11** you may want to try to "code freeze" in week 11 and complete any tests/documentation in week 11-12. + * **Week 12** + * **Final week**: This week you will be submitting your projects + + +## Other commitments +* List of any things that might affect your ability to work this summer. + * List any exams, classes, holidays, other jobs, weddings, etc. We can work around a lot of things, but it helps to know in advance. +* If you're applying to more than one organization, you can let us know which one you prefer in case of a tie. diff --git a/2024/blogs.html b/2024/blogs.html new file mode 100644 index 0000000..f141a79 --- /dev/null +++ b/2024/blogs.html @@ -0,0 +1,141 @@ + + + + + + + + Codestin Search App + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+

Blogging

+

Every week, we ask our contributors to answer three questions:

+
    +
  1. What did you do this week?
  2. +
  3. What is coming up next?
  4. +
  5. Did you get stuck anywhere?
  6. +
+

These mini status reports help everyone keep track of how a project is going. It's particularly + important for the org admins to have these so they can oversee the whole program, but we also hope + that these public status reports will help the wider python community see the great work that comes + out of Google Summer of Code.

+

Contributors: To post your status report, log in to https://social.python-gsoc.org/ and post it there. Please make your status report posts public, as Google may want to look at them. We expect at least one post that answers the three questions above every week that you're working. The post limit is 4004 characters but we expect most of your status reports will be much shorter than that! If you do not post consistently, we may assume that you have gone inactive and examine your other work to determine if you should be failed out of the program.

+
+
+ +
+
+ +
+

Our Fediverse / Mastodon server

+

The Python-GSoC server can be found at https://social.python-gsoc.org/

+ +

The fediverse is a collection of servers running a compatible protocol. We're running a fork of Mastodon, which allows you to do micro-blogging (similar to the service formerly known as Twitter or other text-based social media). We used to run a more traditional blog server for Google Summer of Code, but many pythonistas (including the Python Software Foundation, and lots of folk at PyConUS 2024) use the fediverse, and we felt using the fediverse might help our contributors feel more connected to the wider python community, and help the wider community find our contributors. + +

Community folk: please feel free to follow our contributors and ask them questions about their projects!

+ +

A list of contributors will appear here after folk are set up.

+
+
+
+ +
+
+

Getting Started

+ +

Ben has a thread on how to get + started in the Fediverse. + +

Feel free to follow other contributors, the server admins (see list below), folk on other servers, or hashtags. (You might enjoy #Python, #OpenSource, and #GSoC for example.) We encourage you to support other gsoc contributors and chat with them about their projects.

+ +

You can use your account for general chatting and stuff too, just remember to abide by the Python code of conduct, listed in the server rules.

+
+
+ +
+
+ +
+

Need help?

+ +

Students will recieve invites to the email they provided in their GSoC applications. Mentors can + request an invite by emailing the admins. + +

If you're having trouble accessing your account, the org admins can be reached at + gsoc-admins(at)python(dot)org.

+ +

If you're able to use the server, you can contact the server admins directly:

+
+ +
+
+ + + + \ No newline at end of file diff --git a/2024/contributors.html b/2024/contributors.html new file mode 100644 index 0000000..6b824bd --- /dev/null +++ b/2024/contributors.html @@ -0,0 +1,498 @@ + + + + + + + + + Codestin Search App + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

GSoC Contributors

+

GSoC is basically an open source apprenticeship: contributors will be paid by + Google to work under the guidance of mentors from an open source community. + It's a really great opportunity to build new skills, make connections in your + community, get experience working with a larger and often distributed team, + learn, and, of course, get paid.

+ +
+

+ + Time commitment +

+

Contributors are + expected work either 350 hours (full-time +eqivalent) or 175 hours (part-time equivalent) over the course of the program. +The default schedule runs over 3 months and can potentially be spread over a +longer period. + + We do not recommend taking on another full-time internship, job, or schooling during the GSoC period, although a few weeks of overlap is often fine.

+
+
+

+ + Application Process +

+

To apply, you need to take a look at the mentoring + organizations and the ideas that they are willing to sponsor. Typically, + you'll choose one of their ideas and work with a mentor to create a project + proposal that's good for both you and your chosen open source community. + Sometimes, projects are open to new ideas from GSoC contributors, but if you propose + something new make especially sure that you work with a mentor to make sure + it's a good fit for your community. Unsolicited, undiscussed ideas are less + likely to get accepted.

+ +

Note that Python is an "umbrella organization" which means that our team is + actually a group of python projects that work together to do Google Summer of + Code. If you're going to apply with us, you'll need to choose from one of + those teams, because that defines which mentors will be helping you with your + applications. Applications without any sub-org and mentor to + evaluate them will be rejected. You can work with more than one + sub-org while you're figuring out what you want to do.

+

+ Once you've narrowed it down to a project idea or two, use + the application checklist to prepare your + project proposal. (You + can + submit up to three proposals, but will only be offered one position if accepted.) +

+

All applications are must be sent through the Google system.

+ + +
+
+ +

+ + Selection Tips +

+

Google intends this to be a way for new contributors to join + the world of open source. The contributors most likely to be selected are those + who are engaged with the community and hoping to continue their involvement + for more than just a few months. It's more important to be a good community + member than it is to be a good coder, for most projects!

+

Read the instructions. A large number of contributors don't read the instructions + when submitting proposals, + and their applications get rejected. For example, every year we reject a number + of contributors who submitted a resume, scientific paper, presentation or other file that doesn't + contain any information about the project they would like to complete. Sometimes we get + dozens of nearly identical form letters from a single university that wind up marked as spam. + Don't do this! +

+

Listen and use feedback from others. Every year, we reject a few contributors who + simply wouldn't listen to their mentors. + Remember: the mentors are using their interactions with you to figure out if it's worth + their volunteer time to work with you. No one wants to have an intern who doesn't listen, and + contributors who don't listen also don't produce code that the open source project can use, + so contributors who don't listen don't get hired. Nor do contributors who are arrogant jerks, + or who violate the + Code of Conduct. Be professional + and show that you will take the mentoring relationship seriously. +

+
+ +

Here's some resources so you can read up more on how to be an awesome + GSoC contributor:

+
    +
  • The + GSoC student Guide -- This is a guide written by mentors and former + contributors. It covers many questions that most contributors ask us. (Note that it was written + when all GSoC contributors were students.) Please read + it before asking any questions on the mailing list or IRC if you can! New + contributors in particular might want to read the section + Am + I + Good Enough?
  • + +
  • Google's + list of resources -- Note especially the Frequently + Asked + Questions (FAQ) which does in fact answer 99% of the questions we get + on + the main GSoC IRC channel.
  • +
+
+
+ + + +
+
+
+

How do I choose a project or sub-org?

+

Choosing a project is a pretty personal choice. You should choose something you want to + work on, and none of us can tell you exactly what that would be! But here's a few + questions you might want to ask yourself to help figure that out:

+ +
    +
  • What software do you already use? If you use the software, you know a lot + more + about + it and probably have stronger opinions about what would make it better! + +
  • What would you like to learn? GSoC is meant to be a bit of a learning + opportunity. + Have you always wanted to be more involved with biology? Astronomy? Mathematics? + Education? See which projects might help you improve your skills. + +
  • Who do you like working with? Hang out where the developers do and get to + know + some of + your potential mentors. Which developers inspire you? + +
  • How do you want to change the world? Do you want to help people learn + more? + Communicate better? Understand our world better? Lots of python projects can help you do + social good! + +
  • How do you like to communicate? Do you like realtime communication on IRC? + Perhaps you + should choose a project with mentors close to you in time zone. Do you like asynchronous + communication on mailing lists? Find a group with active lists. Communication is a big + part of summer of code (or really any open source development in a team) to finding a team + that works the way you want to work can make your summer more awesome. +
+ +

There's a list of sub-orgs for this year + and + lists of sub orgs who have participated in previous years + Be aware that all sub orgs might not be able to participate every year, and make sure to + check and see if they're planning to participate before assuming.

+ +

If you're chosen as a GSoC contributor, you're going to be expected to make some decisions + on + your own, so you can make a better first impression on mentors by showing that you're able + to narrow down your field of choices!

+ +
+
+
+ +
+ +
+
+

What do I need to know to participate in + Summer of + Code + with Python?

+ +

The answer to this depends a lot on the project you choose. We have a range of projects, + from beginner to advanced. Each of the sub orgs expects different things from their + contributors: maybe you'll need to know a bit about machine learning, or email, or image + processing. The answer to this question is always ask your mentors what you will need + to + know for a specific project.

+ +

But a lot of people ask early on because they want to be sort of generically ready but + they're not sure what they want to do yet, so that's not always super helpful.

+ +

So here's a list of a few things that are useful for most Python umbrella projects:

+ +
    +
  • You need to have a bit of experience with Python. You can be a + beginner, but + practicing in advance is good! And there are a lot more projects available for contributors + who are reasonably used to the language, so more practice means you'll have more + project + options. +
  • +
  • You need to feel comfortable asking questions, because we're going to + expect you to + ask if you don't understand something. +
  • +
  • You should be comfortable communicating your ideas to others in + public. Most projects + have public mailing lists and would prefer if you use them, and Python GSoC contributors are also + required to write about their work over the summer. You can use a pseudonym (nickname) + if + that works best for you. Google will need to know who you are to pay you, but we just + need something to call you.

    + All GSoC contributors are required to post weekly and + answer these 3 questions in a post: +
      +
    • 1. What did you do this week?
    • +
    • 2. What is coming up next?
    • +
    • 3. Did you get stuck anywhere?
    • +
    +
    +
    + These answers can be very short (Under 100 words) or longer depending on what you want to say. The idea is that these posts serve as your weekly check-ins with the org admins and help show the wider Python community what kind of work our GSoC contributors are doing. +
  • +
  • You probably want some experience with version control. We have a lot + of projects that + use different tools, such as git, mercurial, or bzr, and you can find out which one + your + project uses in advance and practice using it on your schoolwork or personal projects + to + get used to it. +
  • +
  • You might like to take a bit of time to read the + python style guide, + PEP8. Not every + project uses these rules, but they can give you a rough idea of what is considered + "readable code" by most pythonistas. (And for fun, you might want to read the poetry of + PEP20 "The Zen of Python") +
  • +
+
+
+
+ + +
+
+

How should I address my emails? (or Why shouldn't I + start + my emails with "Dear Sir"?)

+ +

If you want to make the best first impression, DO NOT start emails with "Dear + Sir." Python + has many mentors who are female and/or prefer other forms of address. We realize you're + trying to be polite, but "Dear Sir" is often perceived in our communities as alienating, + rude or simply too formal and off-putting.

+ +

Try "Dear developers" or "Dear mentors" if you're sending a general email. If you're + addressing a specific person, use the name or nickname that they use on their emails. + Culturally speaking, first names or chosen nicknames are fine for most open source + projects. + +

+
+
+ +
+
+
+

What does "don't ask to ask" mean?

+

You'll hear this phrase sometimes on IRC, and it means "please just ask your question, + don't say something like 'can I ask a question?' first."

+ +

Why? Developers are often pretty busy, and if you just ask the question, someone can jump + in the minute they see your message with the answer or direct you to folk who can answer + it better.

+ +

If you ask "can I ask a question?" you're basically just waiting for someone to say "yes" + before any useful information is communicated. Many folk consider this slow, annoying, and + perhaps even rude. Save everyone (including yourself!) some time and just ask the question + right from the start. Culturally speaking, in open source projects it's generally ok + launch right in to a question on IRC; you don't even have to say hi first!

+
+
+
+ +
+
+
+

+ What should I do if no one answers my question?

+ +
    +
  1. Be patient. If you're on IRC, stick around for an hour or so (you can do + something else, + just leave the IRC window open and check back occasionally) and see if someone gets back + to you. If they don't, try posting to the mailing list (it's possible all the developers + are asleep!) If you're on a mailing list, you should give people around 24-48hrs to answer + before worrying too much about it.
  2. + +
  3. Make sure you're asking in the best place. One common mistake new contributors + make is + to contact + individual developers rather than asking on a public mailing list or a public IRC channel. + You want as many people as possible to see your questions, so try not to be shy! (and + don't worry about looking too much like a newbie -- all of us were new once!) Sometimes + projects have different lists/irc channels/forums/bug queues for different types of + questions. If you're not sure, do feel free to follow up your question with something like + "hey, I haven't gotten an answer on this... is there somewhere better I could post it or + more information you need to help?"
  4. + +
  5. Try giving more information. If you've hit a bug, try to give the error + message and + information about your setup and information about what you've already tried. If you're + trying to find a bit of documentation, indicate where you've already looked. And again + "hey, I haven't got an answer... what other information could I provide to help debug this + problem?" is a reasonable follow-up if you're not sure what people might need.
  6. + +
  7. If you're really having trouble getting in touch with your mentors, talk to the + Python + org + admins by emailing gsoc-admins(at)python.org The Python org admins should have + contact + info for mentors with each project and can help connect you. (Note: please don't complain + that you can't get in touch with us on the general Google Summer of Code lists or #gsoc. + They're just + going to redirect you to Terri and the other python org admins anyhow!) +
  8. +
+
+
+
+ + +
+ +
+
+

How many slots does python get? How many + slots does + project + $x get?

+ +

We don't know our slot allocation until Google announces them, and Google bases their + numbers on the number of GSoC contributors we tell them we want. The more great applications we + have, the more slots we'll request. So rather than worrying about the number of slots, you + should be aiming to be such a memorable and great prospective GSoC contributor that your sub-org + will definitely request a slot with you in mind.

+ +

For sub-orgs, new groups working with us usually get 1-2 slots, experienced sub-orgs may + be granted as many as they can comfortably mentor at the discretion of the org admins. + (The max number will likely be close to the total number of mentors divided by two, but + the actual number requested depends on which GSoC contributors the org specifically wants to hire + after they've done an initial review of the applications.)

+ +

Google has been incredibly generous with letting us have slots in previous years, so we + are usually more limited by the matching of mentors with truly excellent contributors. We've + had as many as 70 or fewer than 20 depending on the quality of GSoC applications.

+ +

If we get 100 applications and 50 of them + are excellent, we'll try to find enough mentors for 50 GSoC contributors. If only 5 of them are + excellent, + then we'll be sad but we'll only request 5 slots and most of our mentors would take the year + off. + Sometimes whole sub-orgs take the year off because they have no excellent GSoC contributors. (and yes, + if every single application we got was amazing we'd try to find a way to mentor all those + contributors.)

+ +
+
+
+ + + + + +
+
+
+

Why does Meflin always say no?

+

He’s just like that! It's actually an incredibly important job: his job is to say no when + things aren’t ready, so we can go back and make things more awesome. It's also his job to + make sure that Terri's workload is reasonable, and that means saying NO pretty frequently. + All those no’s make it possible to run this program every year! +

+
+
+
+
+ + + + diff --git a/2024/css/python-gsoc.css b/2024/css/python-gsoc.css new file mode 100644 index 0000000..ac7a53d --- /dev/null +++ b/2024/css/python-gsoc.css @@ -0,0 +1,120 @@ +h1, +h2, +h3, +h4, +h5, +h6, +label { + color: #489eba; +} + +.warning { + background: wheat; + color: #16536e; + padding-left: 2em; + padding-right: 2em; +} + +/* Alternate coloured ribbon */ +.ribbon { + background: #16536e; + color: #ebebeb; + + padding: 1em 1em 3em; +} + +.ribbon a:link { + color: #73ffff; +} + +.ribbon a:visited { + color: wheat; +} + +.ribbon a:hover { + color: hotpink; +} + +.ribbon a:active { + color: red; +} + +.warning a:link { + color: blue; +} + +.warning a:visited { + color: purple; +} +/* Menu */ +.custom-restricted-width { + display: inline-block; +} + +#menu .pure-menu-heading { + background-color: #16536e; +} +#menu .pure-menu-selected { + background-color: #489eba; +} + +#menu .pure-menu-warning { + background-color: #f0664a; +} + + +/* Mark the top in orange for archived content */ +.header-warning { + background: #f0664a; + color: #ffffff; +} + + +/* This is the class used for the main content headers (

) */ +.content-head { + font-weight: 400; + text-transform: uppercase; + letter-spacing: 0.1em; + margin: 2em 0 1em; +} + +/* This is a modifier class used when the content-head is inside a ribbon */ +.content-head-ribbon { + color: white !important; +} + +/* This is the class used for the content sub-headers (

) */ +.content-subhead { + color: #295E70; +} + +.content-subhead i { + margin-right: 7px; +} + +.padded-cell { + margin-right: 2em; +} + +.ribbon strong { + color: #edecf1; +} + +.logo img { + max-height: 150px; +} + +/* Org status bars */ +div.ok { + border-bottom: 2px solid #8aab00; +} +div.waiting { + border-bottom: 2px solid #fecb01; +} +div.problem { + border-bottom: 2px solid #b44601; +} + +.responsive-img { + width: 100%; +} diff --git a/2024/css/side-menu.css b/2024/css/side-menu.css new file mode 100644 index 0000000..76176f5 --- /dev/null +++ b/2024/css/side-menu.css @@ -0,0 +1,251 @@ +body { + color: #666; +} + +.pure-img-responsive { + max-width: 100%; + height: auto; +} + +/* +Add transition to containers so they can push in and out. +*/ +#layout, +#menu, +.menu-link { + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + -ms-transition: all 0.2s ease-out; + -o-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} + +/* +This is the parent `
` that contains the menu and the content area. +*/ +#layout { + position: relative; + left: 0; + padding-left: 0; +} + #layout.active #menu { + left: 150px; + width: 150px; + } + + #layout.active .menu-link { + left: 150px; + } +/* +The content `
` is where all your content goes. +*/ +.content { + margin: 0 auto; + padding: 0 2em; + max-width: 800px; + margin-bottom: 50px; + line-height: 1.6em; +} + +.header { + margin: 0; + color: #333; + text-align: center; + padding: 2.5em 2em 0; + border-bottom: 1px solid #eee; + } + .header h1 { + margin: 0.2em 0; + font-size: 3em; + font-weight: 300; + } + .header h2 { + font-weight: 300; + color: #ccc; + padding: 0; + margin-top: 0; + } + +.content-subhead { + margin: 50px 0 20px 0; + font-weight: 300; + color: #888; +} + + + +/* +The `#menu` `
` is the parent `
` that contains the `.pure-menu` that +appears on the left side of the page. +*/ + +#menu { + margin-left: -150px; /* "#menu" width */ + width: 150px; + position: fixed; + top: 0; + left: 0; + bottom: 0; + z-index: 1000; /* so the menu or its navicon stays above all content */ + background: #191818; + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} + /* + All anchors inside the menu should be styled like this. + */ + #menu a { + color: #999; + border: none; + padding: 0.6em 0 0.6em 0.6em; + } + + /* + Remove all background/borders, since we are applying them to #menu. + */ + #menu .pure-menu, + #menu .pure-menu ul { + border: none; + background: transparent; + } + + /* + Add that light border to separate items into groups. + */ + #menu .pure-menu ul, + #menu .pure-menu .menu-item-divided { + border-top: 1px solid #333; + } + /* + Change color of the anchor links on hover/focus. + */ + #menu .pure-menu li a:hover, + #menu .pure-menu li a:focus { + background: #333; + } + + /* + This styles the selected menu item `
  • `. + */ + #menu .pure-menu-selected, + #menu .pure-menu-heading { + background: #1f8dd6; + } + /* + This styles a link within a selected menu item `
  • `. + */ + #menu .pure-menu-selected a { + color: #fff; + } + + /* + This styles the menu heading. + */ + #menu .pure-menu-heading { + font-size: 110%; + color: #fff; + margin: 0; + } + +/* -- Dynamic Button For Responsive Menu -------------------------------------*/ + +/* +The button to open/close the Menu is custom-made and not part of Pure. Here's +how it works: +*/ + +/* +`.menu-link` represents the responsive menu toggle that shows/hides on +small screens. +*/ +.menu-link { + position: fixed; + display: block; /* show this only on small screens */ + top: 0; + left: 0; /* "#menu width" */ + background: #000; + background: rgba(0,0,0,0.7); + font-size: 10px; /* change this value to increase/decrease button size */ + z-index: 10; + width: 2em; + height: auto; + padding: 2.1em 1.6em; +} + + .menu-link:hover, + .menu-link:focus { + background: #000; + } + + .menu-link span { + position: relative; + display: block; + } + + .menu-link span, + .menu-link span:before, + .menu-link span:after { + background-color: #fff; + width: 100%; + height: 0.2em; + } + + .menu-link span:before, + .menu-link span:after { + position: absolute; + margin-top: -0.6em; + content: " "; + } + + .menu-link span:after { + margin-top: 0.6em; + } + + +/* -- Responsive Styles (Media Queries) ------------------------------------- */ + +/* +Hides the menu at `48em`, but modify this based on your app's needs. +*/ +@media (min-width: 48em) { + + .header, + .content { + padding-left: 2em; + padding-right: 2em; + } + + #layout { + padding-left: 150px; /* left col width "#menu" */ + left: 0; + } + #menu { + left: 150px; + } + + .menu-link { + position: fixed; + left: 150px; + display: none; + } + + #layout.active .menu-link { + left: 150px; + } +} + +@media (max-width: 48em) { + /* Only apply this when the window is small. Otherwise, the following + case results in extra padding on the left: + * Make the window small. + * Tap the menu to trigger the active state. + * Make the window large again. + */ + #layout.active { + position: relative; + left: 150px; + } + .menu-link.active{ + left:150px; + } +} diff --git a/2024/deadlines.html b/2024/deadlines.html new file mode 100644 index 0000000..fd1bdc0 --- /dev/null +++ b/2024/deadlines.html @@ -0,0 +1,173 @@ + + + + + + + + + Codestin Search App + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +

    Dates and Deadlines

    +

    In general, Python will ask mentors to do things before the Google + deadline. This allows our admins + time to make sure that evaluations, etc. are complete and ready for Google when their deadline + comes. + (The whole organization gets penalized if anyone's late, so we make sure that doesn't happen + unfairly.) + Contributor deadlines are exactly as Google tells you, although getting things done earlier is never a + bad + idea!

    + +

    Mentor and Sub-Org admin deadlines

    +
      + + +
    • Feb. 5, 2024 - 1st deadline for sub-org applications (for new folk and folk who want to appear on our ideas page as seen in our Google application).
    • + + + +
    • Feb. 21, 2024 - Python knows if it has been accepted as a GSoC mentoring organization.
    • + + + +
    • Feb. 25, 2024 - 2nd deadline for sub-orgs who applied separately but did not get accepted who want to join the Python umbrella
    • + + + +
    • March 18, 2024 - Contributor application period begins
    • + +
    • April 2, 2024 - Contributor application period ends
    • + + +
    • April 22, 2024 - Proposal rankings due to Python
    • + + + +
    • May 1, 2024 - Accepted Contributor projects announced
    • + + + +
    • July 10, 2024 - Midterm evaluations due to Python (standard schedule)
    • + + + +
    • August 30, 2024 - Final evaluations due to Python (standard schedule)
    • + + + +
    • September 2, 2024 - Initial GSoC 2024 results announced
    • + + + +
    • Nov. 9, 2024 - Final evaluations due to Python (extended deadline)
    • + + +
    + + +

    Please note Google's GSoC + dates + and deadlines.

    + +
    +
    +
    + + + + + + + diff --git a/2024/ideas.html b/2024/ideas.html new file mode 100644 index 0000000..670c542 --- /dev/null +++ b/2024/ideas.html @@ -0,0 +1,732 @@ + + + + + + + + + Codestin Search App + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    +

    Ideas

    +
    +
    +

    Students: Instructions on getting started. Right now, we're still preparing for GSoC 2024 and we expect to have a close to complete list of projects by Feb 5, 2024.

    + +

    If you're a sub-org who wants to join, please + read the information for sub-orgs.

    +
    +
    +
    +
    + + + +
    + +
    +
    + +
    +

    + MSS - Mission Support System +

    +
    +
    +
    + The Mission Support System (MSS) is a software that is written by scientists in the field of atmospheric science. The purpose is to have a tool that simplifies the process for planning a scientific flight in which parameters of the atmosphere are measured. + + MSS helps to optimize the scientific outcome of the research flights by displaying the planned flight route and the corresponding model parameters in the same platform for many discussed options. It does therefore reduce somehow the amount of flight hours that is needed to answer a scientific question and thus saves in the end taxpayers money. +
    +
    +

    Contact Links

    +
    +
    +

    Chat

    +
    + + +
    +

    Blog Url

    +
    +
    +

    Homepage

    +
    + + +
    +
    +
    + +
    +
    + +
    +

    + CVE Binary Tool +

    +
    +
    +
    + The CVE Binary Tool helps you determine if your system includes known vulnerabilities. You can scan binaries for over 200 common, vulnerable components (openssl, libpng, libxml2, expat and others), or if you know the components used, you can get a list of known vulnerabilities associated with an SBOM or a list of components and versions. +
    +
    +

    Contact Links

    +
    +
    +

    Chat

    +
    +
    +

    Homepage

    +
    + + +
    +
    +
    + +
    +
    + +
    +

    + xbitinfo +

    +
    +
    +
    + Xbitinfo is an open-source Python package that enables lossy compression of geo-spatial data based on its information content. Embedded into the pangeo ecosystem, xbitinfo builds on top of xarray and dask and allows for fast compression and analysis of various data formats including netCDF and zarr. Xbitinfo addresses the challenge of increasingly large datasets that are currently created due to increasingly available compute power. Climate simulations with resolutions of sub-km scale with petabytes of output are just one example where xbitinfo can help to keep the dataset manageable. +
    +
    +

    Contact Links

    +
    +
    +

    Homepage

    +
    + + +
    +
    +
    + +
    +
    + +
    +

    + MNE-Python +

    +
    +
    +
    + MNE-Python software is an open-source Python package for exploring, visualizing, and analyzing human neurophysiological data such as MEG, EEG, sEEG, ECoG, and more. It includes modules for data input/output, preprocessing, visualization, source estimation, time-frequency analysis, connectivity analysis, machine learning, and statistics. +
    +
    +

    Contact Links

    +
    +
    +

    Chat

    +
    + + +
    +

    Blog Url

    +
    +
    +

    Homepage

    +
    + + +
    +
    +
    + +
    +
    + +
    +

    + pocketpy +

    +
    +
    +
    + pkpy is a lightweight(~15K LOC) Python interpreter for game scripting, built on C++17 with STL.
    +
    + It aims to be an alternative to lua for game scripting, with elegant syntax, powerful features and competitive performance. pkpy is extremely easy to embed via a single header file pocketpy.h, without external dependencies. +
    +
    +

    Contact Links

    +
    +
    +

    Chat

    +
    +
    +

    Homepage

    +
    + + + +
    +
    +
    + +
    +
    + +
    +

    + LPython +

    +
    +
    +
    + LPython is an ahead-of-time compiler for Python written in C++, and it has multiple backends to generate code, including LLVM and C. The compiler has been open-sourced under the BSD license, available at github.com/lcompilers/lpython. It is designed as a library with separate building blocks – the parser, Abstract Syntax Tree (AST), Abstract Semantic Representation (ASR), semantic phase, codegen – that are all exposed to the user or developer in a natural way to make it easy to contribute back. It works on Windows, Linux, and Mac OS. The speed of LPython comes from the high-level optimizations done at the ASR level, as well as the low-level optimizations that the LLVM can do. In addition, it is remarkably easy to customize the backends. +
    +
    +

    Contact Links

    +
    +
    +

    Chat

    +
    + + +
    +

    Homepage

    +
    + + +
    +
    +
    + +
    +
    + +
    +

    + DIPY +

    +
    +
    +
    + DIPY is the paragon 3D/4D+ imaging library in Python. Contains generic methods for spatial normalization, signal processing, machine learning, statistical analysis and visualization of medical images. Additionally, it contains specialized methods for computational anatomy including diffusion, perfusion and structural imaging. +
    +
    +

    Contact Links

    +
    +
    +

    Chat

    +
    + + +
    +

    Homepage

    +
    + + +
    +
    +
    + +
    +
    + +
    +

    + FURY +

    +
    +
    +
    + Free Unified Rendering in pYthon is a Python package that provides a minimalistic but powerful API that enables advanced scientific visualization and 3D animations for scientific research. FURY is a community-driven, open-source, and high-performance scientific visualization library that harnesses the graphics processing unit (GPU) for improved speed, precise interactivity, and visual clarity. It was created to address the growing necessity of high-performance 3D scientific visualization in an easy-to-use API fully compatible with the Pythonic ecosystem. To achieve this, FURY takes ideas from CGI (Computer-Generated Imagery) and game engines to then be deployed for usage in everyday research practices. +
    +
    +

    Contact Links

    +
    +
    +

    Chat

    +
    + +
    +

    Forum

    +
    +
    +

    Homepage

    +
    + + +
    +
    +
    + +
    +
    + +
    +

    + PyElastica +

    +
    +
    +
    + PyElastica is the python implementation of Elastica, a free and open-source software project for the simulation of assemblies of slender, one-dimensional bodies using Cosserat rod theory, which provides a powerful and versatile framework for modeling the dynamics of slender structures interacting among themselves and with their environment. We are focused on providing useful simulation tools to the robotics and biomechanics communities to model, control, and visualize how these slender structures evolve and interact. +
    +
    +

    Contact Links

    +
    +
    +

    Chat

    +
    +
    +

    Homepage

    +
    + + +
    +
    +
    + +
    +
    + +
    +

    + D-SEAMS +

    +
    +
    +
    + We're an organization centered around growing the molecular dynamics post processing toolkit called d-SEAMS (Deferred Structural Elucidation Analysis for Molecular Simulations). +
    +
    +

    Contact Links

    +
    +
    +

    Homepage

    +
    +
    +

    Forum

    +
    + + +
    +
    +
    + +
    +
    + +
    +

    + Seldon-code +

    +
    +
    +
    + Seldon-code is a trio of tools designed to revolutionize opinion dynamics simulations. Our core, a robust C++ engine, Seldon, drives detailed simulations. Robbie, our neural network layer, offers a playground for AI experimentation. Hari-Plotter, the visualization companion, brings data to life. +
    +

    Homepage

    +
    + + +
    +
    + +
    +
    + +
    +

    + Borg Collective +

    +
    +
    +
    + We are the Borg Collective and maintain multiple Python-based backup tools that are often used in combination: Borg, Borgmatic and Vorta. The core Borg tool is a deduplicating archiver with compression and deduplication. Vorta is a desktop backp client that integrtes with Linux and macOS desktops. Borgmatic is a wrapper for server systems that also takes care of database backups and pre-backup commands. +
    +
    +

    Contact Links

    +
    +
    +

    Chat

    +
    + + +
    +

    Homepage

    +
    + + +
    +
    +
    + +
    +
    + +
    +

    + Python Argentina +

    +
    +
    +
    + Main 2024 Project: PyZombis online programming course including Web UI, Databases, PyGame (browser based - fully interactive - no server required); Other community projects includes library for government API (invoicing), app for lawyers, and custom proposals also are welcome (contact with mentors first). + + Python Argentina Civil Association (A.C.PyAr) is a formal non-profit organization of programmers with focus on community projects, mainly for Spanish-speakers & Latin Americans. + + Spanish is one of the most spoken languages in the world, and our countries often lacks open source software to fulfill regional needs. + + Our projects want to facilitate tools and resources to students, enthusiasts and professionals, so it is easier to learn and use Python in this region of the world. Also, many of our projects can be extended to other situations, contributing back to the international community. +
    +
    +

    Contact Links

    +
    +
    +

    Chat

    +
    + +
    +

    Blog Url

    +
    +
    +

    Homepage

    +
    + + +
    +
    +
    + +
    +
    + +
    +

    + GNU Mailman +

    +
    +
    +
    + Mailman 3 is free software for managing electronic mail discussion and e-newsletter lists. Many open source denizens will be familiar with Mailman 2.1, All of our current work is on Mailman 3, which was released in 2015, but there's still lots of room for new features and ideas! Mailman 3 is integrated with the web using the Django web framework, making it easy for users to manage their accounts and for list owners to administer their lists in a pleasant modern environment. Mailman 3 supports built-in archiving, automatic bounce processing, content filtering, digest delivery, spam filters, and more. Mailman 3's bundled archive software, HyperKitty, also functions like a web forum and integrates with indexing engines such as Xapian and Whoosh. +
    + The Mailman developers are a moderately diverse group, but we strive for inclusion. We have participated in Google Summer of Code almost every year since 2012, and occasionally supply mentors and org admins to other organizations (including the PSF umbrella org and Systers). +
    +
    +

    Contact Links

    +
    + +
    +

    Chat

    +
    + + + +
    +

    Homepage

    +
    + + + +
    +
    +
    + +
    +
    + +
    +

    + Pwndbg +

    +
    +
    +
    + Pwndbg is a plugin for GDB that improves debugging experience for low-level software developers, hardware hackers, reverse engineers, security researchers or capture the flag security competition players. + It helps with all this by providing a colorful TUI showing the user CPU register values, disassembled code, values on the stack memory, backtrace and list of current threads. + The colors provide information where given pointers point to, and, the pointers are dereferenced to show what they contain. All this displayed context immediately helps in understanding what is going on in the debugged program. + Pwndbg provides lots of useful commands, e.g., for dumping process information, inspecting glibc or linux kernel heap allocator metadata, finding pointers in memory, displaying stack canary/cookie values, getting a hexdump of memory, and many many more. + Apart from this, Pwndbg provides an API that can be used to use or extend its features when users need to script some tasks in GDB. +
    +
    + Contributors can propose working on more than one idea, and then adjust time accordingly between them. + Some of the projects could also be extended to large length (e.g. support more kernel versions with libslub, or, implement more features for kernel debugging). +
    +
    +

    Contact Links

    +
    + +
    +

    Chat

    +
    + +
    +

    Homepage

    +
    + + + + + +
    +
    +
    + +
    +
    + +
    +

    + Python +

    +
    +
    +
    + Python provides the core of the Python Programming Language. There's a single possible project with them this year:
    +
    +
      +
    • + Title: Adopting Hardened Compiler Options for C/C++ in CPython +
    • +
    • + Difficulty: Medium +
    • +
    • + Length: 175hr +
    • +
    • + Skills required: C/C++ development experience +
    • +
    • + Description: This project would reduce the potential for future memory safety vulnerabilities in Python by adopting hardened compiler options in the CPython codebase.
      +
      + Task outline:
      +
        +
      • There's already a list of compiler option candidates to adopt, use that as the initial list.
      • +
      • Do some performance evaluation for how each compiler option affects performance (using CPython's existing performance suite). Report back on the performance impact of enabling each option.
      • +
      • Implement a small custom tool (proposed in the existing issue) that allows ignoring existing violations of compiler options while preventing future violations. At this point we've achieved a lot of value, all future CPython contributions will have these compiler options applied.
      • +
      • After the tooling is integrated, fill the rest of the project time by remediating known issues.
      • +
      +
    • +
    + Possible mentors:
    +
      +
    • Seth Larson (PSF): seth@python.org
    • +
    • Dustin Ingram (GOSST): dii@google.com
    • +
    +
    +
    +

    Contact Links

    +
    + +
    +

    Chat(Note: this is making use of the primary Python GSoC chat we may redirect you. E-mailing the above two e-mails is preferred)

    +
    +
    +
    +
    + + +
    + + +
    +
    +

    Friends of the PSF

    +

    Here's some more interesting organizations that use Python!

    +
      +
    • + TARDIS TARDIS is an open-source Monte Carlo radiative-transfer spectral synthesis code for 1D models of supernova ejecta. It is designed for rapid spectral modelling of supernovae. It is developed and maintained by a multi-disciplinary team iincluding software engineers, computer scientists, statisticians, and astrophysicists. +
    • +
    +
    +
    +
    + + + + diff --git a/2024/index.html b/2024/index.html new file mode 100644 index 0000000..3934412 --- /dev/null +++ b/2024/index.html @@ -0,0 +1,513 @@ + + + + + + + + + Codestin Search App + + + + + + + + + + + + + + + + + + + +
    + + +
    +
    +

    Python Summer of Code

    +

    + Contributors: get paid to work on open source projects! +

    +

    + Projects: find new contributors and mentor the next generation! +

    +
    +
    + +
    +
    +
    +

    What is it?

    +
    +
    +
    +

    + + Python +

    +

    + Python is a popular high-level programming language. It is a general-purpose language used + by + scientists, developers, and many others who want to work more quickly and integrate systems + more effectively. +

    +
    +
    +
    +

    + + Google Summer of Code +

    +

    + Google Summer of Code (GSoC) is a global program that offers new contributors over 18 an + opportunity to be paid for contributing to an open source project over a three month period. +

    +
    +
    +

    + The Python Software Foundation (PSF) is an organization devoted to advancing open source + technology related to the Python programming language. + Since 2005, the Python Software Foundation has participated in Google Summer of Code, serving + as an "umbrella organization" to a variety of Python-related projects, as well as sponsoring + projects related to the development of the Python language. Python provides mentors, Google + provides the program (and the money!), and GSoC contributors write code! +

    +
    +
    +
    +

    Python is intending to apply to GSoC 2024.

    +

    Contributors: Please start with the Python GSoC getting started guide. We won't have mentors signed up and ready to help you or well-defined project ideas ready until February 2024 or so, but you can go ahead and get some practice on any open source project while you wait. + +

    +

    Mentors and sub-orgs: please contact the org admins if you want to be part of GSoC 2024.

    +
    +
    +
    +
    + + +
    +

    How do I get started?

    +
    +
    +

    + + Choose an organization. +

    +

    + There's hundreds of thousands of projects that use Python, and you + need to narrow + down the list before you can get help or do much that's useful. + See How + do I choose a project or sub-org? for ideas + on how to do that. +

    Any open source experience will help you prepare for GSoC, + so don't worry too much about what project you try first and don't be afraid + to change your mind! When we know which sub-orgs will be participating, + they'll be listed with the project ideas. +

    +
    +
    +
    +

    + + Set up your own development environment. +

    +

    + Document what you do so you can remember it later, and so you can + help others if they get stuck! And if you get stuck, don't be afraid to ask + for help. +

    +
    +
    +
    +
    +

    + + Start communicating with the developers. +

    +

    + Join the mailing list, IRC channel, or any other communication + channels the developers use. Listen, get to know the people involved, and ask + questions.

    +
      +
    • Read first to see if your question has already been answered. + We get a lot of repeat questions! +
    • +
    • Communicate in public (not in private). Most open source work is done in the open, + so + demonstrate that you can do that! +
    • +
    + +
    +
    +
    +

    + + Try to fix a bug. +

    +

    + Many projects have these tagged as "good first issue" "easy" "bite-size" or + "beginner-friendly" -- do a search to see what comes up. Competition for the easiest + ones can be fierce, so don't be afraid to try something harder if you think + you might know what to do. +

    +

    + Can't find a bug? Other ideas: find typos and fix them. Improve test coverage by + writing new tests. Improve documentation. Use a tool like Pylint or Bandit to see + if you can find new issues. +

    +
    +
    +
    +

    + + Find bugs and report them. +

    +

    + Hopefully you won't encounter too many, but it's always a good idea to get familiar with + your + project's bug reporting process. +

    +
    +
    +
    +
    +

    + + Help with documentation. +

    +

    + As a beginner in your project, you're going to see things that are confusing that more + experienced developers may not notice. Take advantage of your beginner mindset and make + sure to + document anything you think is missing! +

    +
    +
    +
    +

    + + Help others. +

    +

    + Most projects are looking for not just coders, but good community members who people like to + work with. Show your community skills by helping others and make a great impression come + selection time! +

    +
    +
    +
    + + +
    +
    +
    +

    How to apply

    +

    Short application checklist:

    +
      +
    1. Read the links and instructions given on this site -- All of it! we've + tried + to give you all + the information you need to be an awesome GSoC applicant. +
    2. Choose a sub-org (check the list here). Applications + not + associated with a sub-org typically get rejected. +
    3. Talk with your prospective mentors about what they expect of GSoC + applicants and get help from them to refine your project ideas. Listening to + your mentors' recommendations is very important at this stage! +
    4. +
    5. Prepare a patch for that sub-org. Usually we expect GSoC contributors to fix a bug + and + have made a pull + request (or equivalent). Your code doesn't have to be + accepted and merged, but it does have to be visible to the public and it does have to be + your + own work + (mentor help is ok, code you didn't write is not). +
    6. +
    7. + Write your application (with help from your mentors!) + We have an application template to help you make sure you include all the information we expect. + All applications must go through Google's application system; we can't + accept + any application + unless it is submitted there. +
        +
      • Use a descriptive title and include your sub-org name in Google's system. Good + example: + "Mailman: + Improve + archive search" Bad example: "My gsoc project" +
      • Make it easy for your mentors to give you feedback. If you're using Google docs, you can + enable comments and submit a "draft" to your mentors. + If you're using a format that doesn't accept comments, make sure your email is on + the + document and don't forget to check for + feedback! +
      • +
      +
    8. +
    9. Submit your application to Google before the deadline. We actually + recommend you submit a few days early in case you have internet problems or + the system is down. Google does not extend this deadline, so it's best to be + prepared early! You can edit your application up until the system + closes. +
    10. +
    +
    +

    + + Tip +

    +

    Communication is probably the most + important part of the application process. Talk to the mentors and other + developers, listen when they give you advice, + and demonstrate that you've understood by incorporating their feedback into + what you're proposing. We reject a lot of applicants who haven't listened to mentor + feedback. If your mentors tell you that a project idea won't work for them, you're + probably not going to get accepted unless you change it. +

    +

    More tips are available in our contributor's guide and FAQ. +

    +
    +

    + + What goes in an application? +

    + An ideal application will contain 5 things: +
      +
    1. A descriptive title including the name of the sub-org + you + want to work with + (if this is missing, your application may be rejected!) +
    2. +
    3. Information about you, including contact information.
    4. +
    5. Link to a code contribution you have made to your organization. + (Usually this is a link to a pull request.) +
    6. +
    7. Information about your proposed project. This should be fairly + detailed + and include + a timeline. +
    8. +
    9. Information about other commitments that might affect your ability to + work + during the GSoC period. + (exams, classes, holidays, other jobs, weddings, etc.) We can work around a lot of + things, + but + it helps + to know in advance. +
    10. +
    +

    We also provide an application template to help you get started. + +

    +
    +

    + + + What do bad applications look like? +

    +

    Python regularly discards about half of our the GSoC applications because they aren't valid. Here's what most rejected applications look like:

    +
      +
    1. Cover letter and/or resume only. This isn't enough information to match you with a mentor and project, so it will land you in our "ignore" pile.
    2. +
    3. A blank file.
    4. +
    5. A random ebook or other file on your hard drive. Not only is this not a valid GSoC application, it's often copyright infringement.
    6. +
    7. Submitted your grand idea for improving Python the language. You can read more about how to propose enhancements to python in PEP-1, but GSoC is not the place for that.
    8. +
    9. Project ideas not associated with a sub-org. Often these are related to current popular topics. For example, in 2020 we got a lot of covid-tracking application proposals. If you want to work on generative AI, LLMs, crypto, machine learning, big data, etc please apply to a do a project suggested by a mentor or work directly with a sub-org to make sure your project idea is something they actually want. Most "hot topic" ideas we get are very poorly researched, infeasible, or otherwise not viable GSoC projects. +
    10. Really simple python application ideas that are not 175 or 350 hours worth of work (For example, a python "hello world" script. Seriously. We get several of these most years.)
    11. +
    12. Random python code converted to a pdf.
    13. +
    14. A small business or personal open source project idea. GSoC is not a startup incubator, sorry. You need to apply to work with an open source project that already exists and has mentors available.
    15. + +
    +
    +
    +
    + + + +
    +
    +
    +

    Getting in Touch

    +

    + Please note that Python has a Community + Code of Conduct and mentors and + contributors working with the PSF are asked to abide by it as members of the + Python community. +

    +
    +
    +
    +
    +

    + + Mailing Lists. +

    +

    Sign up to the gsoc-general(at)python.org + mailing list to get updates, reminders, and to discuss questions. Please join the + list + before you send a message! +

    +

    The most common questions are answered here:

    + +
    +
    +
    +

    + + Live chat +

    + +
    +
    +

    + + Specific sub-orgs +

    +

    To talk with people from a specific sub-org, check their ideas + page listing for their mailing lists, IRC, and other contact information. +

    +
    +
    +
    +

    + + Tips! +

    +
      +
    1. Read first. We've tried to answer the common questions on this site, + and + we get asked things like "How do I get started?" and + "Where do I find easy bugs?" a lot. Check the + Frequently Asked Questions (FAQ) on the GSoC contributor page for + more! +
    2. +
    3. Be Patient! Our mentors typically have day jobs and can't always answer + right-away. If you can't hang out on IRC for an answer, send an email instead. +
    4. +
    5. Ask questions directly on IRC. You don't need to introduce + yourself or say hi first, just ask away! +
    6. +
    7. Communicate in public. That lets many mentors read your question so you + can usually get an answer faster. +
    8. +
    +

    For mentors: All the gsoc admins can be reached at + gsoc-admins(at)python(dot)org if you have questions about participating. + (GSoC contributors should email gsoc-general(at)python.org with all of their + questions, unless they are of a sensitive personal nature.) +

    +
    +
    +

    + + Org admins +

    +

    The 2024 Python Software Foundation (PSF) org admin team:

    +
      +
    • Terri Oda (@terri:python-gsoc.org on Matrix) - focus areas: figurehead, making final decisions, + website/documentation +
    • +
    • John Hawley (@warthog9:python-gsoc.org on Matrix) - focus areas: infrastructure, advice, emergency + mentoring/mentor supervision. +
    • +
    • Matthew Lagoe (Botanic on IRC) - focus areas: GSoC contributor blogs, irc bot, making sure + things happen on time +
    • +
    • Morgan Gangwere (indrora on IRC, @indrora@social.sdf.org on the fediverse) - org-admin; focus: backseat quarterbacking, tooling later on.
    • +
    • Ben Lewis (ben_zen on IRC, @ben_zen@social.sdf.org + on the fediverse, as well as @ben@social.python-gsoc.org) - focus areas: + mentor & org communication, timetables, coffee +
    • +
    • Kushal Das (@kushaldas:matrix.org on Matrix) - focus areas: advice, time zone coverage
    • +
    +

    The org admins can be reached at gsoc-admins(at)python(dot)org (for mentors) + GSoC contributors should almost always visit Getting Started first, and + email + gsoc-general(at)python.org only if you get stuck. +

    +

    We also have some "org admins emeritus" who may be able + to help you: +

    +
      +
    • James Lopeman (meflin on IRC)
    • +
    • Florian Fuchs (florianf on IRC)
    • +
    • Stephen Turnbull (yaseppochi on IRC)
    • +
    +
    +
    +
    + + +
    +

    Other Stuff

    +
    +
    + +
    +
    +
    + +
    + + + + diff --git a/2024/js/moment-timezone-with-data-10-year-range.min.js b/2024/js/moment-timezone-with-data-10-year-range.min.js new file mode 100644 index 0000000..ea58fcc --- /dev/null +++ b/2024/js/moment-timezone-with-data-10-year-range.min.js @@ -0,0 +1 @@ +!function(a,i){"use strict";"object"==typeof module&&module.exports?module.exports=i(require("moment")):"function"==typeof define&&define.amd?define(["moment"],i):i(a.moment)}(this,function(c){"use strict";void 0===c.version&&c.default&&(c=c.default);var i,A={},n={},t={},s={},u={};c&&"string"==typeof c.version||y("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/");var a=c.version.split("."),e=+a[0],r=+a[1];function m(a){return 96= 2.6.0. You are using Moment.js "+c.version+". See momentjs.com"),M.prototype={_set:function(a){this.name=a.name,this.abbrs=a.abbrs,this.untils=a.untils,this.offsets=a.offsets,this.population=a.population},_index:function(a){var i,e=+a,r=this.untils;for(i=0;i= 2.9.0. You are using Moment.js "+c.version+"."),c.defaultZone=a?_(a):null,c};var G=c.momentProperties;return"[object Array]"===Object.prototype.toString.call(G)?(G.push("_z"),G.push("_a")):G&&(G._z=null),B({version:"2021e",zones:["Africa/Abidjan|GMT|0|0||48e5","Africa/Nairobi|EAT|-30|0||47e5","Africa/Algiers|CET|-10|0||26e5","Africa/Lagos|WAT|-10|0||17e6","Africa/Maputo|CAT|-20|0||26e5","Africa/Cairo|EET|-20|0||15e6","Africa/Casablanca|+00 +01|0 -10|0101010101010101010101010101|1QyO0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00|32e5","Europe/Paris|CET CEST|-10 -20|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|11e6","Africa/Johannesburg|SAST|-20|0||84e5","Africa/Juba|EAT CAT|-30 -20|01|24nx0|","Africa/Khartoum|EAT CAT|-30 -20|01|1Usl0|51e5","Africa/Sao_Tome|GMT WAT|0 -10|010|1UQN0 2q00|","Africa/Windhoek|CAT WAT|-20 -10|01010|1QBA0 11B0 1nX0 11B0|32e4","America/Adak|HST HDT|a0 90|01010101010101010101010|1Qto0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326","America/Anchorage|AKST AKDT|90 80|01010101010101010101010|1Qtn0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4","America/Santo_Domingo|AST|40|0||29e5","America/Fortaleza|-03|30|0||34e5","America/Asuncion|-03 -04|30 40|01010101010101010101010|1QyP0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5","America/Panama|EST|50|0||15e5","America/Mexico_City|CST CDT|60 50|01010101010101010101010|1QBI0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0|20e6","America/Managua|CST|60|0||22e5","America/La_Paz|-04|40|0||19e5","America/Lima|-05|50|0||11e6","America/Denver|MST MDT|70 60|01010101010101010101010|1Qtl0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5","America/Campo_Grande|-03 -04|30 40|01010101|1QkP0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4","America/Caracas|-0430 -04|4u 40|01|1QMT0|29e5","America/Chicago|CST CDT|60 50|01010101010101010101010|1Qtk0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5","America/Chihuahua|MST MDT|70 60|01010101010101010101010|1QBJ0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0|81e4","America/Phoenix|MST|70|0||42e5","America/Whitehorse|PST PDT MST|80 70 70|01010101012|1Qtm0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|23e3","America/New_York|EST EDT|50 40|01010101010101010101010|1Qtj0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6","America/Los_Angeles|PST PDT|80 70|01010101010101010101010|1Qtm0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6","America/Halifax|AST ADT|40 30|01010101010101010101010|1Qti0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4","America/Godthab|-03 -02|30 20|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|17e3","America/Grand_Turk|AST EDT EST|40 40 50|0121212121212121212|1Vkv0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2","America/Havana|CST CDT|50 40|01010101010101010101010|1Qth0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5","America/Metlakatla|AKST AKDT PST|90 80 80|010101201010101010101010|1Qtn0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Miquelon|-03 -02|30 20|01010101010101010101010|1Qth0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2","America/Noronha|-02|20|0||30e2","America/Port-au-Prince|EST EDT|50 40|010101010101010101010|1SST0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","Antarctica/Palmer|-03 -04|30 40|010|1QSr0 Ap0|40","America/Santiago|-03 -04|30 40|01010101010101010101010|1QSr0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0|62e5","America/Sao_Paulo|-02 -03|20 30|01010101|1QkO0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6","Atlantic/Azores|-01 +00|10 0|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|25e4","America/St_Johns|NST NDT|3u 2u|01010101010101010101010|1Qthu 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","Antarctica/Casey|+08 +11|-80 -b0|01010101|1RWg0 3m10 1o30 14k0 1kr0 12l0 1o01|10","Asia/Bangkok|+07|-70|0||15e6","Asia/Vladivostok|+10|-a0|0||60e4","Australia/Sydney|AEDT AEST|-b0 -a0|01010101010101010101010|1QBs0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0|40e5","Asia/Tashkent|+05|-50|0||23e5","Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010101010101010|1QBq0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00|14e5","Asia/Baghdad|+03|-30|0||66e5","Antarctica/Troll|+00 +02|0 -20|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|40","Asia/Dhaka|+06|-60|0||16e6","Asia/Amman|EET EEST|-20 -30|01010101010101010101010|1QAK0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 LA0 1C00 LA0 1C00 Oo0 1zc0 Oo0 1C00 LA0 1C00|25e5","Asia/Kamchatka|+12|-c0|0||18e4","Asia/Dubai|+04|-40|0||39e5","Asia/Barnaul|+06 +07|-60 -70|01|1QyI0|","Asia/Beirut|EET EEST|-20 -30|01010101010101010101010|1QyK0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|22e5","Asia/Kuala_Lumpur|+08|-80|0||71e5","Asia/Kolkata|IST|-5u|0||15e6","Asia/Chita|+08 +09|-80 -90|01|1QyG0|33e4","Asia/Ulaanbaatar|+08 +09|-80 -90|010|1Qyi0 1cJ0|12e5","Asia/Shanghai|CST|-80|0||23e6","Asia/Colombo|+0530|-5u|0||22e5","Asia/Damascus|EET EEST|-20 -30|01010101010101010101010|1QxW0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5","Asia/Yakutsk|+09|-90|0||28e4","Asia/Famagusta|EET EEST +03|-20 -30 -30|0120101010101010101010|1QyN0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|","Asia/Gaza|EET EEST|-20 -30|01010101010101010101010|1Qyn0 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 Xc0 1qo0 Xc0 1qo0 1200 1nA0 1200 1qo0 Xc0 1qo0|18e5","Asia/Hong_Kong|HKT|-80|0||73e5","Asia/Hovd|+07 +08|-70 -80|010|1Qyj0 1cJ0|81e3","Europe/Istanbul|EET EEST +03|-20 -30 -30|012|1QyN0 15w0|13e6","Asia/Jakarta|WIB|-70|0||31e6","Asia/Jayapura|WIT|-90|0||26e4","Asia/Jerusalem|IST IDT|-20 -30|01010101010101010101010|1Qy00 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0|81e4","Asia/Kabul|+0430|-4u|0||46e5","Asia/Karachi|PKT|-50|0||24e6","Asia/Kathmandu|+0545|-5J|0||12e5","Asia/Magadan|+10 +11|-a0 -b0|01|1QJQ0|95e3","Asia/Makassar|WITA|-80|0||15e5","Asia/Manila|PST|-80|0||24e6","Europe/Athens|EET EEST|-20 -30|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|35e5","Asia/Novosibirsk|+06 +07|-60 -70|01|1Rmk0|15e5","Asia/Pyongyang|KST KST|-8u -90|01|1VGf0|29e5","Asia/Qyzylorda|+06 +05|-60 -50|01|1Xei0|73e4","Asia/Rangoon|+0630|-6u|0||48e5","Asia/Sakhalin|+10 +11|-a0 -b0|01|1QyE0|58e4","Asia/Seoul|KST|-90|0||23e6","Pacific/Bougainville|+11|-b0|0||18e4","Asia/Tehran|+0330 +0430|-3u -4u|01010101010101010101010|1Qwku 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6","Asia/Tokyo|JST|-90|0||38e6","Asia/Tomsk|+06 +07|-60 -70|01|1QXU0|10e5","Europe/Lisbon|WET WEST|0 -10|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5","Atlantic/Cape_Verde|-01|10|0||50e4","Australia/Adelaide|ACDT ACST|-au -9u|01010101010101010101010|1QBsu 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0|11e5","Australia/Brisbane|AEST|-a0|0||20e5","Australia/Darwin|ACST|-9u|0||12e4","Australia/Eucla|+0845|-8J|0||368","Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010101010101010|1QBr0 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu|347","Australia/Perth|AWST|-80|0||18e5","Pacific/Easter|-05 -06|50 60|01010101010101010101010|1QSr0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0|30e2","Europe/Dublin|GMT IST|0 -10|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5","Etc/GMT-1|+01|-10|0||","Pacific/Fakaofo|+13|-d0|0||483","Pacific/Kiritimati|+14|-e0|0||51e2","Etc/GMT-2|+02|-20|0||","Pacific/Tahiti|-10|a0|0||18e4","Pacific/Niue|-11|b0|0||12e2","Etc/GMT+12|-12|c0|0||","Pacific/Galapagos|-06|60|0||25e3","Etc/GMT+7|-07|70|0||","Pacific/Pitcairn|-08|80|0||56","Pacific/Gambier|-09|90|0||125","Etc/UTC|UTC|0|0||","Europe/Ulyanovsk|+03 +04|-30 -40|01|1QyL0|13e5","Europe/London|GMT BST|0 -10|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|10e6","Europe/Chisinau|EET EEST|-20 -30|01010101010101010101010|1QyM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|67e4","Europe/Moscow|MSK|-30|0||16e6","Europe/Saratov|+03 +04|-30 -40|01|1Sfz0|","Europe/Volgograd|+03 +04|-30 -40|010|1WQL0 5gn0|10e5","Pacific/Honolulu|HST|a0|0||37e4","MET|MET MEST|-10 -20|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|","Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010101010101010|1QBq0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00|600","Pacific/Apia|+14 +13|-e0 -d0|010101010101|1QBq0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0|37e3","Pacific/Fiji|+13 +12|-d0 -c0|010101010101010101010|1Q6C0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 2hc0 bc0 4q00 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0|88e4","Pacific/Guam|ChST|-a0|0||17e4","Pacific/Marquesas|-0930|9u|0||86e2","Pacific/Pago_Pago|SST|b0|0||37e2","Pacific/Norfolk|+11 +12|-b0 -c0|0101010101010101|219P0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0|25e4","Pacific/Tongatapu|+13 +14|-d0 -e0|010|1S4d0 s00|75e3"],links:["Africa/Abidjan|Africa/Accra","Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Bissau","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Monrovia","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|America/Danmarkshavn","Africa/Abidjan|Atlantic/Reykjavik","Africa/Abidjan|Atlantic/St_Helena","Africa/Abidjan|Etc/GMT","Africa/Abidjan|Etc/GMT+0","Africa/Abidjan|Etc/GMT-0","Africa/Abidjan|Etc/GMT0","Africa/Abidjan|Etc/Greenwich","Africa/Abidjan|GMT","Africa/Abidjan|GMT+0","Africa/Abidjan|GMT-0","Africa/Abidjan|GMT0","Africa/Abidjan|Greenwich","Africa/Abidjan|Iceland","Africa/Algiers|Africa/Tunis","Africa/Cairo|Africa/Tripoli","Africa/Cairo|Egypt","Africa/Cairo|Europe/Kaliningrad","Africa/Cairo|Libya","Africa/Casablanca|Africa/El_Aaiun","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Ndjamena","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigali","Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Nairobi|Africa/Addis_Ababa","Africa/Nairobi|Africa/Asmara","Africa/Nairobi|Africa/Asmera","Africa/Nairobi|Africa/Dar_es_Salaam","Africa/Nairobi|Africa/Djibouti","Africa/Nairobi|Africa/Kampala","Africa/Nairobi|Africa/Mogadishu","Africa/Nairobi|Indian/Antananarivo","Africa/Nairobi|Indian/Comoro","Africa/Nairobi|Indian/Mayotte","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|America/Juneau","America/Anchorage|America/Nome","America/Anchorage|America/Sitka","America/Anchorage|America/Yakutat","America/Anchorage|US/Alaska","America/Campo_Grande|America/Cuiaba","America/Chicago|America/Indiana/Knox","America/Chicago|America/Indiana/Tell_City","America/Chicago|America/Knox_IN","America/Chicago|America/Matamoros","America/Chicago|America/Menominee","America/Chicago|America/North_Dakota/Beulah","America/Chicago|America/North_Dakota/Center","America/Chicago|America/North_Dakota/New_Salem","America/Chicago|America/Rainy_River","America/Chicago|America/Rankin_Inlet","America/Chicago|America/Resolute","America/Chicago|America/Winnipeg","America/Chicago|CST6CDT","America/Chicago|Canada/Central","America/Chicago|US/Central","America/Chicago|US/Indiana-Starke","America/Chihuahua|America/Mazatlan","America/Chihuahua|Mexico/BajaSur","America/Denver|America/Boise","America/Denver|America/Cambridge_Bay","America/Denver|America/Edmonton","America/Denver|America/Inuvik","America/Denver|America/Ojinaga","America/Denver|America/Shiprock","America/Denver|America/Yellowknife","America/Denver|Canada/Mountain","America/Denver|MST7MDT","America/Denver|Navajo","America/Denver|US/Mountain","America/Fortaleza|America/Araguaina","America/Fortaleza|America/Argentina/Buenos_Aires","America/Fortaleza|America/Argentina/Catamarca","America/Fortaleza|America/Argentina/ComodRivadavia","America/Fortaleza|America/Argentina/Cordoba","America/Fortaleza|America/Argentina/Jujuy","America/Fortaleza|America/Argentina/La_Rioja","America/Fortaleza|America/Argentina/Mendoza","America/Fortaleza|America/Argentina/Rio_Gallegos","America/Fortaleza|America/Argentina/Salta","America/Fortaleza|America/Argentina/San_Juan","America/Fortaleza|America/Argentina/San_Luis","America/Fortaleza|America/Argentina/Tucuman","America/Fortaleza|America/Argentina/Ushuaia","America/Fortaleza|America/Bahia","America/Fortaleza|America/Belem","America/Fortaleza|America/Buenos_Aires","America/Fortaleza|America/Catamarca","America/Fortaleza|America/Cayenne","America/Fortaleza|America/Cordoba","America/Fortaleza|America/Jujuy","America/Fortaleza|America/Maceio","America/Fortaleza|America/Mendoza","America/Fortaleza|America/Montevideo","America/Fortaleza|America/Paramaribo","America/Fortaleza|America/Recife","America/Fortaleza|America/Rosario","America/Fortaleza|America/Santarem","America/Fortaleza|Antarctica/Rothera","America/Fortaleza|Atlantic/Stanley","America/Fortaleza|Etc/GMT+3","America/Godthab|America/Nuuk","America/Halifax|America/Glace_Bay","America/Halifax|America/Goose_Bay","America/Halifax|America/Moncton","America/Halifax|America/Thule","America/Halifax|Atlantic/Bermuda","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/La_Paz|America/Boa_Vista","America/La_Paz|America/Guyana","America/La_Paz|America/Manaus","America/La_Paz|America/Porto_Velho","America/La_Paz|Brazil/West","America/La_Paz|Etc/GMT+4","America/Lima|America/Bogota","America/Lima|America/Eirunepe","America/Lima|America/Guayaquil","America/Lima|America/Porto_Acre","America/Lima|America/Rio_Branco","America/Lima|Brazil/Acre","America/Lima|Etc/GMT+5","America/Los_Angeles|America/Ensenada","America/Los_Angeles|America/Santa_Isabel","America/Los_Angeles|America/Tijuana","America/Los_Angeles|America/Vancouver","America/Los_Angeles|Canada/Pacific","America/Los_Angeles|Mexico/BajaNorte","America/Los_Angeles|PST8PDT","America/Los_Angeles|US/Pacific","America/Managua|America/Belize","America/Managua|America/Costa_Rica","America/Managua|America/El_Salvador","America/Managua|America/Guatemala","America/Managua|America/Regina","America/Managua|America/Swift_Current","America/Managua|America/Tegucigalpa","America/Managua|Canada/Saskatchewan","America/Mexico_City|America/Bahia_Banderas","America/Mexico_City|America/Merida","America/Mexico_City|America/Monterrey","America/Mexico_City|Mexico/General","America/New_York|America/Detroit","America/New_York|America/Fort_Wayne","America/New_York|America/Indiana/Indianapolis","America/New_York|America/Indiana/Marengo","America/New_York|America/Indiana/Petersburg","America/New_York|America/Indiana/Vevay","America/New_York|America/Indiana/Vincennes","America/New_York|America/Indiana/Winamac","America/New_York|America/Indianapolis","America/New_York|America/Iqaluit","America/New_York|America/Kentucky/Louisville","America/New_York|America/Kentucky/Monticello","America/New_York|America/Louisville","America/New_York|America/Montreal","America/New_York|America/Nassau","America/New_York|America/Nipigon","America/New_York|America/Pangnirtung","America/New_York|America/Thunder_Bay","America/New_York|America/Toronto","America/New_York|Canada/Eastern","America/New_York|EST5EDT","America/New_York|US/East-Indiana","America/New_York|US/Eastern","America/New_York|US/Michigan","America/Noronha|Atlantic/South_Georgia","America/Noronha|Brazil/DeNoronha","America/Noronha|Etc/GMT+2","America/Panama|America/Atikokan","America/Panama|America/Cancun","America/Panama|America/Cayman","America/Panama|America/Coral_Harbour","America/Panama|America/Jamaica","America/Panama|EST","America/Panama|Jamaica","America/Phoenix|America/Creston","America/Phoenix|America/Dawson_Creek","America/Phoenix|America/Fort_Nelson","America/Phoenix|America/Hermosillo","America/Phoenix|MST","America/Phoenix|US/Arizona","America/Santiago|Chile/Continental","America/Santo_Domingo|America/Anguilla","America/Santo_Domingo|America/Antigua","America/Santo_Domingo|America/Aruba","America/Santo_Domingo|America/Barbados","America/Santo_Domingo|America/Blanc-Sablon","America/Santo_Domingo|America/Curacao","America/Santo_Domingo|America/Dominica","America/Santo_Domingo|America/Grenada","America/Santo_Domingo|America/Guadeloupe","America/Santo_Domingo|America/Kralendijk","America/Santo_Domingo|America/Lower_Princes","America/Santo_Domingo|America/Marigot","America/Santo_Domingo|America/Martinique","America/Santo_Domingo|America/Montserrat","America/Santo_Domingo|America/Port_of_Spain","America/Santo_Domingo|America/Puerto_Rico","America/Santo_Domingo|America/St_Barthelemy","America/Santo_Domingo|America/St_Kitts","America/Santo_Domingo|America/St_Lucia","America/Santo_Domingo|America/St_Thomas","America/Santo_Domingo|America/St_Vincent","America/Santo_Domingo|America/Tortola","America/Santo_Domingo|America/Virgin","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Whitehorse|America/Dawson","America/Whitehorse|Canada/Yukon","Antarctica/Palmer|America/Punta_Arenas","Asia/Baghdad|Antarctica/Syowa","Asia/Baghdad|Asia/Aden","Asia/Baghdad|Asia/Bahrain","Asia/Baghdad|Asia/Kuwait","Asia/Baghdad|Asia/Qatar","Asia/Baghdad|Asia/Riyadh","Asia/Baghdad|Etc/GMT-3","Asia/Baghdad|Europe/Kirov","Asia/Baghdad|Europe/Minsk","Asia/Bangkok|Antarctica/Davis","Asia/Bangkok|Asia/Ho_Chi_Minh","Asia/Bangkok|Asia/Krasnoyarsk","Asia/Bangkok|Asia/Novokuznetsk","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Saigon","Asia/Bangkok|Asia/Vientiane","Asia/Bangkok|Etc/GMT-7","Asia/Bangkok|Indian/Christmas","Asia/Dhaka|Antarctica/Vostok","Asia/Dhaka|Asia/Almaty","Asia/Dhaka|Asia/Bishkek","Asia/Dhaka|Asia/Dacca","Asia/Dhaka|Asia/Kashgar","Asia/Dhaka|Asia/Omsk","Asia/Dhaka|Asia/Qostanay","Asia/Dhaka|Asia/Thimbu","Asia/Dhaka|Asia/Thimphu","Asia/Dhaka|Asia/Urumqi","Asia/Dhaka|Etc/GMT-6","Asia/Dhaka|Indian/Chagos","Asia/Dubai|Asia/Baku","Asia/Dubai|Asia/Muscat","Asia/Dubai|Asia/Tbilisi","Asia/Dubai|Asia/Yerevan","Asia/Dubai|Etc/GMT-4","Asia/Dubai|Europe/Samara","Asia/Dubai|Indian/Mahe","Asia/Dubai|Indian/Mauritius","Asia/Dubai|Indian/Reunion","Asia/Gaza|Asia/Hebron","Asia/Hong_Kong|Hongkong","Asia/Jakarta|Asia/Pontianak","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kamchatka|Asia/Anadyr","Asia/Kamchatka|Etc/GMT-12","Asia/Kamchatka|Kwajalein","Asia/Kamchatka|Pacific/Funafuti","Asia/Kamchatka|Pacific/Kwajalein","Asia/Kamchatka|Pacific/Majuro","Asia/Kamchatka|Pacific/Nauru","Asia/Kamchatka|Pacific/Tarawa","Asia/Kamchatka|Pacific/Wake","Asia/Kamchatka|Pacific/Wallis","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Brunei","Asia/Kuala_Lumpur|Asia/Irkutsk","Asia/Kuala_Lumpur|Asia/Kuching","Asia/Kuala_Lumpur|Asia/Singapore","Asia/Kuala_Lumpur|Etc/GMT-8","Asia/Kuala_Lumpur|Singapore","Asia/Makassar|Asia/Ujung_Pandang","Asia/Rangoon|Asia/Yangon","Asia/Rangoon|Indian/Cocos","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|Asia/Macao","Asia/Shanghai|Asia/Macau","Asia/Shanghai|Asia/Taipei","Asia/Shanghai|PRC","Asia/Shanghai|ROC","Asia/Tashkent|Antarctica/Mawson","Asia/Tashkent|Asia/Aqtau","Asia/Tashkent|Asia/Aqtobe","Asia/Tashkent|Asia/Ashgabat","Asia/Tashkent|Asia/Ashkhabad","Asia/Tashkent|Asia/Atyrau","Asia/Tashkent|Asia/Dushanbe","Asia/Tashkent|Asia/Oral","Asia/Tashkent|Asia/Samarkand","Asia/Tashkent|Asia/Yekaterinburg","Asia/Tashkent|Etc/GMT-5","Asia/Tashkent|Indian/Kerguelen","Asia/Tashkent|Indian/Maldives","Asia/Tehran|Iran","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Choibalsan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Vladivostok|Antarctica/DumontDUrville","Asia/Vladivostok|Asia/Ust-Nera","Asia/Vladivostok|Etc/GMT-10","Asia/Vladivostok|Pacific/Chuuk","Asia/Vladivostok|Pacific/Port_Moresby","Asia/Vladivostok|Pacific/Truk","Asia/Vladivostok|Pacific/Yap","Asia/Yakutsk|Asia/Dili","Asia/Yakutsk|Asia/Khandyga","Asia/Yakutsk|Etc/GMT-9","Asia/Yakutsk|Pacific/Palau","Atlantic/Azores|America/Scoresbysund","Atlantic/Cape_Verde|Etc/GMT+1","Australia/Adelaide|Australia/Broken_Hill","Australia/Adelaide|Australia/South","Australia/Adelaide|Australia/Yancowinna","Australia/Brisbane|Australia/Lindeman","Australia/Brisbane|Australia/Queensland","Australia/Darwin|Australia/North","Australia/Lord_Howe|Australia/LHI","Australia/Perth|Australia/West","Australia/Sydney|Antarctica/Macquarie","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra","Australia/Sydney|Australia/Currie","Australia/Sydney|Australia/Hobart","Australia/Sydney|Australia/Melbourne","Australia/Sydney|Australia/NSW","Australia/Sydney|Australia/Tasmania","Australia/Sydney|Australia/Victoria","Etc/UTC|Etc/UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UCT","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Athens|Asia/Nicosia","Europe/Athens|EET","Europe/Athens|Europe/Bucharest","Europe/Athens|Europe/Helsinki","Europe/Athens|Europe/Kiev","Europe/Athens|Europe/Mariehamn","Europe/Athens|Europe/Nicosia","Europe/Athens|Europe/Riga","Europe/Athens|Europe/Sofia","Europe/Athens|Europe/Tallinn","Europe/Athens|Europe/Uzhgorod","Europe/Athens|Europe/Vilnius","Europe/Athens|Europe/Zaporozhye","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Lisbon|Atlantic/Canary","Europe/Lisbon|Atlantic/Faeroe","Europe/Lisbon|Atlantic/Faroe","Europe/Lisbon|Atlantic/Madeira","Europe/Lisbon|Portugal","Europe/Lisbon|WET","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|Europe/Simferopol","Europe/Moscow|W-SU","Europe/Paris|Africa/Ceuta","Europe/Paris|Arctic/Longyearbyen","Europe/Paris|Atlantic/Jan_Mayen","Europe/Paris|CET","Europe/Paris|Europe/Amsterdam","Europe/Paris|Europe/Andorra","Europe/Paris|Europe/Belgrade","Europe/Paris|Europe/Berlin","Europe/Paris|Europe/Bratislava","Europe/Paris|Europe/Brussels","Europe/Paris|Europe/Budapest","Europe/Paris|Europe/Busingen","Europe/Paris|Europe/Copenhagen","Europe/Paris|Europe/Gibraltar","Europe/Paris|Europe/Ljubljana","Europe/Paris|Europe/Luxembourg","Europe/Paris|Europe/Madrid","Europe/Paris|Europe/Malta","Europe/Paris|Europe/Monaco","Europe/Paris|Europe/Oslo","Europe/Paris|Europe/Podgorica","Europe/Paris|Europe/Prague","Europe/Paris|Europe/Rome","Europe/Paris|Europe/San_Marino","Europe/Paris|Europe/Sarajevo","Europe/Paris|Europe/Skopje","Europe/Paris|Europe/Stockholm","Europe/Paris|Europe/Tirane","Europe/Paris|Europe/Vaduz","Europe/Paris|Europe/Vatican","Europe/Paris|Europe/Vienna","Europe/Paris|Europe/Warsaw","Europe/Paris|Europe/Zagreb","Europe/Paris|Europe/Zurich","Europe/Paris|Poland","Europe/Ulyanovsk|Europe/Astrakhan","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Bougainville|Asia/Srednekolymsk","Pacific/Bougainville|Etc/GMT-11","Pacific/Bougainville|Pacific/Efate","Pacific/Bougainville|Pacific/Guadalcanal","Pacific/Bougainville|Pacific/Kosrae","Pacific/Bougainville|Pacific/Noumea","Pacific/Bougainville|Pacific/Pohnpei","Pacific/Bougainville|Pacific/Ponape","Pacific/Chatham|NZ-CHAT","Pacific/Easter|Chile/EasterIsland","Pacific/Fakaofo|Etc/GMT-13","Pacific/Fakaofo|Pacific/Enderbury","Pacific/Fakaofo|Pacific/Kanton","Pacific/Galapagos|Etc/GMT+6","Pacific/Gambier|Etc/GMT+9","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|HST","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Kiritimati|Etc/GMT-14","Pacific/Niue|Etc/GMT+11","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Pitcairn|Etc/GMT+8","Pacific/Tahiti|Etc/GMT+10","Pacific/Tahiti|Pacific/Rarotonga"],countries:["AD|Europe/Andorra","AE|Asia/Dubai","AF|Asia/Kabul","AG|America/Port_of_Spain America/Antigua","AI|America/Port_of_Spain America/Anguilla","AL|Europe/Tirane","AM|Asia/Yerevan","AO|Africa/Lagos Africa/Luanda","AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo","AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia","AS|Pacific/Pago_Pago","AT|Europe/Vienna","AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla","AW|America/Curacao America/Aruba","AX|Europe/Helsinki Europe/Mariehamn","AZ|Asia/Baku","BA|Europe/Belgrade Europe/Sarajevo","BB|America/Barbados","BD|Asia/Dhaka","BE|Europe/Brussels","BF|Africa/Abidjan Africa/Ouagadougou","BG|Europe/Sofia","BH|Asia/Qatar Asia/Bahrain","BI|Africa/Maputo Africa/Bujumbura","BJ|Africa/Lagos Africa/Porto-Novo","BL|America/Port_of_Spain America/St_Barthelemy","BM|Atlantic/Bermuda","BN|Asia/Brunei","BO|America/La_Paz","BQ|America/Curacao America/Kralendijk","BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco","BS|America/Nassau","BT|Asia/Thimphu","BW|Africa/Maputo Africa/Gaborone","BY|Europe/Minsk","BZ|America/Belize","CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver","CC|Indian/Cocos","CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi","CF|Africa/Lagos Africa/Bangui","CG|Africa/Lagos Africa/Brazzaville","CH|Europe/Zurich","CI|Africa/Abidjan","CK|Pacific/Rarotonga","CL|America/Santiago America/Punta_Arenas Pacific/Easter","CM|Africa/Lagos Africa/Douala","CN|Asia/Shanghai Asia/Urumqi","CO|America/Bogota","CR|America/Costa_Rica","CU|America/Havana","CV|Atlantic/Cape_Verde","CW|America/Curacao","CX|Indian/Christmas","CY|Asia/Nicosia Asia/Famagusta","CZ|Europe/Prague","DE|Europe/Zurich Europe/Berlin Europe/Busingen","DJ|Africa/Nairobi Africa/Djibouti","DK|Europe/Copenhagen","DM|America/Port_of_Spain America/Dominica","DO|America/Santo_Domingo","DZ|Africa/Algiers","EC|America/Guayaquil Pacific/Galapagos","EE|Europe/Tallinn","EG|Africa/Cairo","EH|Africa/El_Aaiun","ER|Africa/Nairobi Africa/Asmara","ES|Europe/Madrid Africa/Ceuta Atlantic/Canary","ET|Africa/Nairobi Africa/Addis_Ababa","FI|Europe/Helsinki","FJ|Pacific/Fiji","FK|Atlantic/Stanley","FM|Pacific/Chuuk Pacific/Pohnpei Pacific/Kosrae","FO|Atlantic/Faroe","FR|Europe/Paris","GA|Africa/Lagos Africa/Libreville","GB|Europe/London","GD|America/Port_of_Spain America/Grenada","GE|Asia/Tbilisi","GF|America/Cayenne","GG|Europe/London Europe/Guernsey","GH|Africa/Accra","GI|Europe/Gibraltar","GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule","GM|Africa/Abidjan Africa/Banjul","GN|Africa/Abidjan Africa/Conakry","GP|America/Port_of_Spain America/Guadeloupe","GQ|Africa/Lagos Africa/Malabo","GR|Europe/Athens","GS|Atlantic/South_Georgia","GT|America/Guatemala","GU|Pacific/Guam","GW|Africa/Bissau","GY|America/Guyana","HK|Asia/Hong_Kong","HN|America/Tegucigalpa","HR|Europe/Belgrade Europe/Zagreb","HT|America/Port-au-Prince","HU|Europe/Budapest","ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura","IE|Europe/Dublin","IL|Asia/Jerusalem","IM|Europe/London Europe/Isle_of_Man","IN|Asia/Kolkata","IO|Indian/Chagos","IQ|Asia/Baghdad","IR|Asia/Tehran","IS|Atlantic/Reykjavik","IT|Europe/Rome","JE|Europe/London Europe/Jersey","JM|America/Jamaica","JO|Asia/Amman","JP|Asia/Tokyo","KE|Africa/Nairobi","KG|Asia/Bishkek","KH|Asia/Bangkok Asia/Phnom_Penh","KI|Pacific/Tarawa Pacific/Enderbury Pacific/Kiritimati","KM|Africa/Nairobi Indian/Comoro","KN|America/Port_of_Spain America/St_Kitts","KP|Asia/Pyongyang","KR|Asia/Seoul","KW|Asia/Riyadh Asia/Kuwait","KY|America/Panama America/Cayman","KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral","LA|Asia/Bangkok Asia/Vientiane","LB|Asia/Beirut","LC|America/Port_of_Spain America/St_Lucia","LI|Europe/Zurich Europe/Vaduz","LK|Asia/Colombo","LR|Africa/Monrovia","LS|Africa/Johannesburg Africa/Maseru","LT|Europe/Vilnius","LU|Europe/Luxembourg","LV|Europe/Riga","LY|Africa/Tripoli","MA|Africa/Casablanca","MC|Europe/Monaco","MD|Europe/Chisinau","ME|Europe/Belgrade Europe/Podgorica","MF|America/Port_of_Spain America/Marigot","MG|Africa/Nairobi Indian/Antananarivo","MH|Pacific/Majuro Pacific/Kwajalein","MK|Europe/Belgrade Europe/Skopje","ML|Africa/Abidjan Africa/Bamako","MM|Asia/Yangon","MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan","MO|Asia/Macau","MP|Pacific/Guam Pacific/Saipan","MQ|America/Martinique","MR|Africa/Abidjan Africa/Nouakchott","MS|America/Port_of_Spain America/Montserrat","MT|Europe/Malta","MU|Indian/Mauritius","MV|Indian/Maldives","MW|Africa/Maputo Africa/Blantyre","MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas","MY|Asia/Kuala_Lumpur Asia/Kuching","MZ|Africa/Maputo","NA|Africa/Windhoek","NC|Pacific/Noumea","NE|Africa/Lagos Africa/Niamey","NF|Pacific/Norfolk","NG|Africa/Lagos","NI|America/Managua","NL|Europe/Amsterdam","NO|Europe/Oslo","NP|Asia/Kathmandu","NR|Pacific/Nauru","NU|Pacific/Niue","NZ|Pacific/Auckland Pacific/Chatham","OM|Asia/Dubai Asia/Muscat","PA|America/Panama","PE|America/Lima","PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier","PG|Pacific/Port_Moresby Pacific/Bougainville","PH|Asia/Manila","PK|Asia/Karachi","PL|Europe/Warsaw","PM|America/Miquelon","PN|Pacific/Pitcairn","PR|America/Puerto_Rico","PS|Asia/Gaza Asia/Hebron","PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores","PW|Pacific/Palau","PY|America/Asuncion","QA|Asia/Qatar","RE|Indian/Reunion","RO|Europe/Bucharest","RS|Europe/Belgrade","RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Volgograd Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr","RW|Africa/Maputo Africa/Kigali","SA|Asia/Riyadh","SB|Pacific/Guadalcanal","SC|Indian/Mahe","SD|Africa/Khartoum","SE|Europe/Stockholm","SG|Asia/Singapore","SH|Africa/Abidjan Atlantic/St_Helena","SI|Europe/Belgrade Europe/Ljubljana","SJ|Europe/Oslo Arctic/Longyearbyen","SK|Europe/Prague Europe/Bratislava","SL|Africa/Abidjan Africa/Freetown","SM|Europe/Rome Europe/San_Marino","SN|Africa/Abidjan Africa/Dakar","SO|Africa/Nairobi Africa/Mogadishu","SR|America/Paramaribo","SS|Africa/Juba","ST|Africa/Sao_Tome","SV|America/El_Salvador","SX|America/Curacao America/Lower_Princes","SY|Asia/Damascus","SZ|Africa/Johannesburg Africa/Mbabane","TC|America/Grand_Turk","TD|Africa/Ndjamena","TF|Indian/Reunion Indian/Kerguelen","TG|Africa/Abidjan Africa/Lome","TH|Asia/Bangkok","TJ|Asia/Dushanbe","TK|Pacific/Fakaofo","TL|Asia/Dili","TM|Asia/Ashgabat","TN|Africa/Tunis","TO|Pacific/Tongatapu","TR|Europe/Istanbul","TT|America/Port_of_Spain","TV|Pacific/Funafuti","TW|Asia/Taipei","TZ|Africa/Nairobi Africa/Dar_es_Salaam","UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye","UG|Africa/Nairobi Africa/Kampala","UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway","US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu","UY|America/Montevideo","UZ|Asia/Samarkand Asia/Tashkent","VA|Europe/Rome Europe/Vatican","VC|America/Port_of_Spain America/St_Vincent","VE|America/Caracas","VG|America/Port_of_Spain America/Tortola","VI|America/Port_of_Spain America/St_Thomas","VN|Asia/Bangkok Asia/Ho_Chi_Minh","VU|Pacific/Efate","WF|Pacific/Wallis","WS|Pacific/Apia","YE|Asia/Riyadh Asia/Aden","YT|Africa/Nairobi Indian/Mayotte","ZA|Africa/Johannesburg","ZM|Africa/Maputo Africa/Lusaka","ZW|Africa/Maputo Africa/Harare"]}),c}); diff --git a/2024/js/moment.min.js b/2024/js/moment.min.js new file mode 100644 index 0000000..ed8ceea --- /dev/null +++ b/2024/js/moment.min.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";var H;function f(){return H.apply(null,arguments)}function a(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function F(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function c(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function L(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var t in e)if(c(e,t))return;return 1}function o(e){return void 0===e}function u(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function V(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function G(e,t){for(var n=[],s=e.length,i=0;i>>0,s=0;sAe(e)?(r=e+1,t-Ae(e)):(r=e,t);return{year:r,dayOfYear:n}}function qe(e,t,n){var s,i,r=ze(e.year(),t,n),r=Math.floor((e.dayOfYear()-r-1)/7)+1;return r<1?s=r+P(i=e.year()-1,t,n):r>P(e.year(),t,n)?(s=r-P(e.year(),t,n),i=e.year()+1):(i=e.year(),s=r),{week:s,year:i}}function P(e,t,n){var s=ze(e,t,n),t=ze(e+1,t,n);return(Ae(e)-s+t)/7}s("w",["ww",2],"wo","week"),s("W",["WW",2],"Wo","isoWeek"),t("week","w"),t("isoWeek","W"),n("week",5),n("isoWeek",5),v("w",p),v("ww",p,w),v("W",p),v("WW",p,w),Te(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=g(e)});function Be(e,t){return e.slice(t,7).concat(e.slice(0,t))}s("d",0,"do","day"),s("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),s("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),s("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),s("e",0,0,"weekday"),s("E",0,0,"isoWeekday"),t("day","d"),t("weekday","e"),t("isoWeekday","E"),n("day",11),n("weekday",11),n("isoWeekday",11),v("d",p),v("e",p),v("E",p),v("dd",function(e,t){return t.weekdaysMinRegex(e)}),v("ddd",function(e,t){return t.weekdaysShortRegex(e)}),v("dddd",function(e,t){return t.weekdaysRegex(e)}),Te(["dd","ddd","dddd"],function(e,t,n,s){s=n._locale.weekdaysParse(e,s,n._strict);null!=s?t.d=s:m(n).invalidWeekday=e}),Te(["d","e","E"],function(e,t,n,s){t[s]=g(e)});var Je="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Qe="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Xe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ke=k,et=k,tt=k;function nt(){function e(e,t){return t.length-e.length}for(var t,n,s,i=[],r=[],a=[],o=[],u=0;u<7;u++)s=l([2e3,1]).day(u),t=M(this.weekdaysMin(s,"")),n=M(this.weekdaysShort(s,"")),s=M(this.weekdays(s,"")),i.push(t),r.push(n),a.push(s),o.push(t),o.push(n),o.push(s);i.sort(e),r.sort(e),a.sort(e),o.sort(e),this._weekdaysRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+i.join("|")+")","i")}function st(){return this.hours()%12||12}function it(e,t){s(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function rt(e,t){return t._meridiemParse}s("H",["HH",2],0,"hour"),s("h",["hh",2],0,st),s("k",["kk",2],0,function(){return this.hours()||24}),s("hmm",0,0,function(){return""+st.apply(this)+r(this.minutes(),2)}),s("hmmss",0,0,function(){return""+st.apply(this)+r(this.minutes(),2)+r(this.seconds(),2)}),s("Hmm",0,0,function(){return""+this.hours()+r(this.minutes(),2)}),s("Hmmss",0,0,function(){return""+this.hours()+r(this.minutes(),2)+r(this.seconds(),2)}),it("a",!0),it("A",!1),t("hour","h"),n("hour",13),v("a",rt),v("A",rt),v("H",p),v("h",p),v("k",p),v("HH",p,w),v("hh",p,w),v("kk",p,w),v("hmm",ge),v("hmmss",we),v("Hmm",ge),v("Hmmss",we),D(["H","HH"],x),D(["k","kk"],function(e,t,n){e=g(e);t[x]=24===e?0:e}),D(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),D(["h","hh"],function(e,t,n){t[x]=g(e),m(n).bigHour=!0}),D("hmm",function(e,t,n){var s=e.length-2;t[x]=g(e.substr(0,s)),t[T]=g(e.substr(s)),m(n).bigHour=!0}),D("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[x]=g(e.substr(0,s)),t[T]=g(e.substr(s,2)),t[N]=g(e.substr(i)),m(n).bigHour=!0}),D("Hmm",function(e,t,n){var s=e.length-2;t[x]=g(e.substr(0,s)),t[T]=g(e.substr(s))}),D("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[x]=g(e.substr(0,s)),t[T]=g(e.substr(s,2)),t[N]=g(e.substr(i))});k=de("Hours",!0);var at,ot={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ce,monthsShort:Ue,week:{dow:0,doy:6},weekdays:Je,weekdaysMin:Xe,weekdaysShort:Qe,meridiemParse:/[ap]\.?m?\.?/i},R={},ut={};function lt(e){return e&&e.toLowerCase().replace("_","-")}function ht(e){for(var t,n,s,i,r=0;r=t&&function(e,t){for(var n=Math.min(e.length,t.length),s=0;s=t-1)break;t--}r++}return at}function dt(t){var e;if(void 0===R[t]&&"undefined"!=typeof module&&module&&module.exports&&null!=t.match("^[^/\\\\]*$"))try{e=at._abbr,require("./locale/"+t),ct(e)}catch(e){R[t]=null}return R[t]}function ct(e,t){return e&&((t=o(t)?mt(e):ft(e,t))?at=t:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),at._abbr}function ft(e,t){if(null===t)return delete R[e],null;var n,s=ot;if(t.abbr=e,null!=R[e])Q("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=R[e]._config;else if(null!=t.parentLocale)if(null!=R[t.parentLocale])s=R[t.parentLocale]._config;else{if(null==(n=dt(t.parentLocale)))return ut[t.parentLocale]||(ut[t.parentLocale]=[]),ut[t.parentLocale].push({name:e,config:t}),null;s=n._config}return R[e]=new K(X(s,t)),ut[e]&&ut[e].forEach(function(e){ft(e.name,e.config)}),ct(e),R[e]}function mt(e){var t;if(!(e=e&&e._locale&&e._locale._abbr?e._locale._abbr:e))return at;if(!a(e)){if(t=dt(e))return t;e=[e]}return ht(e)}function _t(e){var t=e._a;return t&&-2===m(e).overflow&&(t=t[O]<0||11We(t[Y],t[O])?b:t[x]<0||24P(r,u,l)?m(s)._overflowWeeks=!0:null!=h?m(s)._overflowWeekday=!0:(d=$e(r,a,o,u,l),s._a[Y]=d.year,s._dayOfYear=d.dayOfYear)),null!=e._dayOfYear&&(i=bt(e._a[Y],n[Y]),(e._dayOfYear>Ae(i)||0===e._dayOfYear)&&(m(e)._overflowDayOfYear=!0),h=Ze(i,0,e._dayOfYear),e._a[O]=h.getUTCMonth(),e._a[b]=h.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=c[t]=n[t];for(;t<7;t++)e._a[t]=c[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[x]&&0===e._a[T]&&0===e._a[N]&&0===e._a[Ne]&&(e._nextDay=!0,e._a[x]=0),e._d=(e._useUTC?Ze:je).apply(null,c),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[x]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(m(e).weekdayMismatch=!0)}}function Tt(e){if(e._f===f.ISO_8601)St(e);else if(e._f===f.RFC_2822)Ot(e);else{e._a=[],m(e).empty=!0;for(var t,n,s,i,r,a=""+e._i,o=a.length,u=0,l=ae(e._f,e._locale).match(te)||[],h=l.length,d=0;de.valueOf():e.valueOf()"}),i.toJSON=function(){return this.isValid()?this.toISOString():null},i.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},i.unix=function(){return Math.floor(this.valueOf()/1e3)},i.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},i.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},i.eraName=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},i.isLocal=function(){return!!this.isValid()&&!this._isUTC},i.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},i.isUtc=At,i.isUTC=At,i.zoneAbbr=function(){return this._isUTC?"UTC":""},i.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},i.dates=e("dates accessor is deprecated. Use date instead.",ke),i.months=e("months accessor is deprecated. Use month instead",Ge),i.years=e("years accessor is deprecated. Use year instead",Ie),i.zone=e("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?(this.utcOffset(e="string"!=typeof e?-e:e,t),this):-this.utcOffset()}),i.isDSTShifted=e("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!o(this._isDSTShifted))return this._isDSTShifted;var e,t={};return $(t,this),(t=Nt(t))._a?(e=(t._isUTC?l:W)(t._a),this._isDSTShifted=this.isValid()&&0 0; i--) { + var j = Math.floor(Math.random() * (i + 1)); + var temp = array[i]; + array[i] = array[j]; + array[j] = temp; + } + return array; +} diff --git a/2024/logos/254_254_dseams.png b/2024/logos/254_254_dseams.png new file mode 100644 index 0000000..d8e1a46 Binary files /dev/null and b/2024/logos/254_254_dseams.png differ diff --git a/2024/logos/256x256_white.png b/2024/logos/256x256_white.png new file mode 100644 index 0000000..27b6dd1 Binary files /dev/null and b/2024/logos/256x256_white.png differ diff --git a/2024/logos/256x256_white_3xCK6Bv.png b/2024/logos/256x256_white_3xCK6Bv.png new file mode 100644 index 0000000..27b6dd1 Binary files /dev/null and b/2024/logos/256x256_white_3xCK6Bv.png differ diff --git a/2024/logos/256x256_white_3xCK6Bv_oFfXgFE.png b/2024/logos/256x256_white_3xCK6Bv_oFfXgFE.png new file mode 100644 index 0000000..27b6dd1 Binary files /dev/null and b/2024/logos/256x256_white_3xCK6Bv_oFfXgFE.png differ diff --git a/2024/logos/256x256_white_hMgXXSp.png b/2024/logos/256x256_white_hMgXXSp.png new file mode 100644 index 0000000..27b6dd1 Binary files /dev/null and b/2024/logos/256x256_white_hMgXXSp.png differ diff --git a/2024/logos/DIPY.png b/2024/logos/DIPY.png new file mode 100644 index 0000000..1ff1354 Binary files /dev/null and b/2024/logos/DIPY.png differ diff --git a/2024/logos/Elastica_logo_256.png b/2024/logos/Elastica_logo_256.png new file mode 100644 index 0000000..6841a22 Binary files /dev/null and b/2024/logos/Elastica_logo_256.png differ diff --git a/2024/logos/Elastica_logo_256_L1dxSZu.png b/2024/logos/Elastica_logo_256_L1dxSZu.png new file mode 100644 index 0000000..6841a22 Binary files /dev/null and b/2024/logos/Elastica_logo_256_L1dxSZu.png differ diff --git a/2024/logos/FURY.png b/2024/logos/FURY.png new file mode 100644 index 0000000..1835669 Binary files /dev/null and b/2024/logos/FURY.png differ diff --git a/2024/logos/LPython2.png b/2024/logos/LPython2.png new file mode 100644 index 0000000..ade50ce Binary files /dev/null and b/2024/logos/LPython2.png differ diff --git a/2024/logos/activeloop-gsoc-logo.png b/2024/logos/activeloop-gsoc-logo.png new file mode 100644 index 0000000..ae8d55c Binary files /dev/null and b/2024/logos/activeloop-gsoc-logo.png differ diff --git a/2024/logos/borg_256.png b/2024/logos/borg_256.png new file mode 100644 index 0000000..cad5924 Binary files /dev/null and b/2024/logos/borg_256.png differ diff --git a/2024/logos/dffml-loops.png b/2024/logos/dffml-loops.png new file mode 100644 index 0000000..81d8f2b Binary files /dev/null and b/2024/logos/dffml-loops.png differ diff --git a/2024/logos/eos.png b/2024/logos/eos.png new file mode 100644 index 0000000..2a15d2f Binary files /dev/null and b/2024/logos/eos.png differ diff --git a/2024/logos/eoslogo.png b/2024/logos/eoslogo.png new file mode 100644 index 0000000..60f9673 Binary files /dev/null and b/2024/logos/eoslogo.png differ diff --git a/2024/logos/final_twu33Ki.png b/2024/logos/final_twu33Ki.png new file mode 100644 index 0000000..a420939 Binary files /dev/null and b/2024/logos/final_twu33Ki.png differ diff --git a/2024/logos/fury-256_Q98JbJ6.png b/2024/logos/fury-256_Q98JbJ6.png new file mode 100644 index 0000000..f845151 Binary files /dev/null and b/2024/logos/fury-256_Q98JbJ6.png differ diff --git a/2024/logos/fury-256_p3XAsKM.png b/2024/logos/fury-256_p3XAsKM.png new file mode 100644 index 0000000..f845151 Binary files /dev/null and b/2024/logos/fury-256_p3XAsKM.png differ diff --git a/2024/logos/fury_logo.png b/2024/logos/fury_logo.png new file mode 100644 index 0000000..9f0aee2 Binary files /dev/null and b/2024/logos/fury_logo.png differ diff --git a/2024/logos/hub-activeloop-logo-256.png b/2024/logos/hub-activeloop-logo-256.png new file mode 100644 index 0000000..c38aaee Binary files /dev/null and b/2024/logos/hub-activeloop-logo-256.png differ diff --git a/2024/logos/lfortran_logo.png b/2024/logos/lfortran_logo.png new file mode 100644 index 0000000..43cc7bb Binary files /dev/null and b/2024/logos/lfortran_logo.png differ diff --git a/2024/logos/logo-pocketpy.png b/2024/logos/logo-pocketpy.png new file mode 100644 index 0000000..f9b002c Binary files /dev/null and b/2024/logos/logo-pocketpy.png differ diff --git a/2024/logos/logo_0GFMdDp.png b/2024/logos/logo_0GFMdDp.png new file mode 100644 index 0000000..08c8835 Binary files /dev/null and b/2024/logos/logo_0GFMdDp.png differ diff --git a/2024/logos/logo_WmOuQD6.png b/2024/logos/logo_WmOuQD6.png new file mode 100644 index 0000000..5c21f56 Binary files /dev/null and b/2024/logos/logo_WmOuQD6.png differ diff --git a/2024/logos/logo_hex.png b/2024/logos/logo_hex.png new file mode 100644 index 0000000..df63b7c Binary files /dev/null and b/2024/logos/logo_hex.png differ diff --git a/2024/logos/logo_mne_hex.png b/2024/logos/logo_mne_hex.png new file mode 100644 index 0000000..df63b7c Binary files /dev/null and b/2024/logos/logo_mne_hex.png differ diff --git a/2024/logos/logo_mne_hex_QwkUHQt.png b/2024/logos/logo_mne_hex_QwkUHQt.png new file mode 100644 index 0000000..df63b7c Binary files /dev/null and b/2024/logos/logo_mne_hex_QwkUHQt.png differ diff --git a/2024/logos/mailman-reflected.png b/2024/logos/mailman-reflected.png new file mode 100644 index 0000000..ab8c476 Binary files /dev/null and b/2024/logos/mailman-reflected.png differ diff --git a/2024/logos/mailman256.png b/2024/logos/mailman256.png new file mode 100644 index 0000000..876887d Binary files /dev/null and b/2024/logos/mailman256.png differ diff --git a/2024/logos/mss-logo_BiK2crz.png b/2024/logos/mss-logo_BiK2crz.png new file mode 100644 index 0000000..d163ca9 Binary files /dev/null and b/2024/logos/mss-logo_BiK2crz.png differ diff --git a/2024/logos/mss-logo_C6tWPl0.png b/2024/logos/mss-logo_C6tWPl0.png new file mode 100644 index 0000000..d163ca9 Binary files /dev/null and b/2024/logos/mss-logo_C6tWPl0.png differ diff --git a/2024/logos/mss-logo_pLkeiq7.png b/2024/logos/mss-logo_pLkeiq7.png new file mode 100644 index 0000000..d163ca9 Binary files /dev/null and b/2024/logos/mss-logo_pLkeiq7.png differ diff --git a/2024/logos/psf.png b/2024/logos/psf.png new file mode 100644 index 0000000..d5f3e43 Binary files /dev/null and b/2024/logos/psf.png differ diff --git a/2024/logos/psf_axVW5Ir.png b/2024/logos/psf_axVW5Ir.png new file mode 100644 index 0000000..d5f3e43 Binary files /dev/null and b/2024/logos/psf_axVW5Ir.png differ diff --git a/2024/logos/psf_axVW5Ir_HK5PR6m.png b/2024/logos/psf_axVW5Ir_HK5PR6m.png new file mode 100644 index 0000000..d5f3e43 Binary files /dev/null and b/2024/logos/psf_axVW5Ir_HK5PR6m.png differ diff --git a/2024/logos/psf_axVW5Ir_zvfn7Uy.png b/2024/logos/psf_axVW5Ir_zvfn7Uy.png new file mode 100644 index 0000000..d5f3e43 Binary files /dev/null and b/2024/logos/psf_axVW5Ir_zvfn7Uy.png differ diff --git a/2024/logos/pyar-logo-nuevo.png b/2024/logos/pyar-logo-nuevo.png new file mode 100644 index 0000000..98f9c46 Binary files /dev/null and b/2024/logos/pyar-logo-nuevo.png differ diff --git a/2024/logos/pyar-logo-nuevo_maiypJC.png b/2024/logos/pyar-logo-nuevo_maiypJC.png new file mode 100644 index 0000000..98f9c46 Binary files /dev/null and b/2024/logos/pyar-logo-nuevo_maiypJC.png differ diff --git a/2024/logos/pyar-logo-nuevo_maiypJC_ipQUMc4.png b/2024/logos/pyar-logo-nuevo_maiypJC_ipQUMc4.png new file mode 100644 index 0000000..98f9c46 Binary files /dev/null and b/2024/logos/pyar-logo-nuevo_maiypJC_ipQUMc4.png differ diff --git a/2024/logos/python-logo-45px.png b/2024/logos/python-logo-45px.png new file mode 100644 index 0000000..565c4cb Binary files /dev/null and b/2024/logos/python-logo-45px.png differ diff --git a/2024/logos/python-logo-for-gsoc-system.png b/2024/logos/python-logo-for-gsoc-system.png new file mode 100644 index 0000000..571cba7 Binary files /dev/null and b/2024/logos/python-logo-for-gsoc-system.png differ diff --git a/2024/logos/python-powered-h-140x182.png b/2024/logos/python-powered-h-140x182.png new file mode 100644 index 0000000..e81120e Binary files /dev/null and b/2024/logos/python-powered-h-140x182.png differ diff --git a/2024/logos/scipy_logo.png b/2024/logos/scipy_logo.png new file mode 100644 index 0000000..301fa7d Binary files /dev/null and b/2024/logos/scipy_logo.png differ diff --git a/2024/logos/scipy_logo2.png b/2024/logos/scipy_logo2.png new file mode 100644 index 0000000..e1b7642 Binary files /dev/null and b/2024/logos/scipy_logo2.png differ diff --git a/2024/logos/seldon_logo_256x256.png b/2024/logos/seldon_logo_256x256.png new file mode 100644 index 0000000..1fa17d5 Binary files /dev/null and b/2024/logos/seldon_logo_256x256.png differ diff --git a/2024/logos/tern_logo.png b/2024/logos/tern_logo.png new file mode 100644 index 0000000..9155945 Binary files /dev/null and b/2024/logos/tern_logo.png differ diff --git a/2024/logos/xbitinfo_logos_256x256.png b/2024/logos/xbitinfo_logos_256x256.png new file mode 100644 index 0000000..dbd8a1f Binary files /dev/null and b/2024/logos/xbitinfo_logos_256x256.png differ diff --git a/2024/logos/zyte-gsoc.png b/2024/logos/zyte-gsoc.png new file mode 100644 index 0000000..720f7ea Binary files /dev/null and b/2024/logos/zyte-gsoc.png differ diff --git a/2024/logos/zyte-gsoc_7Y51Vl0.png b/2024/logos/zyte-gsoc_7Y51Vl0.png new file mode 100644 index 0000000..720f7ea Binary files /dev/null and b/2024/logos/zyte-gsoc_7Y51Vl0.png differ diff --git a/2024/mentors.html b/2024/mentors.html new file mode 100644 index 0000000..e33b3d7 --- /dev/null +++ b/2024/mentors.html @@ -0,0 +1,407 @@ + + + + + + + + + Codestin Search App + + + + + + + + + + + + + + + + + + + + +
    + + +
    +
    +

    Mentors

    +

    Interested in volunteering with the Python Software Foundation?

    + +

    The biggest job is mentoring new contributors: Mentoring a + GSoC contributor as a primary mentor can be a pretty big time commitment (see + "What does it take to be a mentor?" for more information) but it's a very + rewarding chance to give a GSoC contributor an open source apprenticeship. + We mentor in teams, so if all you can handle is a few code reviews or taking + over for a week while someone's on vacation, you can team up with someone with more time.

    + +

    The easiest way to become a mentor is to be part of one of the sub-orgs + that plan to be involved, so get in touch with them directly if you want to + help. If you're part of a group that would like to participate as a sub-org, + please read the section for sub-orgs below.

    + +

    If you're not already part of a group + that wants to participate, we can try to match you with one, but be aware that to do + the best job of mentoring you're going to need to know the open source project pretty + well yourself. If you're not already a developer, you should be prepared to become + an active community member. +

    + +

    But we often need other volunteers! We're also looking for + friendly community members to help with other tasks! We'd love to have more + people available on IRC/Mailing lists to answer GSoC contributor and mentor + questions in various time zones. We are particularly looking for volunteers + who can read and comment on contributor posts, remind contributors if they haven't + posted, and promote the work our GSoC contributors do to the larger Python community. + Or maybe you have another skillset you'd like to contribute? (Proofreading? + Recruiting diverse contributor applicants?) If you want to help, we can try to + find a way to make that happen.

    + +

    If you'd like to volunteer, get in touch with a sub-org admin or + email the Python org admins at gsoc-admins(at)python(dot)org

    +
    +
    + +
    +
    +
    +

    What does it take to be a mentor?

    + +
    +

    + + Time commitment +

    +

    We expect around a 0-10hr/week commitment, which sounds scary, but it's not + actually that + variable. You usually spend up to lots of time for the first few weeks, where you're + fleshing out your ideas page, discussing projects with many contributors, and selecting + contributors from their proposals. After contributors are selected and settled in, it becomes more + like + a 1hr + commitment per week for a weekly meeting, and maybe a few more hours here and there for + code review or questions. (That depends on your GSoC contributor: experienced contributors may need + very little supervision, inexperienced contributors may need more. It also depends on you: You + and your co-mentor(s) select the person and project you mentor, so you can choose + according to the time commitment you have. Some mentors even do pair programming with + their GSoC contributors!)

    +

    I recommend at least one mentor has a weekly 1hr meeting with the GSoC contributor + so + they get to + know each other, keep everyone on track, and give a chance to talk about other stuff. Lots + of contributors have questions about jobs, courses, architecture, open source, etc. and it's + nice for contributors to have someone to talk to especially since many of them will not have + worked + remotely + on their own for any length of time before. Some weeks this meeting may be the only + mentoring + time + needed.

    +
    +
    +

    + + Work Together +

    +

    We want at least two mentors per project, so hopefully no one ever gets + overwhelmed and + feels like they're always on call (Google does ask that we try to answer questions within + 48h so contributors can't get stuck for too long), and no one mentor has to know all the + answers.

    +
    +
    +

    + + Knowledge required +

    +

    Our most successful mentors are those who are already developers or community + members of + their open source project. If you're joining a new project for GSoC, expect to + take time + to learn the ropes yourself so you can help GSoC contributors.

    +

    Mentors don't have to be the Best At Everything. A lot of what mentors do is keep contributors + on track and keep them from getting stuck for too long. Sometimes that means just knowing + who to ask or where to look rather than knowing the answer yourself.

    +

    In an ideal world, at + least one mentor can answer at least basic architectural questions and knows how to get + code accepted upstream. Not every mentor has to be a coder: experienced users can help + contributors understand why features make sense (or dont!), system administrators can help + contributors + understand how deployment works in practice, experts in areas like accessibility, + usability, + and security could help guide contributors in their areas of expertise.

    +
    +
    +

    + + Evaluating GSoC contributors +

    +

    Mentors do have to do multiple evaluations on each GSoC contributor, two mid-terms and one at the end. + Usually the mentors discuss + and then the "primary" mentor fills in the evaluation with input from all mentors. + There's a + few questions about how the GSoC contributor is doing and then a pass/fail that determines if the + GSoC contributor gets paid and continues in the program.

    +
    +
    +
    +
    + +
    +
    +

    Sub Orgs

    +
    +
    + Looking for the list of currently accepted sub-orgs? It's the project ideas list. +
    +
    +

    To participate under the Python umbrella, a sub-org must do the following: + +

      +
    1. Be a Python-based open source project that meets + Google's requirements + for GSoC. +
    2. Email gsoc-admins@python.org for the registration application + +
    3. Have one sub-org admin and at least two mentors who are willing to commit + to the full GSoC period. (More is awesome!) Thats a minimum of 3 people total, although your sub-org admin is allowed to also be a mentor or backup mentor. +
        +
      • If you want to connect with more potential volunteers, + email gsoc-admins@python.org + to see if we can match you with volunteers who don't have a project.
      • +
      + +
    4. Accept the Python + Community Code of Conduct for the duration of the + program. + +
    5. Send an email indicating interest to gsoc-admins(at)python(dot)org before + the Python deadline (exceptions can be made if you get an amazing + GSoC contributor applicant later and want to sign up just for them). + + +
    6. Have a good ideas page. We have a template below. Getting a + really + great page + sometimes takes a few rounds of revisions; We will work with you to make + sure your page is ready! + +
    7. Be able to handle meeting deadlines and following both Google + and Python's rules. We try to send important reminders for big deadlines, but we only + have limited volunteer time for nagging and cajoling. Groups that cause repeated problems + may be asked to take time off to limit core volunteer burnout. + +
    8. Disclose all potential conflicts of interest to the Python admins BEFORE accepting a + GSoC contributor. If you are unsure, ask. If a conflict is found after the fact the GSoC contributor and + sub-org may be dropped from the program. (Examples: GSoC contributor is involved in your research + group, + GSoC contributor is your child, GSoC contributor owes you money, etc.) + +
    9. Give access to any private communication channels to the PSF admins for the duration of + GSoC that are used for the project, ie slack, private git repo, discord etc. This is mostly + so we + can reach you where you're already looking for gsoc-related messages, but could also be used + if a GSoC contributor has a dispute with a mentor and asks for our help. + +
    + + +

    We can't promise to take everyone who meets those criteria, but we do try to + take any group that we feel will give the GSoC contributors a great experience. + Terri has final say in which projects participate under the Python + umbrella, but please send any queries to all the admins at + gsoc-admins(at)python(dot)org to make sure we're all on the same page.

    + +

    Python projects are welcome and encouraged to apply as separate + mentoring organizations directly with Google. We're happy to help + you in any way we can and we don't mind being your backup plan. We're also + happy to help advertise python based organizations not under our umbrella: we + want GSoC contributors to find projects that best suit them!

    + +

    Please note: The funds Google gives Python as mentor stipends are given to the + PSF grants program rather than + dispensed per sub-org. +

    +
    +
    + +
    +
    +
    +

    Python Sub-org Ideas Template +

    + +

    There are not very many strict requirements for Google Summer of Code Ideas pages, but + there are some things that GSoC contributors often ask us for. This page is intended as a starting + template for organizations so you don't forget those things. + +

    Warning: In 2014, many orgs got rejected because their ideas pages were offline when + Google checked. Make sure your ideas page is hosted somewhere that Google's Open + Source + Programs Office will be able to access when they check! + +

    About MyOrg

    + +

    Tell the prospective contributors a bit about your organization. Here's some questions you might want to + answer: + +

      +
    • What software are you creating? +
    • Why is it interesting? +
    • Who uses it? +
    • What languages is it written in? +
    • How is it going to change the world? +
    + + +

    Contacting MyOrg

    + +
      +
    • IRC channel: +
    • Mailing list(s): +
    • List contact methods you actually use and will have mentors monitoring! +
    + + +

    Include any special instructions/info about communicating: e.g. what time zones are + your + mentors in? do you prefer it if GSoC contributors introduce themselves first or just + dive + in? + are there any common mistakes contributors make when making a first impression? + +

    Getting Started

    + +

    Links to setup instructions go here. Some suggested things to answer: + +

      +
    • Where is the link to a setup guide for new developers? +
    • Are there any unusual libraries/applications that need to be installed + first? +
    • What type of source control do you use? (include links to help and + setup + guides!) +
    • What's the process for submitting your first bug fix? +
    • Where should new contributors look to find easy bugs to try out? +
    + +

    Writing your GSoC application +

    + +

    Links to advice about applications and the application template goes here. + +

    + +

    Project Ideas

    + +

    You should usually have a couple of project ideas, ranging in difficulty + from beginner to + expert. Please do try to have at least one, preferably several beginner + tasks: GSoC gets a + lot of new contributors with minimal open source experience who feel very + discouraged (and + sometimes even complain to Google) if orgs don't any have projects at + their + level. + +

    1. Project name

    + +
      +
    • Project description: Make sure you have a + high-level description that any new GSoC contributor can + understand, as well as deeper details + +
    • Skills: programming languages? specific domain + knowledge? + +
    • Difficulty level: Easy/Intermediate/Hard + classification (contributors ask for this info + frequently to help them narrow down their choices. Difficulty + levels are something Google + wants to see, so they aren't optional; make your best guess.) + +
    • Related Readings/Links: was there a mailing + list + discussion about this topic? + standards you want new contributors to read first? bugs/feature + requests? + +
    • Potential mentors: A list of mentors likely to + be + involved with this project, so + GSoC contributors know who to look for on IRC/mailing lists if they have + questions. (If you've had + trouble with GSoC contributors overwhelming specific mentors, feel free + to + re-iterate here if + GSoC contributors should contact the mailing list to reach all mentors.) + +
    • Project Length: Medium size projects should take about + 175 hours to complete while large projects should take about 350 hours to + complete, you should put if the project idea would be a medium or a large + project. + +
    + +

    2. Project name

    + +

    As above. etc. Unless there's a compelling reason to sort in some + other + order, ideas + should be ordered approximately from easiest to hardest. +

    If you're open to other +project ideas from contributors, say so and make sure there's a clear path for +contributors to discuss ideas with mentors before submitting an application. +Otherwise, we've found that you'll get a lot of project ideas that aren't +suitable for GSoC: too small, too large, bad fit for the project, no mentors +interested in taking them on, etc. You may have an open discussion thread in +your bug tracker/forums, a chat channel or mailing list, or contact info for a +mentor who's open to discussing new ideas in private.

    + + +
    +
    +
    +
    + + + + diff --git a/2024/sitemap.xml b/2024/sitemap.xml new file mode 100644 index 0000000..773c58b --- /dev/null +++ b/2024/sitemap.xml @@ -0,0 +1,30 @@ + + + + + + https://python-gsoc.org/ + 1.00 + + + https://python-gsoc.org/contributors.html + 0.80 + + + https://python-gsoc.org/mentors.html + 0.80 + + + https://python-gsoc.org/deadlines.html + 0.80 + + + https://python-gsoc.org/psf_ideas.html + 0.80 + + + diff --git a/2024/students.html b/2024/students.html new file mode 100644 index 0000000..e3c223d --- /dev/null +++ b/2024/students.html @@ -0,0 +1,6 @@ + + + + +

    Page has been moved if you are not redirected in five seconds, click here.

    + diff --git a/2024/template.html b/2024/template.html new file mode 100644 index 0000000..40a3cc9 --- /dev/null +++ b/2024/template.html @@ -0,0 +1,73 @@ + + + + + + + + Codestin Search App + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +

    What is it?

    +

    Content goes here

    +
    +
    +
    + + + + diff --git a/blogs.html b/blogs.html new file mode 100644 index 0000000..bd4e307 --- /dev/null +++ b/blogs.html @@ -0,0 +1,124 @@ + + + + + + + + Codestin Search App + + + + + + + + + + + + + + + +
    + +
    +
    +

    Blogging

    +

    Every week, we ask our contributors to answer three questions:

    +
      +
    1. What did you do this week?
    2. +
    3. What is coming up next?
    4. +
    5. Did you get stuck anywhere?
    6. +
    +

    These mini status reports help everyone keep track of how a project is going. It's particularly + important for the org admins to have these so they can oversee the whole program, but we also hope + that these public status reports will help the wider python community see the great work that comes + out of Google Summer of Code.

    +

    Contributors: To post your status report, log in to https://social.python-gsoc.org/ and post it there. Please make your status report posts public, as Google may want to look at them. We expect at least one post that answers the three questions above every week that you're working. The post limit is 4004 characters but we expect most of your status reports will be much shorter than that! If you do not post consistently, we may assume that you have gone inactive and examine your other work to determine if you should be failed out of the program.

    +
    +
    + +
    +
    + +
    +

    Our Fediverse / Mastodon server

    +

    The Python-GSoC server can be found at https://social.python-gsoc.org/

    + +

    The fediverse is a collection of servers running a compatible protocol. We're running a fork of Mastodon, which allows you to do micro-blogging (similar to the service formerly known as Twitter or other text-based social media). We used to run a more traditional blog server for Google Summer of Code, but many pythonistas (including the Python Software Foundation, and lots of folk at PyConUS 2024) use the fediverse, and we felt using the fediverse might help our contributors feel more connected to the wider python community, and help the wider community find our contributors. + +

    Community folk: please feel free to follow our contributors and ask them questions about their projects!

    + +

    A list of contributors will appear here after folk are set up.

    +
    +
    +
    + +
    +
    +

    Getting Started

    + +

    Ben has a thread on how to get started in the Fediverse.

    + +

    Feel free to follow other contributors, the server admins (see list below), folk on other servers, or hashtags. (You might enjoy #Python, #OpenSource, and #GSoC for example.) We encourage you to support other gsoc contributors and chat with them about their projects.

    + +

    You can use your account for general chatting and stuff too, just remember to abide by the Python code of conduct, listed in the server rules.

    +
    +
    + +
    +
    + +
    +

    Need help?

    + +

    Students will recieve invites to the email they provided in their GSoC applications. Mentors can + request an invite by emailing the admins. + +

    If you're having trouble accessing your account, the org admins can be reached at + gsoc-admins(at)python(dot)org.

    + +

    If you're able to use the server, you can contact the server admins directly:

    +
    + +
    +
    + + + + diff --git a/contributors.html b/contributors.html index 2903f77..cca6178 100644 --- a/contributors.html +++ b/contributors.html @@ -9,20 +9,10 @@ Codestin Search App - - - - - - @@ -47,6 +37,8 @@
  • Deadlines
  • FAQ
  • Info for Sub-orgs
  • +
  • Blogs
  • +
  • Contact
  • @@ -80,7 +72,7 @@

    Application Process

    -

    To apply, you need to take a look at the mentoring +

    To apply, you need to take a look at the mentoring organizations and the ideas that they are willing to sponsor. Typically, you'll choose one of their ideas and work with a mentor to create a project proposal that's good for both you and your chosen open source community. diff --git a/deadlines.html b/deadlines.html index 5c65222..03f7bec 100644 --- a/deadlines.html +++ b/deadlines.html @@ -8,20 +8,11 @@ Codestin Search App - - - + - - -