SEARCH KEYWORD -- Code Jam 2013
Programmer professionalism
Programmer is a lifetime occupation. But first, as a programmer you need to love programming, rather than just an occupation to achieve other goals in life.Now if you plan to spend decades of life on programming, then you should continue to think about what is more efficient. In other words, how are you different from who you were a decade ago and how will you be better than who you are now a decade later?In my opinion, a programmer, regardless of his work, should improve himself in three aspect...
Programmer, Idea 2012-12-10 12:05:24
Currying in Python
What is Currying? Currying is like a kind of incremental binding of function arguments. Let’s define a simple function which takes 5 arguments: 1def f(a, b, c, d, e):2 print(a, b, c, d, e) In a language where currying is supported, f is a function which takes one argument (a) and returns a function which takes 4 arguments. This means that f(5) is the following function: 1def g(b, c, d, e):2 f(5, b, c, d, e) We could emulate this behavior the...
A mini post on GoLang context
In a GoLang web server, every request coming in will be handled by a goroutine. In the request handler, the logic may also need to create new goroutine to handle other tasks like RPC call. When the request is processed and response is returned, these goroutines created need to be exited so that no goroutine leak should happen. package main import ( "fmt" "log" "net/http" ) func main() { http.HandleFunc("/echo", func(w http.ResponseWriter, r *http.Request) { fmt.Println(&r) w.Write(...
Unfortunate Python
Python is a wonderful language, but some parts should really have bright WARNING signs all over them. There are features that just can't be used safely and others are that are useful but people tend to use in the wrong ways. This is a rough transcript of the talk I gave at my local Python group on November 15, with some of the audience feed back mixed in. Most of this came from hanging around the Python IRC channel, something I highly recommend. [update 2011-12-19: improved "array" cr...
Python,Defects,Deprecated methods,Warning 2011-12-20 08:27:36
Five-minute Multimethods in Python
So what are multimethods? I'll give you my own definition, as I've come to understand them: a function that has multiple versions, distinguished by the type of the arguments. (Some people go beyond this and also allow versions distinguished by the value of the arguments; I'm not addressing this here.) As a very simple example, let's suppose we have a function that we want to define for two ints, two floats, or two strings. Of course, we could define it as follows: def foo(a, b): if...
Python,Multimethod,Argument list,Version,Overloadding 2011-12-07 08:41:03
Understanding GoLang interface
If goroutine and channel are considered as the foundation for GoLang concurrency, interface would be the key for data types in GoLang. In practical Go programming, almost all data types are built/used around interfaces, interface is the core of GoLang data structures. Go is not a typical OOP language, it has no class and inheritance concept syntactically. But it doesn't mean that there cannot be polymorphism in GoLang. Because of interface, it achieves the same polymorphism effect as in C++, tho...
Update & Delete Kubernetes resources in one-line command
It recently troubles me that my GKE cluster is managing more and more resources and causing difficulties in maintenance, one of which involves how to delete resources properly. Next, I will explain step by step the difficulties I encountered in my work and how I finally used the combination of bash commands and kubectl to implement the edition of Kubernetes objects through one-line command. In general The following are the basic operations that almost every Kubernetes user takes. Check ðŸ‘...
KUBERNETES 2020-11-01 04:16:47
Touching and Gesturing on iPhone, Android, and More
One of the most important parts of creating an effective and intuitive user interface on touch-enabled smartphones has nothing to do with visual appearance—instead, it has to do with creating an interface that properly responds to user input based on touch. For Web applications, this means replacing mouse events with touch events. In Dojo 1.7, new touch APIs help make this process easy. This is an updated version of the post Touching and Gesturing on the iPhone, published in 2008. I...
A turing machine in 133 bytes of javascript
Multiply turing machine The fact it took me 20 lines of javascript to implement a nondeterministic turing machine simulatorlast week kept me up at night. All weekend. Too much code for something so simple and I kept having this gut feeling implementing a basic version shouldn’t take more than 140 bytes. Sunday afternoon I sat down for about an ...
Turing machine,JavaScript,Simple code 2011-11-28 09:27:28
PHP to get long running process progress dynamically
Frequently in web applications, we may have a request to the back end system which may trigger a long running process such as searching huge amount of data or a long running database process. Then the front end webpage may hang and wait for the process to be finished. During this process, if we can provide the user some information about the progress of the back end process, it may improve user experience. Unfortunately, in web applications, this seems not an easy task because web scripting lang...
AJAX,PHP,progress,long process,demo 2012-06-04 07:29:37
RECENT
- How to make select in WinSock exceed the 64-socket limit
- EtsiosApp Release Date: All You Need to Know
- SIEM Big Data Visualization [03]:Graph-Based SIEM Log Analysis Dashboard
- How AI is Changing Web Development: A New Era of Digital Innovation
- SIEM Big Data Visualization [02]: National Cyber Threats Dashboard
- Exploring the Impact of a Loan Origination System on Financial Institutions
- Power Grid OT Simulation System
- Why is Golang's Compilation Speed So Fast?
- SIEM Big Data Visualization : Dashboard for Monitoring Scam Events in Critical Infrastructure
- Introduction to the Application of eBPF in Golang
- more>>