SEARCH KEYWORD -- Innovation works
Get associated file icon with only extension name using C++ on Windows
I have searched on Google for a few examples on how to get associated file icon with only file extension name using C++ on Windows. There are some useful information provided on MSDN which explains the use of SHGetFileInfo() function.It also gives an example code, but it doesn't say how to do it with only the extension name. Here I give an example code on how to achieve this after I gathered and summarized some useful information from Internet. I have tested the code on my PC, it w...
File icon,Windows,Association,Extension name,C++ 2012-03-26 09:55:20
What have been Facebook’s greatest technical accomplishments?
To maintain a large website which gets billions of requests er day and keeps very fast response speed is not an easy task. Many big companies are trying best to improve user experience by adopting different techniques. There is a question on Quora which asks "What have been Facebook’s greatest technical accomplishments?". There is a person who worked in Facebook before provided an answer which helps us understanding how Facebook handles huge amount of traffic each day. Here is the answer f...
Facebook, Design, Efficiency 2013-01-15 07:32:07
Why accessing Java HashMap may cause infinite loop in concurrent environment
HashMap in Java is frequently used to handle key/value pairs. But it is not a good candidate to be used in concurrent environment where ConcurrentHashMap should be used instead. If used in concurrent environment, it may cause lots of unexpected behavior even including make the program getting into an infinite loop situation. To understand how this can happen, let's first discuss how HaspMap works internally. In this post we will use implementation of HashMap before Java 8 as example, Java 8 prov...
JAVA,HASHMAP,INFINITE LOOP 2020-03-29 01:47:00
GoLang Interview Questions
Below lists some frequently asked GoLang interview questions and their corresponding answers based on the author's experience. The list is updated frequently with new understandings. Stay tuned. What is the GMP model of GoLang? GoLang uses goroutine to achieve concurrency and it is famous for high concurrency support as the language defines its own goroutine dispatching and processing system which is well known as GMP model. How it works is that M is normally defined as the OS thread being spawn...
MEMORY,CONCURRENCY,INTERVIEW QUESTION,GOLANG 2024-05-25 03:08:18
JavaScript tips both novice and veteran developers can benefit from
In this post, we will share some less known but powerful JavaScript tips which can benefit both novice and veteran JavaScript developers. 1. Truncate array with array length We all know that object are passed by reference in JavaScript, but we may be bitten by this rule. Please check below example: var arr1 = arr2 = [1, 2, 3]; //Change arr1 arr1 = []; // arr2 will still be [1,2,3] arr1 and arr2 point to the same array [1,2,3] initially, later when arr1 repoints to [], the reference to arr2 is n...
JavaScript,Array,push 2013-08-21 04:09:10
Handle NXDomain error when resolving IP address in Ruby DNS resolver
In another post, we covered how to resolve SystemStackError when resolving IP address in Ruby. In this post, we would cover another common issue where a NXDomain error is returned when resolving an IP address. The NXDomain error means that the queried domain name does not exist in the DNS. In Ruby, DNS resolver library will use /etc/resolv.conf by default get the name servers to resolve the domain name. There are multiple DNS name servers can be specified in /etc/resolv.conf with below format. ...
RUBY,RUBY ON RAILS,NETWORK,DNS,NXDOMAIN 2017-07-16 01:39:23
Do you have this kind of comments in your source code?
Writing runnable code is the essential skill of a programmer, writing understandable comment is also a skill a programmer should acquire. There is some famous saying that bad comment is worth than no comment. Usually your code will be maintained by other people, if you provide them some difficult to understand or misguided comments, this will be nightmare to them. While at some other time, programmers may put some funny comments in their codes which may make others laugh. Today we...
How deep should unit test go?
There is a question on Stackoverflow which says "How deep are your unit tests?". It is asked by a guy named John Nolan. The question is not too new, but what catches me is the Best Answer given by Kent Beck, who is the creator of Extreme programming(XP) and Test Driven Development(TDD). Let's look at the question first. The thing I've found about TDD is that its takes time to get your tests set up and being naturally lazy I always want to write as little code as possible. The first thing I seem ...
As A Hottest Job Ever, What Should You Know As A Front End Web Developer?
The front end web developers are the openers for the visitors to visit the web page. It is also known as the client-side development, works predominantly with HTML, CSS, and Javascript. The tools and techniques are the important players of the front end web development. The developer must be aware of the updation of web technologies.The scope is evergreen with this technology as every company or business needs a website to showcase their profile. There are many objectives must be measured while ...
FRONT END DEVELOPER,WEB DEVELOPERS,SOFTWARE DEVELOPERS,TOP SOFTWARE COMPANIES 2019-08-12 05:36:28
Arrays.equals() vs MessageDigest.isEqual()
Both Arrays.equals() and MessageDigest.isEqual() are used to compare the equality of two arrays. They can be interchangeably in many cases. However, they do have some differences which lead to different use cases in real applications. One difference is that the arrays passed to MessageDigest.isEqual() cannot be null while it's ok for Arrays.equals(). The one major difference between these two methods is that Arrays.equals() is not time-constant while MessageDigest.isEqual() is time-constant. Thi...
Arrays.equal(),MessageDigest.isEqual(),Java,Security 2015-05-14 22:03:29
RECENT
- How Artificial Intelligence Is Helping Fight Environmental Challenges
- How to Deal with Accusations of Negligence as a Business
- Google's Business Operations in China Amid Antitrust Scrutiny
- Deploying DeepSeek-R1 Locally with a Custom RAG Knowledge Data Base
- Balancing Convenience and Security in the Digital World
- My AI Learning Journey: Exploring the Future of Technology
- Power Grid Simulation System 02 : FDI Power Outage Attack Case Study
- Be Careful When Using Cursor to Help Build Application
- Calculating Token Count for Claude API Using Go: A Step-by-Step Guide
- Understanding Cursor and WindSurf's Code Indexing Logic
- more>>