SEARCH KEYWORD -- Code Jam 2013



  Understand GoLang WaitGroup internals and how it works

Background Before getting into the main content, let me give a brief introduction to WaitGroup and its related background knowledge. Here, the focus is on the basic usage of WaitGroup and the fundamental knowledge of system semaphores. For those who are familiar with these, you can skip this section directly. WaitGroup WaitGroup is one of the most common concurrency control techniques in Golang, and its function can be roughly compared to the join() in concurrency control of other languages' mul...

   GOLANG,WAITGROUP,SOURCE CODE     2023-04-26 08:02:01

  Learn Vim Progressively

tl;dr: Want to learn vim (the best text editor known to human kind) the fastest way possible. I suggest you a way. Start by learning the minimal to survive, then integrate slowly all tricks.Vim the Six Billion Dollar editorBetter, Stronger, Faster.Learn vim and it will be your last text editor. There isn’t any better text editor I know. Hard to learn, but incredible to use.I suggest you to learn it in 4 steps:SurviveFeel comfortableFeel Better, Stronger, FasterUse vim ...

   Vim,Learning,Skills,Tips,Steps,Progressi     2011-09-08 10:44:06

  Use downcase! with caution in Ruby

Ruby provides ! to change state of some object in place. Hence if you see some functions have ! appended, it means the state of the caller of the function is expected to be changed. This is a very interesting Ruby feature. But sometimes one should be cautious when using this kind of functions because you would get unexpected behavior if using improperly. Let's take an example of String#downcase!. According to the documentation. Downcases the contents of str, returning nil if...

   RUBY,EXCLAMATION MARK,DOWNCASE     2017-02-10 06:34:44

  How to maintain a software project?

For a software engineer, at least from my own experience, maintaining an existing software project would take up a considerable amount of time: adding new features, fixing tricky bugs, and so on. In this post, I will share some some tips about how to become a veteran from a novice quickly when facing a new project. (1) Get familiar with the background knowledge of the project. Every software has its own purposes and users: a device driver serves the specified hardware, whilst a SMS gateway helps...

       2017-08-05 02:20:46

  Google is developing advanced programming technology to simplify Web application development

Beijing, March 28. According to foreign media reports, Google engineer Alex Russell this week at EclipseCon meeting said the company is now developing lots of advanced programming techniques to simplify Web application development.Russell said, "Web development has come to a critical point, it is becoming a run-time library integration platform." Although Web is very popular compared to some platforms such as Java or Windows, it provides only a relatively original programming capability. A ...

   Google,Web,Dart,Scalability     2012-03-30 06:22:13

  Testing is not a Feature

I pointed out to someone at work today that PyDev 2.5.0 now offers really cool TDD support. I’m not a huge TDD proponent or anything, but this stirred up a discussion. This guy, let’s call him John, said that â€œTDD may shorten the time it takes to develop a feature, but sometimes a feature is so urgent we may want to deliver it as quickly as possible and test it later”.Sentences like that make me weep. I tried to explain that without testing, the...

   Testing,Feature,Software testing     2012-04-24 06:30:09

  socket_create() from command prompt with WAMP

Problem:I’m working on a wamp system, and have started playing around with sockets. I enabled sockets via the wamp interface:wamp : PHP settings : PHP extensions : php_socketsand could run my php file via my browser.When trying to run the same file via the command prompt (start : run : cmd), I got the following error:Fatal error: Call to undefined function socket_create() in … on line …Solution:The command prompt uses a different php.ini file to the apache server.The Apac...

   PHP,WAMP,Windows,Command line,Socket     2011-05-30 10:59:14

  My love… for Expressive Programming Languages

I started out my journey with programming as a teenager learning GW-BASIC. Soon I learnt C language followed by C++.  I was impressed with the OO syntactic constructs C++ had on offer but I felt a little uneasy with a few constructs such as the scope resolution. I started studying Java. It immediately caught my attention with the syntactic improvements and simplifications it brought over C++. I was still in academics, so learning(precisely trying) programming languages on su...

   descriptive,programming,language,prefere     2011-08-17 07:31:09

  Introducing JavaScript native file management

TL;DR The Mozilla Platform keeps improving: JavaScript native file management is an undergoing work to provide a high-performance JavaScript-friendly API to manipulate the file system. The Mozilla Platform, JavaScript and Files The Mozilla Platform is the application development framework behind Firefox, Thunderbird, Instantbird, Camino, Songbird and a number of other applications. While the performance-critical components of the Mozilla Platform are developed in C/C++, an increasing number o...

   JavaScript,File,Local file,Firfox,Mozilla     2011-12-06 09:05:48

  JavaScript Needs Blocks

While reading Hacker News posts about JavaScript, I often come across the misconception that Ruby’s blocks are essentially equivalent to JavaScript’s “first class functions”. Because the ability to pass functions around, especially when you can create them anonymously, is extremely powerful, the fact that both JavaScript and Ruby have a mechanism to do so makes it natural to assume equivalence. In fact, when people talk about why Ruby’s blocks are different ...

   JavaScript,Block,Style,Format,Maintainebility     2012-01-11 11:59:35