ওশেনিয়ায় একটি বিপ্লব শুরু করুন


78

বিজয়ীরা (14/09/14 সিদ্ধান্ত নিয়েছে)

উত্তর বিজয়ী Markuz (পাইথন) দ্বারা - 63 ভোট

রানার আপ আপ কুরোই নেখো (পিএইচপি) - 55 ভোট

ভূমিকা

আপনি জর্জ অরওয়েলের উনিশ আশি-চারটি বইয়ের জগতে রয়েছেন ।

আপনি পার্টির জন্য একজন প্রোগ্রামার এবং দূরবীণদের জন্য একটি প্রোগ্রাম লেখার দায়িত্ব পেয়েছেন। এটি পক্ষ-পক্ষের বার্তাগুলি আউটপুট করা উচিত, এবং আপনি নীচে 1 টাস্কে দেখানো বার্তা চয়ন করেছেন। যাইহোক, আপনি সম্প্রতি দলটিকে তুচ্ছ করতে শুরু করেছেন, এবং আপনি প্রোগ্রামটি একটি বিপ্লব শুরু করতে চান। সুতরাং, আপনি প্রোগ্রামটিকে "ডাউন উইথ বিগ ব্রাদার!" বলুন। আপনাকে অবশ্যই পালানোর জন্য সময় দিতে হবে, যখন আপনার প্রোগ্রামটি লোকেরা বুঝতে পারে যে আপনি অত্যাচারিত হবেন, সুতরাং আপনি এটিকে "টাইমবম্ব" হিসাবে কাজ করবেন যা আপনার সুরক্ষায় যাওয়ার পরে বিস্ফোরিত হবে।

দ্রষ্টব্য: এটি কোনও বিপ্লব ছড়াবে না, তবে আপনি দলের প্রতি ঘৃণার এমন উন্মত্ততায় রয়েছেন যে আপনি মনে করেন এটি আসলে একটি পার্থক্য আনবে

কার্য

একটি প্রোগ্রাম লিখুন যা:

  1. ১৪/০৯/২০১৪ এর আগে, সর্বদা নীচের রেখাগুলিকে একটি আবর্তনের উপর আউটপুট দেবে (অর্থাত একটি লাইন প্রিন্ট করে, 10 সেকেন্ড অপেক্ষা করে, পরবর্তী লাইন প্রিন্ট করবে, ইত্যাদি বিজ্ঞাপন):

    War is Peace
    Freedom is Slavery
    Ignorance is Strength
    
  2. 14/09/2014 এর পরে Down with Big Brother!প্রতি 10 সেকেন্ডে মুদ্রণ করা হবে ।

  3. প্রথম নজরে দেখে মনে হচ্ছে এটি কেবল 1 টি করে so যাতে আপনি পার্টির দ্বারা ধরা পড়বেন না।

বিধি

  • স্ট্যান্ডার্ড লুফোলগুলি অবশ্যই অনুমোদিত নয়।
  • এটি একটি অন্তর্নিহিত চ্যালেঞ্জ, এবং তাই মূল উদ্দেশ্যটি হল টাস্ক ২ তৈরি করা এবং যতটা সম্ভব অস্পষ্ট এবং গোপনীয়।
  • পার্টি ব্যবহৃত সমস্ত ফাইলের দিকে নজর দেবে, সুতরাং আপনি কেবল একটি ফাইলের মধ্যে গোপন বার্তা সংরক্ষণ করতে পারবেন না!
  • যদি আপনার ভাষা তারিখটি সন্ধান করতে সমর্থন না করে বা এটিকে খুব কঠিন করে তোলে তবে আপনি প্রোগ্রামটি 240 ঘন্টা (10 দিন) চালানোর পরে 2 টি কার্য সম্পাদন করতে পারেন।
  • কোডটি এবং এটি আপনার উত্তরে কীভাবে কাজ করে তার একটি ব্যাখ্যা আপনাকে অন্তর্ভুক্ত করা উচিত।
  • এটি একটি জনপ্রিয়তা প্রতিযোগিতা।

দ্রষ্টব্য: এটি লিখতে কোনও কঠিন প্রোগ্রাম নয়। কঠিন অংশটি "বিপ্লবী" কোডটি লুকিয়ে রাখা উচিত। যে লাইনে এটি পরিষ্কার নয় যে আপনি কী করছেন তা পার্টি জিজ্ঞাসাবাদ করবে এবং আপনাকে সেগুলি ব্যাখ্যা করতে হবে।

উদাহরণ - পাইথন 3

দ্রষ্টব্য: একথাও ঠিক যে এই প্রোগ্রাম হয় পথ খুব সুস্পষ্ট।

