Jump to content

cmiN

Active Members
  • Posts

    1609
  • Joined

  • Last visited

  • Days Won

    27

Everything posted by cmiN

  1. cmiN

    Fii

    Desi ca admitere se cere (5/10 info sau mate bac) (3/10 liceu) (2/10 tot bacul) am vazut ca numai participarea la o nationala in XI sau XII e de ajuns pentru a inlocui una dintre parantezele de mai sus cu 10. De aceea mi se pare destul de usor de intrat si tot in acelasi timp am vazut ca au fost medii de la 9.7 pana la 8.6 la buget acum un an sau doi. Totusi sunt curios sa aflu mai multe.
  2. cmiN

    Fii

    Intentioneaza cineva sau este deja la facultatea de informatica din Iasi ? Care cunoaste ceva mai bine nu numai din auzite cum e treaba pe acolo si cu ce medie / "ajutoare" spera sa intre / a intrat ? Astept si alte pareri indiferent de ramura subiectului.
  3. Grafica e copiata dupa Machinarium, oricum nu conteaza umorul e "original" ... si le au si cu After Effects.
  4. Daca ai rabdare sa vezi un fel de drama/mister psihologic vezi Stalker si tot din regia lui Tarkovsky. Seria de jocuri a preluat acel fenomen de aici si l-a combinat cu explozia de la Chernobyl si astfel s-a creat o combinatie si mai incitanta. In ziua de azi singurele filme care mai sunt bune de vazut si-ti raman si amintiri placute sunt comediile animatii (tot ce s-a spus mai sus + walle, monster house, surfs up, legend of the guardians) si dramele (Grand Torino, Green Mile). Fa-ti timp si vizioneaza ce ti-am insirat eu aici nu o sa regreti si daca mai vrei dai PM/Reply.
  5. Neaparat php ? Ca parser/crawler/re merge de 10 ori mai bine Python si functioneaza si pe web.
  6. Si cancerasul din voi abia le asteapta .
  7. Garena nu merge rulat direct cu wine ? Adica ai incercat sa folosesti independent pe rand doar wine hq apoi doar playonlinux sa vezi daca functioneaza ? Mi se pare mai bug free in modul asta. In curand o sa trec si eu pe Mint (am auzit ca cea mai buna distributie este Ubuntu dar Mint e un Ubuntu mai bun mai cross-platform-user-friendly (ca GUI)) si daca merge Platinium cum scrie in appdb dau rep .
  8. lol ? ^ Pai daca esti atat de "smecher" sa ma intelegi prin ceea ce am vrut sa spun ma refeream ca ajungi la acel nivel si putere cand gasesti si creezi limbajul de programare perfect cu tot cu librarii in care elimini toate erorile, impuritatile si aduci orice clasa, functie la eficienta maxima prin performanta, resurse, fiabilitate, logica si acel "talent / har". Nu exista in prezent limbaj de programare fara vreo buba, pana si python are cateva aiureli care mi se pare pe departe cel mai bine si logic gandit limbaj la echilibru perfect in lucrul cu memoria ca C si cele orientate pe obiecte.
  9. Oricum in final nu conteaza ce inveti ci modul de gandire, logica si "talentul" tau de a aduce profit unei firme (chiar daca e infiintata de tine) si daca esti smecher inventezi tu inca un limbaj de programare.
  10. Pai aici la ce spui tu apare marele avantaj pe care il au programatorii ... homeoffice-ul, freelanceing-ul muncesti cand vrei, cat vrei, cu cine vrei si daca ai ceva rating, experienta si putin noroc faci proiecte de 200-500 chiar 1000 euro bucata .. si te poti duce pana la 3-4 proiecte pe luna. Ideea este sa nu ramai o singura persoana ci sa-ti cauti aliati colegi cu aceleasi inclinatii si idei si rata de succes e mult mai mare in schimb iti scade salariul (se imparte).
  11. Da ... ai gandit bine . In momentul asta ai 2 alegeri: 1) Sa te faci programator si sa munctesti in domeniu din pasiune, indiferent ca inveti, descoperi, creezi ... programarea e o arta trebuie sa o "simti" si sa ai o chemare si pe urma ai sa te simti ca un fel de Dumnezeu in spatiul virtual. Daca alegi (1) atunci invata in continuare C++, incepand cat mai low level, lucrand la partea de algoritmica si optimizari, apoi usor sa incepi sa folosesti clase si cat mai multe librarii si chiar si ceva grafica si ajunge. In stadiul asta te decizi daca vrei sa ajungi la ceva gen MIT si clar te apuci si de ASM si faci numai algoritmica si probleme de judeteana / nationala sa le ai cu microcontrolerele si ceva electronica sau te apuci serios de OOP si in stadiul asta te decizi pe ce platforma vrei sa te specializezi (unix/win) daca alegi win atunci duci pana la capat C++ si te bagi pe C#, .NET daca alegi unix atunci te apuci de Java si ceva Python pentru scripting. Ori devii vreun expert pe AI si chestii SF si ramai pe la NASA, MIT, AT&T, Texax (de unde se castiga cel mai bine, dar iti pierzi complet viata cu asa ceva) ori ajungi un dezvoltator / depanator de soft in C++/Java plus alte bonusuri (ceva protocoale si lucrul cu socket) si castigi si aici destul de bine dar e mult mai lejer, mai omenesc, flexibil. 2) Sau sa te faci un web developer si sa te bagi direct pe php, html, mysql, css si ceva java ... neaparat sa inveti si sa-ti iei un certificat Adobe de designer si te apuci mai mult de stilistica site-urilor, inovatii temporare, concepte si poti foarte bine sa-ti bagi nasul si prin Javascript ca merge bine cu lucrurile astea. De aici intervine talentul in cat de bine vei fi platit . De aici te duci si foarte usor black inveti sa exploatezi vulnerabilitati te apuci sa faci tot felul de rahaturi si chestii care au o baza de date ceva cu despre ceva pe mai multe servere sa comunice intre ele, scamuri, etc. 3) Orice ai face (macelar) tot trebuie sa vezi cum sta treaba cu Python .
  12. cmiN

    E-zine

    Unu mai bun la romana ar putea scrie tot ce e aici: steg.swf - File Shared from Box.net - Free Online File Storage doar sa structureze cat de cat in paragrafe. Mi se pare destul de interesant si capteaza atentia multora (se vede si din numarul de vizualizari) si implica mai multe lucruri basic usor de inteles si aplicabile. Nu uitati diacritice la orice scrieti .
  13. cmiN

    fundal melodie

    Trilulilu - Shigeru Umebayashi : Lovers (Title Song) ("House of Flying Daggers" 2004) - Muzic? Sound Track asta e ... o am in playlist de 1 an si ceva ... vocea nu poate fi descrisa in cuvinte .
  14. Acum da ... intr-adevar ceva utilizabil, si are un scop sau mai multe. Numai in felul asta poti atrage atentie macar putin si nu numai a mea ci si a celorlalti. Uitasem: gj...
  15. Sursa nu e pentru incredere sau rahaturi ca ce ati spus mai sus, la astfel de programe de obicei se da sursa (in caz de limbaj interpretabil se lasa sursa libera) pentru ca utilizatorul sa vada putin cum ai gandit / scris codul pentru engine si gui. In felul asta capeti putin rating pe post, fiindca nimeni nu o sa-ti foloseasca soft-ul tau in vb sau autoit sau in ce e facut care nici macar nu e calumea structurat in loc sa foloseasca un soft care are functia de brute si dict attack pentru toate md, sha, hmac, etc si foloseste mai multe procese multithreaded atat pe gpu cat si cpu. Daca intereseaza pe cineva acest post ori va fi curiozitatea cum functioneaza softul tau (viteza, fiabilitate, etc) ceea ce se intampla foarte rar, ori faci bine si pui sursa si astfel va modifica sau va intelege si altu care invata acelasi limbaj cum functioneaza si cum merg lucrurile prin puterea exemplului chiar daca duce lipsa de aplicabilitate.
  16. cmiN

    Fun stuff

    Acum se pune cratima unde nu trebuie )) mai bine ramaneau ca inainte si n-o puneau deloc, aveau scuza ca au scris repede.
  17. Raspuns la http://rstcenter.com/forum/29838-python-algoritmi-de-sortare-console-cmin.rst Desi sunt tehnici diferite, algoritmii sunt similari cu cei de mai sus, numai ca sunt ceva mai eficienti. Ca performanta average: insertionsort > bubblesort (O(n^2/2)) mergesort > quicksort (O(nlogn)) Mergesort are worst O(nlogn) pe cand quicksort are O(n^2). #include <iostream> #define nmax 128 using namespace std; void insertionsort(int vec[], int vlen) { // avg and wst: O(pow(n, 2)/2) int tmp, i, j; for (i = 1; i < vlen; i++) { tmp = vec[i]; for (j = i - 1; j >= 0 && tmp < vec[j]; j--) { vec[j + 1] = vec[j]; } vec[j + 1] = tmp; } } void mergesort(int vec[], int vlen) { // avg and wst: O(n*log(n, 2)) if (vlen > 1) { int mlen, i, j, k; int* tvec = new int[vlen]; for (i = 0; i < vlen; i++) { tvec[i] = vec[i]; } mlen = vlen / 2; mergesort(tvec, mlen); mergesort(tvec + mlen, vlen - mlen); if (tvec[mlen - 1] < tvec[mlen]) { for (i = 0; i < vlen; i++) { vec[i] = tvec[i]; } } else { for (i = 0, j = mlen, k = 0; i < mlen && j < vlen; k++) { if (tvec[i] < tvec[j]) { vec[k] = tvec[i]; i++; } else { vec[k] = tvec[j]; j++; } } while (i < mlen) { vec[k++] = tvec[i++]; } while (j < vlen) { vec[k++] = tvec[j++]; } } delete[] tvec; } } int main() { int vec[nmax], vlen, i; cout << "Vector length: "; cin >> vlen; for (i = 0; i < vlen; i++) { cout << "vec[" << i << "]: "; cin >> vec[i]; } // sterge slash-urile corespunzatoare functiei pe care vrei s-o folosesti //insertionsort(vec, vlen); //mergesort(vec, vlen); for (i = 0; i < vlen; i++) { cout << vec[i] << " "; } return 0; }
  18. Ar fi dura chiar sa se fi intamplat :] si ea acum sa-l aprecieze si mai mult pentru sinceritate si curaj.
  19. Edited: dadea o eroare la unele rezultate cand decoda din bytes in string, nu suporta nici utf-8 nici ascii.
  20. Python: 3.x Credits: cmiN Date: 23.01.2011 Python code by cmiN - 93 lines - codepad #! /usr/bin/env python3.2 # Ip Tracer # 23.01.2011 cmiN import sys, urllib.request class IPScan: def __init__(self, iplist, timeout): self.ipdetailslist = list() self.link = "http://whatismyipaddress.com/ip/" self.iplist = iplist self.timeout = timeout self.headers = {"User-Agent": "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.6) Gecko/2009020911 Ubuntu/8.04 (hardy) Firefox/3.0.6"} def parse(self, source): if source.find(b"Invalid IP address.") != -1: return ["invalid", "invalid", "invalid", "invalid"] index = source.find(b"ISP:</th><td>") + len(b"ISP:</th><td>") source = source[index:] isp = source[:source.find(b"</td>")] index = source.find(b"Country:</th><td>") + len(b"Country:</th><td>") source = source[index:] country = source[:source.find(b"</td>")] index = source.find(b"State/Region:</th><td>") + len(b"State/Region:</th><td>") source = source[index:] state = source[:source.find(b"</td>")] index = source.find(b"City:</th><td>") + len(b"City:</th><td>") source = source[index:] city = source[:source.find(b"</td>")] if country.find(b" <img") != -1: country = country[:country.find(b" <img")] datain = [country, state, city, isp] dataout = list() for word in datain: if word == b"": dataout.append("None") else: string = str() for char in word: string += chr(char) dataout.append(string) return dataout def scan(self): for ip in self.iplist: print(ip + "...") urlrequest = urllib.request.Request(self.link + ip, headers=self.headers) urlobj = urllib.request.urlopen(urlrequest, timeout=self.timeout) self.ipdetailslist.append([ip] + self.parse(urlobj.read())) urlobj.close() print() def process(inp, outp, verbose, timeout): iplist = list() if inp.count(".") == 3: iplist.append(inp) else: fobj = open(inp, "rt") iplist.extend(fobj.read().split()) fobj.close() if outp == "stdout": fobj = sys.stdout flag = False else: fobj = open(outp, "wt") flag = True rangelist = [0] for char in verbose: rangelist.append(int(char)) scanobj = IPScan(iplist, float(timeout)) scanobj.scan() for ipdetails in scanobj.ipdetailslist: string = " ".join([ipdetails[i] for i in rangelist]) print(string, file=fobj) if flag: fobj.close() def main(args): usage = "iptr.py input output verbose timeout\n\ input - stdin or a file (91.202.90.81 or ips.txt)\n\ output - stdout or a file (stdout or loc.txt)\n\ verbose - country, state, city, ISP (1, 2, 3, 4)\n\ timeout - float\n\ Example: iptr.py ips.txt stdout 342 5\n" if len(args) != 5: print(usage) return 1 else: process(args[1], args[2], args[3], args[4]) return 0 if __name__ == "__main__": main(sys.argv) 1. start, run, cmd 2. cd in locatia unde aveti sursa in Python 3. iptr.py 4. cititi usage 5. enjoy
  21. no screen, no formatting, no credits, no comments ... so useless.
  22. Piece of cake dar cand vreau sa uploadez cu filezila imi spune: Note: Primul host (ala de colecteaza raspunsurile la intrebari prin ftp) merge perfect se si incarca mai repede, dar al doilea imi spune ca mai e cineva logat, si am acces doar de viewer. EDIT: a mers tot cu py, cred ca e de vina clientul ... mi-l vede ca mai multe usere plm (vezi /cmiN.html)
  23. Putini scriu tutoriale/observatii (chiar daca ar reinventa roata) si alte chestii de genul mai mari de 50 cuvinte. Nu numai din cauza asta ci si pentru ca e un post destul de interesant si folositor (chiar daca majoritatea raman undeva ingropate si mult depasite de un cacat de la off topic cu audienta) dau +1 rep. Un singur sfat ... (desi sunt sigur ca-l aplici) cauta tot timpul sa inovezi/progresezi, sa-ti depasesti conditia actuala.
  24. cmiN

    RST Messenger

    Pana la partea de encriptie faceti macar serverul / clientul care comunica asa in plain. Din curiozitate ar iesi ceva gen chat (adica fiecare se logheaza la sv si vorbeste cu fiecare) sau ceva bazat pe conturi, o baza de date si lista de contacte ?
  25. Faci un .txt pe post de baza de date in care scrii pe fiecare linie "intrebare:raspuns" apoi faci soft-ul pur si simplu cand se deschide sa intrebe utilizatorul sau sa incarce el automat un astfel de text in care ia fiecare linie si salveaza intr-un dictionar (un fel de vector te prinzi tu) intrebarea care corespunde unui raspuns, si atunci cand utilizatorul pune o intrebare aceasta este cautata in tot dictionarul si daca nu exista la fel intreaba utilizatorul daca doreste sa dea si sa salveze un raspuns. De ex. in py ar fi ceva de genul (iti dai seama asa ca un fel de pseudocod) #! /usr/bin/env python3 def main(): dictionar = dict() fob = open("default.txt", "rt+") # read text + write (append) for line in fob: chunks = line.strip("\n").split(":") dictionar[chunks[0]] = chunks[1] while True: intrebare = input("Intrebare: ") raspuns = None for x in dictionar: if x == intrebare: raspuns = dictionar[x] if raspuns: print("Raspuns: %s" % raspuns) else: ans = int(input("Nu a fost gasit niciun raspuns, doriti sa dati unul dumneavoastra (1/0)? ")) if ans: raspuns = input("Raspuns: ") fob.write(intrebare + ":" + raspuns + "\n") dictionar[intrebare] = raspuns ans = int(input("Continuati (1/0)? ")) if not ans: break fob.close() if __name__ == "__main__": main()
×
×
  • Create New...