background preloader

Dev

Facebook Twitter

You Arent Gonna Need It. YouArentGonnaNeedIt (often abbreviated YAGNI, or YagNi on this wiki) is an ExtremeProgramming practice which states: "Always implement things when you actually need them, never when you just foresee that you need them. " Even if you're totally, totally, totally sure that you'll need a feature later on, don't implement it now. Usually, it'll turn out either a) you don't need it after all, or b) what you actually need is quite different from what you foresaw needing earlier. This doesn't mean you should avoid building flexibility into your code. It means you shouldn't overengineer something based on what you think you might need later on. This also follows the KISS theorem: Keep it simple, stupid! There are two main reasons to practise YagNi: You save time, because you avoid writing code that you turn out not to need. "OK, Sam, why do you want to add it now?

" "Well, Ron, it will save time later. " "We will be able to do less work overall, at the cost of doing more work now. " Keep it simple. SWF Decompiler, Flash Decompiler, SWF to Flex, SWF To FLA Converter, Flash Extract, Recover FLA. HP's Free Adobe Flash Vulnerability Scanner. Shigeru Nakagaki | Blog ( Flex, AIR, ColdFusion ) | AIR : I made LibraryManager to compare Flex 3 APIs with Flex 2.0.1. Internet RFC/STD/FYI/BCP Archives Search. Mozilla Firefox. ArticleS.UncleBob.PrinciplesOfOod. The Principles of OOD What is object oriented design?

What is it all about? What are it's benefits? What are it's costs? Of all the revolutions that have occurred in our industry, two have been so successful that they have permeated our mentality to the extent that we take them for granted. Programs written in these languages may look structured and object oriented, but looks can be decieving. In March of 1995, in comp.object, I wrote an article that was the first glimmer of a set of principles for OOD that I have written about many times since.

These principles expose the dependency management aspects of OOD as opposed to the conceptualization and modeling aspects. Dependency Management is an issue that most of us have faced. The first five principles are principles of class design. The next six principles are about packages. The first three package principles are about package cohesion, they tell us what to put inside packages: Sincerely, Henrik Robert, OOP is too flexible. Hi Bob! Fix arrow keys that display A B C D on remote shell. I wonder how many of you are annoyed with the arrow key behavior during insert mode in Vim.

Leave all the key mappings default, do not change your TERM environment. Here's a simple tip, :set term=cons25 It was tested with Vim 5.8 and 6.1 editions on; FreeBSD 4.X-STABLE; xterm(-color),VT100 remote terminals; (t)csh shells. Edit Easiest Solution Edit 1) Open Vim editor, 2) Get the path of your home directory by typing :echo $HOME 3) Check if you have .vimrc file in $HOME location,(if you don't have create it) 4) Add the following line line to .vimrc file set nocompatible or set nocp Spent a whole day trying to use the escape characters and down arrow keys, i always got the message about error in RHS, finally the above solution worked and now i can use arrow keys in insert mode with both vi and vim.

It also fixes the "backspace won't delete" problem that some people have. Additional solution 1 try this mapping, worked on gvim v7.2 Additional solution 2 set t_ku=[ctrl-v][esc]OA # or whatever you saw to. No|wrap.de - Flasm. About · Download · What's new · Usage · Flash virtual machine · Assembler syntax · Embedding Flasm · Optimization techniques · __bytecode__ · File size difference · Huge scripts · Quirks, bugs and crashes · History · Project state · Resources · Terms of use · Enjoy About Flasm disassembles your entire SWF including all the timelines and events. Looking at disassembly, you learn how the Flash compiler works, which improves your ActionScript skills. You can also do some optimizations on the disassembled code by hand or adjust the code as you wish. Flasm then applies your changes to the original SWF, replacing original actions.

It's also possible to embed Flasm actions in your ActionScript, making optimizing of large projects more comfortable. Flasm is not a decompiler. Page too long? Download The most recent Flasm version is 1.62. Windows binary: flasm16win.zip Mac OS X universal binary: flasm16mac.tgz Linux x86 binary: flasm16linux.tgz There is no installation procedure. Flasm 1.61 Flasm 1.6. Iqdb. Code Charts. Specials Controls: C0, C1 Layout Controls Invisible Operators Specials Tags Variation Selectors Variation Selectors Supplement Private Use Private Use Area Supplementary Private Use Area-A Supplementary Private Use Area-B Surrogates High Surrogates Low Surrogates Noncharacters in Charts Noncharacters in blocks Range in Arabic Presentation Forms-A Range in Specials Noncharacters at end of ...