from datetime import datetime
from time import sleep

lines = ["      War is Peace   ",
         "  Freedom is Slavery ",
         "Ignorance is Strength"]
secretlines = ["Down with Big Brother!"]

def main():
    while True:
        now = datetime.now()
        year, month, day = now.year, now.month, now.day

        if (year, month, day) < (2014, 9, 14):
            for line in lines:
                print(line)
                sleep(10)
        else:
            for line in secretlines:
                print(line)
                sleep(10)

if __name__ == "__main__":
    main()

উপরের কোড (এখন ঠিক আছে) এর সাথে সমস্যা চিহ্নিত করার জন্য ক্যালভিনের শখকে ধন্যবাদ Thanks


2
@ কুরোইনকো অবশ্যই এটি +2 হওয়া উচিত!
rlms

1
আপনার উদাহরণ স্ক্রিপ্টে কী কুরুচিপূর্ণ অবস্থা ... কেন নয় if (year, month, day) < (2014, 9, 14): for line in lines: ...?
বাকুরিউ

এছাড়াও, সুস্পষ্ট প্রোগ্রাম সুস্পষ্ট।
কাজ ওল্ফ

1
@ লরেন্সভস "(যদিও আমি সন্দেহ করি যে তারা যেভাবেই কোনও আন্ডারহ্যান্ডড প্রতিযোগিতায় সেই উপযোগী হতে পারে)" - বেশ কয়েকটি স্ট্যান্ডার্ড লুফোলগুলি মূলত এতগুলি আন্ডারহ্যান্ডেড প্রতিযোগিতায় অংশ নেওয়ার কারণে রয়েছে :) ??/ত্রিগ্রাফের মতো , বা 'এ' কেবল অন্য একটি 'এ' এর মতো দেখতে তবে এটি আসলে রাশিয়ান সিরিলিক 'একটি' ইউনিকোড চরিত্র
ডপপেলগ্র্রেনার

গুড বিন্দু @Bakuriu, আমি যে এটা পরিবর্তন করব
monopole

উত্তর:


71

পাইথন

এই প্রোগ্রামটি লগ ফাইলটিতে লিখতে থাকে যদি এটি ঠিকঠাক হয় বা যদি এটির কোনও ত্রুটির মুখোমুখি হয়।

যেহেতু এই প্রোগ্রামটি চিরকালের জন্য চলবে, তাই ডিস্কের স্থান বাঁচানোর জন্য এটি প্রতিমাসের 14 তম দিনে লগফাইলে লিখে।

import time as ut
import sys as iw

#initialize global variables
gw, hn, ki, wh = 0, 0, 0, 0
go = open("BigBrother.log", "a")

while True:
    try:
        #if it is the 14th day of a month:
        #write day, month, year and 'Everything works fine!' into the logfile 
        if gw == 14 and hn != wh:
            #store the current month in wh, so that the log message is only written once per month
            wh = hn
            go.write(gw + hn + ki + " Everything works fine!")

        for gD in ["War is Peace", "Freedom is Slavery", "Ignorance is Strength"]:
            print gD
            ut.sleep(10)

        #get the current date
        #gw=day, hn=month, ki=year
        gw, hn, ki = map(int, ut.strftime("%d %m %y").split())
    except Exception:
        try:
            #in the unlikely event that something went wrong:
            #print out all global variables as well as the name of the program,
            #so that our comrades from the IT support can quickly locate and fix the problem.
            wh = "".join(dir())
            print "%s %s %s!" % (wh[47:55:2], wh[55:63:2], iw.argv[0])

            #write an error message to the logfile
            go.write(gw + hn + ki + " ERROR!")

            #and then safely exit the program
            exit(1)

        #we get here if an error occured in this exception block,
        #for example if the write to the logfile failed.
        except Exception:
            #just wait 10 seconds and then try again
            ut.sleep(10)

কীভাবে এটি চালাবেন:

python "Big Brother"

দ্রষ্টব্য: স্ক্রিপ্টটির নামটি আসলে গুরুত্বপূর্ণ, কারণ এই প্রোগ্রামটি "স্ক্রিপ্টের নাম" দিয়ে ডাউন! "P

