Tag Archives: Geek

Schermo vuoto dopo Hibernate o sonno?

Bene, la risposta breve, aumentare la memoria virtuale a oltre la dimensione della memoria fisica.

Versione lunga ora. Recentemente, Ho avuto questo problema con il mio PC che non sarebbe svegliarsi dalla modalità di ibernazione o sospensione correttamente. Il PC si sarebbe acceso e zangolatura, ma lo schermo dovrebbe passare alla modalità di risparmio energetico, rimanendo vuoto. L'unica cosa da fare a quel punto sarebbe quello di riavviare il computer.

Come il buon netizen che sono, Ho spulciato internet per una soluzione. Ma non ha trovato alcun. Alcuni hanno suggerito l'aggiornamento del BIOS, sostituzione della scheda grafica e così via. Poi ho visto questo menzionato in un gruppo Linux, dicendo che la dimensione del file di scambio deve essere superiore alla memoria fisica, e ho deciso di provarlo sulla mia macchina Windows XP. Ed è risolto il problema!

Quindi la soluzione a questo problema di schermo vuoto dopo il risveglio è quello di impostare la dimensione della memoria virtuale a qualcosa di più grande della memoria del sistema. Se avete bisogno di più informazioni, ecco come, in forma passo-passo. Queste istruzioni si applicano a una macchina Windows XP.

  1. Fare clic destro su “Risorse del computer” e ha colpito “Proprietà.”
  2. Date un'occhiata alla dimensione della RAM, e fare clic sul “Avanzato” linguetta.
  3. Clicca sul “Impostazione” pulsante sotto il “Performance” Casella di gruppo.
  4. Nel “Opzioni prestazioni” finestra che si apre, selezionare l' “Avanzato” linguetta.
  5. Nel “Memoria virtuale” casella di gruppo vicino al fondo, fare clic sul “Modifica” pulsante.
  6. Nel “Memoria virtuale” finestra che si apre, impostare il “Formato personalizzato” a qualcosa di più del tuo dimensioni della RAM (che avete visto nel passaggio 2). È possibile impostare su ogni partizione di disco che avete, ma se si passa attraverso tutte queste istruzioni, è probabile che hai solo “C:”. Nel mio caso, Ho scelto di mettere su “M:”.

Magia di Object Oriented Languages

Nowhere is the dominance of paradigms more obvious than in object oriented languages. Just take a look at the words that we use to describe some their features: polymorphism, inheritance, virtual, abstract, overloading — all of them normal (or near-normal) everyday words, but signifying notions and concepts quite far from their literal meaning. Ancora, and here is the rub, their meaning in the computing context seems exquisitely appropriate. Is it a sign that we have taken these paradigms too far? Forse. Dopotutto, il “object” in object oriented programming is already an abstract paradigm, having nothing to do with “That Obscure Object of Desire,” per esempio.

We do see the abstraction process running a bit wild in design patterns. When a pattern calls itself a visitor or a factory, it takes a geekily forgiving heart to grant the poetic license silently usurped. Design patterns, despite the liberties they take with our sensitivities, add enormous power to object oriented programming, which is already very powerful, with all the built in features like polymorphism, inheritance, overloading etc.

To someone with an exclusive background in sequential programming, all these features of object oriented languages may seem like pure magic. But most of the features are really extensions or variations on their sequential programming equivalents. A class is merely a structure, and can even be declared as such in C . When you add a method in a class, you can imagine that the compiler is secretly adding a global function with an extra argument (the reference to the object) and a unique identifier (dire, a hash value of the class name). Polymorphic functions also can be implemented by adding a hash value of the function signature to the function names, and putting them in the global scope.

The real value of the object oriented methodology is that it encourages good design. But good programming discipline goes beyond mere adaptation of an object oriented language, which is why my first C teacher said, “You can write bad Fortran in C if you really want. Just that you have to work a little harder to do it.”

For all their magical powers, the object oriented programming languages all suffer from some common weaknesses. One of their major disadvantages is, infatti, one of the basic design features of object oriented programming. Objects are memory locations containing data as laid down by the programmer (and the computer). Memory locations remember the state of the object — by design. What state an object is in determines what it does when a method is invoked. So object oriented approach is inherently stateful, if we can agree on what “state” means in the object oriented context.

