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

 ALL


  One interesting story about Chinese software development

I have once seen an interesting complaint written by one foreigner about Beijing South Railway Station (China) on foursquare. It says: "There is simply no way to buy a ticket at the machine unless you have a Chinese ID. What the hell they have English interface for then?"Apparently,the foreigner cannot buy ticket because he doesn’t have Chinese ID but there still presents an English interface for foreigners on the vending machine. Because of my profession, I find this awkward situation worth discussion. The complaint from foreign friends poses a typical question for Chinese software deve...

4,431 0       SOFTWARE DESIGN USER EXPERIENCE IMPORTANCE


  Bytes Matter

I love to profile applications, because I always learn something that surprises me.Initial Profiler Surprise: Client SideCase in point, I was recently profiling our Android application, the Famigo Sandbox. This app sends a lot of data back and forth with our API, as we try to determine which of the apps on your phone are safe for your kids. I always assumed that, if app performance suffered during some of the chattier features, it was probably due to slow cell reception.The profiler told me that I was wrong; the tran...

2,662 0       BYTE LOW LEVEL OPERATION IMPORTANCE


  Why Python is important for you

I believe that Python is important for software development. Whilethere are more powerful languages (e.g. Lisp), faster languages(e.g. C), more used languages (e.g. Java), and weirder languages(e.g. Haskell), Python gets a lot of different things right, andright in a combination that no other language I know of has done sofar.It recognises that you’ll spend a lot more time reading code thanwriting it, and focuses on guiding developers to write readablecode. It’s possible to write obfuscated code in Python, but theeasiest way to write the code (assuming you know Python) is almosta...

5,384 0       PYTHON IMPORTANCE PARADIGM


  Why Data Structures Matter

Our experience on Day 0 of JPR11 yielded a nice example of the need to choose an appropriate implementation of an abstract concept. As I mentioned in the previous post, we experimented with Michael Barker’s Scala implementation of Guy Steele’s parallelizable word-splitting algorithm (slides 51-67). Here’s the core of the issue.Given a type-compatible associative operator and sequence of values, we can fold the operator over the sequence to obtain a single accumulated value. For example, because addition of integers is associative, addition can be folded over the sequence:...

2,304 0       IMPORTANCE DATA STRUCTURE JPR


  People, processes and tools

Some years ago, one of my managers used to repeat this "Accenture truism" (or so he designated it): to fix or improve something, first you need the right people, then you need the right processes to help those people work together, then finally you need the right tools to support those processes. People, processes, and tools - in that order.This is even more true for tech startups than for corporations. As geeks, whenever we face a problem, we often start by looking for a tool to fix it. "Our team isn't communicating properly - let's set up Campfire." "But I don't like Campfire, why don't we u...

2,235 0       WORK PROCESS IMPORTANCE TOOL PEOPLE PRIORITY


  Are frameworks making developers dumb?

Last week I got to take interviews to hire senior java developers with around 5 years of experience. But after the interview process is over I felt like the frameworks makes developers life easier but at the same time making them dumb.Everyone puts almost all the new frameworks on their resume claiming they have "Strong, working experience on Spring, Hibernate, Web Services etc".Here is how the interviews went on.Me: You have used Spring in your latest project. What are the advantages of using Spring?Interviewee: We can configure beans in XML and it will take care of instan...

2,921 0       FRAMEWORK IMPORTANCE DISADVANTAGE EASY