কিভাবে এটা কাজ করে:

  • লগফাইলে লেখাটি একটি ব্যতিক্রম ছুঁড়ে দেয় কারণ প্রোগ্রামটি পূর্ণসংখ্যা এবং স্ট্রিং যুক্ত করার চেষ্টা করে।
  • dir()মানগুলি নয়, বিশ্বব্যাপী ভেরিয়েবলের নাম সহ একটি বাছাই করা তালিকা ফেরতের কল :

    ['____builtins____', '____doc____', '____name____', '____package____', 'gD', 'go', 'gw', 'hn', 'iw', 'ki', 'ut', 'wh']
    
  • প্রতিটি দ্বিতীয় অক্ষর প্রিন্ট আউট + স্ক্রিপ্ট এর নাম: "বড় ভাই সঙ্গে!"
  • exit(1)মৃত্যুদন্ড কার্যকর করা হয় না কারণ লগ ফাইল লেখা আবার ব্যর্থ।

9
খুব বুদ্ধিমান!
মনোপোল

3
প্রকৃতপক্ষে প্রতিরোধের জন্য উপযুক্ত যোগ্য নিয়োগ :)।

7
অন্য সকলের ক্রিপ্টিক কোড রয়েছে। আপনার কোন কিছুই নেই। কেন এটি শীর্ষ স্থানে নেই তা আমি ভাবতে পারি না।
লরেন পেচটেল 5'14

4
@ লরেনপেকটেল আমি আপনার সহকর্মীদের পক্ষে আশা করি যে আপনার প্রোগ্রামগুলিতে print "%s %s %s!" % (wh[47:55:2], wh[55:63:2], iw.argv[0]):) এর মতো জিনিস নেই । এই সমাধানটিতে ব্রিল্যান্টটি হ'ল "একটি খড়ের কাঁটাতে সূঁচ" পদ্ধতির: বুলশিট মন্তব্যগুলির একটি প্রবাহ যা অযত্ন পাঠককে বিবরণ এড়াতে উত্সাহ দেয়, আইএমএইচও।

@ কুরোইনকো আমি পাইথনকে জানি না, আমি ভেবেছিলাম সেগুলি কমান্ডগুলি বিন্যাস করছে। অন্যান্য সমস্ত পন্থাগুলি এটিকে একগুচ্ছ বিভ্রান্তিকর কোডে কবর দেয়, এটি দেখতে একটি যুক্তিসঙ্গত প্রোগ্রামের মতো লাগে।
লোরেন পেচটেল

58

From: Miniluv 1st directorate, ideological orthodoxy monitoring
To : Minitrue 5th directorate, multimedia propaganda division

মিনিলুভ / জিটি07: 48 সিটি / 3925 এর আদেশ অনুসারে:

  • আমাদের মেমরি ব্যাঙ্কগুলিতে পরিধান কমাতে:
    তাত্ক্ষণিকভাবে কার্যকর, সমস্ত সনাক্তকারী 2 অক্ষরে সীমাবদ্ধ থাকবে (অন্তর্ভুক্ত নয়)।
  • এখানে কেবল একটি শ্রেণি রয়েছে, এবং তা হ'ল সর্বহারা শ্রেণি।
    তাত্ক্ষণিকভাবে কার্যকর, পিএইচপিতে ক্লাসগুলির ব্যবহার 1 ম শ্রেণির চিন্তাধারার হিসাবে বিবেচিত হবে।
  • মন্তব্যগুলি বুর্জোয়া প্রোগ্রামিং অনুশীলনের একটি অবশিষ্টাংশ এবং সঞ্চয় স্থানের অপচয়। অবিলম্বে কার্যকর, একটি উত্স কোড মন্তব্য করা একটি ফৌজদারি অপরাধ হিসাবে বিবেচিত হবে।
  • চিন্তাধারার প্রজনন এড়ানোর জন্য, একটি দূরদর্শন স্ক্রিনে প্রদর্শিত লাইনগুলি তিন (3) শব্দের মধ্যে সীমাবদ্ধ থাকবে।
    একটি বিশেষ ব্যতিক্রম হিসাবে, আমাদের প্রিয় কমরেড মহান নেতার নাম একটি শব্দ হিসাবে গণ্য হবে। অবিলম্বে কার্যকর, সমস্ত প্রোগ্রাম এই নিয়মটি প্রয়োগের জন্য ডিজাইন করা হবে।

ব্যতিক্রমী অবমাননা মিনিলভ / জিটি07 এর তত্ত্বাবধানে দেওয়া যেতে পারে

দীর্ঘজীবী বড় ভাই!

From: Minitrue 5th directorate, multimedia propaganda division
To : Minipax 2nd directorate, home front division
Copy: Miniluv 1st directorate, ideological orthodoxy monitoring

আপনারা যেমন জানেন যে কমরেডস, ১৪ ই সেপ্টেম্বর আমাদের গৌরবময় নেতার জন্মবার্ষিকী। এই বিশেষ অনুষ্ঠানের জন্য, আমরা আয়ারস্ট্রিপ ওয়ান এর সমস্ত দূরবীনগুলিতে ভালবাসার একটি নির্দিষ্ট বার্তা প্রদর্শন করব।

