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

SEARCH KEYWORD -- GitHub



  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

  Open Source (Almost) Everything

When Chris and I first started working on GitHub in late 2007, we split the work into two parts. Chris worked on the Rails app and I worked on Grit, the first ever Git bindings for Ruby. After six months of development, Grit had become complete enough to power GitHub during our public launch of the site and we were faced with an interesting question:Should we open source Grit or keep it proprietary?Keeping it private would provide a higher hurdle for competing Ruby-based Git hosting sites, givin...

   Open source,Benefits,Popularity,Advertisement,Advantage     2011-11-23 07:58:15

  Coming up Next for JavaScript Web Apps Is Next.Js 3

Are wondering who is going to be the next PHP of the internet; except JavaScript. Next.js is all set to bring the PHP experience to JavaScript with its latest version. As the technology continues to be considered as a “win” amongst a number of developers across the globe, professionals are trying to improve it as much as they can. Because of its minimalist approach to server-rendered apps, this highly customizable framework can be recommendable for beginners as well as experienced pr...

   NEXT.JS3,JAVASCRIPT     2017-11-20 23:43:38

  How to be an excellent programmer

To use a programming language is very easy for a programmer, but it's a dream for many programmers to be an expert software developer. There are five levels of programmers: Novice, Senior novice, competent, proficient, and expert. Most programmers are senior novice. And programmer living in this level are a lot of people who have 1 to 10 years work experience.As a programmer, how to find the bottlenecks for your improvement and how to improve yourself quickly? This is really not an easy question...

   Programming,Tips,Habit     2013-03-26 09:53:38

  Emacs adventures

I have been using Emacs for over a year now. I actually didn’t learn a lot when I started using it (just the basics to get going and then some relatively common keyboard shortcuts), but lately I have been reading and learning much more about it. I’m so grateful by everything I’ve learned from different people on the net that I wanted to share a couple of things I’ve learned, and a simple major mode for editing AsciiDoc documents. As a long-time VIM user, I f...

   Editor,Linux,Emacx,VIM,Shortcuts     2011-11-30 11:56:49

  The craziest Javascript implementations

Since its birth in 1994, Javascript has come a long way. Today it’s one of the most popular programming languages on the web because of high popularity of AJAX based web-applications. Also the rise of micro-frameworks such as jQuery (also Prototype, Moo Tools etc) which have reduced dramatically the complexity of code developers needed to write, it is well tested, has a ton of plug-ins, has a large development community and reduced development time.And lately even Server-S...

   JavaScript,Crazy implementation,JVM,Turing machine     2012-01-03 12:09:42

  Maintain multiple versions of Go in one single environment

In a development environment, there might be multiple projects going on at the same time and they may require different development environments with different versions of build tool. In many programming languages, it is possible to have multiple versions of different build tool or development tool on a single environment. For example, there can be multiple JDKs, multiple versions of Ruby using RVM. For GoLang, there is a similar tool called GVM which can also be used to maintain multiple versio...

   GOLANG,GVM,GVM PKGSET,RVM     2019-11-10 00:43:47

  A simple tutorial on GoLang connecting to Clickhouse

Go, also known as Golang, is a statically-typed, concurrent programming language created by Google. ClickHouse is a high-performance, column-oriented database management system that can be used for real-time data analysis. This tutorial will provide a deep dive into how to connect to ClickHouse from a Go program, including how to perform common database operations such as SELECT and INSERT statements. Before proceeding, it is assumed that you already have Go and ClickHouse installed on your mach...

   GOLANG,CLICKHOUSE,TUTORIAL     2023-02-11 07:05:36

  Illiterate Programming

Donald Knuth cleverly imprisoned the phrase "Literate Programming" - if you're not documenting your source with his particular methodology then you must be a proponent of "Illiterate Programming," which sounds truly awful. I very much believe in documented code but I think no amount of pontification in English will ever make a piece of code clearer than the code itself (I'm not talking about project or API documentation). I'm also not talking about the super...

   Programming,Illiterate     2012-02-10 06:20:52

  A simple example of git bisect command

git bisect is a very powerful command for finding out which commit is a bad commit when bug occurs.  The rationale behind this command is that it pin locates the bad commit by divide and conquer. It divides the commit history into two equal parts, then determines whether the bad commit is at the first half or at the other half. This process will continue until the bad commit is located. Here is a really good example created by bradleyboy, this is a simple git repository which demonstr...

   GITHUB,GIT,GIT BISECT     2019-07-12 10:31:51