SEARCH KEYWORD -- JAVA APPLICATION MAINTENANCE



  Can API be copyrighted? At least Oracle hopes so

  The result of the lawsuit case war between Oracle and Google is clearer now. The court said that 9 lines of code of Android has violated intellectual property right, these 9 lines of code can be ignored relative to the number of codes for the whole Android system. But just like LinuxToy points out that the reasons why this case catches so much attention are : 1). The amount of money Oracle asked from Google is $1 billion; 2). The statement says Java language itself doesn't violate the int...

   Oracle,Google,API,Copyright,Lawsuit case     2012-05-11 00:47:58

  Haxe: Another multiplatform language

There are two kinds of programmers: One is using different languages to solve problems, the other is inventing languages to solve problems. Haxe is an emerging open source programming language which is universal, powerful and easy-to-use. Some languages claimed they were multiplatform languages, such as Java, C# and ActionScript. They all are based on some platforms, Java has JVM, C# has .Net and ActionScript has Flash Player. While Haxe is a trule multiplatform language, it can be used to devel...

   Haxe,Multiplatform,Open source     2012-06-11 08:08:28

  String.length() vs String.getBytes().length in Java

In Java, String.length() is to return the number of characters in the string, while String.getBytes().length is to return the number of bytes to represent the string with the specified encoding. By default, the encoding will be the value of system property file.encoding, the encoding name can be set manually as well by calling System.setProperty("file.encoding", "XXX"). For example, UTF-8, Cp1252. In many cases, String.length() will return the same value as String.getBytes().length, but in some ...

   Java,UTF8,String,Encoding,Sample     2015-04-01 22:22:23

  Fastjson just fixed a bug which might cause out of memory issue

Fastjson just fixed a bug which might cause service down a few days ago. This bug is caused by some mishandling of special character \x which is an escaped character to indicate hexdecimal number. The impact of this bug would be big if the attacker constructs a malicious data which would cause the service down.  The code which causes the issue is in com.alibaba.fastjson.parser.JSONLexerBase#scanString, when a JSON string is passed in, fastjson would parse the string character by c...

   FASTJSON,ALIBABA,BUG,NEWS     2019-09-07 06:03:49

  Fix Permission Issue for iTerm2 to Access Application Support on MacOS

In case you have a new MacOS setup (especially on the newly released Apple M4 MacBook) and you are trying to install/launch iTerm2 on your system, you may encounter an error where it complains that you don't have enough permission to access Application Support, the error message would be like There was a problem finding or creating your application support directory. iTerm2 won't work very well until this problem is fixed. It should be at ~/Library/Application Support/iTerm2. The error was...

   FIX,MACOS,APPLICATION SUPPORT,ITERM2,PERMISSION ISSUE     2024-11-17 13:09:11

  Why 0.1+0.2 != 0.3

In programming languages such as JavaScript, c/c++, Java and Matlab, you will find that you will get unexpected result when doing float point calculation. For example, when calculating 0.1 + 0.1, you will not get 0.3: > 0.1 + 0.2 == 0.3 false > 0.1 + 0.2 0.30000000000000004 Don't be surprised of this result, this is the end result of IEEE 754 standard, float point number cannot be accurately represented according to IEEE 754 because: No enough memory is allocated for representing the num...

   float point,comparison,JavaScript     2014-11-19 05:32:46

  One good way to use optional parameter in function

In GoLang, it doesn't support method overloading like in Java, hence sometimes it would be a headache to create functions to construct new structs with different parameters.  Normally, we would construct the new function as below when want to let others create a new struct instance with explicit function call. type Queue struct { Name string } func NewQueue(name string) *Queue { return &Queue{name} } But with the scope and complexity of the struct increases, there might be more prope...

   OPTION PATTERN,VARIADIC FUNCTION,OPTIONAL PARAMETER     2020-09-18 21:45:29

  TIOBE : No news today

TIOBE released the programming index for September 2012. There is no big change for this month compared to last month, the top 3 are still C, Java and Objective-C. In top 20, only Transact-SQL exchanged the position with VB.NET. Java shows trend of drop, will it be worse because of the ignorance of Java's vulnerabilities by Oracle. This index shows that the programing lnaguage market is quite normal, no big events. Except Objective-C, in recent years there are no other new languages which have b...

   TIOBE,Objective-C,Index     2012-09-05 07:36:07

  Are you ready for Facebook's phone?

According  to Sina Tech, Facebook will announce its own phone today in US. They will also release its new Android application. The Facebook phone is manufactured by HTC, the model will be HTC First. This will be a deeply customized Facebook phone, some IT professionals think this phone's name is very similar to HTC's flag model HTC One. This phone may provide a home screen application named Facebook Home. Facebook Home adopts the minimization design, it can display photos in full screen. T...

   Facebook phone,HTC,Facebook Home     2013-04-04 07:01:12

  Let 's write some front end codes

I've seen a lot of arguments that there is no much technical value writing web portal, I think that the vast majority of good programmers will try many different things. The low level development and machine learning are not the only technologies which are  full of wisdom and challenges, I wrote web site for a few years, it is difficult to say that this is my initial interest, although I touched on other technologies as well, I still feel building website is challenging. Front end developme...

   Front end development, JavaScript,CSS     2013-01-22 04:00:24