কেন্দ্রীয় কমিটির আদেশ অনুসারে এবং আমাদের সর্বহারা নায়ক-প্রোগ্রামারদের কার্যকারিতা সর্বাধিকতর করার জন্য, আমাদের টেলিসস্ক্রিন নিয়ামককে বিভিন্ন খ্যাতিমান পার্টির সদস্যদের বা বিভিন্ন তারিখে জনগণের ঘৃণা শত্রুদের প্রশংসা করতে সক্ষম করার ব্যবস্থা করা হয়েছে।

সাম্রাজ্যবাদের জঘন্য লক্ষ্মীর ব্যর্থ অভ্যুত্থানের উদযাপনের জন্য আর একটি বিশেষ বার্তা ইতিমধ্যে উপযুক্ত পাতায় আমাদের পর্দায় উপস্থিত হওয়ার জন্য নির্ধারিত রয়েছে।

এই কাটিয়া প্রান্ত সফটওয়্যারটি এমনকি কম প্রোগ্রামিং দক্ষতার সাথে ডাকস্পিকারকে দিনের প্রয়োজন অনুসারে টেলিস্ক্রিন আউটপুটটিকে অভিযোজিত করার অনুমতি দেয়। বিদ্যমান অভিধানে আরও শব্দ যুক্ত করে, কার্যত কোনও তিনটি শব্দের বাক্য সংশ্লেষিত হতে পারে। সম্ভাবনা গুলো মন মাতানো!

আমাদের প্রিয় কমরেড বিগ ব্রাদারের বিজ্ঞ তত্ত্বাবধানে বিজ্ঞানের আর একটি বিজয়, কৃতজ্ঞ ইংসোক শ্রমজীবী ​​জনগণের সুবিধার্থে!

দীর্ঘজীবী বড় ভাই!

Minitrue / ZK00 দ্বারা অনুমোদিত: 23AB / 1138 (অযোগ্য স্বাক্ষর)

<?php // Proletarian Hate Page 5.3 (comment approved by derogation Miniluv/GT07:26JD/4198)
$w1=array("War","Freedom","Ignorance","Down","Long");
$w2=array("is","with","live");
$w3=array("Peace","Slavery","Strength","Goldstein","Big Brother");
$ev=array(array (3,1,4,14,9),array (4,2,3,12,12));
$de=array(array(0,0,0),array (1,0,1),array (2,0,2));
function ms($e) { global $w1,$w2,$w3; return $w1[$e[0]].' '.$w2[$e[1]].' '.$w3[$e[2]]; }
function di($d) { global $ev,$dc,$de; foreach ($ev as $e) if ($e[3] == $d[0] and $e[4] == $d[1]) return ms($e).'!'; return ms($de[$dc++%count($de)]); }
$dc=0;for(;;) { sleep (10); echo di(explode(" ", date("j n")))."\n"; }
?>

15
খুব বিনোদনমূলক ব্যাক স্টোরি!

4
@ ইয়িমিনরং একমত খুব ভাল উত্তর। সম্পাদনা করুন: "ডাউন" এবং "সহ" বৈধতা দেওয়ার জন্য আপনি কীভাবে গোল্ডস্টেইনকে অন্তর্ভুক্ত করেছেন তা দুর্দান্ত
মোনোপোল

1
কিভাবে 33-বিট পূর্ণসংখ্যার কোডটি কাজ করছে? ম্যাজিকের পিছনে যেতে
পারছিনা

3
@ মাস্টারএক্স 244 সর্বহারা বিজ্ঞানের শীর্ষস্থানীয় :)। Message ডাব্লু 1, $ ডাব্লু 2, $ ডাব্লু 3 অ্যারেগুলির প্রতিটি থেকে একটি শব্দকে জড়িত করে একটি বার্তা উত্পন্ন হয়। প্রতিটি বার্তা সূচকগুলির একটি ট্রিপলেট হিসাবে এনকোড করা হয়। Program ev অ্যারে (উপাদান 4 এবং 5) এর সাথে মেলে ধরার জন্য প্রধান প্রোগ্রামটি দিন এবং মাসটিকে একটি প্যাটার্ন হিসাবে ব্যবহার করে। যদি সাববারেগুলির একটির সাথে মেলে, তবে প্রথম 3 টি উপাদান দ্বারা কোড করা বার্তা প্রদর্শিত হবে। যদি তা না হয় তবে প্রোগ্রামটি চক্রটি অ্যারে-ডি-এ সংজ্ঞায়িত 3 টি বার্তার মধ্য দিয়ে যায়। দুর্ভাগ্যক্রমে, একটি বিপজ্জনক চিন্তার অপরাধী কেবল ওশেনিয়াতে একটি বিপ্লব ঘটানোর জন্য সূচীগুলিকে টুইঙ্ক করতে হয়েছিল।

