SEARCH KEYWORD -- MAIN PACKAGE



  Smuggling data in pointers

While reading up on The ABA Problem I came across a fantastic hack.  The ABA problem, in a nutshell, results from the inability to atomically access both a pointer and a "marked" bit at the same time (read the wikipedia page).  One fun, but very hackish solution is to "smuggle" data in a pointer.  Example:#include "stdio.h"void * smuggle(void * ptr, int value){  return (void *)( (long long)ptr | (value & 3) );}int recoverData(void * ptr){  return (long long)ptr &...

   C,Pointer,Bit,Data,Atomic,Smuggle     2011-11-14 08:15:59

  How to hire an idiot

Wow, I remember how idealistic I was when I was about to bring on my first employee! After dealing with bad bosses over my career, after doing a whole lot of thinking about how I was going to be a great boss, and after doing a whole lot of reading about how to hire effective people, I was really looking forward to it. I was going to:-- Hire people smarter than myself, who get things done!-- Trust them to do their job, let them do their job and give them enough resources to do it!-- Pay them WELL...

   Employee,Idiot,Work experience,Pay,Process     2011-10-24 11:47:54

  Java Polymorphism and Overriding Methods

Most Java developers will be familiar with polymorphism – we’ve all seen the example of the Dog and Cat classes inheriting from some abstract Animal class and having their say() methods produce different results. But it’s still worthwhile to look at a few simple examples to reinforce the concepts.First, we define a simple class with one instance method and one static method.public class A { public String getName() { return "I a...

   Java,Overriding,Polymorphism,Demo,Dynami     2011-10-04 14:09:06

  Touching and Gesturing on iPhone, Android, and More

One of the most important parts of creating an effective and intuitive user interface on touch-enabled smartphones has nothing to do with visual appearance—instead, it has to do with creating an interface that properly responds to user input based on touch. For Web applications, this means replacing mouse events with touch events. In Dojo 1.7, new touch APIs help make this process easy. This is an updated version of the post Touching and Gesturing on the iPhone, published in 2008. I...

   Touch,Gesture,iPhone,Android     2012-04-12 11:21:42

  Public Vs. Private Cryptocurrency Keys

Before investing in any form of cryptocurrency, you must become familiar with the terminology used in the industry. This will prevent mistakes that could jeopardize your entire investment, and no one should be investing in any type of security or asset that they don't fully understand first. Crypto Wallets Before we even delve into what public and private keys are, we first need to discuss what the keys are for. Your Bitcoin or crypto wallet is basically the account that you store your cryptocur...

   SECURITY,CRYPTOCURRENCY     2022-03-06 08:17:30

  A Programmer’s Greatest Enemy

A programmer’s greatest enemy is getting stuck. A crucial skill in programming—and one that many of my beginning game programming students lack—is the ability to recognize when they’re stuck, to get out of being stuck, and to avoid getting stuck in the first place.Indeed, it’s a skill I’m still learning myself, although the contexts in which I still get stuck are shrinking with time, study, and experience.This morning, as I downloaded crash reports ...

   Programming,Enemy,Stuck,Game design,Crash     2011-10-15 15:06:46

  Cloud Computing’s most Basic Concepts-Service Models

With the containerization of Docker, Kubernetes, CNCF, and the development of open-source communities, related frameworks and technology is booming and iterating rapidly. Cloud Computing, been applied for many years, is pushing developers into the new technological era. Companies and developers who are not using or not planning to use Cloud-Native gradually feel tremendous pressure in keeping up with the technology trends. The first step is to understand the concepts of IaaS, PaaS, FaaS, SaaS, S...

   CLOUD,PAAS,IAAS,CONCEPT     2021-01-24 05:23:11

  CSS DIV position analysis

When using CSS to set the position of DIV, we may often get confused with the 4 position properties : static, relative, absolute and fixed. If we don't understand them correctly, we may often get unexpected result. Here we make some analysis to them.The definitions of these 4 properties:static : The default position property. It has no position actually. The element will appear where it should be (top, bottom, left, right or z-index has no use here)relative : This one will position relati...

   CSS, DIV,position,relative,absolute     2013-01-29 03:23:57

  gethostbyname vs getaddrinfo

getaddrinfo is slower than ping when resolving domain names. I think ping uses gethostbyname to resolve a domain name. The question becomes whether getaddrinfo is slower than gethostbyname. After testing with both functions, we find that getaddrinfo is really slow compared to gethostbyname. By strace tracking,  we find getaddrinfo will communicate with DNS server 10 times and gethostbyname will communicate with DNS server communication twice.gethostbyname is an old way to resolve domain nam...

   C++,network,DNS     2012-08-15 14:06:34

  CSS3 animation vs CSS3 transition

Both CSS3 animation and CSS3 transition can be used to transition an element in a webpage. They can be used to transition some CSS properties within a given period of time. They have many similarities. They do have a few differences as well. So an user needs to understand the differences between them in order to better use them in different scenarios. First, let's see an example on how to change the width of a div from 100px to 200px within 2 seconds when hovering on it. With CSS3 animation , th...

   CSS3 animation,CSS3 transition, Difference     2015-06-15 08:46:39