SEARCH KEYWORD -- Math
Find max subarray of an array
In computer science, the maximum subarray problem is the task of finding the contiguous subarray within a one-dimensional array of numbers (containing at least one positive number) which has the largest sum. For example, for the sequence of values −2, 1, −3, 4, −1, 2, 1, −5, 4; the contiguous subarray with the largest sum is 4, −1, 2, 1, with sum 6. The problem was first posed by Ulf Grenander of Brown University in 1977,...
Max Subarray, Divide and conquer,Kadane 2013-04-22 11:50:35
Comparing Floating Point Numbers, 2012 Edition
We’ve finally reached the point in this series that I’ve been waiting for. In this post I am going to share the most crucial piece of floating-point math knowledge that I have. Here it is:[Floating-point] math is hard.You just won’t believe how vastly, hugely, mind-bogglingly hard it is. I mean, you may think it’s difficult to calculate when trains from Chicago and Los Angeles will collide, but that’s just peanuts to floating-point math.Seriously. Each ti...
Floating point number,Comparison,True value 2012-02-23 07:11:03
Valid JavaScript variable names
Did you know var π = Math.PI; is syntactically valid JavaScript? I thought this was pretty cool, so I decided to look into which Unicode glyphs are allowed in JavaScript variable names, or identifiers as the ECMAScript specification calls them. Reserved words The ECMAScript 5.1 spec says: An Identifier is an IdentifierName that is not a ReservedWord. The spec describes four groups of reserved words: keywords, future reserved words, null literals and boolean lite...
JavaScript,Name convention,Standard 2012-02-22 05:16:53
The ugliest C feature:
<tgmath.h> is a header provided by the standard C library, introduced in C99 to allow easier porting of Fortran numerical software to C. Fortran, unlike C, provides “intrinsic functionsâ€, which are a part of the language and behave more like operators. While ordinary (“externalâ€) functions behave similarly to C functions with respect to types (the types of arguments and parameters must match and the restult type is fixed), intrinsic functions accept arguments of...
C,
Python – parallelizing CPU-bound tasks with multiprocessing
In a previous post on Python threads, I briefly mentioned that threads are unsuitable for CPU-bound tasks, and multiprocessing should be used instead. Here I want to demonstrate this with benchmark numbers, also showing that creating multiple processes in Python is just as simple as creating multiple threads. First, let’s pick a simple computation to use for the benchmarking. I don’t want it to be completely artificial, so I’ll use a dumbed-down version of factorization...
Python,Multitasking,Multiprocessing,CPU bound 2012-01-17 11:38:22
Java Sequential IO Performance
Many applications record a series of events to file-based storage for later use. This can be anything from logging and auditing, through to keeping a transaction redo log in an event sourced design or its close relative CQRS. Java has a number of means by which a file can be sequentially written to, or read back again. This article explores some of these mechanisms to understand their performance characteristics. For the scope of this article I will be using pre-a...
Java,IO,Sequential,Blocking 2012-02-23 07:09:10
We need a programming language for the rest of us
Recently I took on the enormous task of learning Objective-C from the bottom up and I was struck by something I couldn’t shake: this is too hard. An experienced developer might scoff at me for saying that, but it’s true. I’ll be honest about my education, Calculus II was the most math I ever took, I have an advanced degree from Berkeley in Journalism. I am a proficient HTML/CSS developer and can glue enough javascript together to solve almost any problem that has presen...
Code.Programming,Expectation,Easy-to-use 2011-07-22 02:20:09
Translating math into code with examples in Java, Racket, Haskell and Python
Discrete mathematical structures form the foundation of computer science.These structures are so universal that most research papers in the theory of computation, programming languages and formal methods present concepts in terms of discrete mathematics rather than code.The underlying assumption is that the reader will know how to translate these structures into a faithful implementation as a working program.A lack of material explaining this translation frustrates outsiders.What deepens that fr...
Math,Algorithms,Formula,Program,Python 2011-11-14 08:43:15
About short URL and its implementation
IntroductionURL shortening is a kind of technique to convert a long URL to a short URL. There are many companies now providing this kind of service, we now take Google's URL shortener service http://goo.gl/ as an example.First we navigate to http://goo.gl/, then we enter a random URL into the text field, here we use http://www.url-to-be-shortened.com as the input, it will return us an shortened URL : http://goo.gl/ZSVMM. URL ParsingWhen we type http://goo.gl/ZSVMM in browser address bar, the DNS...
The Book That Every Programmer Should Read
No, it’s not Knuth’s “The Art of Programmingâ€. I’m talking about quite an easy-to-read (compared to TAoP) book, which, in fact, does not require any engineering or mathematical background from the reader.I am talking about C. Petzold’s “CODEâ€. It is a truly remarkable book about how computers work. Let me explain why I think this book is so awesome.The book starts from the very beginning, from explaining what code is, bringi...
Programmer,Book,Must read,CODE,C. Petzold 2011-10-31 10:43:58
RECENT
- Tips for Socializing With Friends During College
- Proximity Cards Do More Than Just Open Doors
- How to choose quality painted auto parts
- Oval engagement rings from MoonOcean: Elegance of form and individual approach
- Hologres vs AWS Redshift
- GoLand connect to Hologres
- A journey to investigate a goroutine leakage case
- Understanding Slice Behavior in Go
- Breaking Barriers: How 3D Printing is Democratizing Product Development
- The Power of Efficiency: 10 Practical Energy-Saving Tips for Tech Startups
- more>>