SEARCH KEYWORD -- Network programming



  The world's first HTML5 SIP client

This is the world's first open source HTML5 SIP client (May 12, 2012) entirely written in javascript for integration in social networks (FaceBook, Twitter, Google+), online games, e-commerce sites... No extension, plugin or gateway is needed. The media stack rely on WebRTC. The client can be used to connect to any SIP or IMS network from your preferred browser to make and receive audio/video calls and instant messages. The protocol parsers (SIP, SDP...) are highly optimized using Ragel loo...

   HTML5,SIP,CLient,Google     2012-05-21 06:18:34

  Introducing the for-if anti-pattern

Over the years, I've seen a bunch of coding anti-patterns. I figured maybe I'll share a few. Today, I'll introduce what I'm calling the for-if anti-pattern, also known as "We'll sell you the whole seat, but you'll only need the edge." This is a special case of the for-case anti-pattern, where all but one of the cases is null. for (int i = 0; i < 100; i++) { if (i == 42) { do_something(i); } } This can naturally be simplified to do_something(42); The for-if anti-pattern arises in ma...

   Programming,Anti-pattern,for-if,efficiency     2012-02-02 10:18:15

  HeartBleed: Inside the heart, what happens to a normal WEB user?

To be brief, our email, IM, facebook etc. are at the risk, so try to minimize the access in these few days. Especially we should try to avoid log into our internet-banking, because we may expose our user id and password. Also later when the service providers fix the bug, we would better to change a new password for all the web accounts that are important to us. Here comes the technical explanation. You might notice before that a lot of websites use URL starting with "https". For example, https:/...

   HeartBleed,Analysis     2014-04-09 22:41:43

  Functional Programming in C++

Probably everyone reading this has heard “functional programming” put forth as something that is supposed to bring benefits to software development, or even heard it touted as a silver bullet.  However, a trip to Wikipedia for some more information can be initially off-putting, with early references to lambda calculus and formal systems.  It isn’t immediately clear what that has to do with writing better software. My pragmatic summary:  A large fraction of th...

   C++,Functional programming     2012-04-28 06:16:37

  How-to: Remotely shut down your computer

Think of this scenario; You are lying in bed and just finished watching a movie that you were streaming from a computer downstairs. You want to sleep, but you need to head downstairs to turn the computer off. Save some time, and do it from the computer upstairs.There are a number of ways that you can restart or shutdown remote computers. You could use a remote desktop connection, but there are quicker ways and we will look at them today.This article will show you various methods you ca...

   Windows,Shutdown,Remote control,Cmd     2011-10-10 06:18:44

  WireGuard VPN: Setup WG_VPN client App on Android phone and connect to local WG_VPN server on VM

We will show the detail steps about how to setup the WireGuard VPN client on an Android phone/pad and configure the VPN client to connect a WG_VPN server in local network. The setup process contents three main steps: Install WireGuard and create a key-pair in WireGuard client. Add the Android client peer information in the WireGuard server’s config file. Config the Android WireGuard client to connect to the server. The test environment network configuration:  Step 1. Install Wire...

   WIREGUARD,VPN,TUTORIAL     2020-10-24 08:46:42

  Signs that you're a bad programmer

1. Inability to reason about codeReasoning about code means being able to follow the execution path ("running the program in your head") while knowing what the goal of the code is.SymptomsThe presence of "voodoo code", or code that has no effect on the goal of the program but is diligently maintained anyway (such as initializing variables that are never used, calling functions that are irrelevant to the goal, producing output that is not used, etc.)Executing idempotent functions multiple times (...

   Sign,Programmer,Characteristics,Knowledge,Skill     2011-10-20 08:56:16

  Paradigms of Iteration in JavaScript

One of the joys of programming is that no matter how simple a problem may seem there are always tons of ways to solve it. It can be good practice to go back and revisit fundamentals by solving simple problems with as many implementations as you can think of. In this post we'll explore approaches to basic iteration in JavaScript. This style of exercise is a good interviewing technique, too, because it's open ended and leads to good discussions. The focus isn't a tricky, wacky problem you're...

   JavaScript,Iteration,Wrap,Recursive,For,Loop     2012-01-08 10:11:15

  "Simplicity" is not a simple concept

I've come to avoid using the word "Simplicity" or its variants ("Simple," &c.) It means too many different things to different people.For example, my original land-line phone was simple:It's simple by eliminating extraneous use cases. It only handles one user scenario, the one that was the most common when it was invented. If we think of the number of affordances and the number of uses, this kind of simplicity lowers the number of affordances by lowering the number of uses. I call this kind ...

   Simplicity,Software,Usability,iPhone,Phone     2011-11-24 09:21:09

  What is blocking and how would you troubleshoot it?

Blocking is a common occurrence in an SQL server context, but if you are new to the world of database management you might not know what this issue entails and perhaps even fear that it is a sign of serious underlying problems. To allay your fears and clear up the mystery, here is a brief overview of blocking and the steps you can take to tackle it. Image Source: Pixabay SQL blocking explained SQL blocking according to SentryOne is an offshoot of the way that concurrent databases operate. Becau...

   SQL,DEADLOCK     2020-09-17 08:50:55