Tag Αρχεία: geek

Κενή οθόνη μετά αδρανοποίησης ή σε κατάσταση νάρκης?

Εντάξει, η σύντομη απάντηση, αυξήσει την εικονική μνήμη σας σε περισσότερο από το μέγεθος της φυσικής μνήμης σας.

Long έκδοση τώρα. Πρόσφατα, Είχα αυτό το πρόβλημα με τον υπολογιστή μου, ότι δεν θα ξυπνήσει από την κατάσταση αδρανοποίησης ή κοιμούνται σωστά. Το ίδιο το PC θα είναι και να αναδεύουν, αλλά η οθόνη θα στραφούν σε λειτουργία εξοικονόμησης ενέργειας, διαμένουν κενό. Το μόνο πράγμα που πρέπει να κάνουμε σε αυτό το σημείο θα ήταν να κάνετε επανεκκίνηση του υπολογιστή.

Όπως και η καλή netizen που είμαι, I έψαξε στο διαδίκτυο για την εξεύρεση λύσης. Αλλά δεν βρίσκουν κάποια. Ορισμένοι πρότειναν την αναβάθμιση του BIOS, αντικαθιστά την κάρτα γραφικών και ούτω καθεξής. Τότε είδα αυτό αναφέρεται σε μια ομάδα Linux, λέγοντας ότι το μέγεθος του αρχείου μετάθεσης πρέπει να είναι μεγαλύτερη από τη φυσική μνήμη, και αποφάσισα να το δοκιμάσω για τα Windows XP μηχανή μου. Και θα λυθεί το πρόβλημα!

Έτσι, η λύση σε αυτό το ζήτημα από κενή οθόνη μετά το ξύπνημα είναι να ρυθμίσετε το μέγεθος της εικονικής μνήμης σε κάτι μεγαλύτερο από τη μνήμη στο σύστημά σας. Αν χρειάζεστε περισσότερες πληροφορίες, εδώ είναι το πώς, στο βήμα-προς-βήμα μορφή. Οι οδηγίες αυτές εφαρμόζονται σε υπολογιστή με Windows XP.

  1. Κάντε δεξί κλικ στο “Ο υπολογιστής μου” και πατήστε “Ιδιότητες.”
  2. Ρίξτε μια ματιά στο μέγεθος της μνήμης RAM, και κάντε κλικ στο “Σύνθετη” καρτέλα.
  3. Κάντε κλικ στο “Ρύθμιση” κουμπί κάτω από το “Επιδόσεις” πλαίσιο ομάδας.
  4. Σε ο “Επιλογές επιδόσεων” παράθυρο που εμφανίζεται, επιλέξτε το “Σύνθετη” καρτέλα.
  5. Σε ο “Εικονική Μνήμη” ομάδα κουτί κοντά στο κάτω μέρος, κάντε κλικ στο “Αλλαγή” κουμπί.
  6. Σε ο “Εικονική Μνήμη” παράθυρο που αναδύεται, ρυθμίσετε το “Custom Size” σε κάτι περισσότερο από ό, τι το μέγεθος της RAM σας (ότι είδατε στο βήμα 2). Μπορείτε να το ρυθμίσετε για κάθε διαμέρισμα του σκληρού δίσκου που έχετε, αλλά αν έχετε την ευκαιρία μέσα από όλες αυτές τις οδηγίες, οι πιθανότητες είναι έχετε μόνο “C:”. Στην περίπτωσή μου, Επέλεξα να το θέσει σε “M:”.

Magic of 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. Ωστόσο,, 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? Ίσως. Μετά από όλα, η “object” in object oriented programming is already an abstract paradigm, having nothing to do with “That Obscure Object of Desire,” για παράδειγμα.

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 (λένε, 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, όντως, 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 “καθαρότητας,” is the basic design goal of most functional languages, although their architects will concede that most of them are not strictly “pure.”

Τμήματα

Paradigms All the Way

Paradigms permeate almost all aspects of computing. Some of these paradigms are natural. Για παράδειγμα, 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) was a mesh of interconnections residing in the sky above. 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 “Λήψη” ή “upload.” The World Wide Web, από τον τρόπο, 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. Αλλά, 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 (περισσότερο ή λιγότερο) made up of a small group of transistors. Α 32 bit processor has 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. Με άλλα λόγια, 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, string manipulations, 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 μήνες) is that each advance seems to fuel further advances, generating an explosive growth. The first compiler, για παράδειγμα, 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, much like the strong grown in the credit market led to the banking collapses of 2008. Many computing experts now wonder whether the object oriented technology has been overplayed.

