This comment describes with precision what I was feeling and was unable to name or frame. Marvelous times for sure.
HN user
dovyski
Lecturer of Computer Science, researcher, former gamedev, currently a developer gone rogue. Passionate about everything open-source (and ).
[ my public key: https://keybase.io/fernandobev; my proof: https://keybase.io/fernandobev/sigs/ tmRmp20apuPtwb9GIbZhtZlKZSWkK2I0TDX21oYGuwc ]
I am in the same position as the author: I have a tenure track in academia, a semi-decent work, and good feedback from peers/students. However, I never felt so miserable.
I've been thinking about all the reasons why I should not quit. The "freedom" in Academia, helping society (or a few people in it), the grass being greener on the other side, the pandemic is exacerbating my thoughts, it's just burnout, and so on.
I grow more convinced by the minute, particularly when I read that other share the same agonies (thanks for sharing this, author!). Industry is though in many aspects, but at least it's not a delusional bubble fueled by frustration as Academia is. If nothing else, Industry feels more real and with better chances of making me feel alive.
Yeah, unfortunately this is the truth (and also the definition of vendor lock-in, right? :)
IMHO GitHub Actions is the flip switch here. Eventually it will become so useful and powerful that its advantages will overshadow any migration's cost related to tools like Jira.
Sure! Here is a list of the most important ones (not in any particular order):
- The pull request and code review UI are more user friendly. Everything I need is within reach and clearly visible (build status, test runs, change suggestions, discussions, etc). Gitlab has most of it, but Bitbucket is far behind on this.
- I spend a lot of my "open-source" time on GitHub, so the whole workflow/UI feels super natural to me.
- Issues can track tasks, Discussions can track talking. This is great to keep things organized.
- Great (and simple) release page (recently they added automatic changelog generation from merged PR, which makes it even better).
- GitHub Actions. This is a game changer. It is a well crafted, well documented way of implementing new things in the project workflow. Being able to use a "random" action someone put up that does what I need is priceless. It's like using open-source libs to enhance my code pipeline (allows reusability, discovery, etc). This is also great for CI/CD.
- GitHub projects beta has built-in support for sprints, as well as custom fields (integrated with issues, which is awesome). Everything seems to orbit around the code (imagine coding some custom GitHub action, whose code lives in the same repo as my project, which reacts to the content of a particular issue).
- Issues (and discussions) use markdown and can embed images, videos, spreadsheet, etc, very easily.
That's a though one, but I think you can start with what matters the most: cost. If you show that a tool:
- will make developers happier (for me, GitHub is far superior than gitlab/bitbucket regarding tooling, e.g. actions, review, etc);
- is simpler to use, so it reduces management overhead;
- is friendly to non-dev teams, again reducing cooperation friction;
It will likely reduce costs overall. It might be by shipping faster (or better, or more robustly, or more homogeneously at least).
My personal take is that management people use Jira and alike because they read it is the "right" tool. Their motives might be weaker than you think.
I second that. It has a limited feature set, which makes you focus on what matters. It is not like Jira that buries you in tons of options and information.
Definitely give GitHub projects a go.
I want to second that. Andreas YouTube channel is a great source of genuine inspiration. It's enlightening to see a person as skilled as Andrea doing such great craftsmanship regarding scoping things, improvising, making mistakes, fixing them, making compromises to achieve goals, and more.
I see Serenity OS, I upvote it :)
Precisely this! 1MB is perfect for a small "hosting" company putting other small companies online, e.g. John's bakery. A git deploy functionality would drastically improve automation to manage websites. I know the provided cli can do it, but it's a other thing to integrate.
This is such a cool project that deserves some attention.
As a side note: one of the project members was interviewed on The Changelog[0]. The interview presents many topics related to the project, e.g. technology, community, challenges.
Photopea is not open source [1], it is a free SaaS. Photopea's Github repository [2] is only for bug tracking apparently.
[1] https://github.com/photopea/photopea/issues/45#issuecomment-...
Awesome, project! I can't even count how many times I needed something precisely like FlyingCarpet. Please spread the word about your project.
As someone that worked in the industry and is now in the academia, I think rewardingness is relative. I see academia as much (or as little) rewarding as the industry. For me, the rewarding part of academia is related to teaching, i.e. see my students develop and evolve as professionals and citizens. Some of my colleagues think the reward is related to conducting research.
I think reward boils down to the things you actually pursue and do, both in the academia or the industry.
I would say you did an impressive first step towards your goal of filling up a coding gap. This is spot on regarding utility! Congrats on shipping and implementing such a useful tool :)
Nice! And thanks for using such a permissive license like MIT :)
That's an awesome lib! I got confused regarding the license though. The README file says dual licensed as CC-BY-NC 4.0 or GPL 3, but the LICENSE file in the repo says MIT. The FAQ[0] also mentions MIT.
I assume MIT is the right license.
You're welcome! One of the best aspects of 1GAM is the community behind it. You can get feedback, motivation and experience from everybody. When you join the action, there are thousands of developers doing the very same thing: trying to ship games. I've learned a lot from the community and I've met several great folks.
You will not regret joining 1GAM.
Yes, it is a lot of fun. I used two TODO lists just like you did, but my "v2 past the deadline" list had way more items in it.
I like to plan my actions methodically too, but sometimes I had to use 1GAM to develop my improvisation skills. When I was short in time and the month was about to end, I had to quickly come up with something before the deadline. That's when I had to prioritize the "get things done" instead of "plan the whole thing". I've learned a lot from it.
I wish you and your friend all the best regarding you game :)
I participated in One Game a Month (1GAM) in 2013. It was an amazing experience, even though I managed to make "only" 5 games. It's astonishing to read that the author had the very same problems I had.
Even when I had a clear vision of what I wanted to make, it was pretty hard to avoid feature creeping. When you hit the 90% completion mark, the TODO list starts to grow so scarily fast that the only way out is to develop/improve focus and the ability to ship things. That's when you level up as a developer :)
1GAM is a great opportunity to learn how to ship things, managing time and scope.
Please! A RSS/Adom feed would be great, it will save time visiting the site everyday to check for new and cool stuff :)
That's really cool! I've signed up and will hopefully wait for the sms message :D
I totally agree with you! I think every language has its own benefits/problems, the programmer is the one that makes the difference.
I'm sure I can find crappy Ruby/Lisp/whatever code and excellent PHP code out there. If you are a bad programmer, you write bad code. Of couse there are languages that try to prevent that forcing you to follow certain patterns, but it will not stop bad programmers.
It makes sense to me. Even though this is the "right" way of creating an "interpreted" language, the assignment I asked my students was way more simple: they had to interpret the source code and react to it immediately. There was no intermediate instructions (such as Java byte-code).
I guess I forgot to mention, but one pair of students came up with a Forth like solution. Their interpreter was even able to parse the source code backwards.
When I arrived, PHP was already chosen. I think PHP was chosen because it is very similar to C and it lowers the learning curve for the students.
I know PHP sucks sometimes, but it's still a cool language to play with.
Thanks! I was a little surprised too, but I think they focused too much on the test case, not the language itself.
About your (first) question, yes, they all execute scripts line-by-line.
No problem :)
I really got your point now. I thought about the "demoralising X empowering" and my solution for that was to work with pairs of students. Working as a team, they can discuss and motivate each other.
When I blog about the results, I will highlight the number of pairs that completed, partially completed and did not complete the assignment.
As a programmer, I really enjoy the idea of creating my own VM and make it able to interpret/run a language I designed. Surely some people got excited about that :)
I had the same fun when I created my own language during an also mandatory course on compilers :) Even though my goal is to enhance my student's skills about OOP, I hope they have fun creating a language.
Sure, I will blog about that in the future. Stay tuned :)
Sure, I will share the results on a future post. I think the same way your high-school comp-sci teacher does, but this time I decided to break the line.
About the github idea, I like it, but my students are not familiar with git yet. I will try to blog about their main ideas and language syntax in the future.