BMP, Plane 1, Plane 2, Plane 3, Plane 4, Plane 5, Plane 6, Plane 7, Plane 8, Plane 9, Plane 10, Plane 11, Plane 12, Plane 13, Plane 14, Plane 15, Plane 16. Miscellaneous. Wakaba.c3.cx. [32] How to mix C and C++, C++ FAQ Lite. Wakaba and Kareha. Wakaba and Kareha are my attempts at implementing from scratch image and message boards of a type popular in Japan (used on sites such as Futaba Channel and 2channel). This kind of board software is built around anonymous posting and no requirements for registration, to make the boards more suited for casual uses, and more fun overall.

They are written in Perl, and are designed to be more efficient and cleanly written than the original scripts that are available, while preserving the same kind of functionality. Both scripts are in use at iichan, an English-language site built along the same lines as the Japanese Futaba Channel, and also 4-ch, an English-language discussion BBS. Wakaba Wakaba is an image board script very strictly modelled after the Futaba and Futallaby scripts.

Wakaba borrows quite a bit of HTML code and translated text from Futallaby. Kareha Kareha is a message board script. Bit Twiddling Hacks. By Sean Eron Anderson seander@cs.stanford.edu Individually, the code snippets here are in the public domain (unless otherwise noted) — feel free to use them however you please. The aggregate collection and descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and without even the implied warranty of merchantability or fitness for a particular purpose. As of May 5, 2005, all the code has been tested thoroughly. Contents About the operation counting methodology When totaling the number of operations for algorithms here, any C operator is counted as one operation.

Compute the sign of an integer The last expression above evaluates to sign = v >> 31 for 32-bit integers. Alternatively, if you prefer the result be either -1 or +1, then use: sign = +1 | (v >> (sizeof(int) * CHAR_BIT - 1)); // if v < 0 then -1, else +1 On the other hand, if you prefer the result be either -1, 0, or +1, then use: Algorithm Implementation/Sorting/Smoothsort - Wikibooks, collection of open-content textbooks. C++[edit] This implementation of Smoothsort is substantially different (in presentation) from Dijkstra's original one, having undergone some serious refactoring.

