Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- performance



  Best practices of front end optimization

1. Use DocumentFragment or innerHTML to replace complex elements insertion DOM operation on browser is expensive. Although browser performance is improved much, multiple DOM elements insertion is still expensive and will affect the page load speed. Assume we have an ul element on our page, we now want to retrieve a JSON list using AJAX and then update the ul using JavaScript. Usually we may write it as : var list = document.querySelector('ul'); ajaxResult.items.forEach(function(item) { // ...

   JavaScript,Front end,Optimization,Tips     2013-07-06 11:26:27

  Some Thoughts on Twitter's Availability Problems

As a regular user of Twitter I've felt the waves of frustration wash over me these past couple of weeks as the service has been hit by one outage after another. This led me to start pondering the problem space [especially as it relates to what I'm currently working on at work] and deduce that the service must have some serious architectural flaws which have nothing to do with the reason usually thrown about by non-technical pundits (i.e. Ruby on Rails is to blame). Some of my suspicions ...

   Twitter,Architecture,Availability,Design     2011-08-12 07:39:21

  Clojure & Java Interop

About a year ago I got a phone call asking if I wanted to join another team at DRW. The team supports a (primarily) Java application, but the performance requirements would also allow it to be written in a higher level language. I'd been writing Clojure (basically) full-time at that point - so my response was simple: I'd love to join, but I'm going to want to do future development using Clojure. A year later we still have plenty of Java, but the vast majority of the new code I add is Cloj...

   Java,Clojure,Interoprability,Commit,Function call     2011-12-29 09:11:22

  How often to change a job?

Those people who choose to change jobs once a year or a few times a year, please keep in mind that if you do not have your own business plans or your own start-up ideas. The choice you have now may be fatal to your future career development. After talking with many development managers, architects, product managers, and other friends, I find the greatest feeling of them is that the vast majority of IT people do not know what they do. From the interviewer's point of view, if you don't know what y...

   CHANGE A JOB,2 YEARS     2012-04-06 11:18:50

  What programming languages should I learn?

Since I started this blog, I have gotten quite a few emails asking me “What programming languages do you recommend for X?” I often finding myself writing something along the lines ofI would honestly recommend python. Something about me being biased because I know and love it.  Usually say something about the competing technology with a back handed insult. Also if they are starting out I would recommend a language that enforces better OO (Object Orientated) practic...

   programming language,Popularity,Java,Tre     2011-09-23 13:11:57

  In-memory key-value store in C, Go and Python

Subtitle: Wow Go’s net library is fast On paternity leave for my second child, I found myself writing an in-memory hashmap (a poor-man’s memcached), in Go, Python and C. I was wondering how hard it would be to replace memcached, if we wanted to do something unusual with our key-value store. I also wanted to compare the languages, and, well, I get bored easily! The code is on github as Key-Value-Polyglot. Each version implements enough of the get and set commands from the mem...

   key-value,Memory,C,Python,Go     2012-03-21 09:21:51

  Build your own internet search engine - Part 2

After having started to build my own internet search engine as described in a previous blog post, I now have read some papers and books about web search engine architecture and information retrieval to complete my hobby project. Here is a list of papers and books that I highly recommend to anybody who is interested in this topic: 1. Google: data structures and algorithms by Petteri Huuhka 2. The Anatomy of a Large-Scale Hypertextual Web Search Engine by the Google founde...

   Search engine,Paper,Database,Data structure     2011-12-22 08:25:59

  Set up Superset on ubuntu 16.04 LTS

Apache Superset (incubating) is a modern, enterprise-ready business intelligence web application. Compared with business-focused BI tool like Tableau, superset is more technology-navy. It supports more types of visualization and able to work in distributed manner to boost the query performance. Most importantly, it is free of charge! An example dashboard: Let’s go and set it up. Create a virtualenv Assume Anaconda is installed for python management. # create a virtualenv with python 3.6 co...

   TUTORIAL,UBUNTU,SUPERSET     2019-10-19 21:34:55

  Kualitee: For better Test Management in the year 2020

New IT trends will dominate in 2020. Big data management, customer satisfaction, security concerns, mobile apps, artificial intelligence (AI), test automation, DevOps and agile methodologies are a few of these rising technologies and trends.  With their rise, Quality assurance (QA) has to take the testing game a notch up, especially with using smart test management tools for their testing.  Test Automation Stays A report by Research and Markets estimates the global automation testing ...

   TESTING,KUALITEE     2019-09-04 07:33:25

  How big is sizeof structure?

First let's see the codes of a structure: struct node{ int a; int b; }; Question : What's sizeof(node)? The answer is very simple, on a 32 bit machine, an int will take 4 bytes and two ints will take 8 bytes. So sizeof(node) is 8. The answer for the above codes is 8, then how about the following structure: struct node{ char a; int b; }; Question : Then what's sizeof(node) now? int takes 4 bytes, char takes 1 bytes, is the answer 5? Now the answer may not be 5, on some mac...

   Data structure alignment, pack     2012-10-29 12:13:37