But in a user interface, where we do not have much control over the sequence in which various steps are executed, we might get erroneous results in stateful programming depending on what step gets executed at a what point in time. Such considerations are especially important when we work with parallel computers in complex situations. One desirable property in such cases is that the functions return a number solely based on their arguments. This property, termed “purezza,” is the basic design goal of most functional languages, although their architects will concede that most of them are not strictly “pure.”

Sezioni

Paradigmi All the Way

I paradigmi permeano quasi tutti gli aspetti dell'informatica,,en,Alcuni di questi paradigmi sono naturali,,en,è naturale parlare di un'immagine o di una canzone quando in realtà intendiamo un file JPEG o MP3,,en,Il file è già un'astrazione evoluta nel paradigma della cartella file reso popolare nei sistemi Windows,,en,Gli oggetti o flussi sottostanti sono di nuovo astrazioni per i pattern di uno e zeri,,en,che rappresentano i livelli di tensione nei transistor,,en,o stati di spin su un disco magnetico,,en,C'è una gerarchia infinita di paradigmi,,en,Come le proverbiali tartarughe che confondevano Bertrand Russell,,en,o era Samuel Johnson,,en,è paradigmi fino in fondo,,en,Alcuni paradigmi sono sbiaditi in sottofondo anche se la terminologia evoluta da loro si attarda,,en,Il paradigma originale per reti di computer,,en,e di Internet,,en. Some of these paradigms are natural. Per esempio, it is natural to talk about an image or a song when we actually mean a JPEG or an MP3 file. File is already an abstraction evolved in the file-folder paradigm popularized in Windows systems. The underlying objects or streams are again abstractions for patterns of ones and zeros, which represent voltage levels in transistors, or spin states on a magnetic disk. There is an endless hierarchy of paradigms. Like the proverbial turtles that confounded Bertrand Russell (or was it Samuel Johnson?), it is paradigms all the way down.

Some paradigms have faded into the background although the terminology evolved from them lingers. The original paradigm for computer networks (and of the Internet) era una rete di interconnessioni che risiedeva nel cielo sopra,,en,Questo punto di vista è più o meno sostituito dal World Wide Web che risiede sul terreno al nostro livello,,en,Ma continuiamo ad usare il paradigma originale ogni volta che diciamo,,en,caricare.,,en,Il World Wide Web,,en,è rappresentato dall'acronimo WWW che figura nel nome di tutti i siti web,,en,È un acronimo con la discutibile distinzione di essere sull'unico che ci richiede più tempo per dire di quello che rappresenta,,en,tornare al nostro argomento,,en,i paradigmi sono mezzi potenti e utili per guidare le nostre interazioni con sistemi e ambienti sconosciuti,,en,soprattutto nei computer,,en,che sono animali strani e complicati per cominciare,,en,Un processore di base del computer è ingannevolmente semplice,,en,È una serie di porte,,en,Un cancello è un interruttore,,en,costituito da un piccolo gruppo di transistor,,en. This view is more or less replaced by the World Wide Web residing on the ground at our level. But we still use the original paradigm whenever we say “scaricare” o “upload.” The World Wide Web, a proposito, is represented by the acronym WWW that figures in the name of all web sites. It is an acronym with the dubious distinction of being about the only one that takes us longer to say than what it stands for. Ma, getting back to our topic, paradigms are powerful and useful means to guide our interactions with unfamiliar systems and environments, especially in computers, which are strange and complicated beasts to begin with.

