Articles tagged: software
Saturday, 11 September, 2010 — development
software
Marco Arment created Instapaper, one of my absolute favorite ways to cache and read links I just don’t have time to read right now. He was very recently interviewed by Bridging the Nerd Gap, and was talking about his set-up, coffee, editors and other geek bits. There’s much to respect there.
Then, when asked his hardest to replace tool, he names PHP. I know good, valuable PHP can be written. Instapaper is written in PHP. Flickr is, too. I’m not so much interested in his choice of language, but his rationale at using it:
Most people judge PHP on bad tutorial code they saw ten years ago. But it’s a very capable, advanced language that supports many modern programming amenities
Very true, and I’ve been guilty.
But then, he outlines what he doesn’t like:
… Its method names, parameter orders, and general styles are inconsistent. Its core designers and Zend are all over the place and often make decisions that I strongly disagree with. It doesn’t have any practical support for parallelism. And nearly every third-party module or library I’ve ever used has been terrible.
Coding professionally in PHP is lonely. While I know this isn’t the case, it always feels like we’re the only ones using it at this scale, because we hit so many bugs in critical modules …
I feel a strong aversion to that lonely feeling as a developer. That’s one reason why I’ve grown more attached to Ruby and moved away from Perl as my preferred language in recent years. It isn’t the community around the language. I’m certain PHP has a sizable community. Instead, there’s something else – are the developers I want to learn from where I am? I know there are benefits to being a great teacher, so even being the smartest guy in the room doesn’t have to be all bad. But I don’t see any benefit in being a programming monk.
Further, I’d find it very frustrating as a developer if I felt the language maintainers and I were working at cross-purposes. And to not have great third-party libraries? I’ve run into my share of RubyGem and CPAN crap, but there’s always been a number of great things that provide much better solutions than I could make (or, given my interests, would care to make). This all sounds like this frustrates Arment as well, but for the life of me, I couldn’t see myself continuing to hold on to the tool if all this were true. I’m fascinated Arment can.
Thursday, 15 July, 2010 — government
links
software
travel
Why governing Americans is so hard
Howard Gleckman in the Christian Science Monitor:
The conventional wisdom is that Americans are fed up with their government. But our demands on policymakers are so inconsistent and irrational that we make governing nearly impossible. We hate big deficits, but oppose the actual tax increases or spending cuts that we need to dam the flood of the red ink. We are furious that government passed an $800 billion stimulus last year, but feel lawmakers are not doing enough to get the economy going. We want government to “do something†about the gulf oil spill but reject government interference in private business.
…
We are, collectively, four. We want what we want, and we want it now. And we want somebody else to pay for it.
Why your plane is always full
James Fallows:
… I got up before 5:30am today to get an 8:15am flight out of Dulles, only to find an email from the airline saying that the flight had been delayed to 10:45. The inbound flight – from Dubai! – is late, and there are no spare planes to go on to San Francisco. OK – gladder to know now than before leaving the house for the airport, though ideally it would have great to know last night. Nothing to be done. But it was a serendipitous intro to the very next item in the email inbox: a report on how substantially airline capacity continues to be cut. There just are fewer flights anywhere, and more of them are full, than in yesteryear.
Microsoft opens source code to Russian secret service
Tom Espiner, ZDNet UK:
Microsoft has signed a deal to open its Windows 7 source code up to the Russian intelligence services.
Russian publication Vedomosti reported on Wednesday that Microsoft had also given the Russian Federal Security Service (FSB) access to Microsoft Windows Server 2008 R2, Microsoft Office 2010 and Microsoft SQL Server source code, with hopes of improving Microsoft sales to the Russian state.
The agreement will allow state bodies to study the source code and develop cryptography for the Microsoft products through the Science-Technical Centre ‘Atlas’, a government body controlled by the Ministry of Communications and Press, according to Vedomosti.
(via Bruce Schneier)
Thursday, 08 April, 2010 — apple
ipad
iphone
software
Yesterday, I posted thoughts on what Apple would announce at today’s iPhone 4.0 OS event. Today, Apple announced seven “tent-pole” features. There are 100 or so other features, so while I can say I hit on some things, I can’t say I hit or missed on others.
- Multitasking. I was right on being able to background and that it would be limited to the iPhone 3GS (and I presume the iPad). I was very wrong on how it would be implemented. Apple’s solution looks elegant
- Fast user switching. No info, but I doubt it for the initial 4.0 release.
- A more mature mechanism for notifications. Notifications are part of the background piece, but it doesn’t appear to be what I thought it would.
- New maps features Unknown.
- Lock screen widgets. Based on the brief lock screen I saw, I’m calling this a miss.
- Lock screen emergency number dial. As above, a miss.
- Unified inbox for Mobile Mail. A hit
- Email signature differentiated by account. Unknown.
- Multiple Exchange-account support. A hit.
- A better document management method. Unknown.
- No Wallpaper on the iPhone. Very wrong.
- No (native) turn-by-turn navigation. Not seen, but since they demo’d TomTom, I’m going to guess Apple’s not pursuing this themselves.
- No video-conferencing support. Unknown.
All in all, I’m pretty happy with what was announced and I’m looking forward to seeing the rest this summer.
Wednesday, 07 April, 2010 — apple
ipad
iphone
software
I have no particular insight into the iPhone OS development. I don’t have sources. I’m not an iPhone developer. But, since I found myself thinking about it earlier, I came up with a few things I’m hoping Apple announces as part of iPhone OS 4.0. I’m not claiming any particular ease, but these are generally things I think could be implemented elegantly and straightforward for the vast majority of users.
- Multitasking. If they stopped here and allowed me to background Pandora, I’d be happy. If I was drawing up the feature, I’d have people explicitly ask for certain apps to run in the background vs. everything automatically getting to run in the background. With limited memory on the iPhone, iPod Touch and iPad, users are going to have to specifically request a small subset of apps be able to run in the background. I can see this being limited to the iPhone 3GS and iPad since they have 256 mb of RAM.
- Fast user switching. Or, some other method of allowing an iPad to be used by multiple people in a family and keep settings straight.
- A more mature mechanism for notifications. As Fraser Speirs has requested, the ability to have a notification quiet period would be nice. There’s also room for having a way to review all notifications, particularly if you have several of them.
- New maps features including cycling directions, terrain tiles and, for the iPad, street view.
- Lock screen widgets. The iPad has the slideshow. I wonder if Apple might add the weather, the stocks widget or something similar.
- Lock screen emergency number dial. There’s a number to call if your phone is found or you’ve been involved in some manner of accident.
- Unified inbox for Mobile Mail.
- Email signature differentiated by account. I’d like to keep the same signature for each domain I send from the same as my desktop. The iPad (as near as I can tell from the Mail guided tour) doesn’t offer this, but it would be a big step forward to thinking of it as a primary tool if it did.
- Multiple Exchange-account support. Alternately, push support for Google apps like Mail and Calendar. Right now, the iPhone is limited to one Exchange account for email or calendars. If you have multiple GMail or Google calendar accounts, you only get push support for one (by way of the Exchange functionality).
- A better document management method. Maybe it’s MobileMe, maybe it’s a Time Machine-like hands-off sync mechanism. Maybe iWork gets more robust. But somehow, someway, there’s something better than what John Gruber describes in his iPad review.
What I’m not expecting to see
- Wallpaper on the iPhone. The app icons are too close together to really make out anything else.
- Turn-by-turn navigation. I don’t have a great reason, I just don’t think it’s going to be there.
- Video-conferencing support. I believe Apple’s thought this through and thinks the experience of holding a device in front of you for a video conference is going to suck.
Sunday, 17 January, 2010 — development
software
One of Chad Fowler’s recommendations in The Passionate Programmer is to practice Code Kata. Similar to musicians practicing scales or a martial artist practicing forms, this isn’t code that’s meant for practical value beyond practice. The means is the end.
I started with Fowler’s recommendation to implement programs that outputted the complete text of “99 bottles of beer on the wall” in a variety of languages. Very straightforward and I was pleased to observe/learn the following:
- Out of four languages attempted, I was able to get all four to work. Yay!
- I’m very familiar with Perl and Ruby. My career’s been spent on those two languages.
- I’m very rusty with PHP. I used PHP as a primary language for web development for about a year, back around 2000. I used it again from roughly 2005 to early 2007 on a client project, but I wouldn’t say I ever became conversant in the language. What I was looking at was bad code, too. In the time since, I’ve forgotten what little I did learn.
- I’ve never done anything with Python, but, for this exercise, it seemed pretty straight-forward.
- To accomplish the same task, the languages landed, in order of brevity, as follows: Python, Ruby, PHP, Perl.
- I don’t find using php tags for shell scripting ideal. At all.
- I learned a bit more about Ruby’s case/when statements. Most of my Ruby experience has been with Rails, and I’ve not found the need to write case/when statements.
- I wanted to use Perl 5.10’s features. You have to explicitly ask for them. I don’t like that so much. On the other hand, typing use strict; use warnings; doesn’t bother me.
Finally, I had David A. Black’s excellent The Well-Grounded Rubyist to draw from after seeing that my Ruby implementation was not doing what I expected. I used PHP Bible for finding what I needed for my PHP example. Language preference aside, there’s a broad-spectrum of programming book quality. One end offers encouragement to dig deeper and demonstrates best-practices. The other end is a fire hose of language info to write the site your uncle gave you $200 to build that he wants Monday. Regardless of the language, I need to find the first type of documentation and avoid the second.
If you’re interested, I’ve put all four languages into one gist on GitHub.