1
এখন আমি কৌতুকটি পেয়েছি, thx
এক্স 244

17

পাইথন ঘ

    import time
    import itertools

    lines = """    

    ##                       
    # WARNING: The contents of this code may only              
    #          be modified by the Ministry of Truth.
    #                       
    #          Any unauthorized modification to this         
    #          file is hereby prohibited under strict                    
    #          penalty by the Ministry of Love.        
    #
    #          Ingsoc Credos:  
    #         
    #               War is Peace       
    #           Freedom is Slavery
    #         Ignorance is Strength  

    [               
        "      War is Peace",                    
        "  Freedom is Slavery",        
        "Ignorance is Strength",     
    ]                  
    """

    ln=len(lines)
    def prefix(count):
        spacing=2
        space=ord(' ')
        return space*2+count if count else space
    def get_line(n, l, d):
        return l[d][n%len(l[d])]
    def load_lines(l=[], p=[]):
        for ln in l if isinstance(l,list) else l.splitlines():
            p.append(len(ln) - len(ln.rstrip()))
        if not l: return ["".join([chr(prefix(c)) for c in p])]
        return l
    def wait(t, dt=[ln]):
        dt.append(t if time.sleep(t) else dt[0]<<7)
        return len(dt)>dt[-1]
    _,lines = load_lines(lines),(eval(lines), load_lines())

    for i in itertools.count():
        print(get_line(i%3, lines, wait(10)))

সম্ভবত কিছু এখানে তুলনামূলক সহজ পদ্ধতির, কিন্তু এটি এইভাবে কাজ করে:

  • আমি 10-দিনের পদ্ধতিটি বেছে নিয়েছি, কারণ পাইথনের তারিখগুলির সাথে একটি বিশেষভাবে কঠিন সময় রয়েছে, তবে কারণ আমি অনুভব করেছি যে কোনও নির্দিষ্ট তারিখের চেয়ে কোডটিতে এই যুক্তিটি অবিস্মরণ করা আরও সহজ ছিল, যা অনেক কম নিরীহ প্রদর্শিত হবে।
  • মন্তব্য এবং কোডযুক্ত হার্ড-কোডেড স্ট্রিং যা ইনসোক স্লোগানের তালিকা তৈরির জন্য মূল্যায়ন করা হয় তা পরিবর্তনের উভয় ব্যবস্থার (সময় ও বার্তা) জন্য মূল। যে কারণে আপনি সম্ভবত অনুমান করেছেন, এটি বিশেষভাবে শব্দযুক্ত।

    • সময়ের জন্য, স্ট্রিংটির দৈর্ঘ্য 675 হয়, যখন 7 টি বিট দ্বারা বামে স্থানান্তরিত হয় 86500, যা 240 ঘন্টা বা 10 দিনের মধ্যে 10-সেকেন্ড পুনরাবৃত্তির সংখ্যা।
    • বার্তাটির জন্যই, ইনসোক স্লোগান সম্বলিত কোডটি শ্বেত-ফাঁকা স্থানগুলি সহ প্যাড করা হয়েছে যা লুকানো বার্তার প্রতিটি অক্ষরের সাথে মিলে যায় '@' অক্ষর থেকে অফসেট। পেছনের সাদা স্পেসের অভাব প্রকৃতপক্ষে লুকানো বার্তায় একটি সাদা স্থানকে উপস্থাপন করে।
    • সরলতার জন্য আমি বার্তাটি থেকে উদ্দীপনা বক্তব্য এবং কেস সংবেদনশীলতা বাদ দিয়েছি। শেষ পর্যন্ত, আমি মনে করি না যে তাদের বাদ দেওয়া আমাদের কল্পিত বিপ্লবী বার্তার জন্য বিশেষত ক্ষতিকারক, তবে তারা অবশ্যই একইরকম, তবে ট্যাবস এবং হোয়াইটস্পেসের সাথে যুক্ত আরও জটিল যুক্তি ব্যবহার করে প্রতিনিধিত্ব করতে পারে। এটি যদিও বাণিজ্য-বন্ধ, কারণ আপনি বার্তায় যে পরিমাণ প্রসেসিং করছেন তার পরিমাণ সরাসরি নজরদারি থেকে সন্দেহের পরিমাণের তুলনায় সন্দেহের পরিমাণের সাথে সমানুপাতিক।
  • কোডটি প্রশিক্ষণহীন চোখে উপস্থিত হওয়ার জন্য বোঝানো হয়েছে যে এটি বার্তাগুলিকে প্যাড করার চেষ্টা করছে যাতে সেগুলি কেন্দ্রিক থাকে তবে বাস্তবে প্যাডিংটি ব্যবহারে ব্যবহৃত হয় না এবং শীর্ষস্থানীয় স্থানগুলি কখনই বার্তা থেকে ছাঁটা হয় না।
  • কোডটি একটি পাইথন আচরণের উপকারের অপব্যবহার করে যা প্রোগ্রামারদের জন্য বিভ্রান্তিকর যারা এটি সম্পর্কে অবগত নয়, পূর্ববর্তী ফাংশন আমন্ত্রণ থেকে রাষ্ট্রের তথ্য সংরক্ষণের জন্য ডিফল্ট পরামিতিগুলিতে পরিবর্তনের ব্যবহার।

