SEARCH KEYWORD -- Code highlight



  How to make select in WinSock exceed the 64-socket limit

When doing cross-platform network programming, the only API available on Windows that corresponds to the epoll/kevent style reactor event model is select. However, it has a limitation: the number of sockets passed into select cannot exceed FD_SETSIZE, which is set to 64. Therefore, select in Java’s NIO on Windows also has the same limit. Many services ported to Windows that use the reactor model face this constraint, which often gives the impression that server programs on Windows hav...

   EXCEED,SELECT,JAVA,WINDOWS     2024-10-31 23:47:50

  The 9 lines of code of Google

Are you still remembering the then hot debated news about Oracle suing Google allegedly copying a small portion of codes from Oracle's Java in 2010. At that time, Oracle experts estimated that Google owes Oracle between $1.4 billion and $6 billion in damages if liable. But the court thought Oracle was eligible only for statutory damages for that copying, which were not expected to exceed a few hundred thousand dollars. At last, Oracle agreed the zero damage result. Are you curious about whi...

   Google,Java,Open source     2014-08-15 20:29:52

  Art of code comment

Note : This post is just for fun. Please be careful about these tricks. Code comment is to provide complementary comment to abstract codes. We will introduce two comment styles while we are debugging our codes. we should avoid these styles in production codes. 1. if else style Only execute eatKfc() //* eatKfc(); /*/ eatMcdonalds(); //*/ Only execute eatMcdonalds() /* eatKfc(); /*/ eatMcdonalds(); //*/ Execute both //* eatKfc(); //*/ eatMcdonalds(...

   Comment,Style     2013-08-19 04:19:40

  CSS Rounded Corners In All Browsers (With No Images)

In the past two years, increased browser support has transformed CSS3 from a fringe activity for Safari geeks to a viable option for enterprise level websites. While cross-browser support is often too weak for CSS3 to hold up a site’s main design, front-end developers commonly look to CSS3 solutions for progressive enhancement in their sites. For instance, a developer might add a drop-shadow in Firefox, Safari and Chrome using -moz-box-shadow and -webkit-box-shadow, and the...

   CSS,Rounded corner,No image,IE,Chrome,Fi     2011-06-30 22:50:34

  Do NOT use boolean variable as function parameters

We follow lots of coding styles and coding standards when we do programming, but we may frequently forget one. The forgotten one is that do not use boolean parameter as the function parameters. The reason is it would greatly reduce the readability of the code. Don't believe it? When you read the following code, what does this code mean? widget->repaint(false); Do not repaint? Or what does this mean? After looking at the document, we know that this parameter is whether ...

   CODING STYLE,BOOLEAN,FUNCTION PARAMETER,CODING STANDARD,METHOD PARAMETER     2012-04-22 02:38:45

  A trap about PHP random number

The method to get random number in PHP is very simple, we only need to use rand() function. int rand ( int $min , int $max ) One function call can return the random number in a specified range. But in fact, the random number in computer is actually pseudorandomness, generally to increase the randomness, we may set a random seed before calling rand(). void srand ([ int $seed ] ) According to other language features, we should pass a time value as a parameter to the srand() function, generally...

   PHP,rand,srand,mt_rand     2013-06-07 09:10:10

  How to write your own DSL in Ruby

DSL(Domain Specific Language) is a language defined to fulfill some domain specific requirements to ease people's work. It can be used to define attributes and actions of a domain easily and cleanly. And it is often created based on some common observations or micro patterns of some domain. In Ruby world, there are quite a few places people can find DSL. For example, Ruby itself, Chef recipes. To create a class in Ruby, the traditional OOP way would look like. class User @name = nil @email =...

   RUBY,DSL,TUTORIAL     2017-03-04 09:40:34

  The "C is Efficient" Language Fallacy

I came across an article yesterday about programming languages, which hit on one of my major peeves, so I can't resist responding. The article is at greythumb.org, and it's called Programmer's rant: what should and should not be added to C/C++. It's a variation on the extremely common belief that C and C++ are the best languages to use when you need code to run fast. They're not. They're good at things that need to get very close to the hardware - not in the efficiency sense, but in the...

   C,GCC,Fallacy,Evolvement     2012-01-09 08:54:46

  Why, oh WHY, do those #?@! nutheads use vi?

Yes, even if you can't believe it, there are a lot fans of the 30-years-old vi editor (or its more recent, just-15-years-old, best clone & great improvement, vim). No, they are not dinosaurs who don't want to catch up with the times - the community of vi users just keeps growing: myself, I only got started 2 years ago (after over 10 years of being a professional programmer). Friends of mine are converting today. Heck, most vi users were not even born when...

   Linux,Vi,Vim,Advantage,History     2012-02-05 07:21:17

  Why do C++ folks make things so complicated?

This morning Miroslav Bajtoš asked “Why do C++ folks make things so complicated?” in response to my article on regular expressions in C++. Other people asked similar questions yesterday. My response has two parts: Why I believe C++ libraries are often complicated.Why I don’t think it has to be that way. Why would someone be using C++ in the first place? Most likely because they need performance or fine-grained control that they cannot get somewhere else. A Ruby programmer...

   C++,Complicated,C++ PRogrammer,Design pattern     2011-12-31 15:45:39