Archive for category Uncategorized
Continuous Delivery
Posted by Valeriu Caraulean in Uncategorized on May 6, 2011
What is Continuous Delivery? For me so far it is:
- a book sitting next in my reading queue. A bit pricey tough, should negotiate with my wife to bump up my books budget.
- a blog by Jez Humble (author of the book) where you can enjoy his latest post, Make Large Scale Changes Incrementally with Branch By Abstraction. It’s well worth the time spent reading. And one more feed to be added to your Google Reader.
From the blog post mentioned earlier:
… if your codebase uses the big ball of mud pattern …
Quite popular pattern, I would say…
MIX11 day two, Windows Phone 7 announcements
Posted by Valeriu Caraulean in General, Uncategorized, wp7 on April 13, 2011
I’ve bee watching Channel 9 with WP7 announcements and there are very interesting things that are coming to the platform, both developer and end-user oriented. In no particular order, with my comments:
- Jump list (on letters using LongListSelector) and app search directly in application list. It’s a welcome change. When number of installed apps is past of 30-40, it’s very hard to find quickly the right app. I’ve tried to imagine a solution for this problem and came to idea that MS will let user’s create “folder” tiles to group apps, similarly to iOS. How will work solution from MS we’ll see when Mango will be released.
- Marketplace improvements and better search. Another much welcomed change. Whenever I had to find something in Marketplace I would rather fire up Zune if it’s available. Same, Games Hub is nice addition.
- Third party apps integrated in search.
- Improved hardware interoperability. Camera, gyro, compass. I’m cool for this stuff.
- Improved live tiles. You can “pin” part of your apps to a tile. Extremely powerful feature, if done right (by developer). Then you have animations and status updates on a tile, directly from the app and not a remote service.
- MULTITASKING. I’ve been waiting for it. “Only back” navigation isn’t the greatest experience when you’re trying to do few things at the same time. App switching speed is very impressive. I’ve seen demos of Blackberry’s PlayBook based on QNX and running few resource heavy games at once and I’ve beed astounded by how system manages that. I’m glad to see that WP7 offers similar experience.
- Sockets & low level network API. Skype is coming. Hope to see a decent IM app supporting ICQ & GTalk soon. And a VoIP/Softphone client too…
- SQL CE database. Good to have, may be useful for data intensive apps & offline capabilities.
- IE9 & HTML5.
So, Microsoft took a slow start strategy with Windows Phone 7. Got it out robust but low on features if compared with iOS & Android. Made first update (the NoDo) to make small improvements and polish the update process itself. And Mango will be coming this year to put it on par with competitors. When you add to the game the power of Microsoft’s marketing machine, strong partner relationships and Nokia deal, then forecasts about WP7 getting over iPhone by 2015 sound very realistic.
‘Simplicity vs. Choice’ by Joel Spolsky
Posted by Valeriu Caraulean in Uncategorized on August 26, 2010
Finished watching recording of his talk at “Business of Software 2009” conference.
Very entertaining and got me thinking…
… Simplicity has it’s place. But when users are demanding more (advanced features) you have to offer it.
… Keeping complexity under control and hiding it after an elegant facade – that is a true art of software development. And don’t forget user’s requirements…
Explaining Castle (note to myself)
Posted by Valeriu Caraulean in Uncategorized on August 17, 2010
Before even trying to explain to somebody what Castle Windsor container does be sure that other side understands the Dependency Injection principle – why it is important and what you’re achieving by using it.
It’s important…
And after explaining DI, if you have some time, pass quickly trough SOLID…
Fragment of the day
Posted by Valeriu Caraulean in Uncategorized on August 12, 2010
In technology, once you have bad programmers, you’re doomed. I can’t think of an instance where a company has sunk into technical mediocrity and recovered. Good programmers want to work with other good programmers. So once the quality of programmers at your company starts to drop, you enter a death spiral from which there is no recovery.
Tomorrow will be better…
Posted by Valeriu Caraulean in Uncategorized on August 11, 2010
I know, it’s late, but this…
FatalExecutionEngineError was detected
Message: The runtime has encountered a fatal error. The address of the error was at 0xf8b96934, on thread 0x147c. The error code is 0xc0000005. This error may be a bug in the CLR or in the unsafe or non-verifiable portions of user code. Common sources of this bug include user marshaling errors for COM-interop or PInvoke, which may corrupt the stack.
Is it the way how CLR is saying “time to go home”?
Interesting pattern to decouple application parts and for integrating with other apps
Posted by Valeriu Caraulean in Uncategorized on August 5, 2010
Udi Dahan has written about an interesting way to evolve loosely-coupled application. It’s a very interesting trick and we’re already using it in our applications. And we’re using it for a very similar scenario: allowing to application modules and infrastructure to step in and say what they have about configuration and bootstrapping.
For example, some modules can modify configuration of NHibernate’s SessionFactory. We have next interface:
public interface IConfigurationContributor
{
void Process(string name, Configuration config);
}
And whoever wants to intervene in configuration of any SessionFactory is implementing it. When factory is build container is pulling all implementors of IConfigurationContributor and “runs” over all of them.
As a result – clean design and loosely coupled application parts…
“Complexity is ok, complicated is bad”
Posted by Valeriu Caraulean in Uncategorized on July 4, 2010
Watched presentation of Dan Norman at “Business of Software 2009” conference. Really enjoyed the talk.
From my understanding, it’s about keeping in mind human experience when working on software products and never stop thinking about your customers/users as a real people: they make mistakes, have emotions and take decisions based on previous real world experience…
User experience and hardware updates
Posted by Valeriu Caraulean in Uncategorized on June 19, 2010
Had to install from zero a Dell notebook recently. Yes, my new development rig… Apart of Windows installation experience (very simplistic in essence & straightforward) had to install latest drivers for all notebook’s hardware. Typically, process looked like this:
- go to Dell’s site
- look up the latest driver for device you want
- download it
- run it – it’s a “.exe” file.
- done!
And today I want to update device drivers for my older netbook: Asus 1000H. I wanted to start with updating the BIOS.
- Got to Asus support site,
- found the latest BIOS version
- downloaded it
- it’s a “.rom” file.
- full stop!
Guess then, which portable device I’ll buy next? Definitely, not an Asus.
Got in mind the “Don’t make me think” by Steven Krug…
PS. It’s always small touches and details that makes the experience polarized: love/hate is one detail away…
Got new hardware – part 1
Posted by Valeriu Caraulean in Uncategorized on May 21, 2010
I have new monitor: Dell UltraSharp 2209WA.
What I like:
- Slick design. Breathes style and functionality.
- Panel: IPS. Crisp visual elements. Wonderful colors.
- Functionality: adjustable height, portrait mode, USB hubs.
- Brightness is set to 12% and it’s well enough.
Working on wide angles and big resolution will need a bit of accommodation and changing some habits.
It looks nice, image quality is top. I think I’ll be loving it…
This blog is about things I'm passionated - Software Development, User Experience, gadgets and few other facets of IT that are keeping me busy at work as well as fueling my knowledge and self-improvement demons.