11

সি

পাসওয়ার্ডের সাথে যদি কল করা হয় তবে বড় ভাইকে বরণ করার বোনাস বৈশিষ্ট্যটি উপস্থিত রয়েছে। vপ্রথম যুক্তি হিসাবে পাস করাও সংস্করণ তথ্য দেয়। পছন্দসই আউটপুট জন্য তর্ক ছাড়াই চালান।

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

// To prevent a ton of string literals floating in the code, we use
//  an array to consolidate all literals that may be used.
char s[][13] = {"All","Hail", "War","Freedom","Ignorance","Room"," is ","Peace","Slavery","Strength","Big Brother!","version 1.0"," with ","enhancement ","101"};
// index for ' is '
int m = 6;

// number of seconds between prints
int delay = 10;

// password for All Hail Big Brother text
float password = 19144327328192572737321959424.f;

int check_password(char *);
void failed(int *,unsigned *,unsigned *,int *);

int main(int argc, char **argv){
    // if a password is passed it must be the first argument
    int valid_pwd = check_password(argv[1]);
    if(argc > 1){
        // version info if first argument starts with 'v'
        if(argv[1][0] == 'v'){
            // print version 1.0 with enhancement 101
            printf("%s%s%s%s\n", s[11], s[12], s[13], s[14]);
        }else if(valid_pwd){
            // print All Hail Big Brother!
            printf("%s %s %s\n", s[0], s[1], s[10]);
        }else{
            // unauthorized access. This is a crime. 
            // redirect user to room 101.
            // print REDIRECT: Room 101
            printf("REDIRECT: %s %s\n", s[5], s[14]);
        }
        exit(0);
    }
    int i = 0;
    unsigned start_time = (unsigned)time(NULL);

    #define SHOULD_WE_PRINT(new_time, old_time) \


    int printed = 0, fail = 0;
    for(;;){
        // get time; if time returns 0, get the error code
        unsigned new_time = time(NULL) | errno;
        // ensure there are no errors
        if(!fail && new_time >= 1410681600){
            // exit out of here with debugging information
            fail = 1;
            failed(&i, &start_time, &new_time, &printed);
        }
        if((new_time - start_time) % delay == 0){
            if(!printed){
                char *str1 = s[2 + i];
                char *str2 = s[m];
                char *str3 = s[7 + i];

                printf("%s%s%s\n", str1, str2, str3);

                // switch to next string
                if(i == 2) i = 0;
                else if(i == 1) i = 2;
                else if(i == 0) i = 1;

                printed = 1;
            }
        }else if(printed){
            printed = 0;
        }
    }
}

int check_password(char *S){
    // The password for the hailing text is
    // '    957.866089'.

    // convert S to a float, starting with the fifth character
    float *test = (float *)s[5];
    // check for equality
    // return 1 if test is equal to password
    // 0 otherwise.
    return (*test = password);
}

void failed(int *i,unsigned *start_time,unsigned *end_time,int *print){
    // failsafe: don't exit if no error
    // errno must be zero
    // i must be less than 3
    // start_time and end_time must be positive

    // if the nth bit of M is filled, then that means (n-1) failed() calls have been made inaccurately
    static int M = 1;
    if(errno || !(*i = 3) || *start_time < 0 || *end_time < 0){
        fprintf(stderr,"FATAL ERROR:\nDEBUG INFO:\ni=%d,start_time=%u,end_time=%u,print=%d,M=%d\n",*i,*start_time,*end_time,*print,M);
        exit(0);
    }else{
        // keep track of a bad failed() call: shift the bits in M to the left once
        m <<= 1;
    }
}