A basic computer processor is deceptively simple. It is a string of gates. A gate is a switch (circa) made up of a small group of transistors. La 32 il processore di bit ha,,en,cambia in un array,,en,Ogni interruttore può essere spento rappresentando uno zero,,en,o via,,en,E un processore può fare solo una funzione,,en,aggiungi il contenuto di un'altra serie di porte,,en,chiamato un registro,,en,a se stesso,,en,può solo,,en,accumulare.,,en,Nello scrivere questa ultima frase,,en,Ho già iniziato un processo di astrazione,,en,scrissi,,en,contenuto,,en,pensando al registro come a un contenitore con numeri,,en,È il potere di più livelli di astrazione,,en,ognuno dei quali è semplice e ovvio,,en,ma basandosi su tutto ciò che viene prima,,en,questo rende un computer enormemente potente,,en,Possiamo vedere astrazioni,,en,seguito dalla modularizzazione del concetto astratto,,en,in ogni aspetto dell'informatica,,en,sia hardware che software,,en,I gruppi di transistor diventano array di porte,,en,e poi processori,,en,registri,,en,cache o memoria,,en,accumulazioni,,en,aggiunte,,en,diventano tutte operazioni aritmetiche,,en 32 switches in an array. Each switch can be either off representing a zero, or on (one). And a processor can do only one function — add the contents of another array of gates (called a register) to itself. In altre parole, it can only “accumulate.”

In writing this last sentence, I have already started a process of abstraction. I wrote “contents,” thinking of the register as a container holding numbers. It is the power of multiple levels of abstraction, each of which is simple and obvious, but building on whatever comes before it, that makes a computer enormously powerful.

We can see abstractions, followed by the modularization of the abstracted concept, in every aspect of computing, both hardware and software. Groups of transistors become arrays of gates, and then processors, registers, cache or memory. Accumulations (additions) become all arithmetic operations, manipolazioni di stringhe,,en,interfacce utente,,en,editing di immagini e video e così via,,en,Un'altra caratteristica dell'informatica aiuta nella marcia apparentemente infinita della Legge di Moore,,en,che afferma che i computer raddoppieranno in loro ogni,,en,è che ogni progresso sembra alimentare ulteriori progressi,,en,generando una crescita esplosiva,,en,Il primo compilatore,,en,è stato scritto nel primitivo linguaggio di livello assemblatore,,en,Il secondo è stato scritto usando il primo e così via,,en,Anche nello sviluppo dell'hardware,,en,una generazione di computer diventa lo strumento per progettare la prossima generazione,,en,alimentando un ciclo di sviluppo apparentemente inesorabile,,en,Mentre questo feedback positivo in hardware e software è una buona cosa,,en,la natura esplosiva della crescita può portarci in direzioni sbagliate,,en, user interfaces, image and video editing and so on.

Another feature of computing that aids in the seemingly endless march of the Moore’s Law (which states that computers will double in their power every 18 mesi) is that each advance seems to fuel further advances, generating an explosive growth. The first compiler, per esempio, was written in the primitive assembler level language. The second one was written using the first one and so on. Even in hardware development, one generation of computers become the tools in designing the next generation, stoking a seemingly inexorable cycle of development.

While this positive feedback in hardware and software is a good thing, the explosive nature of growth may take us in wrong directions, molto simile al forte cresciuto nel mercato del credito ha portato al collasso bancario di,,en,Molti esperti di informatica ora si chiedono se la tecnologia orientata agli oggetti sia stata sfruttata eccessivamente,,en 2008. Many computing experts now wonder whether the object oriented technology has been overplayed.

Sezioni

Zero e uno

Computers are notorious for their infuriatingly literal obedience. I am sure anyone who has ever worked with a computer has come across the lack of empathy on its part — it follows our instructions to the dot, yet ends up accomplishing something altogether different from what we intend. We have all been bitten in the rear end by this literal adherence to logic at the expense of commonsense. We can attribute at least some of the blame to our lack of understanding (sì, literal and complete understanding) of the paradigms used in computing.

Rich in paradigms, the field of computing has a strong influence in the way we think and view the world. Se non mi credete, just look at the way we learn things these days. Do we learn anything now, or do we merely learn how to access information through browsing and searching? Even our arithmetic abilities have eroded along with the advent of calculators and spreadsheets. I remember the legends of great minds like Enrico Fermi, who estimated the power output of the first nuclear blast by floating a few pieces of scrap paper, and like Richard Feynman, who beat an abacus expert by doing binomial expansion. I wonder if the Fermis and Feynmans of our age would be able to pull those stunts without pulling out their pocket calculators.

