2,699 karma · joined October 12, 2012
In the case provided, the whole thing was just an architectural mess.
There should be one abstraction which is the transaction and unit of work boundary in the form of a service layer so the application looks like:
controller <--> service <-> model/repository
The transaction and unit of work boundary above is inside the service. This should be entirely controlled by framework/container or chucked in there manually (see example below).
The model/repository should pretty much be whatever the native ORM interface is. it ain't worth abstracting it for shit as you're not going to change it, ever. In the case of NHibernate, which I'd recommend over anything else, your code would look like:
class UserService {
// ... DI crud here.
public BooleanResult AddUser(UserTransferObject userTransferObject) {
// Validate shit here
// Create shit
using (var session = sessionFactory.OpenSession()) // UOW boundary
using (var trans = session.BeginTransaction()) // Transaction boundary
{
var user = User.CreateFromTransferObject(userTransferObject);
session.Add(user);
trans.Commit();
return BooleanResult.Success();
}
}
}
This model can be applied to pretty much everything from API endpoints, web app endpoints, message bus endpoints, queue endpoints, SMTP endpoints. You name it, without having to piss around and let your abstraction leak into the controllers.You can add a repository abstraction in there as well if you really fancy it but I wouldn't bother.
We're 3 days from no food at any time.
Except they also have the "back to work scheme" which means they don't even have to pay them to stack shelves in safeway (or Morrisons as it now is).
People smoke. It doesn't mean its good.
I really don't have a problem with GC though. Its easier to optimise a GC than to fix memory and reference counting bugs. Memory management is not a problem I want to be dealing with after 60-odd years of computers being around.
Its like a Swiss army knife with a million blunt obscure tools rather than 5 useful sharp ones, or a crazy girlfriend who has three violent ex husbands who keep coming round to your house and lives with a crackhead.
Go is a trip to your Volvo dealer - uneventful but you get what you want at the end of the day and get where you want to go and when you're done, you're done.
Plenty of people are starving today even probably less than a mile away from anyone eating well.
The system does not serve everyone equally and ultimately we may all suffer one day.
Some of us, myself included consider it to be a valuable skill in an unstable world and some insurance against the fuckwits we have to trust in society.
Also the stuff tastes better.
The skills are definitely transferrable , particularly time and planning skills. Mathematics and engineering skills are almost vital for success as well.
However the most important things it gives me are peace, tranquility and space to think. I can go for a wander and come back with a fully modelled system and some potatoes :)
All skills gained are valuable in an uncertain future.
http://www.gburnett.unisonplus.net/Perma/indexp2.htm
(The Industrial Cup Of Tea)
I know no one who has upgraded to windows 8. I got 5 free copies with my MSDN sub and one got claimed before I deleted the VM. Considering I work for a Microsoft partner with 180 staff, we have one windows 8 machine and its an RT Surface used by QA. We have 4 VMs for testing as well which never visit the www at all. We have more Macs in the office!
Chrome I find to be slightly obtuse and buggy. Constant tab crashes and hangs and I'm really not sure its that fast. Friends seem to have the same opinion. One complaint I hear is that people are constantly prompted to sign into chrome. We're pretty much all back on Firefox and IE.
Meh.
With Firefox OS around and with a brand name more people recognise, I doubt they will get anywhere.
I mean even Microsoft have had to work hard to get their stuff on the market.
I'm considering spending some time on an anti drone technology startup. I have some ideas.
Citation for the downvoters: http://answers.yahoo.com/question/index?qid=20110910190628AA...
In fact, much as most design by committee systems are, the nazi regime was a bit of an incompetent mess with holes left right and centre.
If you ever meet a Jew who is willing to discuss it, they usually have a relative or two who escaped to a more friendly country.
A relative of mine, a German civilian but not a sympathizer was employed to deliver supplies to the camps. According to him, after the war supplies were cut by the allies and people were left to starve to death. People were so hungry they were eating their clothes. Those camps by then contained both nazi and civilian prisoners mixed together as well resulting in murders, violence and factions of prisoners.
There's as much evil on both sides if you ask me. The whole thing was a complete mess from end to end.
Only the victors get to put pen to page. The victors also pretty much legislated against debating anything other than the official stories.
Note: I'm not denying anything, but some things have gone unsaid. When you're not allowed to talk, faith is required and faith is inadequate in this day and age.
That's what we do for our internal dev systems.
1. Read the vulnerability description.
2. Ask yourself if you are vulnerable.
3. No? Don't worry about it.
4. Yes? External mitigation where possible or patch ourselves and commit back to debian (we a project member on our team).
We've not got to 4 yet, but have committed loads of fixes anyway.
Nil/null/nothing is different to zero. The former is the lack of anything and the latter is an integer with no magnitude. This is something I'm always having to hammer into our developers' heads over and over again.