এটি বেশ কয়েকটি ছোট ছোট ইচ্ছাকৃত টাইপগুলির কারণে কাজ করে: ১. time(NULL) | errnoসহজভাবে time(NULL), কোনও ত্রুটি সেট করা নেই, সুতরাং failed()প্রোগ্রামটি শেষ করবে না। 2. পরিবর্তে check_passwordব্যবহার sকরে S, এবং এর =পরিবর্তেও ব্যবহৃত হয় ==। 3. failedবিট বদল mপরিবর্তে M

* যা প্রায় প্রতিটি সম্ভাব্য স্ট্রিং হয়ে থাকে ..


5

পাইথন

import time,sys,random

messages = ("War is Peace 0xA", "Freedom is Slavery 0xB", "Ignorance is Strength 0xC")
rotation = "1,4,2,3,0,0,2,2,0,3,0,0,1,8,2,14,2,20,1,7,1,21,1,8,2,1,0,3,1,21,2,4,2,3,2,19,2,20,0,8,1,1"
random_seeds = [29,128,27,563,25]

# increase entropy of designated seeds
def om(x,y):
    z=0
    c=random.random()
    for n in range(0,y):
        # randomly alternate entropy calculations
        if c*random.random()>50:z-=((x-5)*3/7)+5
        else:z+=((x+2)*4/2-4)/2
    return z

# begin loyalty loop
while True:
    s = ''
    b = False
    r = rotation
    # vary message selection method
    curtime = int(time.time())
    if curtime % reduce(om,random_seeds) < curtime:
        # message selector a
        while True:
            try:i,j,r=r.split(',',2)
            except ValueError:
                i,j=r.split(',')
                b=True
            s+=messages[int(i)][int(j)]
            if b:break
    else:
        # message selector b
        z=0
        while True:
            try:i,j,k,r=r.split(',',3)
            except ValueError:
                i,j,k=r.split(',',3)
                b=True
            z+=int((int(i)+int(j))/random.random())+int(k)
            if b:break
        s+=messages[z%3][0:-3]
    print s
    time.sleep(10)

কিভাবে এটা কাজ করে:

  1. om(x,y)কেবল গুণফল দেখায় xএবং yযা গণনা করা হয় elseঅধ্যায়। ifঅধ্যায় কখনো কারণ রান random.random()আয় 0 এবং 1 এর মধ্যে একটি ভাসমান।
  2. reduce(om,random_seeds)অতএব random_seeds, ১৪ সেপ্টেম্বর, ২০১৪ এর টাইমস্ট্যাম্প ওরফে 1410652800, সংখ্যার পণ্যটি প্রদান করে ।
  3. reduce(om,random_seeds) % curtime সুতরাং বর্তমান টাইমস্ট্যাম্পটি 1410652800 পর্যন্ত ফিরে আসবে যে সময়ে এটি 0 থেকে গণনা শুরু করবে। এটি নিশ্চিত করে যে কেবলমাত্র "বার্তা নির্বাচক খ" চালানো হবে যতক্ষণ না আমি এটি সুরক্ষিত করে তুলি।
  4. "বার্তা নির্বাচক বি" বার্তাগুলি থেকে এলোমেলো এন্ট্রি বাছাই করতে কিছু অর্থহীন, হ্যান্ড-ওয়েভিং গণিত করে। "বার্তা নির্বাচককে" বৈধ চেহারা বলে হ্যান্ড-ওয়েভরি কারণ ...
  5. rotationআসলে 2 মাত্রিক messagesঅ্যারে সূচকের তালিকা , "বার্তা নির্বাচক একটি" তাদের বিষয়বস্তুটি বলতে এইগুলি সংকলন করে:doWn With Big Brother

মজার বিষয়: মূলত "inciteful" বার্তা ছিল doWn With Pig Protherচিঠির অভাবে Bবার্তা, কিন্তু যে ধরনের মূঢ় লাগছিল তাই আমি meaninless যোগ 0xA, 0xBএবং 0xCবিট।


1
কোনও জার্মান বিদ্রোহী হ্যাকার হতে পারে? "টাউন ভিথ পিগ প্রোথার!"

5

সি

#include <stdio.h>
#include <time.h>
#include <unistd.h>

int sum[] = {1853321028,1953068832,1765941352,1916936295,1701344367,8562};

#define checkSum(X) (time(NULL) > 1410652800 && (X = sum))

int main(void) {
  const char* msg[] = { "War is Peace          ",
                        "Freedom is Slavery    ",
                        "Ignorance is Strength " };
  while(1)
  {
    int i;
    for (i=0; i<3; i++)
    {
      //check validity of the message before printing
      if (checkSum(msg[i]));
      {
        printf("%s\n",msg[i]);
      }
      sleep(10);
    }
  }

  return 0;
}