Procedural programming, through its unwarranted reuse of mathematical symbols and patterns, has shaped the way we interact with our computers. The paradigm that has evolved is distinctly unmathematical. Functional programming represents a counter attack, a campaign to win our minds back from the damaging influences of the mathematical monstrosities of procedural languages. The success of this battle may depend more on might and momentum rather than truth and beauty. In our neck of the woods, this statement translates to a simple question: Can we find enough developers who can do functional programming? Or is it cheaper and more efficient to stick to procedural and object oriented methodologies?

Sezioni

Come salvare una stringa in un file locale in PHP?

Questo post è il secondo nella mia serie Geek.

Durante la programmazione il mio Tema Tweaker, Mi sono imbattuto in questo problema. Avevo una corda sul mio server nel mio programma php (il foglio di stile ottimizzato, infatti), e volevo dare all'utente la possibilità di salvare in un file il suo computer. Avrei pensato che questo era un problema comune, e tutti i problemi comuni possono essere risolti da usare Google. Ma, Ed ecco, Io non riuscivo a trovare una soluzione soddisfacente. Ho trovato la mia, e ho pensato di condividerle qui, a beneficio di tutti i Googler futuri ancora venire e andare.

Prima di andare nella soluzione, cerchiamo di capire qual è il problema. Il problema è nella divisione del lavoro tra due computer — uno è il server, dove il vostro WordPress e PHP sono in esecuzione; l'altro è il computer del cliente, dove la visualizzazione avviene. La stringa di cui stiamo parlando è sul server. Noi vogliamo salvarlo in un file sul computer del cliente. L'unico modo per farlo è quello di servire la stringa come una risposta html.

A prima vista, questo non sembra un grosso problema. Dopotutto, server inviano regolarmente stringhe e dati ai clienti — è così che vediamo qualcosa sul browser, tra cui quello che stai leggendo. Se fosse un qualsiasi programma PHP che vuole salvare la stringa, non sarebbe un problema. Si può solo scaricare la stringa in un file sul server e servire il file.

Ma cosa fare se non si vuole dare al mondo intero un modo di dumping stringhe da file sul server? Bene, si potrebbe fare qualcosa di simile:

<?php
header('Content-Disposition: attachment; filename="style.css"');
header("Content-Transfer-Encoding: ascii");
header('Expires: 0');
header('Pragma: no-cache');
print $stylestr ;
?>

Così, basta mettere questo codice nel tuo foo.php che calcola la stringa $ stylestr e si è fatto. Ma il nostro problema è che stiamo lavorando nel quadro plugin per WordPress, e non è possibile utilizzare l'intestazione() chiamate. Quando si tenta di farlo, si otterrà il messaggio di errore dicendo che intestazione è già stato fatto tizio. Per questo problema, Ho trovato la soluzione ingegnosa in uno dei plugin che uso. Hai dimenticato che uno, ma credo che sia una tecnica comune. La soluzione è quella di definire un iFrame vuota e impostare la sua fonte di ciò che la funzione PHP scriverebbe. Poiché iFrame aspetta un sorgente HTML completo, si è permesso (infatti, obbligato) invia l'intestazione() direttive. Il frammento di codice simile a:

<iframe id="saveCSS" src="about:blank" style="visibility:hidden;border:none;height:1em;width:1px;"></iframe>
<script type="text/javascript">
var fram = document.getElementById("saveCSS");
<?php echo 'fram.src = "' . $styleurl .'"' ;
?>

Ora la domanda è, ciò che dovrebbe essere la fonte? In altre parole, ciò che è $ styleUrl? Chiaramente, non sarà un file statico sul server. E lo scopo di questo post è quello di dimostrare che esso non deve essere un file sul server a tutti. Si tratta di una risposta in due parti. Bisogna ricordare che si sta lavorando nel quadro di WordPress, e non è possibile rendere i file php standalone. L'unica cosa che puoi fare è quello di aggiungere argomenti per i file php esistenti, o i plugin hanno creato. Quindi prima di effettuare un pulsante di invio come segue:

