As we approach software today, often through web or mobile applications, people generally appreciate the elegance of the interaction or lack thereof. But as software engineers know, there is a lot going on behind the scenes. Of course, with user interfaces for the masses becoming a necessity for modern applications, designers and more artistic–oriented folks have been contributing to the practice of software development. That leads to the question: Is software more of a science or an art?
Solr is an open source enterprise search platform from the Apache Lucene project. Its major features include powerful full-text search, hit highlighting, faceted search, dynamic clustering, database integration, rich document (e.g., Word, PDF) handling, and geospatial search. Solr is highly scalable, providing distributed search and index replication, and it powers the search and navigation features of many of the world’s largest internet sites.
Much of programming is writing code with an obvious solution, it’s being a code monkey. You lay things out, you move them around, you wire it up, but you don’t really need to stop and think. I’d estimate that everyone is about equally good at this. But some of the work is also spent solving problems you’ve never seen before. This is where bugs are introduced, bad decisions are made, schedules are thrown out, and things go wrong. These problems are the really defining part of being a great programmer.
Last night I was rummaging through some of my past projects doing a little winter cleaning, and I stumbled upon this jQuery plugin that I wrote a while back. I ran the code to see if it still functions (it was using jQuery 1.3). And to my pleasant surprise, the code still runs like a charm. So, I just want to take the time to share it with you all.
I’m a loyal user of iPhone. I’ve been using it since its first version and now I’m on 4S. Though I’m staying in iOS camp and don’t have any intention of moving, I occasionally get the urge to test out and see what’s out there. That’s the reason why I convinced myself to own and play with Dell Streak 5″ phone and Google Nexus S. They are both smart smart-phones. But it’s hard to pick their pros and cons by simply “playing” with it. You’ve got to use it. Daily. For everything including surfing, speed dialing, social-networking and games. Everything. And that’s something that I didn’t get a chance to do until last summer when I was traveling and in need of an unlocked phone. I could make my iPhone work (don’t ask me how) but thought I’d give an Android phone a real kick.
You might not be aware of it yet, however SFMOMA (the San Francisco Museum Of Modern Art) is currently hosting Dieter Rams’s “Less but Better” product exhibit.
You might also not be aware of who Dieter Rams is, since he is not directly related to the software industry.
Indeed, for almost 40 years Dieter Rams was Chief of Design at Braun’s: he designed record players, razors, radio sets, etc.
Given (A) foo.mov, (B) bux.avi, and (C) baz.m4v, which can your video software handle correctly?
- A & B
- All of them
- All or some or none of them depending on their codecs, your software’s codecs, and whether they’re doing anything special with the container format.
Whether or not they follow other precepts of Agile development, many software companies have implemented some form of a ‘scrum’ – a short daily stand-up in which team members report on their current progress. A well run scrum can be an extremely valuable communication asset for team members. A poorly run scrum can be an annoying and time consuming hassle that turns teams off of scrum. And even though teams are supposed to be “self-organizing”, in my experience a good scrummaster is always important for a good scrum outcome. Below I’ve outlined a few common problems for scrums, and things the scrummaster can do to keep things on track.
After being heads down in the code for quite a while now, we decided to dedicate a little time to sharpening our writing skills. In the coming weeks you should see a number of contributions covering a wide variety of topics. We’ll kick things off today with a seemingly pedestrian subject: the naming classes, files, variables, packages, etc.