background preloader

Programing

Facebook Twitter

Data Structures and Algorithms with Object-Oriented Design Patterns in C++ C Craft - Chapter 1. Introduction. C is the desert island language. This is my favourite statement from a talk Rob Pike gave in 2001. Despite its age, despite many flaws, C is still the de facto standard, the lingua franca. Why? As with other older languages, inertia is partly to blame, but this cannot be the only reason.

C must possess a near-perfect balance of vital language features. Or as Linus Torvalds puts it, “C is the only sane choice”. One of C’s designers, Dennis Ritchie, gives a modest account of the evolution of C. The canonical reference, Kernighan and Ritchie’s "The C Programming Language" is slim, yet contains much more than the language specification. Not only is C easy for humans to understand, but machines too can pick up the language quickly.

I can roughly envision the assembly generated by a C statement, so I can make educated guesses about time and space efficiency. Brevity is the soul of wit. In my Eiffel days, I was encouraged to write "integer", not "int", "character", not "char", and so on. How to be a Programmer: A Short, Comprehensive, and Personal Summary. Debugging is the cornerstone of being a programmer. The first meaning of the verb to debug is to remove errors, but the meaning that really matters is to see into the execution of a program by examining it. A programmer that cannot debug effectively is blind. Idealists that think design, or analysis, or complexity theory, or whatnot, are more fundamental are not working programmers. The working programmer does not live in an ideal world. Even if you are perfect, your are surrounded by and must interact with code written by major software companies, organizations like GNU, and your colleagues.

Most of this code is imperfect and imperfectly documented. Debugging is about the running of programs, not programs themselves. To get visibility into the execution of a program you must be able to execute the code and observe something about it. The common ways of looking into the ‘innards’ of an executing program can be categorized as: How to Debug by Splitting the Problem Space. 100+ Google Tricks That Will Save You Time in School – Eternal Code.

[via onlinecolleges.net] With classes, homework, and projects–not to mention your social life–time is truly at a premium for you, so why not latch onto the wide world that Google has to offer? From super-effective search tricks to Google hacks specifically for education to tricks and tips for using Gmail, Google Docs, and Google Calendar, these tricks will surely save you some precious time. Search Tricks These search tricks can save you time when researching online for your next project or just to find out what time it is across the world, so start using these right away.

Convert units. Google Specifically for Education From Google Scholar that returns only results from scholarly literature to learning more about computer science, these Google items will help you at school. Google Scholar. Google Docs Google Docs is a great replacement for Word, Excel, and PowerPoint, so learn how to use this product even more efficiently. Use premade templates. Gmail Use the Tasks as a to-do list. Crypto. Data Structures and Algorithms by John Morris.

Top 50 Free Open Source Classes on Computer Science : Comtechtor. Computer science is an interesting field to go into. There are a number of opportunities in computer science that you can take advantage of. With computers increasingly becoming a regular part of life, those who can work with computers have good opportunities.

You can find a good salary with a program in computer science, and as long as you are careful to keep up your skills. Here are 50 free opencourseware classes that can help you learn more about computer science: Introduction to Computer Science Learn the basics of computer science, and get a foundation in how computer science works. Introduction to Computer Science: Learn about the history of computing, as well as the development of computer languages. Comprehensive Computer Science Collections If you are interested in courses that are a little more comprehensive in nature, you can get a good feel for computer science from the following collections: Programming and Languages Computer Software Computer Systems and Information Technology. MR01001101 :: cryptography steganography resources and challenges. 12 Absolutely and Insanely Essential Utilities For Programmers. In every era in recent times there has been one profession that for a short while you could enter without formal training.

Autodidacts in the 19th century could read the law without recourse to formal education (see Abe Lincoln). In the early 20th century it was aviation. For a short while in the 1980s and early 1990s, it was computing, thanks to the release of the Apple IIe, the IBM PC and the Mac. Were it not for that Window® of opportunity, I hate to think what would have become of me. (Hey buddy, can you spare a dime?) But I was very lucky, when I became serious about learning to program all i needed was a book on the 8088 and a book on C, and I was all set to Rock and Roll. As much as I continue to love to code 30 years later, there are a few aspects I hate: Doing a mundane task more than onceNot remembering how i fixed this problem in the pastLosing work to crashed disks or stupid irreversible revisionsNot being able to find subtle text differences in files.

Before We Begin # 1. A Radical New Router. Photo: Jonathan Sprague/Redux Flow control: The Anagran FR-1000 can be plugged into existing networks and can manage up to 4 million simultaneous flows. As I talk to network operators all over the world, I hear one story after another about how the problem is only getting worse. Data traffic has been doubling virtually every year since 1970. Thanks to the development of high-capacity optical systems like dense wave division multiplexing (DWDM), bandwidth cost has been halved every year, so operators don’t have to spend more than they did the year before to keep up with the doubling in traffic.

Flow management can solve this capacity crunch. All packets that are part of the same flow carry the same five-value identification. If traffic gets too heavy, you’ll still have to discard packets. This capability is especially convenient for managing network overload due to P2P traffic. Like a regular router, the FR-1000 has input and output ports. Cryptography. Ciphers By Ritter: Cryptography and Technology. Flex/ActionScript/C++/Scratch/Alice/C#/Java/JavaScript/XML Programming, by Richard G Baldwin. About - App Inventor for Android. How to Design Programs. Handbook of Applied Cryptography. Alfred J. Menezes, CRC Press ISBN: 0-8493-8523-7 October 1996, 816 pages Fifth Printing (August 2001) The Handbook was reprinted (5th printing) in August 2001.

