Disqualified from a National Web Design Competition for Using GitHub
medium.com
medium.com
The best thing to do is to find some sort of constructive way to channel your experience. One path I would suggest is to consider launching your own rival competition, where the judges are volunteers from industry, and the prize is an internship at a company or something like that. This would not only provide your peers with a great opportunity to get quality feedback, but also serve as a really useful experience that would help you in your future career. What have you got to lose?
Perhaps you could even get GitHub to sponsor it :)
Reading the replies to this comment saying "rules are rules" is honestly heart breaking. Where has the real spirit of innovation gone? The hacker ethics [0]?
> Although, I do happen to know that fbla has a similar type contest to TSA so we might just move to that next year.
It's your decision, but I say build your own. You've built an audience, already have outreach into the community and a good story.
Yeah that was sad to see :(
I like the attitude that if you don't like the rules, go and make your own thing where you can choose your own rules and not be constrained by those of other people. That's basically the origin story for a lot of successful entrepreneurs.
yourusername at myusername dot se
Hey kids (and everyone else) if you're even remotely familiar with tech and you don't stay completely siloed in one space - very extremely frequently you will encounter people "above you" in the chain who are comparatively complete idiots re tech.
You will have to think carefully about how to proceed when you discover this, it's going to be a constant and consistent question of -- "at this stage, is it worth it for me to press this?"
Try not to get discouraged.
The fact that this challenge doesn’t have a decision maker who knows that GitHub can host as well as template sites and differentiate between the two is a good sign of incompetence.
It’s so cool that kids are doing these challenges and I wish they didn’t have to get cynical and review the challenge before participating. One thing I look for is who is on the review committee or board. If it’s people with good backgrounds, that’s a good sign. If it’s faceless or people with no background in the topic, then I advise avoiding.
Ah yes the "Thanks for the record breaking quarter everyone, enjoy these 4 $5 Hot n Ready pizzas and two bottles of Coke" event.
When I was 15 or so, I took part in a tech competition for under 19 year olds. I designed and programmed a website for "grading" your teachers, complete with an admin interface for generating anonymous 1 time use codes for students. The goal was to make it easy for schools to allow students to provide anonymous, private feedback to their teachers.
I didn't win (there were a lot of other submissions that were pretty amazing, so no hard feelings about that).
But a few months later, someone tipped me off about a public teacher grading website. It looked very similar to my website, it was the same design, just with different colors. I couldn't believe it, but digging into it I found out that one of the people running this website was a jury member in the tech competition.
Because they were shoddy coders and didn't properly quote user input on HTML pages, I used a simple script injection attack to show a Java script alert on one of the pages.
Their website went nowhere (turns out that allowing students to publically grade their teachers is not going to be used for constructive feedback...)
But I was quite disillusioned how the jury of this competition cared so little about the contributions, they apparently just saw them as free ideas.
The judges are all volunteers that may or may not have a background in the actual event they are there to grade. So you get someone that just shows up, reads the rules for the event and then judges accordingly to those exact rules. Which in this case since the website is hosted by Github it automatically gets disqualified for not meeting the rules of the event. This is a pretty easy thing to fix which is either A) Just have a custom domain that hides the github hostname B) host it somewhere else. The students here seem to have taken the B approach and have it up on netlify now.
I certainly empathize with the students here putting hard work into a project only to get disqualified on a technicality, it is a hard lesson to learn and one around maximizing your results within the rules as long as you follow all the rules. Hopefully they will be successful in getting the rules updated moving forward to be more clear about the default github page templates vs just raw HTML hosting.
Which is just bananas. I can't think of a single decent piece of software that doesn't use Version Control, and 99.9999% of the software I know uses git for VC.
We need a new format. This institutional nonsense is for the birds.
> Template engine websites, tools, and sites that
> generate HTML from text, markdown, or script files,
> such as Webs, Wix, Weebly, GitHub, Jekyll, and Replit,
> are NOT permitted.
Github is certainly not a template engine website.
One could make the argument that it falls on the engineer to discuss the spec with the client - but these are high school students, and when they did attempt to discuss the spec with someone they were given the bureaucratic runaround.
edit: formatting
1 Spec conflates "github" and "templates".
2 Students take spec to teacher (who ended up being the judge!) and inform them of the error.
3 Spec is changed OR restriction (however boneheaded -- remember, clients) remains in place.
4 Team knows exactly what is what.
5 No article on HN. The end.
Programming is a joy. Engineering is a discipline. Customer relations is an unfortunately necessary workaround to a set of dumb problems.
Those running this have dropped the ball at various places here, that's clear. I was thinking maybe a preliminary step can be added to the contest to sanity check review a project (and thus allow for addressing cases like yours.)
But regardless, I hope this has turned out to be a fairly generous silver lining for you and your team. The site looks great. Next step, get investors and get those tourist up in the air. /g
I think that the real lesson here is that if a rule is too subjective to interpretation, is better to discuss it beforehand, because even if you're right the person responsible for enforcing it could still get it wrong.
[1] https://global.oup.com/academic/product/law-for-computer-sci...
This is definitely a good idea. Sadly, it's all to common to discuss things beforehand and STILL have an enforcer get it wrong.
You could talk to the person responsible for writing the rules, but since the enforcers are different people with different interpretations, you can still get denied. Even between two different enforcers you could get different results.
It's unfair, it's sad, but that's the world we live in.
When I see this kind of blind obedience to authority I get absolutely terrified. I've lived through the Soviet Union (aside: which is why it's extra hilarious when HN posters who disagree with me think i'm a communist because I have "commie" in my username), I've spoken to people who lived through the after-effects of Nazi Germany.
And our industry is at the forefront of so much of soceital development. Computer Scientists already have to make endless conscientious decisions about privacy, robotics, facial recognition, and how our tech is used or not used to perpetuate repression and discrimination. And it's only going to get worse with the rise of AI.
So to see so many technologists just shrug and say "The rule said no GitHub" makes me terrified for how they critically evaluate (or don't) the requirements put in front of them for what they implement, and what it means for our dystopian future.
It's also infuriating that "critical thinking" and "healthy distrust of authority" have become appropriated by the alt-right to spread COVID vaccine conspiracy theories, and at this point I even hesitate to say things like advocating for "challenging authority" because the concept has bene politicized to mean "challenge thinking for the benefit of your community and society instead of your own individual wants", or even more simply "challenge the left/progressives".
Github pages allows you to write index.md instead of an index.html, and therefore they count it as a webpage generator. Not sure if these kids used a markdown file for a page, but the capability is there and that makes Github more than just a dumb web server that serves html.
Possibly the judges are non technical, just basic designers so they can't tell the difference, so all Github pages would be banned and not just the markdown ones. But I think it would be better if they told the students so they could move it to a clean server in that case.
Even has a .nojekyll file in the repo, and they since moved publishing to Netlify.
I agree they should have just been asked to move it to another site in that case so the judge can be sure there isn't anything going on behind the scenes, I wonder why they didn't just ask that the instant they saw it was github pages instead of just disqualifying it without notice?
It sound like the person who did the judging isn't technical at all, so saw "github" and that was the end of it. They don't know any better themselves.
https://www.netlify.com/integrations/templates/
as well as Markdown blogs with Next.js:
https://www.netlify.com/blog/2020/05/04/building-a-markdown-...
It would be difficult to find a web host that doesn't support a variety of templates and HTML generators. What should matter is whether the students used them, not whether they are available on the same host.
It's reasonable to blacklist a whole range of solutions that contain the ability to be used as template engines and then insist the students use something else.
All it would take is a cursory glance by another dev to know if they used templating or not, which I would consider baseline for a developer contest.
The article says their teacher just seen it was on GitHub and disqualified them off the bat. Unreasonable imo
Besides, I would say that teaching people how to use version control is good. But there are lots of non-GitHub solutions. Prefer those for students! Teach them the fundamentals.
This would be an exponentially more difficult task than a simple HTML page to design. If that was the case, I would award them myself!
How so? If you utilize Jekyll you merely move the text content from HTML to markdown. Essentially strongly separating content and presentation.
But this is the inverse of creating a site in Markdown and 'translating' it to HTML.
HTML to Markdown is trivial, infact IIRC Markdown will support HTML tags.
Creating a Good looking site like OP's in markdown would be ridiculous, if even possible at all.
Tools which pull code from places like ...github...are not allowed. # Github as a tool doesn't generate code.
Tool like ...github... which generate code are not allowed. # Github is certainly a repository from which code templates are pulled.
Love the "results are final". No flexibility from people running things is a great quality to prepare youth for the real world of navigating customer service.
Also the teacher telling them to just wait when they're the one who judged it.
1) acknowledge that their judgement was erroneous,
2) publish that as a correction, listing the project, ideally with a small apology and at least some details on how the entry would have been judged if not for the GitHub link and
3) create a separate prize for "projects our judges learned valuable lessons from".
As a good example of a similar precedent, look at this entry from 1994: https://web.archive.org/web/20200214094614/http://www0.us.io...The reality is that tools like send-email just... don't really work under the current email oligopoly (since the big providers both heavily filter emails and generally consider IMAP to be insecure). That entire model dates back to the days where email accounts mostly were tied to universities and as a result an emails name had a lot more meaning.
Heck, even for the kernel, send-mail is starting to fall out of practice because it just renders like shit in most email clients. It's a rather dated model.
The pull request flow is the de-facto industry standard, basically all but the oldest git-based projects use it. Not all are on GitHub (since it's proprietary or just straight up issues with GitHub as a company), but even when they aren't, self-hosted git servers like gitea and gitlab are both still using that exact flow.
The examples where this isn't the case are generally rare enough that they're worth more learning as a procedure for that project than as an easily transferrable skill.
It's not realistic to suggest people avoid GitHub with the kind of market dominance that GitHub has. I while I empathise with the sentiment learning GitHub is absolutely a tool that will help them get jobs in a way that Git alone won't.
How many advanced GitHub features not present on other platforms do you think students are using? If the answer is none, then there's no reason to choose a proprietary service they can't hack on and are required create accounts with a for-profit entity.
We shouldn't use Keybase, but the nearest alternative open-source, Keyoxide, is not functional unless you're an engineer. Keybase on the other hand is perfectly usable without being an expert in the underlying cryptography.
Similarly Github has a huge number of features that a usable by people that aren't developers (PRs etc).
If you want a point to your side, GIMP is a bad hill to die on. Blender is a much better example of a tool that we should be teaching as opposed to Autodesk Maya (etc).
That's the thing with Blender though, it has feature parity with the things it's competing with and a community and network effect. For something open source to compete with GitHub it would need to be so much more than Git and offer the community and discovery that forms a big part of the "open" GitHub.
In the meantime people need to get things done. NOT teaching them the tool they're inevitably going to use is just a pointless battle to fight. Better to create the alternative first and lure people with straight up feature benefits.
Blog has been under redesign-rebuild for a long time--other priorities. Said services were planning on being removed and replaced with alternatives as mentioned.
Blender is a better option I agree.
We don't disagree in principle about open tools being better. I do however think that there isn't a viable alternative to GitHub at this point. The same could have been said about ExpertExchange at one point, and while StackOverflow isn't perfect, they do at make everything Creative Commons.
Tackling GitHub would require building a platform where all of the other tools such as Pull Requests, Actions, Issues were also represented in a portable format. Recognising that Git is just one interface to GitHub now rather than the main part of it.
Yes, there is no 100% feature parity. But there is feature parity in the things that people actually use.
The Adobe Creative Cloud ecosystem has very strong lock in todo with workflow and collaboration (amoung other things). It's not that you couldn't do the vast majority of those things with another tool (open or not, e.g. Affinity), it's that the company you're going to work for is going to look at your Resume for experience with Adobe, and issue you a laptop with adobe on it, expect you to produce AI and PSD files (and now of course Figma for certain subsets).
GIMP is clunky and is not pushing the boundaries. Some of the newer smart tools in Photoshop are impressive in their ability to select and delete objects. Even Affinity which offers very polished products is going to struggle.
Blender on the other hand is a prime example of where an open tool can make strides to break the stranglehold. It has a very focused team of collaborators and a clear roadmap that is taking it from a tool that was quite hard to learn even if it was powerful into something that could become the industry standard.
The UX of Blender compared to what it was 5-10 years ago is so much better. I'm not sure the same could be said of GIMP.
That power comes both from strong direction and a growing and active community.
It's not close to being wholly about the capability of the product itself.
Excel has the incumbency advantage - more people are familiar with it and more people already have it. Switching to LibreOffice therefore often means switching to a tool you don't know as well and then living with interop issues with your co-workers that are still on Excel. For LibreOffice (or any other competitor) to do something with "similar effort", it has to overcome those headwinds.
If you look at the history of spreadsheets, there is a long history of "better" products coming along, but only a few that were good enough to be able to displace the incumbent.
* VisiCalc - The First
* Lotus 1-2-3 - Runs on the PC, has graphics, and a bunch more capacity than VisiCalc
* Excel - GUI support
* Google Sheets (maybe) - Online real-time collaboration, etc.
There were many others along the way, and many of them could make the same claim you're making here about LibreOffice. (Multiplan, Improv, WingZ, Quattro Pro, Framework, etc.....)
Parity is ok, but the goal really has to be 'so much better that it justifies all of the switching costs'....
Will disagree on that for as long as GIMP lacks non-destructive editing (according to FAQ will be introduced in v3.2) since that changes drastically workflow.
It does. GitHub won. Git and GitHub are synonymous now.
Arguing decentralized version control, like Git, should have a centralized home is antithetical to the tool.
It would be great if you could re-draft that clause in a way which makes sense, and then get back to your teacher to see if she can influence the competition organisers. That way, next year's competition will be just a little fairer.
I noticed the more prominent "Purchase" color on the upsell plan. That either means you went above and beyond on your design research, or have better instincts than many founders.
Good work! Keep it up and you'll really go places.
It looks like they simply don't realize that GitHub is not GitHub Pages.
I think the issue here is that they (EDIT: the teachers, not the participants) don't realize you can use Github pages for things other than template-based pages.
edit: As a consolation prize HNers could follow the OP and his team-mates on medium or elsewhere
The students did not violate the rules. The rules say that template sites like Wix, GitHub, etc. may not be used. They did not say "such as" GitHub. There's a difference. GitHub is merely illustrative of the template site concept, in this case incorrectly. The controlling requirement is that it be a "template site". Which GitHub is not. So this is a drafting error, not controlling language.
"Like" vs. "such as" has been a question on the Graduate Management Admission Test, because it is a distinction which might matter in a contract. But that distinction is somewhat archaic and probably beyond many teachers.
But that's what they said. https://tsaweb.org/docs/default-source/themes-and-problems-2...
We're doomed. If this is how we introduce kids to tech, we can guarantee they bail and do something more intellectually rewarding, like Business Admin or Sales /s
For real though, a similar thing nearly happened to me. over a decade ago I took a community college class CS101 - and it was taught by a guy with no knowledge and no investment (and they got you started with Java, of all things). Totally killed my interest. Fast forward to three years ago and I was lucky enough to find my way into the field through self-study, but quite nearly gave up on the whole thing forever because of a pug-ugly initial experience. And this was way after high school.
I still don't think this blanket bans GitHub; only in the context of using it as a tool for generating HTML from text, which the kids did not do.
If this is supposed to be teaching the next generation of devs skills, then we've got a lot of Junior Developer Therapy ahead of us as we unteach the bad stuff.
That being said, the cynic in me sees the “Technology Students Association” as a massive grift that would make the College Board blush and these competitions are simply college app padding, with enough categories and regional levels that everyone gets a line item (well I guess except these kids.) It’s disappointing and frustrating but ultimately of little importance.
> The teachers role never should be adversarial.
This is, very often, the root of so many problems that I've seen.On the other hand, it's bad to assume that because "everyone uses it", it's OK.
Having dealt with people who send code as HTML email with quotes replaced with "smart quotes", having been sent links to files / tarballs that don't actually link to those file / tarballs but to a web page instead, having been sent to sites that require knowing how the site works and/or browsing around and being unable to use a link to download directly via curl / nbftp / wget, I can understand that a group that doesn't want to deal with superfluous distractions would have rules about what can and can't be used.
GitHub is NOT trivial, and it is extremely browser centric. Trying to just download a file is an exercise in frustration if you're not familiar with GitHub. Copying a link to your clipboard that can actually be used to download a file is next to impossible, unless you already know how to use GitHub.
I can fully understand why the competition organizers specifically forbid the use of GitHub in their rules.
> I can fully understand why the competition organizers specifically forbid the use of GitHub in their rules.
These concerns and specifically banning GitHub (the version control platform) were never mentioned by the organizers. The only reference to GitHub is in a section explicitly about pre-built template and sites like Wix that generate websites. At the very least we ought to recognize that the rule is ambiguous and ought to be amended.
) H. Framework systems, such as Drupal, Joomla, Wordpress, Bootstrap, or other current technologies may be used; however, pre-built templates and themes for these sites are not permissible. If a framework system is used, a statement affirming that the template or theme used on the framework was built by the team must be posted on an “About” section or page.
) I. Template engine websites, tools, and sites that generate HTML from text, markdown, or script files, such as Webs, Wix, Weebly, GitHub, Jekyll, and Replit, are NOT permitted.
Sometimes there is a learning curve. Conceptual hurdles abound with a complex tool like GitHub. Working through hurdles help you grow as a technologist and as person —but having the right attitude going in, that’s on you.
Also, nobody ever said that design can't be, or shouldn't be complex. But web hosting is simple. You put files in a directory and point a web server to them, and it just works. If it doesn't, that's a failing of the designers.
Complexity of design and complexity of delivery are two totally different things, and complexity of design has (or should have) absolutely nothing to do with complexity of delivery.
> GitHub ... is extremely browser centric.
This is a strange criticism if we're talking about a website competition.
Indeed. From context it's obvious that site generators were banned, so that participants would have to actually code a solution and not just install Wordpress with a handful of plugins. Too bad retards who can't tell the difference between Wordpress and Github somehow ended up mentoring kids.
Git is, GitHub is not. Yes it gave us Pull Requests but it is just another Corporation build around Git.
The way Github presents repos organized by organisation, allowing everyone to fork and host their version of the code, that's what made git popular.
Without Github, I don't think Git would ever have been adopted by mainstream dev audiences and would just be some arcane tech used by kernel devs.
Git is designed in a way that everyone has their version of the code locally. We were hosting our projects on another service back then. GitHub is the result of Git getting traction, not something that made Git popular.
But I don't think source control in general was as common back then as it is now. Source control was something for serious projects, and a lot of code wasn't under version control at all. If you wanted to host code somewhere, services typically charged per repository, and setting up repo hosting yourself was a hassle.
Github really made all that very easy, and popular. The alternative web interfaces for browsing git repos were atrocious, but even modern competitors like SourceHut are a hard sell to novices.
I think calling Github "just another Corporation build around Git" is pretty disingenuous.
It now reads:
> You heard it here first folks, GitHub IS NOT the industry standard for hosting code collaboration and version control through Git...
Which is a bit ungrammatical but pretty much true (there really is no industry standard, but GitHub is the 800lbs gorilla in this market).
edit: it doesn't seem to use jekyll, though.
eg:
* https://github.com/thstsa/spacetourism/blob/main/technologie...
* https://github.com/thstsa/spacetourism/blob/main/index.html
* https://github.com/thstsa/spacetourism/blob/main/pricing.htm...
Those multi-line blank gaps all over the place are not something that generally occur in hand crafted or "from scratch" html.
That being said, the teacher sounds out of their depth and should either gain a clue or refrain from being involved in judging next year.
**
Optimal practical solution would probably be to try and get the rules fixed, so future participants don't get erroneously disqualified.
eg:
<html>
{{ if eq .FOO "bar" }}
<some tags here>
{{ end }}
<other stuff>
{{ if eq .BAZ "bim" }}
<some tags here>
{{ end }}
</html>
That ends up generating blank lines all over the place, very much like the output they have. ;)Especially it looks like they have lots of edits where they add blank lines and then another tag, and then remove the new tag but not the blank line. E.g. https://github.com/thstsa/spacetourism/commit/6411ce05009cc6...
Or sometimes just replacing things they intend to outright remove with blank lines.
With multiple committers, it seems unlikely they're all templating and then checking in the output of the template engine.
{{- [...] -}}
(Or just one side) and put back the right amount with: {{ [...] | [n]indent X }}
(Where X is the number of spaces to indent)Idk, that looks fairly standard to me. A lot of people like to space out their HTML so it's easier to read, myself included.
I think if the purpose of the competition is to apply 21st century skills then they shouldn't ban 21st century tools.
Because while they used GitHub in the most common manner, to host a code repository. Not only did they violate the rules technically, they also inadvertently violated them practically.
README.md is a markdown file. GitHub parses this into that little blurb you see below the repo. This is technically a violation of the rules. Part of your project is technically generated by GitHub.
Yes, it is dumb. Yes, I would have done the same in your position. Because I also would not have read the rules that deep. Or just forgot that they counted GitHub among the template generators.
Ultimately, I would have just been kicking myself because I would have felt that this could have been avoided.
I'd also ignore the statement from peterkelly that you're probably smarter than those running the competition or who made the rules.
Also, consider that even if you were selected for consideration, you still may not have won. They didn't disqualify you because they were scared of your prowess. They disqualified you for violating a rule. I'm not sure how many entries they get per year, but it's likely they're looking more for reasons to drop than to add.
Remember, there can be only one winner. And that winner will be the team that made the fewest mistakes.
No, that's Github interpreting markdown for display on Github.com. That's not generating any part of the project that they submitted.
And the reason stuff like this happens is because of people who like to bend the rules on technicalities. Where they hold to the letter but violate the spirit.
You have to draw lines somewhere in a competition.
Visiting github.com to look at the pretty-formatted readme was not part of the project.
That basically covers every tool.. I don't know what "generate HTML from text" means, HTML _IS_ text.. so.. notepad is disqualified too I guess? Since that generates HTML files from text if you save the file with the .html extension ?
The key word you're ignoring is "generate."
Is this a conflation of Git and GitHub?
However, I'll grant that if your open source project can't be found by a duck duck go "!gh [keywords]" then I'm probably not going to find it.
Life 101.
sometimes thats you, so you should always reflect and improve
I. Template engine websites, tools, and sites that generate HTML from text, markdown, or script files, such as Webs, Wix, Weebly, GitHub, Jekyll, and Replit, are NOT permitted. [1]
So the fact that you hosted it on Github disqualifies you. Regardless of whether you used their jekyll engine. I would immediately resubmit it from a shared hosting provider or by setting up an S3+CloudFront static site.
[1] https://tsaweb.org/docs/default-source/themes-and-problems-2...
LOL. It's like a muskets-only shooting competition.
Indeed, it's not. It's a popular online hosting service for repositories for said tool, said tool being `git`, which by the way is fully functional for version control without a remote repository.
GitHub uses Jekyll as a template engine for Github Pages, and it was even mentioned in the rules, so technically they are in the right.
Voluntarily undergo mental torture just to prove some point to a pompous fool? To what end?
Assuming they were super technical and didn’t disqualify the students, what would happen when other competitors call foul for using GitHub? Now this makes the approver look bad, but also could have unintended consequences in the competition.
Me, I would have told the kids to use Gitlab or one of the other non explicitly mentioned repositories, because sometimes, as silly as rules can be, need to be followed literally.
"You must not use AI generated text tools such as: ChatGPT, Bing Chat, Microsoft Word, Notepad, Google Docs".
The problem with their rule is that half the tools are actually templating tools, the other is a set of vital tools to any sort of development. Whoever wrote that rule clearly knows next to nothing about what tools are actually used to build websites.
If the competition rules explicitly stated your example above and someone submitted a docx file or link to a google docs, they shouldn’t be allowed. You could argue you used eMacs or vi instead of notepad (as long as you don’t publicly state otherwise). However, it should be pointed out how stupid this rule is and have it changed.
Let’s use a real world example of this- if you apply to a job that only accepts docx resumes, what recourse do you have if they don’t take pdf? You can either not apply, or play by this specific “competition” rules, even if they were made by someone who is nontechnical.
> Me, I would have told the kids to use Gitlab or one of the other non explicitly mentioned repositories, because sometimes, as silly as rules can be, need to be followed literally.
After they were already disqualified? The teacher doesn't even seem to know what git is if they thought this was actual grounds for disqualification.
Needless to say, he did not fit in.