Τμήματα

Zeros and Ones

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 (yes, 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. If you don’t believe me, 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?

Τμήματα

Πώς να αποθηκεύσετε ένα string σε ένα τοπικό αρχείο στο PHP?

Αυτή η θέση είναι η δεύτερη στη σειρά geek μου.

Ενώ προγραμματισμού Θέμα Tweaker μου, Ήρθα σε αυτό το πρόβλημα. Είχα μια χορδή στο server μου στο πρόγραμμα php μου (το πειραγμένο στυλ, όντως), και θα ήθελα να δώσει στο χρήστη τη δυνατότητα να αποθηκεύσετε σε ένα αρχείο του υπολογιστή του. Θα ήθελα να έχω σκεφτεί αυτό ήταν ένα κοινό πρόβλημα, και όλα τα κοινά προβλήματα μπορούν να επιλυθούν με Googling. Αλλά, ιδού, Απλά δεν μπορούσε να βρει μια ικανοποιητική λύση. Βρήκα το δικό μου, και σκέφτηκα ότι θα το μοιραστώ εδώ, προς όφελος όλων των μελλοντικών της Google ακόμα να έρθει και να πάει.

Πριν πάμε στο διάλυμα, ας καταλάβουμε ποιο είναι το πρόβλημα. Το πρόβλημα είναι στον καταμερισμό της εργασίας μεταξύ των δύο υπολογιστών — ένας είναι ο διακομιστής, όπου WordPress και PHP σας είναι σε λειτουργία; η άλλη είναι ο υπολογιστής του πελάτη όταν η προβολή γίνεται. Η σειρά μιλάμε είναι στο διακομιστή. Θέλουμε να το αποθηκεύσετε σε ένα αρχείο στον υπολογιστή του πελάτη. Ο μόνος τρόπος για να γίνει αυτό είναι με τη σειρά που υπηρετούν ως html απάντηση.

Με την πρώτη ματιά, Αυτό δεν μοιάζει με ένα μεγάλο πρόβλημα. Μετά από όλα, servers στέλνουν τακτικά χορδές και τα δεδομένα για τους πελάτες — αυτό είναι το πώς βλέπουμε τίποτα σχετικά με το πρόγραμμα περιήγησης, συμπεριλαμβανομένου του τι διαβάζετε. Αν ήταν ένα οποιοδήποτε πρόγραμμα PHP που θέλει να σώσει το string, δεν θα είναι ένα πρόβλημα. Θα μπορούσατε να πετάξεις απλά το string σε ένα αρχείο στον server και να εξυπηρετήσει το αρχείο.

Αλλά τι θα κάνεις αν δεν θέλετε να δώσει ολόκληρο τον κόσμο έναν τρόπο χορδές ντάμπινγκ για τα αρχεία στον server σας? Καλά, θα μπορούσατε να κάνετε κάτι σαν αυτό:

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

Έτσι, μόλις τοποθετήσετε αυτόν τον κώδικα σε foo.php σας που υπολογίζει το string $ stylestr και είστε έτοιμοι. Αλλά το πρόβλημα μας είναι ότι εργαζόμαστε στο πλαίσιο plugin WordPress, και δεν μπορούν να χρησιμοποιήσουν την κεφαλίδα() κλήσεις. Όταν προσπαθείτε να το κάνετε αυτό, θα λάβετε το μήνυμα λάθους λέγοντας ότι η επικεφαλίδα έχει ήδη γίνει μάγκα. Γι 'αυτό το πρόβλημα, Βρήκα την έξυπνη λύση σε ένα από τα plugins που χρησιμοποιώ. Ξεχάσατε το οποίο ένα, αλλά υποθέτω ότι είναι μια κοινή τεχνική. Η λύση είναι να ορίσετε ένα άδειο iFrame και να ορίσετε την πηγή της σε ό, τι η λειτουργία PHP θα γράψω. Από iFrame αναμένει μια πλήρη πηγαίο κώδικα HTML, σας επιτρέπεται (όντως, υποχρεωμένος) για να δώσει την κεφαλίδα() οδηγίες. Το απόσπασμα κώδικα μοιάζει κάτι σαν:

<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 .'"' ;
?>

Τώρα το ερώτημα είναι, τι θα πρέπει να είναι η πηγή? Με άλλα λόγια, τι είναι $ styleurl? Σαφώς, δεν πρόκειται να είναι ένα στατικό αρχείο στον server σας. Και ο σκοπός αυτής της θέσης είναι να δείξει ότι δεν πρέπει να είναι ένα αρχείο στον κεντρικό υπολογιστή σε όλα. Είναι μια απάντηση σε δύο μέρη. Θα πρέπει να θυμάστε ότι εργάζεστε στο πλαίσιο WordPress, και δεν μπορείτε να κάνετε αυτόνομο αρχεία php. Το μόνο πράγμα που μπορείτε να κάνετε είναι να προσθέσετε τα επιχειρήματα με τα υπάρχοντα αρχεία php, ή τα plugins που έχετε δημιουργήσει. Έτσι, μπορείτε να κάνετε πρώτα ένα κουμπί υποβάλει ως εξής:

<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>

Σημειώστε ότι η ιδιότητα όνομα του κουμπιού είναι “saveCSS.” Τώρα, στο τμήμα του κώδικα που χειρίζεται submits, κάνετε κάτι σαν:

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

?>

Αυτό είναι το $ styleurl που θα δώσει ως πηγή iFrame σας, προς τα εμπρός. Σημειώστε ότι είναι το ίδιο με pluging διεύθυνση URL της σελίδας σας, εκτός από το ότι καταφέρατε να προσθέσετε “?εκτός” στο τέλος του. Το επόμενο κόλπο είναι να συλλάβει αυτό το επιχείρημα και να το χειριστούμε. Γι 'αυτό, μπορείτε να χρησιμοποιήσετε τη λειτουργία WordPress API, add_action ως:

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

Αυτό προσθέτει ένα saveCSS λειτουργία στο τμήμα init του plugin σας. Τώρα πρέπει να ορίσετε αυτή τη λειτουργία:

<?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() ;
}
?>

