SEARCH KEYWORD -- PASS BY VALUE
Python threads: communication and stopping
A very common doubt developers new to Python have is how to use its threads correctly. Specifically, a large amount of questions on StackOverflow show that people struggle most with two aspects: How to stop / kill a threadHow to safely pass data to a thread and back I already have a blog post touching on these issues right here, but I feel it’s too task-specific for sockets, and a more basic and general post would be appropriate. I assume the reader has a basic familiarity with Pytho...
Python,Multithreading,Communication,Synchronize 2011-12-28 07:38:32
A String is not an Error
I decided to write a little article to discourage an unfortunately common pattern in Node.JS modules (and browser JavaScript, to a lesser extent) that can boil down to these two examples: // A:function myFunction () { if (somethingWrong) { throw 'This is my error' } return allGood;} and // B: async Node.JS-style callback with signature `fn(err, …)`function myFunction (callback) { doSomethingAsync(function () { // … if (...
JavaScript,Node.js,String,Error object 2011-12-23 08:00:32
An open letter to those who want to start programming
First off, welcome to the fraternity. There aren’t too many people who want to create stuff and solve problems. You are a hacker. You are one of those who wants to do something interesting. “When you don’t create things, you become defined by your tastes rather than ability." – WhyTheLuckyStiff Take the words below with a pinch of salt. All these come from me – a bag-and-tag programmer. I love to get things working, rather than sit at something and over-o...
Programming,Tips 2011-06-09 23:45:45
An open letter to those who want to start programming
First off, welcome to the fraternity. There aren’t too many people who want to create stuff and solve problems. You are a hacker. You are one of those who wants to do something interesting. “When you don’t create things, you become defined by your tastes rather than ability." – WhyTheLuckyStiff Take the words below with a pinch of salt. All these come from me – a bag-and-tag programmer. I love to get things working, rather than sit at something and over-o...
Tips,Programming,C,C++,Java,Skill,Develo 2011-08-11 11:24:50
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
Avoiding and exploiting JavaScript's warts
One's sentiment toward JavaScript flips between elegance and disgust without transiting intermediate states. The key to seeing JavaScript as elegant is understanding its warts, and knowing how to avoid, work around or even exploit them. I adopted this avoid/fix/exploit approach after reading Doug Crockford's JavaScript: The Good Parts: Doug has a slightly different and more elaborate take on the bad parts and awful parts, so I'm sharing my perspective on the four issues that ha...
JavaScript,warts,Exploit,with,variable,this 2012-02-15 05:51:21
JavaScript efficiency catch up
JavaScript is a very flexible language, we can write JavaScript code freely with various styles, different kinds of codes will have different execution efficiency. Here we summarize some tips we get from our development. Efficiency of JavaScript itself JavaScript has execution context chain, closures, prototype inheritance, eval etc. It brings us some magic features, but it also introduces the performance issue, if we don't use them properly, it will affect the codes execution efficiency. 1. Glo...
JavaScript,efficiency,event delegation,eval 2013-04-02 04:08:46
The ugliest C feature:
<tgmath.h> is a header provided by the standard C library, introduced in C99 to allow easier porting of Fortran numerical software to C. Fortran, unlike C, provides “intrinsic functionsâ€, which are a part of the language and behave more like operators. While ordinary (“externalâ€) functions behave similarly to C functions with respect to types (the types of arguments and parameters must match and the restult type is fixed), intrinsic functions accept arguments of...
C,
Python – parallelizing CPU-bound tasks with multiprocessing
In a previous post on Python threads, I briefly mentioned that threads are unsuitable for CPU-bound tasks, and multiprocessing should be used instead. Here I want to demonstrate this with benchmark numbers, also showing that creating multiple processes in Python is just as simple as creating multiple threads. First, let’s pick a simple computation to use for the benchmarking. I don’t want it to be completely artificial, so I’ll use a dumbed-down version of factorization...
Python,Multitasking,Multiprocessing,CPU bound 2012-01-17 11:38:22
Programming Language Readability
Lets compare some Python to Haskell for solving the same problem. The problem we’ll pick is Trie data-structure for auto-completions. We are interested not so much in the nitty gritty of the algorithm, but in the language style itself. Auto-complete has been in the programming news a lot recently; both a Python and a Haskell solver have turned up. (I suspect this post got flagged on Hacker News :( It never got on the front-page despite the rapid upvoting on a n...
Programming,Readability,Python,Haskell 2012-02-27 04:52:02
RECENT
- The Most Popular Car Color
- Exploring Open edX: A Global Platform for Online Education
- What Is The Best SaaS CRM In 2024?
- Common Pitfalls When Handling JSON in Golang
- Streamlining the Project Invoicing Process: Tools and Strategies
- Performance comparison of string concatenation in Go language
- Why init() is not recommended in Go
- The Role of Coding Skills in Advancing Tech Careers
- Tips for Socializing With Friends During College
- Proximity Cards Do More Than Just Open Doors
- more>>