Sponsored Content
Full Discussion: Is it a joke or a command?
Top Forums UNIX for Beginners Questions & Answers Is it a joke or a command? Post 303034672 by wisecracker on Thursday 2nd of May 2019 05:33:54 AM
Old 05-02-2019
Hi fellas...

OO oriented programming lends itself to quick acting fork_bombing and memory eating.
Take this Python code deliberately held back:
Code:
# Works on any Python!
# OO programming eats memory like there's in no tomorrow!
text='Junk variable!'
for x in range(0,5,1):
    text=text+text
    print(text)
    print(id(text))

# A very basic fork bomb for Python, the print function holds it back:
# def _(): _()

def _(): print('_()'); print(id(_))
_()

Results OSX 10.14.3, default bash terminal calling Python 3.5.2.
Code:
Last login: Thu May  2 10:13:33 on ttys000
AMIGA:amiga~> cd Desktop/Code/Python
AMIGA:amiga~/Desktop/Code/Python> python3.5 OO_bomb.py
Junk variable! Junk variable! 
4328391264
Junk variable! Junk variable! Junk variable! Junk variable! 
4328477280
Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! 
4327568992
Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! 
4338181032
Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! Junk variable! 
4337054352
_()
4338198864
AMIGA:amiga~/Desktop/Code/Python> _

As one can see the fork bomb although not obfuscated is a single line of code and very dangerous.
Object Orientation OTOH is memory hungry and anyone with any knowledge can do that from Python interactive shell.
With only 2MB of memory on a stock AMIGA A1200 and Python this stood out only too well as soon my 2MB was gone.
These 2 Users Gave Thanks to wisecracker For This Post:
 

We Also Found This Discussion For You

1. What is on Your Mind?

Post Your Favorite Joke! Laugh a Little!

Let's have a few laughs! Post your favorite joke! (no racist / racism jokes, please post in good taste, thanks!) (65 Replies)
Discussion started by: Neo
65 Replies
term::ansi::ctrl::unix(3tcl)					 Terminal control				      term::ansi::ctrl::unix(3tcl)

__________________________________________________________________________________________________________________________________________________

NAME
term::ansi::ctrl::unix - Control operations and queries SYNOPSIS
package require Tcl 8.4 package require term::ansi::ctrl::unix ?0.1.1? ::term::ansi::ctrl::unix::import ?ns? ?arg...? ::term::ansi::ctrl::unix::raw ::term::ansi::ctrl::unix::raw ::term::ansi::ctrl::unix::columns ::term::ansi::ctrl::unix::rows _________________________________________________________________ DESCRIPTION
WARNING: This package is unix-specific and depends on the availability of two unix system commands for terminal control, i.e. stty and tput, both of which have to be found in the $PATH. If any of these two commands is missing the loading of the package will fail. The package provides commands to switch the standard input of the current process between raw and cooked input modes, and to query the size of terminals, i.e. the available number of columns and lines. API
INTROSPECTION ::term::ansi::ctrl::unix::import ?ns? ?arg...? This command imports some or all attribute commands into the namespace ns. This is by default the namespace ctrl. Note that this is relative namespace name, placing the imported command into a child of the current namespace. By default all commands are imported, this can howver be restricted by listing the names of the wanted commands after the namespace argument. OPERATIONS ::term::ansi::ctrl::unix::raw This command switches the standard input of the current process to raw input mode. This means that from then on all characters typed by the user are immediately reported to the application instead of waiting in the OS buffer until the Enter/Return key is received. ::term::ansi::ctrl::unix::raw This command switches the standard input of the current process to cooked input mode. This means that from then on all characters typed by the user are kept in OS buffers for editing until the Enter/Return key is received. ::term::ansi::ctrl::unix::columns This command queries the terminal connected to the standard input for the number of columns available for display. ::term::ansi::ctrl::unix::rows This command queries the terminal connected to the standard input for the number of rows (aka lines) available for display. BUGS, IDEAS, FEEDBACK This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category term of the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for either package and/or documentation. KEYWORDS
ansi, columns, control, cooked, input mode, lines, raw, rows, terminal CATEGORY
Terminal control COPYRIGHT
Copyright (c) 2006-2011 Andreas Kupries <andreas_kupries@users.sourceforge.net> term 0.1.1 term::ansi::ctrl::unix(3tcl)
All times are GMT -4. The time now is 05:53 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy