Geekhumor-Sammelthread

CDW

0
Mitarbeiter
So, um die Übersicht in Code-Kitchen zu wahren, sollten alle nicht ganz ernst gemeinten Codeschnipsel hier gepostet werden.
Wer keinen Sinn darin sieht oder es für eine Zeitverschwendung hält, kann ja den Thread ignorieren ;).
 
Moin,
ich habe mich etwas mit Python beschäftigt und ein nicht gerade portables (win/nix/...) Programm geschrieben (wobei meiner Meinung nach Skript eher passen würde).

Das Programm nimmt sich die lokale Zeit, rechnet ein bisschen dran rum und gibt dann die Differenzuhrzeit zu 13:37 aus. Es dürfte zumindest auf Ubuntu 8.04 laufen, auf keinen Fall unter Windows, da ich Linux/Unixspezifische Befehle verwendet habe.

Jetzt ist es bspw. 7:25:45 nach leet.

Code:
#! /usr/bin/python

# Leet-Timer
# Tested with Ubuntu 8.04

# import used libraries or commands
from time import tzset
import os
from time import strftime
import time

## ## ## ##

os.environ['TZ'] = 'LEET+13:37LEETDST+11:37'	# sets a new timezone and define its offset
tzset()	# applys the new timezone

# displays and updates the current leet time [VERY DIRTY]
while '42' > '23':
	os.system("clear")	# uses the shell command "clear" to clear the command shell
	print(strftime('%H:%M:%S'))	# prints the current leet time
	time.sleep(0.5)	# sleep half a second then continue
quit
 
Ich glaub ich kapier deinen "Geekhumor" nich

Code:
#! /usr/bin/env python

# du solltest im übrigen /usr/bin/env python verwenden anstatt /usr/bin/python


import os
import time

while True: #42 ist immer groesser als 32, also true
        os.system(['clear','cls'][os.name == 'nt']) # sollte nun unter windows und linux funktionieren
	print(time.strftime('%H:%M:%S'))	
	time.sleep(1)	#wieso eine halbe sekunde wenn du nur jede sekunde eine neue uhrzeit bekommst o0
 
ich find's top! Erinnert mich so ein wenig an die "fuzzy-clock" oder die Binär-Uhr...
( für ne Binär-Uhr könnte ich auch mal ne selbstgecodete Assembler-Variante hochladen... :) )
 
Eine Binäruhr macht ja noch Sinn, aber sowas nicht.

@M4CH!N3:
Toll, dass du das verstehst, war aber kein Humor sondern purer Ernst.
 
Okay, da es ja jetzt ein Sammelthread ist, hier mein C++ Wrapper für einen Bool'schen Datentyp:
Code:
//----------------------------------------------------------------------------------------------------------------------------------------------
// Machines bool-wrapper for C++
//----------------------------------------------------------------------------------------------------------------------------------------------
namespace useless_datatypes 
{ 
	class CBoolean 
	{ 
	private: 
		bool m_value; 
	        
	public: 
		CBoolean( bool value = false ) : m_value( value ) {} 
		virtual ~CBoolean();

		operator unspecified-bool-type() const { return m_value; } 

		CBoolean operator!() { return Boolean( !m_value ); } 
		CBoolean& operator=( bool rhs ) { m_value = rhs; return *this; } 
	      
		bool IsTrue() const { return m_value == true; } 
		      
		bool IsNotTrue() const { return m_value != true; } 
		      
		bool IsFalse() const { return m_value == false; } 
		      
		bool IsNotFalse() const { return m_value != false; } 
		
		void ToggleBool() { m_bool = !m_bool; }
	}; 
}
//----------------------------------------------------------------------------------------------------------------------------------------------
 
das ist mir mal nach ziemlich viel schlafentzug um 5 uhr morgens passiert:
Code:
const Klasse& operator=(const Klasse& k) {
    *this = k;
    return *this;
}
 
Original von mauralix
Soll der Wrapper ein Schwerz sein?

Wenn du das nicht lustig / interessant findest, lass es doch einfach. Hast ebend keinen Clown gefrühstückt heute ...


Die Wrapper Klasse ist mal nice :D Aber gibts das nicht in C++? Aus Java kenne ich für jeden primitiven Typen eine Klasse, also:

int -> Integer
double -> Double
etc etc

Die enthalten zusätzlich z.B. Methoden um aus einem String ein int zu parsen usw. Wie ist das in C++?
 
Original von Serow
Die enthalten zusätzlich z.B. Methoden um aus einem String ein int zu parsen usw. Wie ist das in C++?

da gibts stringstreams

Code:
template<type T>
class Wrapper {
    T m_var;

public:
    const T& operator+(const T& v);
    const T& operator-(const T& v);
    const T& operator*(const T& v);
    const T& operator/(const T& v);
    // usw...
    const T& operator T();
};

das ist vielseitiger, hat aber halt keine bool-spezifischen methoden
 
Ein doch recht bekannter Fuckup: http://thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx
An eine kleine Gemeinheit aus der Arbeit kann ich mich erinnern (hier mal in Java):

1. Man definiere ein leeres Interface. Alternativ auch mit .toString() oder sonstwas aus Object usw.
Code:
public interface Foo {}
2. Man lasse alle seine Klassen dieses Interface implementieren. Optional: Man schreibe Wrapper für Standard-Klassen wie String, die alles delegieren, aber auch dieses Interface implementieren.
Code:
public class Bar1 implements Foo {public void op1(){}}
public class Bar2 implements Foo {public void op2(){}}
3. Man verwende das Interface so häufig wie möglich.
Code:
Foo a = new Bar1();
Foo b = new Bar2();
4. Typecast-Spaß!
Code:
if (a instanceof Bar1) ((Bar1) a).op1();
if (b instanceof Bar2) ((Bar2) a).op2();
Selbstverständlich geben alle selbst-definierten Methoden nur Foo-Objekte zurück, damit der Benutzer casten muss.
 
Ich habe meinen Leettimer überarbeitet, dürfte jetzt ziemlich portabel sein.
Um die Anzeige zu aktualisieren überschreibe ich den Wert durch carriage return ohne new line. Ob es unter Windows genauso funktioniert weiß ich nicht.

Code:
import time
while True:
    # substrates (13*60*60+37*60=49020) seconds from the local time
    LeetTime = time.strftime("%H:%M:%S",time.localtime(time.time()-49020))

    print "\rLeet Time:", LeetTime, # foobar

    time.sleep(0.01) # it seems that this value has to be set very low if no new line is present ... or so
quit
 
Code:
aptitude moo
aptitude -v moo
aptitude -vv moo
aptitude -vvv moo
aptitude -vvvv moo
aptitude -vvvvv moo
aptitude -vvvvvv moo
 
Zurück
Oben