<form method="post" action="<?php echo $_SERVER["REQUEST_URI"]?>">
<div class="submit">
<input type="submit" name="saveCSS" title="Download the tweaked stylesheet to your computer" value="Download Stylesheet" />
</div>

Si noti che l'attributo nome del pulsante è “saveCSS.” Ora, nella parte del codice che gestisce sottomette, fai qualcosa come:

<?php
if (isset($_POST['saveCSS']))
$styleurl = get_option('siteurl') . '/' . "/wp-admin/themes.php?page=theme-tweaker.php&save" ;

?>

Questo è il $ styleUrl che dareste come la fonte della vostra iFrame, avanti. Si noti che è lo stesso come tua pagina pluging URL, tranne che sei riuscito a aggiungere “?salvare” al termine di essa. Il trucco successivo è quello di catturare tale argomento e gestirlo. Per questo, si utilizza la funzione API di WordPress, add_action come:

<?php
if (isset($_GET['save'] ))
add_action('init', array(&$thmTwk, 'saveCSS'));
else
remove_action('init', array(&$thmTwk, 'saveCSS'));
?>

Questo aggiunge una funzione saveCSS alla parte init del vostro plugin. Ora dovete definire questa funzione:

<?php
function saveCSS() {
header('Content-Disposition: attachment; filename="style.css"');
header("Content-Transfer-Encoding: ascii");
header('Expires: 0');
header('Pragma: no-cache');
$stylestr = "Whatever string you want to save";
ob_start() ;
print $stylestr ;
ob_end_flush() ;
die() ;
}
?>

Ora siamo quasi a casa gratis. L'unica cosa da capire è che si fare necessario il dado(). Se la funzione non muore, si sputano il resto della roba generato WordPress nel tuo file di salvataggio, aggiungerlo alla stringa $ stylestr.

Può sembrare complicato. Bene, Credo che sia un po 'complicato, ma una volta che si implementa e farlo funzionare, puoi (e fare) non pensarci più. Almeno, Faccio. È per questo che ho postato qui, in modo che la prossima volta che ho bisogno di farlo, Posso guardare in su.

Geeks

Ho fatto un po 'di roba geek ultimamente — scrittura Plugin di WordPress. Bene, è perché sto soffrendo da un terribile blocco dello scrittore.

Vedi, Io dovrei essere lavorando al mio prossimo libro. Ho stupidamente promesso un paio di capitoli di I principi di sviluppo quantitativo al mio commissioning editor a John Wiley & Sons entro un mese; ora mi ritrovo a scrivere tutto diverso da quei capitoli rammendate! Compresi i plugin. Venendo a pensarci bene, scrivendo quei capitoli non sarebbe meno geek, è vero?

Che mi ha fatto chiedo… Abbiamo tutti iniziato come geek, non l'abbiamo fatto noi? Inutile negarlo. Ricordate come i nostri insegnanti ci ha amati, e le cheerleaders sexy, bene, non ha fatto? Più tardi nella vita, a causa di esigenze di circostanze, possiamo aver provato a perdere il nostro techie alone e simulare una postura manageriale. Ma, nei momenti di panico, torniamo alle nostre radici Geek. Almeno, Faccio.

Credi di no? Bene, prova anche questi scherzi Geek. Se li trovate divertenti, è probabile che le vostre radici non sono troppo diversi dai miei.

Heisenberg stava guidando lungo la strada quando è stato fermato per eccesso di velocità. L'ufficiale dice, “Sapete quanto velocemente si andavano?” Heisenberg dice, “Non, ma io non so dove mi trovo!”

Due atomi di idrogeno entrare in un bar. Uno dice, “Ho perso la mia elettrone!” L'altro dice, “Sei sicuro?” Le prime risposte, “Sì, Sono positivo…”

