(This is just a note for myself).
IPC::ConcurrencyLimit is a handy module for implementing a number of concurrency patterns.
Steffan Mueller mentioned it in a comment on my blog back in 2011. Since then, there have been a couple of articles about it on the Booking.com dev blog
Posted in Perl | Tagged ipc, perlnotes | Leave a Comment »
Chris Wellons has an interesting comment on Guy Steele’s classic Growing a Language which made me think of Perl:
- The point about a more mature version of a language failing vs an earlier version can’t be right. For example, if Perl 4 and Perl 5 were released at the same time, which would people choose?
- On the other hand, obviously Perl 5 would not exist, because of the lack of evolution, if it hadn’t been for Perl 4. I think I saw a speech by Larry where he said he had tried to lay grass down (e.g. symbol table hacking) for others to turn into sidewalks (e.g object orientation).
- Perl 5 is nicely designed for evolution. Take the Try::Tiny module for example. How many commercially acceptable languages could you add Try/Catch/Finally too if it wasn’t already baked into the language?
Posted in Perl | Leave a Comment »
Interesting discussion at lunch today. The Javarians asserted “Yes” (although I’m certain they didn’t think through the implications).
A good counterfactual would consider the result of the void left in 1996 without Java.
Smalltalk may have flourished. C# wouldn’t have been created and instead we would have seen VB7, VB8, etc. C++ would have been pressed into more unsuitable domains. Would there have been space for D… ?
However, this is not that article. We assumed the existence of C#, .NET and Mono. Clearly Java 1.0 would not survive if introduced into a 2013 world without Java
What about Java 7 or 8?
Without developers, even a great language is useless. You can’t hire developers for it. You don’t get third party libraries or people blogging (or writing on Stack Overflow) about how to solve various problems.
Enterprise developers from C++ would have migrated to .NET or Mono already depending on whether they were on Windows or Linux. Java wouldn’t be the great leap forward (for typical enterprise teams) that Java 1.2 was in 1998.
No, even Java 7 would not succeed if released today. A big part of what makes it successful is the huge number of talented and experienced Java developers.
What do you think? Do you agree or disagree?
Posted in Programming | 3 Comments »
In the future, apparently we’ll only have one computer – a smartphone that plugs into a docking station. If a docking station is needed to work, and I need to work on the move then I still need more than a smartphone.
I prefer the future laid out by Ben Thompson:
multiple devices linked by the cloud.
…what is the smallest screen size Apple could make and still run iPad apps?
The conclusion was that a smaller iPad would need a different resolution. It would still be tough to do fine-grained work.
A reasonably sized smart phone is fine for surfing the net, watching movies and replying to email (although I’m still sad when the keyboard takes over half my screen). For working, although you can make do with one in extremis, either a larger device or a completely new interface is required.
Posted in Smartphones, Uncategorized | Leave a Comment »
What are we looking at here? This is the free space of the various mount points of the phone. System is the OS (Android 4.0.4 in this case) and SD should be fairly self-explanatory.
The 147MB data segment is the space for storing apps. It’s supposed to be 512MB, but HTC did something funky… and a lot of the default apps take up space here, so there is really not a lot of space for third party apps. The first thing you do when installing a new ROM on the Desire is to create a new Ext partition, and start linking parts of your data mount to it.
As with all things Android, there’s a choice of what to move off to your partition: Apps, Data and Dalvik Cache. Moving Apps to Ext is essential, but at the same time, doesn’t help much. After four or five apps, I’m still out of space on my Apps partition.
I decide to move Data but it doesn’t help much. This screenshot shows the result after moving data – and data still has 128MB used of 147MB. Surprise surprise – Dalvik Cache is also stored in “Data”.
Unfortunately, moving Dalvik Cache pretty much hoses your performance. It contains pre-compiled byte code and loading that off SD card takes a long time. Apps start taking between 10 seconds and a minute to start-up.
I’m caught between a rock and a hard place. Truly awful performance, but plenty of space for apps. Or moderately poor performance and no space for apps.
Posted in Smartphones | Tagged android, htc desire | Leave a Comment »
My android set-up has been tweaked and honed over more than three years. It is really a bit more than the original HTC Desire is capable of coping with.
The focus of my home screen is communication. Two email apps – Yahoo and Gmail, Viber (messenging), Facebook Messenger and LinkedIn. My phone calls, SMS and a shared calendar are a fifth, sixth and seventh way of communicating respectively.
This is primarily for enabling and disabling WiFi and 3G to conserve the battery. It’s one swipe to the left and then one button press. It’s not quite as convenient in Windows Phone, even using Quick Settings.
Posted in Smartphones | Tagged android, htc desire | Leave a Comment »
My Android Background
I’ve owned a HTC Desire for almost 3 years (100 years in
dog smartphone years) and it has been quite an experience.
- It was never particularly brilliant at being a phone. Calls would often drop, or never make it through at all.
- The Desire had a bug that meant that replying to an SMS sometimes sent your response to someone else. If you had a mistress, I imagine that could have lead to some difficult conversations…
- The amount of storage for apps was ridiculously limited. It was supposed to be 512MB, but somehow HTC managed to reduce that to 147MB. There are a few ways around this limitation.
- The last official OTA update was to 2.2 – Froyo. Yup, not even Gingerbread. The official (7.2) Cyanogenmod release did get you to 2.3. But apart from unofficial roms, that was it.
Fixing (some of) the issues
I finally installed a beta Icecream Sandwich (4.04) rom, but now the phone crashes a few times per day. Downgrading to 2.3 did not fix this crash. Generally, the crash isn’t problematic, but as my phone is my alarm clock, when it crashes overnight, I get to sleep-in.
I stayed with 4.04 as some apps, including the modern, greatly improved google keyboard, simply don’t support Gingerbread.
Also, it is laggy as heck.
- I do use the phone/SMS functionality so that isn’t optional
- Non-phone communication – I have Y! Mail, Gmail, LinkedIn, Viber installed
- Internet browser
- Alarm-clock – I have fairly specific requirements here and Alarm Clock Plus works really well for me
- Evernote, Dropbox
- TODO list (Wunderlist)
- Music Player
Why WP8 ?
I’d be happy to stick with Android, to be honest. But:
- None of the current flagship android phones are particularly tempting, e.g. Galaxy S4, HTC One, Xperia Z …
- It costs £100 for an unlocked smart phone (Lumia 520) !
- It covers most of my use cases
Experience so far
- So far it has been pretty snappy. The specs are not a million miles away from the Desire on paper (1GHz CPU, albeit dual core and more recent I guess, 512MB of memory), but even so, it’s a far nicer experience
- I’m covered with most apps – Mail, LinkedIn, Shared (Google-linked) Calendar, RSS readers, Browser, …
- I’m disappointed with the enhanced alarm apps. There is a limitation in WP8 which means that alarm apps can’t work correctly in the background and in any case, have limited access to the volume. I’d like to have an app that begins by vibrating and then have a sounds that slowly increases in volume. Maybe I could simulate this with an appropriate tune?
Posted in Smartphones | Tagged android, wp8 | 2 Comments »