Τώρα είμαστε σχεδόν σπίτι δωρεάν. Το μόνο πράγμα που πρέπει να κατανοήσουμε είναι ότι σας του Χρειάζεται τη μήτρα(). Εάν η λειτουργία σας δεν πεθαίνει, θα διασπείρουν το υπόλοιπο του WordPress που δημιουργείται πράγματα σε αποθηκεύσετε το αρχείο σας, προσαρτώντας το σε string $ stylestr σας.

Μπορεί να φαίνεται περίπλοκη. Καλά, Υποθέτω ότι είναι λίγο περίπλοκο, αλλά τη στιγμή που θα το εφαρμόσει και να πάρει το τρέξιμο, μπορείτε να (και να κάνουμε) ξεχάσουμε αυτό. Τουλάχιστον, Κάνω. Γι 'αυτό δημοσιεύτηκε εδώ, έτσι ώστε την επόμενη φορά που θα χρειαστεί να το κάνουμε, Μπορώ να κοιτάζω προς τα πάνω.

Geeks

I have been doing a bit of geeky stuff lately — writing WordPress plugins. Εντάξει, it is because I’m suffering from a terrible writer’s block.

Μπορείτε να δείτε, I’m supposed to be working on my next book. I foolishly promised a couple of chapters of Οι Αρχές της Ποσοτικής Ανάπτυξης to my commissioning editor at John Wiley & Sons within a month; now I find myself writing everything other than those darned chapters! Including plugins. Ερχόμενοι να σκεφτούμε ότι, writing those chapters wouldn’t be any less geeky, θα είναι?