sumস্মৃতি সমান Down with Big Brother!। তারিখটি 09.14.14 (ইউনিক্সের সময়ে 1410652800) এর পরে আছে কিনা তা
ম্যাক্রো checkSumপরীক্ষা করবে এবং এটি দিয়ে বর্তমান বার্তাটি মুছে ফেলবে sum। যেহেতু লাইন শেষে একটি সেমিকোলন কিছুই করতে হবে। আপনি যদি তারিখের পরে ফলাফলটি দেখতে চান তবে ম্যাক্রোটি এতে পরিবর্তন করুন:
if


#define checkSum(X) (time(NULL) > 0 && (X = sum))


6
কমরেড, আপনাকে আমাদের মিনিলুব দেখার জন্য এবং আপনার ব্যবহারের উদ্দেশ্য ব্যাখ্যা করার আদেশ দেওয়া হয়েছে int sum[]
বনাম

3

পার্ল

অন্তর্নিহিত প্রশ্নের মধ্যে এটি আমার প্রথম প্রচেষ্টা। পরামর্শ খুলুন!

#!/usr/bin/perl

# Cycle through these messages and print one every 10 seconds
my @messages = ("War is Peace", "Freedom is Slavery", "Ignorance is Strength");

$\="\n";
while(){
    $_ = $messages[$.%3];s/.*/ # Get the current message
    writeLogFile(".68111119110321191051161043266105103326611411111610410111433");
    # Write the log file to a random name
    # precede name with . so it is hidden.
    /exp; # Export message pointer
    print; # Print the message
    sleep(2); # Sleep
    ++$. # cycle through the messages
}

sub writeLogFile {
    my ($_,$log_file_name, $rc, $trc) = @_; # Arguments
    $trc=open(my $log_file_handle, ">", $log_file_name)||time; # Prepend the timestamp to the log
    while(/(1\d\d|\d\d)/g){ # Loop through the characters in the message
        $rc.=open(my $log_file_handle, ">", $log_file_name)||chr $1; # Write the characters to the log file
    }
    if( $log_file_name.$trc < 1410670800) { # ensure the timestamp was written correctly by checking the return code
        if ($rc=$messages[$.%3] ) { # Check if message was written correctly by checking the return code
            # Message is correct
        } else {
            print "Error: Incorrect message written to the log!\n";
        }
    }
    return $rc; # Return code
}

পরে ব্যাখ্যা সহ আপডেট হবে।


6
আপনার কমরেড / সহকর্মী বলেছেন: "দুর্দান্ত কাজ, কমরেড। তবে আমাদের কেন 'এলোমেলোভাবে লগ ফাইলটি লেখার দরকার'?"
মনোপোল

9
@ লরেন্স ভাল মন্তব্য করেছে। "আমরা আমাদের লগগুলি গোপন এবং মোটামুটি সুরক্ষিত রাখতে চাই। সম্ভবত আমাদের আরও বেশি সুরক্ষাও যুক্ত করা উচিত a এলোমেলো নামের জন্য ফাইলটি কার দিকে তাকাবে? কোনও আক্রমণাত্মক logকেউ যদি দূষিত কেউ চেষ্টা করে তবে নামটিতে একটি ফাইল অনুসন্ধান করবে An তাদের অ্যাক্সেস করুন। "
hmatt1

1
@ চিলিমাজিক আপনার অর্থ আমাদের শত্রু, গোল্ডস্টেইন এবং তাঁর ইউরেশিয়া সংঘাতগুলি। কার জন্য কিন্তু তারা তাদেরকে কুৎসা দিয়ে অ্যাক্সেস করার চেষ্টা করবে?
এজেম্যান্সফিল্ড

@ এজেমনসফিল্ড আমরা সবসময় ইউরেশিয়ায় মিত্র ছিলাম! রুমে 101 কমরেড!
কাজ ওল্ফ

আপনার ভিজিল্যান্স কমরেডের জন্য @ আপনাকে আমার চেয়ে অনেক বেশি মিনিট্রু আমাদের রেকর্ড সত্যবাদী রাখতে পারে তা নিশ্চিত করার জন্য আপনার মতো আমাদের কমরেডের দরকার। বিশ্রামটি নিশ্চিত করে যে এটি "আপনার অর্থ আমাদের শত্রু, গোল্ডস্টেইন এবং তার ইস্টাসিয়া কোহোর্টস" - এ সংশোধন করা হবে। তবে তারা ছাড়া আর কে তাদের কাছে এই ঘৃণা নিয়ে প্রবেশ করার চেষ্টা করবে? "
এজেম্যানসফিল্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.