Skip to content
/ suxx Public

🤦‍♀️ Curated list of software design failures

License

Notifications You must be signed in to change notification settings

techtonik/suxx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 

Repository files navigation

"When it started out, it was an awful lot of fun." (c) Alan Perlis

"A depressive reminder that the world is still not a better place."

Contents

Bash

bash suxx, because:

$ cat test.sh
sh -c "exit 102"
echo $?
echo Done.
$ bash test.sh 
102
Done.
$ echo $?
0

it doesn't fail on errors.

C++

C++ suxx, because

You can not simply override fields from parent class like you do in Python:

class Driver(object):
  name = "Unknown"
  def __init__(self):
    print(self.name)

class SpecificDriver(Driver):
  name = "Specific"
  def __init__(self):
    super(SpecificDriver, self).__init__()

Driver()
SpecificDriver()

GCC

gcc 4.x suxx, because:

$ gcc main.c
$ ls main*
main.c

Mailman

mailman 2.x mailing list software suxx, because

  • it doesn't have search button for its archives
  • you can't reply to the thread if you're not already subscribed
  • you can't subscribe only to threads you're interested in
  • if you are not subscribed, there is no guaranteed mail delivery because it is not clear if you address will be added to CC

Python

Jinja 2

python.org as a community site

  • developers don't care about people who are learning web development (python/pythondotorg#912)
  • proprietary owned by PSF (there is no sign that it is open source)
  • code is not reusable because of verbose license with no owner
  • doesn't credit people who contributed to it (everything links to PSF)
  • there is no understanding of ux in development involvement

Python 3

  • it suxx, because it managed to ship venv module with all suxx facts from virtualenv chapter below
  • it suxx, because for some reason binary data is now math (integers)
line = b'12345'
if line[0] == b'1':
  print('python 2')
else:
  print('python 3')

stdlib.re

$ matches before \n, but not before \r\n. It suxx that docs for $ don't mention that this created problems on Windows stdout processing and files read in text mode (default behaviour, which suxx as well).

virtualenv

virtualenv (python-virtualenv) suxx, because

  • you can't just login and logout from the env, you need to activate it
  • you can't just refence sctipt in virtualenv - you need platform-aware conditional to choose bin/ on Linux and Scripts\ on Windows

tar

tar.gz, tar.* archive formats suxx for extracting random files. https://en.wikipedia.org/wiki/Tar_(computing)#Random_access

Ubuntu PPA

Ubuntu PPA suxx, because

Competitors

About

🤦‍♀️ Curated list of software design failures

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published