That made me wonder… We all started off as geeks, didn’t we? No use denying it. Remember how our teachers loved us, and the sexy cheerleaders, καλά, didn’t? Later in life, due to exigencies of circumstances, we may have tried to lose our techie halo and simulate a managerial posture. Αλλά, in our moments of panic, we go back to our geek roots. Τουλάχιστον, Κάνω.

You think you don’t? Καλά, check out these geek jokes. If you find them funny, chances are your roots are not too different from mine.

Heisenberg was driving down the highway when he was pulled over for speeding. The officer says, “Do you know how fast you were going?” Heisenberg says, “Μη, but I do know where I am!”

Two Hydrogen atoms walk into a bar. One says, “I’ve lost my electron!” The other says, “Are you sure?” The first replies, “Ναι, I’m positive…”

Geek Pickup Lines:

  • Tell me of this thing you humans call [dramatic pause] love.
  • If you turn me down now, I will become more drunk than you can possibly imagine.
  • They don’t call me Bones because I’m a doctor.
  • Your name is Leslie? Κοιτάξτε, I can spell your name on my calculator!
  • What’s a nice girl like you doing in a wretched hive of scum and villainy like this?
  • You must be Windows 95 because you got me so unstable.
  • My ‘up-time’ is better than BSD.
  • I can tell by your emoticons that you’re looking for some company.
  • Is that an iPod mini in your pocket or are you just happy to see me.
  • Want to see my Red Hat?
  • If you won’t let me buy you a drink, at least let me fix your laptop.
  • You had me at “Hello World.”
  • Mind if I run a sniffer to see if your ports are open?
  • You make me want to upgrade my Tivo.
  • By looking at you I can tell you’re 36-25-36, which by the way are all perfect squares.
  • Jedi Mind Trick: “This is the geek you’re looking for.” [Waves hand]
  • You can put a Trojan on my Hard Drive anytime.
  • Have you ever Googled yourself?
  • How about we do a little peer-to-peer saliva swapping?
  • With my IQ and your body we could begin a race of genetic superchildren to conquer the earth.
  • What’s a girl like you doing in a place like this when there’s a Farscape marathon on right now on the Sci Fi channel.
  • I’m attracted to you so strongly, scientists will have to develop a fifth fundamental force.

What Makes 100%?

What does it mean to give MORE than 100%? Ever wonder about those people who say they are giving more than 100%? We have all been to those meetings where someone wants you to give over 100%. How about achieving 103%? What makes up 100% in life? Here’s a little mathematical formula that might help you answer these questions:

Αν:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z are represented as:

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

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

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

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

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

but look how far ass kissing will take you.

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

Έτσι, one can conclude with mathematical certainty that While Hard work and Knowledge will get you close, and Attitude will get you there, it’s the Bullshit and Ass kissing that will put you over the top.

Meeting Bingo Game

This one is a hilarious piece I found on the Web. If you really like it, you have to wonder — am I still doing too much techie stuff and too little management?

Ever been in a mind-numbing meeting with some MBA-type spewing forth a sequence of buzzwords he read on the back of a Business Careers for Dummies book? Print this out and when you get 7 horizontal, vertical or diagonal, shout BINGO!

& Nbsp?

Synergy Offline Strategic Fit Interface Gap Analysis Best Practice The Bottom Line
Core Business Going Forward Touch Base Revisit Game Plan Learning Curve Revert Urgently
Out of the Loop Go the Extra Mile Benchmark The Big Picture Value Added Movers and Shakers Ballpark
Proactive, not Reactive Win-Win Situation Think Outside the Box Fast Track Results Driven Empowerment Define and Sign Off
Partner Led Business Case Change Management At the End of the Day Local Feedback Ticks in the Boxes Mindset
Knock-On Effect Put this to Bed Client-Focused Quality Driven Move the Goal Posts Process Improvement Bandwidth
Facilitate Knowledge Base Downsize Rocket Science Skill Set Customer Focused Ramp Up

(This joke was found at the Email Flotsam page at Mike’s World)