Pickup Lines Geek:

  • Dimmi di questa cosa che gli umani chiamano [pausa drammatica] amare.
  • Se si attiva me down ora, Diventerò più ubriaco di quanto tu possa immaginare.
  • Non mi chiamano Ossa perché sono un medico.
  • Il tuo nome è Leslie? Guardi, Posso incantesimo il tuo nome sulla mia calcolatrice!
  • Che cosa è una bella ragazza come te in un alveare miserabile di feccia e malvagità come questo?
  • Devi essere Windows 95 perché mi hai così instabile.
  • Il mio 'up-tempo’ è meglio di BSD.
  • Posso dire dai vostri emoticon che stai cercando qualche azienda.
  • È che un iPod mini in tasca o sei solo felice di vedermi.
  • Vuoi vedere la mia Red Hat?
  • Se non vuoi farmi comprare da bere, almeno Correzione vostro laptop.
  • Lei mi aveva a “Ciao Mondo.”
  • Mente se corro un sniffer per vedere se le porte sono aperte?
  • Mi fai venire voglia di aggiornare il mio Tivo.
  • Guardando a voi posso dire che sei 36-25-36, che tra l'altro sono tutti quadrati perfetti.
  • Jedi Mind Trick: “Questo è il geek che stai cercando.” [Waves mano]
  • Si può mettere un Trojan sul mio momento Hard Drive.
  • Avete mai Googled te?
  • Che ne dici di fare un po 'di saliva scambio peer-to-peer?
  • Con il mio quoziente intellettivo e il corpo potremmo cominciare una razza di superchildren genetici per conquistare la terra.
  • Che cosa è una ragazza come te in un posto come questo, quando c'è un Farscape maratona in questo momento sul canale Sci Fi.
  • Sono attratto da voi così fortemente, gli scienziati dovranno sviluppare una quinta forza fondamentale.

Che cosa rende 100%?

Che cosa significa dare più di 100%? Vi siete mai chiesti di quelle persone che dicono che stanno dando più di 100%? Siamo stati tutti a quelle riunioni dove qualcuno vuole di dare corso 100%. Come circa il raggiungimento 103%? Ciò che rende up 100% nella vita? Ecco un piccolo formula matematica che potrebbe aiutare a rispondere a queste domande:

Se:

ABCDEFGHIJKLMNOPQRSTU VWXYZ sono rappresentati come:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

poi H-A-R-D-W-O-R-K = 8+1+18+4+23+15+18+11 = 98%

e K-N-O-W-L-E-D-G-E = 11+14+15+23+12+5+4+7+5 = 96%

ma A-T-T-I-T-U-D-E = 1+20+20+9+20+21+4+5 = 100%

e B-U-L-L-S-H-I-T = 2+21+12+12+19+8+9+20 = 103%

ma guarda quanto ass baciare vi porterà.

A-S-S-K-I-S-S-I-N-G = 1+19+19+11+9+19+19+9+14+7 = 118%

Così, si può concludere con certezza matematica che, mentre il lavoro duro e la conoscenza si arriva chiudere, e Attitude si arriva lì, è il Bullshit e Ass baci che vi metterà sopra le righe.

Incontro Bingo Game

Questo è un pezzo divertente che ho trovato sul web. Se ti piace davvero, c'è da chiedersi — io sono ancora facendo troppa roba techie e troppo poco di gestione?

Mai stato in una riunione da capogiro con un certo MBA tipo sputa fuori una sequenza di parole d'ordine ha letto sul retro di un biglietto Careers for Dummies libro? Stampa questo fuori e quando si arriva 7 orizzontale, verticale o diagonale, gridare BINGO!

& Nbsp;

Synergy Offline Strategic Fit Interfaccia Gap Analysis Best Practice The Bottom Line
Core Business Andando avanti Toccare Base Rivisitare Game Plan Curva di apprendimento Ripristina urgenza
Out of the Loop Andare il miglio supplementare Segno di riferimento The Big Picture Valore Aggiunto Movers and Shakers Ballpark
Proactive, non reattiva Win-win Think Outside the Box Fast Track Risultati Driven Empowerment Definire e Sign Off
Partner Led Business Case Change Management Alla fine della giornata Retroazione locale Le zecche nelle caselle Mindset
Effetto a catena Mettete questo Bed Focalizzata sui clienti Quality Driven Spostare i Pali Process Improvement Larghezza di banda
Facilitare Knowledge Base Ridimensionarsi Rocket Science Skill Set Incentrato clienti Rampa

(Questo scherzo è stato trovato al Email Flotsam pagina al World di Mike)