SEARCH KEYWORD -- Complicated
Dates in PHP and MySQL
I see a lot of people on forums and on my training courses asking about the best way (or any way) to manage dates stored in a MySQL database and used in PHP. Three options follow, but first the problem.PHP uses unix timestamps for all its date functionality. It has methods to convert these timestamps into pretty much any text format you could want but internally it uses the timestamp format. A timestamp is simply an integer. Specifically, it’s the number of seconds that have ela...
PHP,MySQL,Date format,Date,Comparison,Date compare 2011-10-17 14:00:57
Why accessing Java HashMap may cause infinite loop in concurrent environment
HashMap in Java is frequently used to handle key/value pairs. But it is not a good candidate to be used in concurrent environment where ConcurrentHashMap should be used instead. If used in concurrent environment, it may cause lots of unexpected behavior even including make the program getting into an infinite loop situation. To understand how this can happen, let's first discuss how HaspMap works internally. In this post we will use implementation of HashMap before Java 8 as example, Java 8 prov...
JAVA,HASHMAP,INFINITE LOOP 2020-03-29 01:47:00
Scala feels like EJB 2, and other thoughts
At Devoxx last week I used the phrase "Scala feels like EJB 2 to me". What was on my mind?ScalaFor a number of years on this blog I've been mentioning a desire to write a post about Scala. Writing such a post is not easy, because anyone who has been paying attention to anti-Scala blog posts will know that writing one is a sure fire way of getting flamed. The Scala community is not tolerant of dissent.But ultimately, I felt that it was important for me to speak out and express my opinions. As I s...
Scala,Module,EJB,Concurrency,Feature 2011-11-22 08:29:44
How multitasking really works on Android and iOS
As the horsepower packed into mobile devices gets ever greater, more full-featured forms of multitasking are possible. The market leaders have very different ways of going about things, and there are numerous misconceptions about what is going on behind the scenes. This isn’t all the fault of the user, though. In the interest of ease of use, sometimes the multitasking metaphor is overly simplified on both Android and iOS. iOS: It’s more complicated than it looksEver since iOS...
Android,iOs,Multitasking,Task bar 2012-01-06 09:58:09
HTTP Streaming and Internet Explorer
In early 2006, Alex Russell posted about a neat hack that the Google Talk team in Gmail use to support Comet in Internet Explorer, a trick which works as far back as IE 5.01. What great news! A reliable way to stream Comet messages to Microsoft’s browsers. If only it were that easy. I have not been alone in the following findings: after connecting the htmlfile ActiveX object as a streaming Comet transport to my Comet server, everything works perfectly for a few messages, but then abruptly...
IE,Streaming,JavaScript,htmlfile,ActiveX 2011-09-05 04:05:23
PHP sucks (but, some frameworks don't)
I started web development with PHP, and I've decided I've had enough. Why? Keep reading.PHP (the language) sucks. There, I said it. 1029380128301928301823 GlobalsObject system hacked onC extension system sucksDocumentation sucks (read more; no, I'm not drunk)Has a terrible communityAll in all, designed by total idiots. You've probably heard this a ton of times before, but, here it is again. THERE ARE JUST WAY TOO MANY GLOBALS. Why in the world does md5() need to be global? Do you serio...
PHP,Sucks,Framework,Good,Bad Design 2011-11-20 07:08:16
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 ...
A Brief Guide to Voice Navigation and the Future of UX Design
Voice devices are now everywhere, whether you like them or not. Amazon's Alexa, Google's Assistant, and Apple's Siri have proved that voice interactions are not from science fiction films but part of our new reality. Just as touch screens, voice interaction with devices will completely revolutionize how we interact with our computers, smartphones, and watches (and even cars and houses) in the coming years. But you might ask yourself, why is it evolving at such a fast speed? Well, there are many ...
UX DESIGN 2021-11-25 02:24:55
Notes on Programming in C
Introduction Kernighan and Plauger's The Elements of Programming Style was an important and rightly influential book. But sometimes I feel its concise rules were taken as a cookbook approach to good style instead of the succinct expression of a philosophy they were meant to be. If the book claims that variable names should be chosen meaningfully, doesn't it then follow that variables whose names are small essays on their use are even better? Isn't MaximumV...
The "C is Efficient" Language Fallacy
I came across an article yesterday about programming languages, which hit on one of my major peeves, so I can't resist responding. The article is at greythumb.org, and it's called Programmer's rant: what should and should not be added to C/C++. It's a variation on the extremely common belief that C and C++ are the best languages to use when you need code to run fast. They're not. They're good at things that need to get very close to the hardware - not in the efficiency sense, but in the...
C,GCC,Fallacy,Evolvement 2012-01-09 08:54:46
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>>