In order to keep the code as tidy as possible given the inherent complexity of the algorithm, the helper functions are isolated in an anonymous namespace. In practice, the three sections below would be concatenated in the given order in a separate source file (say, smoothsort.cpp). Last but not least, the code uses the long long unsigned type, which is a gcc extension (no, it isn't). Prototypes and forward declarations[edit] Main body[edit] template <typename T> void smoothsort (T * _m, unsigned _n) throw () /** ** Sorts the given array in ascending order. ** ** Usage: smoothsort (<array>, <size>) ** ** Where: <array> pointer to the first element of the array in question. ** <size> length of the array to be sorted. ** ** **/ { if (!

Helper functions[edit] C[edit] Delphi[edit] Stereopsis : michael herf miscellanei, graphics, code, life. Mozilla Firefox. TGLTLSBFSSP: Graphics. HAKMEM -- CONTENTS -- DRAFT, NOT YET PROOFED. Contents index [Retyped and formatted in 'html' ('Web browser format) by Henry Baker, April, 1995. The goal of this 'html' document is to make HAKMEM available to the widest possible audience -- including those without bitmapped graphics browsers. Therefore, equations have been formatted to be readable even on ASCII browsers such as 'lynx'.

Click here to get original AI Memo 239 in 400 dots/inch, 1 bit/pixel, Group 4 facsimile TIFF format (a single 5 megabyte gzip compressed tar file, AIM-239.tiff.tar.gz).] Work reported herein was conducted at the Artificial Intelligence Laboratory, a Massachusetts Institute of Technology research program supported in part by the Advanced Research Projects Agency of the Department of Defense and monitored by the Office of Naval Research under Contract Number N00014-70-A-0362-0002.

Reproduction of this document, in whole or in part, is permitted for any purpose of the United States Government. People referred to are from the A. I. Once at the A. Bill Mann. Pausing Execution with Sleep (The Java™ Tutorials > Essential Classes > Concurrency) Arbrows : spip-dev.mbox : [spip-dev] Butiner desrépertoires. Byte FIFO : Lock Synchronize « Threads  Ideone.com | Online IDE & Debugging Tool. Flux : BufferedInputStream. Gdb tutorial. 1/ Qu'est-ce que GDB ? GDB est l'acronyme de Gnu DeBugger. C'est un debugger puissant dont l'interface est totalement en ligne de commande, c'est à dire avec une invite en texte. GDB est tellement apprécié qu'on le trouve aussi encapsulé dans des interfaces graphiques, comme XXGDB ou DDD. GDB est publié sous la licence GNU GPL et gratuit par effet de bord. 2/ Compilation pour déboguer j'ai compilé un programme titi. 3/ Démarrage Mon programme fait un core dump à l'exécution... que faire ?

4/ Une situation pratique Je peux mettre un `breakpoint' dans la fonction critique de mon programme. (gdb) b tutu b veut dire breakpoint. Je peux spécifier plutôt une ligne (ex : 134) de mon programme : (gdb) b titi.c:134 Maintenent je lance mon programme sous GDB : (gdb) r r veut dire run, d'ailleurs run marche aussi. Pouf, le programme stoppe sur le breakpoint. (gdb) n GDB me répond en m'affichant la ligne en cours : 1350 if (Array1[i]! (gdb) print i ou bien p i car p veut dire print. (gdb) l bibi (gdb) c. Index of /rapide. Index of /php. Ordonner les activités : wait(), notify()

Suivant: Les démons monter: Les threads précédent: Exécution exclusive de séquences Table des matières Index Sous-sections L'utilisation de sections critiques permet le résoudre le problème de l'accès concurrent par plusieurs threads à une ressource partagée. En revanche elle ne permet pas à plusieurs threads de se synchroniser les uns par rapport aux autres, par exemple lorsqu'un thread souhaite attendre qu'un autre soit arrivé à un certain point de son exécution pour redémarrer. Les méthodes wait() et notify() de Object permettent de réaliser ce type de synchronisation. En plus du verrou cité précédemment, chaque objet Java possède un wait-set et trois méthodes permettant de le manipuler.

Ces méthodes sont définies une fois pour toute dans la classe Object : public class Object { public final void wait() throws InterruptedException public final native void notify() public final native void notifyAll() } wait() notify() notifyAll() Simplement wait() et notify(), oui mais L'exécution donne : Thierry FOURNIER: MySQL Simple Asynchronous Client. About MySAC MySAC is a library that provides mechanisms for making asynchronous request to MySQL database. It uses uses the official MySQL client library for authentication and network functions. Memory allocation must be done in user code, so any memory manager can be used. The actual library is beta. I search people for testing it and submit ideas. Is only tested with mysql 5. For the asynchronous The lib run with the same asynchronous mechanism that openssl: the I/O functions called, returns message "need write" or "need read", and never block.

Concepts: In first step, you allocate memory for MYSAC pools. What's new 1.x version 1.1.1 06 Jun 2011 Regression on authentication function. Beta version 0.5b 31 Mar 2010 A shared object (.so) library is compiled by default. Docs Download. Graphics. Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all.

Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you. These forums are used to discuss computer graphics formats and APIs. If you want better help when relating to a specific API such as DirectX or OpenGL, use the correct sub-forum. 3D Graphics This forum is for discussing 3D programming that isn't related to a specific API. Drawing Polygons, efficient correct polygon rendering. Bob PendletonBob@Pendleton.com Download Demo Download Source Code It's been a busy couple of months since I wrote my last column. I got a wild idea to write a column about drawing polygons. I figured it was going to be easy to write because I knew all about polygons.

After all, polygon code I wrote is out in the world in real live products. Code hidden away in a compiled program has to work, but very few people will ever see it and critique it. I learned that lesson when I first started posting on ARPANET mailing lists. I decided that I better refresh my knowledge about polygons before I dusted of some old code and wrote about it. So, let's start with some basics and some definitions. The simplest way to represent a polygon is as a list of its vertices. Triangles are the simplest polygons. There are three different kinds of polygons. Concave polygons have sides that are "caved" in. Complex polygons are a real mess.

Another term I've seen a lot is "scan conversion. " Speed is important. Programmers Heaven 2 :Graphics: Libraries. Hacker Factor: Home Page. Mozilla Firefox. Java 2 Platform SE v1.3.1: Class Integer. Process Management and Communication. A Visual Explanation of SQL Joins. I love the concept, though, so let's see if we can make it work. Assume we have the following two tables. Table A is on the left, and Table B is on the right. We'll populate them with four records each. id name id name -- ---- -- ---- 1 Pirate 1 Rutabaga 2 Monkey 2 Pirate 3 Ninja 3 Darth Vader 4 Spaghetti 4 Ninja Let's join these tables by the name field in a few different ways and see if we can get a conceptual match to those nifty Venn diagrams.

There's also a cartesian product or cross join, which as far as I can tell, can't be expressed as a Venn diagram: SELECT * FROM TableA CROSS JOIN TableB This joins "everything to everything", resulting in 4 x 4 = 16 rows, far more than we had in the original sets. ErrorKey - Search engine for Error codes and messages. LibUCW. Regex Tester – RegexPal. Index. Bashsimplecurses - Project Hosting on Google Code. List of algorithms. HawkNL Reference Manual - Index. GDB: The GNU Debugger. Flood fill.