[HN Gopher] Ask HN: Publish old projects even though the source ...
___________________________________________________________________
Ask HN: Publish old projects even though the source code
embarrasses you by now?
I have some game projects that were released almost ~15 years ago (
https://store.steampowered.com/publisher/asylumsquare/list/100010).
Of course, from today's perspective, they have some issues (low 4:3
resolution, for example). I made the games available for free on
Steam because I thought they might still find some players who
enjoy them, even if they are of course a bit old-fashioned here and
there. I'm now thinking about releasing the source code as open
source. I'd really like to do that, because I think it might be
interesting for some people. And if people create new ports or
mods/improvements, that would be pretty awesome. However, from
today's perspective, the source code is not very well structured -
so it's a bit embarrassing. I'm torn on whether to publish it or
not, because it might reflect badly on me as a developer. How would
you handle that?
Author : joemanaco
Score : 78 points
Date : 2022-11-20 12:42 UTC (10 hours ago)
| pjmlp wrote:
| No problem being embarassed, I have stuff published from my high
| school days (used to carry a 1.44 floppy with MS-DOS 3.3 and TP
| stuff on it, to get an idea when it was), and university as well.
|
| Headhunters are happy I can check the "I have stuff on github"
| bullet point, and that is about it.
| psychphysic wrote:
| Just open source it.
|
| No one will judge you by 15 year old code if you have recently
| produced good code. That's what people will look at.
|
| Just look at the face palms at Nintendo HQ despite the amazing
| game they made https://m.youtube.com/watch?v=t_rzYnXEQlE
| unixhero wrote:
| Yes
| pryelluw wrote:
| I'm embarrassed of the code I'll write tomorrow ...
|
| Honestly, no one cares. Add a note at the top of the readme that
| provides historical context if you must address the point.
| Otherwise don't worry cause everything will be alright. People
| are too self centered to care about your old shorty code.
| Zigurd wrote:
| Try writing books about coding. Now I have to tell people "No!
| Don't do it that way!"
|
| The right way to make Android apps has changed completely, and
| the documentation and tutorials are good now.
| silisili wrote:
| Personally, I wouldn't care at all. If it works it isn't
| embarrassing.
|
| If you're worried about it reflecting poorly on you, make a new
| github account (asylum-open-source or whatever) and publish under
| that?
| jfk13 wrote:
| I'd say, go for it!
|
| My most widely-used project (that I was solely responsible for)
| is an absolute horror of tangled code. It was originally written
| -- or rather, hacked together with spit and baling wire -- purely
| for my own use, as a tool to accomplish specific tasks.
|
| Turned out some other people thought it was interesting. I made
| the code available -- and nearly 2 decades later, it's still
| going strong, largely thanks to others who have stepped in to
| handle the occasional maintenance tasks.
|
| The code is still appalling; but it does its job, and people
| still value it.
| nano9 wrote:
| Note that if you publish to GitHub publicly, it will feed into
| Copilot without any way of opting out.
| matchagaucho wrote:
| Take pride in the results. Not the code.
|
| Game development, in particular, is notorious for clever hacks
| that POKE into registers that elegant code and high-level
| languages otherwise would not touch.
| prof-dr-ir wrote:
| How about just adding a disclaimer at the top of the readme that
| the code was written 15 years ago by a much less experienced
| version of you?
|
| You can add that the statute of limitations for this code has (in
| your humble opinion) expired, so those wishing to judge you might
| want to look instead at your more recent projects.
| kayamon wrote:
| If you can explain what's bad about it and how you've improved
| since, you never have anything to worry about.
| xzlzx wrote:
| Each of us started out writing shit code. Don't sweat it. Your
| ideas and code add to the lexicon, whether it's written perfectly
| or not. Publish and don't look back.
| andai wrote:
| As long as you're learning, old code will make you cringe, though
| it gets subtler over time.
|
| Though, sometimes things turned out rough because I was too
| impatient to learn the right way (especially for one-off
| programs).
|
| My favorite example is when I didn't know how loops worked in
| PHP, so I wrote an ActionScript program that generated hundreds
| of lines of PHP instead...
| eeue56 wrote:
| I tend to put anything other there that I consider interesting
| for others to see, or something that I might want to share with
| others. For example - ways to to abuse a type system, or how to
| do something weird like embedding Elm within React. The truth is
| that if you put out a lot of code, very few people will see any
| of it, unless you intentionally and directly share with them. If
| you're applying for a job, chose your favourite repos and send
| them over. If you want to avoid any form of judgement, just put a
| disclaimer in the readme. When it comes to games - there will
| never be enough open source games out there. Being able to see
| how something done, however hacky, will be great for hobby game
| programmers.
| tomashubelbauer wrote:
| Yes, you should do it and others interested in old games and
| tools that are closed source should try emailing their authors
| and asking them to consider open source. I've successfully
| convinced people to open source SEImgTool, an old utility for
| extracting images from firmware files for old Sony Ericsson
| feature phones, BFSunpack, a tool to extract game files for the
| 2006 game Flatout 2 and I think I contributed to open sourcing
| Dink Smallwood, because I remember asking the author and now it
| is open source and there is a lively community around it. Still
| have work ahead of me convincing Sony to open source the above
| mentioned firmware, whoever owns the rights now to open source
| Flatout 2 and I could stand Supreme Snowboarding (in the US known
| as Boarder Zone) being open sourced as well! One can dream. But
| also, one can act and ask and sometimes it works!
| caxco93 wrote:
| I think that the fact that you have managed to finish and ship
| more than 1 game is amazing in itself.
| microflash wrote:
| After every six months, whatever I had written feels a mess. So
| it is fine to publish things and improve over time. Or keep the
| repository private and make it public when you feel like it.
|
| Regarding feedback on your code, receive it as a criticism of
| your code (and not yourself) and you should be fine.
| thesnide wrote:
| I cannot care less about "embarrassment" when I publish code.
|
| Code is code. Everyone has its own style. Every project has its
| own constraints.
|
| I guess you didn't write bad code on purpose. You wrote it
| because it was the best way at the time.
|
| And, frankly, if someone mocks you because of code you wrote
| somewhere, it's a good sign to ignore them. I don't mean code to
| be included in some other projects, but code that you wrote for
| your own eyes.
| mauvehaus wrote:
| Go for it! Hell, I threw up some current code on GitHub that's
| arguably embarrassing (link in profile).
|
| It's not like anybody posting crummy code in answers on
| stackoverflow is worried about the quality reflecting on them. Or
| the blog entries that are more or less "I've just learned
| $technology; now I'm going to tell the world!"
|
| If you've at least got a fully baked project, even if it isn't up
| to your current standards, you're miles ahead of some of the code
| people publish.
| jmclnx wrote:
| I have things out in github that is very embarrassing, so go for
| it.
|
| But I wonder if putting embarrassing things in github would hurt
| future job searches ? I very much doubt that since the people
| doing the hiring will not have any idea what they are looking at
| :)
| SlowAndCalm wrote:
| I do it, as I like the idea that if one other person finds it
| useful then it's worth it. I don't put my github on my resume,
| but my username is my name so it's easy to find and definitely
| has come up (sometimes indirectly) in interviews. For me, the
| best interviews have had good discussions about the good, the
| bad, and the why. From the perspective of trying maximise my
| desirability to all employers, it has definitely "hurt".
| jll29 wrote:
| One can put a disclaimer in the README to mitigate this saying
| "I wrote this when I was twelve", then future employers may
| forgive that your game code isn't optimized for 64 bit multi-
| core CPUs and your comments don't compare favourably to Fred
| Brooks' comments (may he Rest In Peace).
| tomashubelbauer wrote:
| I have a lot of embarrassing stuff on Github and an interviewer
| has never asked me about any of it. Sometimes they'll ask me to
| show them my work that I can (is not proprietary from previous
| employments) and I'll pick a few of the better looking repos to
| browse thru and provide context. But nowadays I put half my
| prototypes out there in the open by default so maybe the
| interviewers just don't go through many of the repos if they do
| check them out.
| noufalibrahim wrote:
| I vote for publishing it. A full product that several people used
| is an achievement and that the code might embarrass you now shows
| that you've grown.
|
| I have my earliest programs on 5.25" disks at home which are
| probably too damaged to read from but which I've never even been
| able to try since i don't have access to a drive anymore. If i
| could, I'd put my earliest BASIC programs on GitHub.
| tombert wrote:
| Any sufficiently large project will have disgusting code at some
| point. Code that exists (and works) is 100x more beautiful than
| elegant code that doesn't.
| mrich wrote:
| Recently I dug out the source code for a game a friend and myself
| made in school in 1997. It was amazing to compile it, which it
| did flawlessly in a DOS/Turbo Pascal emulation. Playing it with
| my kids was an amazing experience. The code is definitely
| something I would be embarassed about from a
| readability/maintenance standpoint today. But on the other hand
| it can play back video on a 80286 processor :) And I believe
| everyone understands that you make progress over the years. So I
| can recommend it, go for it!
|
| My game is available at Github here:
|
| https://github.com/mrichtarsky/K-BOOM
| pjc50 wrote:
| Nice! This prompted me to post my own code from the same era:
| https://github.com/pjc50/ancient-3d-for-turboc
|
| I guess I should add screenshots.
| drdec wrote:
| Go ahead and publish and put your feelings about the quality of
| the code in the README. Bonus points if you have some thoughts
| about how you would approach things differently now, if only you
| had the time.
| ysavir wrote:
| Should you be embarrassed by the code you wrote 15 years ago, or
| proud of the progress you made in those 15 years? It's all a
| matter of perspective, and you get to shape the type of
| experience you'll have.
| justsomehnguy wrote:
| > because it might reflect badly on me as a developer
|
| You don't want to work with someone who would think badly of you
| for some more than a decade old projects
| simonw wrote:
| Anyone who judges someone else based on the quality of code they
| wrote 15 years ago is not somebody whose opinions you should
| respect.
|
| Honestly, judging anyone else by the quality of the code they
| have shared is pretty poor form - unless they explicitly say
| "this code is amazing and you should respect me because of its
| quality".
| jt2190 wrote:
| Context is key here: I would strongly urge you to to create a web
| page for the games, where you can provide details that a reader
| won't get from the source code alone, for example:
|
| * who was the audience/market for this? * what led to some of the
| technical choices you made? Benefits? Tradeoffs? * what did you
| learn? What might you do differently today? * What other
| tradeoffs that affect the code? Time to market? Only an hour a
| week of dev time?
|
| This code has a story to tell, and only you can tell it.
|
| Fellow HNers: Do you know of good examples of "code stories" that
| you can share here?
| jakelazaroff wrote:
| I made an online "museum" of every website I've ever made that I
| could find the source code to: https://jake.museum
| rambambram wrote:
| Nice memory lane! I like the color combos you use, especially
| the first site. I've this in the corridor in my house, with
| flyers and other visual designs I made back in the day. I
| always look at it and realize I was less skillful then, but
| still care about the same underlying concepts.
|
| By the way, your RSS feed gives an error. Now I can't get
| updates from your interesting blog posts.
| jakelazaroff wrote:
| Oops, looks like there was an invalid character in one of my
| posts. Should be fixed now -- thanks for the kind words and
| for subscribing! :)
| m3047 wrote:
| If it has "artistic" or other redeeming value, go for it. Write a
| README or blog (or three) covering what's unique or important, or
| how it fits into some historical narrative. Just be clear with
| yourself on what you expect to get out of it, and how much work
| you're willing to put into feeding your pet.
|
| I published something once which was three lines of code. It was
| useful; anyone could do it, but nobody did (a modem dialing
| script, of all things). The (often multipage) requests for
| releases to publish were an unexpected annoyance; I always tried
| to respond politely that I didn't feel it manifested the
| requisite originality to be a protected work, and that if they
| printed the email out and sent it to me with a self-addressed
| stamped envelope I'd sign it and send it back.
|
| I publish https://github.com/m3047/trualias (checksummed on-the-
| fly email aliases) even though I consider the code far from
| perfect: it works, it defines a grammar (which I'm happy with),
| and it has (pretty comprehensive) tests for that grammar. The
| most important aspect in my opinion is the grammar and a working
| proof of concept. (To my bemusement it also has the most stars of
| any of my projects on GitHub, go figure.)
| nicoburns wrote:
| I have a 10 year old project on Github. I even have it on my
| resume. The code is nothing like what I would write today, but I
| think that's implied by it being 10 years old. And I'm personally
| quite proud of what I produced, even though I would do it
| differently now.
|
| Project is a WSYIWYG editor
| (https://github.com/nicoburns/ghostedit) if anyone is interested.
| I wouldn't recommend anyone use it these days, but it could be
| interesting as a relatively small codebase to learn from if
| anyone is interested in how contenteditable in web browsers
| works.
| Donckele wrote:
| I've had this thought for some time and only last week did I
| visit my github page to see what I could do. An idea was to merge
| all the "beginner" repos into a single repo.
|
| Turns out that recent repos are not to shabby at all and all the
| other older repos are sort of kinda cute and show that I've been
| having about for some time.
|
| And of course I have private repos for "pro" work.
|
| My advice is to make public some recent serious work and all will
| be good.
| shadowfoxx wrote:
| I firmly believe that a finished, running project - no matter how
| embarrassing the code will not make the person who developed it
| look bad. Human endeavors are difficult and nothing incredible
| was made by one person. Additionally, when we make things in
| groups it isn't one person who's perfect and everyone else is
| being shaped by that one person. We all learn and grow and help
| each other learn and grow.
|
| I suggest posting things that make you uncomfortable due to their
| 'quality' because the more you do it the more you'll start to
| dissolve that part of your ego that is pre-embarrassed by the
| imagined responses of people who have yet to review your work. I
| say this as someone who is struggling to finish a comic written
| by one of my friends for this very reason.
|
| Do the thing - put it out there (if you have the inclination) -
| learn - lather - rinse - repeat.
| zzo38computer wrote:
| If it is bad, then hopefully someone will improve it.
|
| Even if it has "low 4:3 resolution" that is not necessarily a
| problem; some people might prefer that.
| h2odragon wrote:
| Go ahead and publish it. Anyone who thinks less of you now, for
| the stuff you didn't know a decade ago, is someone whose opinion
| you're better off not caring about anyway.
| jimmydean12 wrote:
| I've learned a lot over the years by reviewing old code. It might
| not be elegant but your methods might spark an idea for someone
| else.
|
| Sometimes elegant well structured code that is 50 revisions deep
| doesn't tell the story anymore
| bullen wrote:
| I'm about to relaunch a 2D MMO title I made in 1999-2001 with new
| graphics.
|
| It's all in Java and uses MySQL.
|
| Should be fine! :D
|
| Don't know if I would publish the source though, unless it's
| successful and people want to mod it.
| jlundberg wrote:
| This sounds exciting! Where will this become available to play
| when you put it online? :)
|
| Also, have a look at Canvas Legacy if you want some
| inspiration.
| lucb1e wrote:
| Why not publish the source, though?
| HankB99 wrote:
| I'd be delighted with any attention my code on Github got, good,
| bad or otherwise.
|
| The only thing that would embarrass me is the number of things I
| start and never finish.
|
| As far as suggestions for improvement, I'd be happy for any. But
| I understand the reluctance of the OP. This is a little like my
| impression of code reviews. That's like standing in front of your
| coworkers, naked, and asking them to point out any "opportunities
| for improvement" with your body. I wonder if there is a strategy
| for code reviews that avoids this.
|
| (HankB on Github (for anyone curious.)
| generalizations wrote:
| I think you should publish it, with the perspective that in 10
| years from now, you'll be equally embarassed about the code you
| write today. You're constantly growing - and your code tracks
| your progress. You should be proud of that.
| ocdtrekkie wrote:
| Always share code if you are able. It may be useful or
| interesting to someone in ways you may not expect.
|
| Also, I don't know if this helps: But I consider myself a bad
| programmer, and assume everyone writes better code than me. It's
| probably not _universally_ true, but I also don 't feel ashamed
| of any given work I do: I tell people liberally I'm bad at coding
| but it works (if it works). It also puts my mindset in a great
| place to try to learn from everyone else I interact with.
|
| One project I shared not too long ago I announced by describing
| it as a "crime" against the platform, and almost certainly "a
| really bad idea".
|
| Just ship your code.
| steelegbr wrote:
| I took the plunge and published some of my old projects over at
| https://github.com/steelegbr?tab=repositories
|
| Yeah, I'm not proud of the way I wrote the code 17 years ago
| (historic-alldaydj-1) but it's fascinating looking so far back
| and comparing it what I'd deliver today. If someone finds use for
| it, fair play to them.
|
| On that note, I probably ought to dig out the RoTs (tapes) from
| my days as a radio DJ on a long defunct station...
| WalterBright wrote:
| Publish away. I published all my old source code (that still
| exists and I legally can), some of it 45 years old. It doesn't
| matter how embarrassing it is, just say "I've learned a few
| things along the way" but frankly nobody is going to complain
| about it.
|
| If someone is rude enough to complain, they are not worth your
| while.
| anxiously wrote:
| My suggestion is to go for it.
|
| With that being said, do take the time to examine the git commit
| messages and code itself.
|
| I have certainly caught myself from publishing projects that
| contained words or jokes that would not go over well in 2022 :)
| aaronbrethorst wrote:
| I just published the source code for the first app I ever built,
| all the way back in 2003:
| https://github.com/aaronbrethorst/irooster
|
| It "turns your Mac into a $2,000 alarm clock."
|
| I originally made it because I had endless amounts of trouble
| waking up for my morning classes in college, and found that the
| only alarm that could get me up was a subwoofer right underneath
| my bed. So I hooked a 2.1 speaker system up to my Mac, wrote a
| little app to start playing an iTunes playlist at a particular
| time, and ended up productizing it.
|
| It was never a huge commercial success; I think the best I ever
| did with it was about $2,000 in sales one month after Apple
| featured it in a newsletter (different times!), but it taught me
| several important lessons about building a commercial software
| product that still guide me today.
|
| Enjoy checking out my super janky code!
| andai wrote:
| That's a great idea with the subwoofer. I slept straight
| through my digital alarm the other day. What wakes you up now?
| aaronbrethorst wrote:
| My Apple Watch has been a great alarm clock for the past few
| years. Its gentle taps on my wrist never fail to wake me up.
| _fat_santa wrote:
| Back when I was in college me and a few classmates put together
| a site where you could share files with others using a link.
| Looking back at it, there are so many issues with the code,
| from just about every perspective. Up until recently i still
| kept it as an item on my resume, described something like "my
| first web app project, preserved with all it's bad code and
| questionable practices".
|
| https://github.com/sgolovine/transmit
| mauvehaus wrote:
| I realize that this may not be in the spirit of the question
| being asked, but could this not be done with the following?
| 0 6 * * 1-5 open /path/to/bangin/tunes.mp3
|
| I'm all about reinventing the wheel, but that's a lot of code
| to replace cron :-D
| lelandfe wrote:
| > could this not be done with the following
|
| Well, that depends. Does your shell oneliner have a GUI?
| You're also not playing an iTunes playlist, so you'll
| probably need to parse the ITL file
| aaronbrethorst wrote:
| Gotta wake the computer up from sleep too. And be able to
| unmute and adjust the volume. And give non technical users
| the ability to use it. And support Apple's old infrared
| remote. And. And and.
___________________________________________________________________
(page generated 2022-11-20 23:01 UTC)