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

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 ...

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

  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...

   C,Notes,Tips     2011-12-09 07:55:47

  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