The publisher made all the various minor changes and updates we submitted. You can identify the 5th printing of the book by looking for "5 6 7 8 9 0" at the bottom of the page that includes the ISBN number. You can order the handbook today from any one of these online bookstores: Amazon Books (amazon.com) (Price as of May 9, 2016: US $84.10). Amazon.ca (for Canadian orders) (Price as of May 9, 2016: Cdn $118.22). CRC Press (Price as of May 9, 2016: US $97.95). Sample Chapters FREE!! 22 Windows 7 Freeware That You Should Know About.

Microsoft’s Windows 7 brought with it a revolution in the way the Windows operating environment worked, behaved, looked and felt. Though loaded with a host of useful features, many third-party apps out there can actually make life much easier for any average Joe. Hence, we present a collection of 22 freeware for Windows 7. Hang on tight and enjoy the ride. 1. Google Quick Search Box In Windows 7 Taskbar A not-so-publicized feature, Google quick search box for Windows adds a Google button next to the Windows orb in your taskbar, and allows you to perform a variety of Google searches right from your desktop. Google Quick Search Box 2. Win Integrator allows you to install Windows 7 the way you want, providing complete freedom choose what to install and what not, and remove features and programs, add drivers or updates as per your liking, all prior to installation. Win Integrator 3. Auto Logon & Lock 4. Psycho Folder 5. Universal Viewer 6.

How To Resize Thumbnails 7. AutoPatcher Updater 8. Maxifier. Firewalls and Hidden VLANs. Learn How to Code this Weekend. Embedded Systems Internet Resources. An Overview of Cryptography. As an aside, the AES selection process managed by NIST was very public. A similar project, the New European Schemes for Signatures, Integrity and Encryption (NESSIE), was designed as an independent project meant to augment the work of NIST by putting out an open call for new cryptographic primitives. NESSIE ran from about 2000-2003. While several new algorithms were found during the NESSIE process, no new stream cipher survived cryptanalysis. As a result, the ECRYPT Stream Cipher Project (eSTREAM) was created, which has approved a number of new stream ciphers for both software and hardware implementation.

Similar — but different — is the Japanese Government Cryptography Research and Evaluation Committees (CRYPTREC) efforts to evaluate algorithms submitted for government and industry applications. CAST-128/256: CAST-128, described in Request for Comments (RFC) 2144, is a DES-like substitution-permutation crypto algorithm, employing a 128-bit key operating on a 64-bit block. 3.3. 10 Certifications to Improve Your IT Career. IT is constantly changing as new technologies are implemented.

Certifications are one way IT professionals can keep up with current trends in IT technology, build their IT resume and open new doors of opportunity. Which certifications are right for you depends on your career path. A certification in your current line of work will certify your skills and increase your value in your present position. If you are looking to move into other areas of IT a certification can give you the skills and knowledge you need to make the jump.

Certifications should be looked at for what they can do for you now and in the future. 10 Career Building Certifications Below in no particular order are 10 certifications that can certify and improve your present skills and add valuable stops on your IT career path. ITIL V3 Foundation Certificate in IT Service Management ITIL v3 is a best practice framework for IT Service Management that is being adopted by IT departments around the world.

CompTIA Security+ IT Security Best Practices (How-To) Visual Cryptography. What is Visual Cryptography Visual Cryptography is a special encryption technique to hide information in images in such a way that it can be decrypted by the human vision if the correct key image is used. The technique was proposed by Naor and Shamir in 1994. Visual Cryptography uses two transparent images. One image contains random pixels and the other image contains the secret information. It is impossible to retrieve the secret information from one of the images. When the random image contains truely random pixels it can be seen as a one-time pad system and will offer unbreakable encryption. How Visual Cryptography works Each pixel of the images is divided into smaller blocks.

In the table on the right we can see that a pixel, divided into four parts, can have six different states.If a pixel on layer 1 has a given state, the pixel on layer 2 may have one of two states: identical or inverted to the pixel of layer 1. We can now create the two layers. Additional information. 70 Things Every Computer Geek Should Know. | Arrow Webzine. The term ‘geek’, once used to label a circus freak, has morphed in meaning over the years. What was once an unusual profession transferred into a word indicating social awkwardness.

As time has gone on, the word has yet again morphed to indicate a new type of individual: someone who is obsessive over one (or more) particular subjects, whether it be science, photography, electronics, computers, media, or any other field. A geek is one who isn’t satisfied knowing only the surface facts, but instead has a visceral desire to learn everything possible about a particular subject. A techie geek is usually one who knows a little about everything, and is thus the person family and friends turn to whenever they have a question. If you’re that type of person and are looking for a few extra skills to pick up, or if you’re a newbie aiming to get a handhold on the honor that is geekhood, read on to find out what skills you need to know.

How to become a real computer Geek? 1. 2. 3. 4. 5. 6. 7. 8. 9.