SEARCH KEYWORD -- IOS APPLICATION DEVELOPMENT



  Microsoft is filing a new patent about transparent display

Microsoft is filing a new patent about transparent display screen, it may be used on augmented reality technologies of tablets, phones and laptops. Similar to the scenes in the movie Minority Report. Minority Report was showed in 2002, it described a world of 2054, at that time 3D technology is mature. But after 10 years of this movie, Microsoft not only invented the basis of this technology, but also make it more portable.Patent Bolt recently revealed a patent application of Microsoft about tra...

   Microsoft,Transparent display,3D,Patent     2012-05-10 05:31:16

  How to prevent next HeartBleed bug?

How to ensure the security of open source projects is a concern for many open source users including individual users and companies. But it's not an easy task to ensure the security of open source projects. Because everyone can see the source code, there is much higher possibility that a bug may be found by someone. Once a bug is disclosed, people may exploit it and do evil things, this may cause loss of money either for individuals or companies, some of the bugs may even have big impact to the...

   Open source,HeartBleed,Security     2014-04-24 09:07:05

  The Pitfall of WebSocket Disconnections Caused by Browser Power-Saving Mechanisms

Preface Recently, while using WebSocket (WS) connections, we encountered frequent disconnection issues, occurring hundreds of times per day for a single user. Although using the auto-reconnect feature of socket.io allowed us to quickly restore connections after disconnections, it did not guarantee that every reconnection would successfully receive WS messages. Therefore, we conducted several investigations and tests. Ultimately, we identified the root cause of the issue: the browser's power-savi...

   WEBSOCKET,JAVASCRIPT,POWER SAVING,TROUBLESHOOTING     2024-06-23 01:19:39

  Guide for installing Ubuntu in VirtualBox on Windows

Have you ever tried to have two OSs installed on your PC? Do you want to try out the new Ubuntu system? If you do want to use Ubuntu when at the same time you are using Windows, you may want to install your Ubuntu in an VirtualBox. In this post, we will show you how to install Ubuntu in VirtualBox on Windows. Pre-requisites VirtualBox -- You can download it from Oracle. Ubuntu -- You can download it from here. Please note it should be an ISO file The Ubuntu used in this post is Ubuntu 12.04 LT...

   Ubuntu,Windows,VirtualBox     2014-01-15 03:21:05

  HeartBleed: Should C be blamed for the HeartBleed bug?

There is a discussion about the security of applications written in C on Hacker News recently after the report of HeartBleed bug in OpenSSL. In this discussion, some people are saying that the applications written in C are unsafe. It seems all or most of the faults should be laid on C. I think this is biased. The language itself should not be blamed.Safety is a relative term for programming languages. No language is absolutely safe. We claim some languages like Java and C# are safer than C/C++ b...

   C,HeartBleed,Analysis,Code review     2014-04-14 03:52:55

  How to Choose the Right Ruby on Rails Hosting Platform

Over the last decade, Ruby on Rails has become an increasingly popular framework for web-based apps. At its beginnings, hosting Rails was a real challenge and required a fair amount of relevant know-how. Nowadays, there are dozens of hosting platforms that provide cheap and accessible services for building and deploying Rails apps. In general, the choice of hosting should be based on your requirements and technical skills – some platforms are much more difficult to handle than others. Here...

   ruby on rails, ruby hosting     2015-01-30 06:27:47

  do {...} while (0) in macros

If you are a C programmer, you must be familiar with macros. They are powerful and can help you ease your work if used correctly. However, if you don't define macros carefully, they may bite you and drive you crazy. In many C programs, you may see a special macro definition which may seem not so straightforward. Here is one example: #define __set_task_state(tsk, state_value) \ do { (tsk)->state = (state_value); } while (0) There are many this kind of macros which uses do{...}while(0)...

   C,macro,C++     2014-01-23 07:16:13

  Let's talk about JavaScript deep clone

In JavaScript, deep clone means creating a brand new object that includes all nested objects, with all properties being completely independent copies. This is different from shallow copying, which only copies the first-level properties, with nested objects being referenced rather than copied. There are multiple ways to perform deep copying in JavaScript, but the best one to use depends on the specific use case. Can use JSON.parse & JSON.stringify? ❌ JSON.parse(JSON.stringify(obj)) is a dep...

   JAVASCRIPT,DEEP CLONE     2023-02-25 08:57:11

  Accessing Reddit top posts using OAuth

Previously one can use the https://www.reddit.com/r/rprogramming/top.json API to access one subreddit's top posts. This API doesn't require any access token to fetch the data. However, this API may not work all the time. Reddit may block the API's request if it finds that you are using a script or some app which accesses the API now and then. For an app or script which needs to fetch the data routinely, what should we do? Reddit provides one method which can be used to fetch this kind of to...

   REDDIT,OAUTH,TOP POSTS,HOT POSTS     2023-12-16 07:24:14

  What to put on whiteboard during an interview

As a programmer, you may go through different kinds of programming tests while interviewing for jobs. The most famous and difficult one may be the whiteboard test for lots of people. Usually the interviewer will give the candidate an algorithm problem or case study and ask the candidate to implement the algorithm with his/her favorite programming language. The code to be written is not too much but it requires the candidate to thoroughly consider different edge cases. So wha...

   TIPS,INTERVIEW,WHITEBOARD TEST     2014-08-29 20:34:52