#1 − hiya

billy

“And outside the Regency House, we all laughed loudly for different reasons in the cold autumn of New York.”

i’ve had this scribbled on the front of the drawing pad on my bedside table for 6 months or so without a single clue where it came from… been periodically looking back over what i’ve read or watched this year, trying to place it. i don’t think i ever entertained the idea it was written by norm macdonald. sort of disappointing that the answer has popped up on google now, all the same − thanks for solving this puzzle.

what a lovely sentence and what a strange & funny book.

#1 − How our neighbours in rural France feel about this election

karin

Over the easter weekend we visited a bunch of our neighbours in rural France and the obvious topic for discussion was ‘les elections’. A very important fact to know about M. Fillon is that he has been in a big scandal because as a senator he employed his wife and 2 other relatives on ridiculously high salaries as consultants. His wife never did anything worth mentioning and her salary went right back in his pocket. The other two were still students and nowhere close to reaching a degree soon. So his credibility is shot − one does not do that. No stealing our tax money.
The other interesting thing is, our French friends do not talk openly on who they personally decided on − this is considered a private matter. So even they themselves do not know what the people in the village will vote. In the surveys they have still a large number of ‘undecided’ but they might very well just have chosen to not tell. Especially if they have decided to give their vote to M. Fillon, they keep quiet about it as to not expose themselves.
On the day of the election you can only put in your vote if you go to the town hall in person. You may be substituted by a very complicated process beforehand (both persons appearing at the local police station, signing papers and paying Euros for the service). But no voting by mail (except for the overseas departments), online, early voting or any other means. As the date is also smack in the middle of the spring school holidays, this is a bit annoying.

PS. there are actually 11 candidates to choose from in the 1st round, Those mentioned here are the ones with the best chances though.

#1 − Update: 13 years later

marco

13 years later and the Lud is still kicking! It’s still right where we left it, but now hosted at another site. The clues and rules are still the same. Kath and I just tried one for the first time in a long time and managed 100% on the first try. This is not because it’s gotten easier, but because we’ve gotten so much better. Most of the puzzle was deceptively easy, but we had to make an educated guess on the final letter g where “kind of palm” (“sago”) and “mulled wine” (“negus”) crossed.

“Negus”? Really?

(Attached to Article The “Lud” Crossword in Fun)

#3 − Got it

Marc

You’re right. Didn’t thougt about just removing a aspect and adding your own implementation. Way easier then using a IoC container.

I don’t like passing around the container anyway as it hides code-dependencies. I once was told folks even call it an anti-pattern. Eg this guy: http://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/

#2 − IOC Overkill?

marco

I suppose you could do that as well, although we currently don’t have the IOC involved in creating metadata. Almost everything is a helper method to make it easier and quicker to create metadata—if you don’t like the way the helper method works, then just write your own helper method. We’ve been slowly but surely getting rid of larger extension/helper methods, so passing in an IOC so that it can create the aspect seems kind of like overkill.

You can either just write your own extension method, like so:

public static ClassCacheAspect SetSuperCacheAspectValues(
  this IMetaClass metaClass,
  Action<ClassCacheAspect> setValues)
{
  return metaClass.UpdateAspect<IClassCacheAspect, ClassCacheAspect>(
    new SuperClassCacheAspect(),
    setValues
  );
}

We can call this as follows:

Elements.Classes.Person.SetSuperCacheAspectValues(a => a.Capacity = 1000);

If I go the IOC route, then I would make the base helper method accept another parameter (I guess?). This is kind of neat, and would let me push the machinery for creating a new aspect down to the next-level methods.

The method that works with aspects that implement ICopyTarget looks like this:

public static TConcrete SetAspectValues<TService, TConcrete>(
  this IMetaClass metaClass,
  IServiceRequestHandler handler,
  Action<TConcrete> setValues
)
  where TConcrete : TService, ICopyTarget<TService>
  where TService : IMetaAspect
{
  return metaClass.UpdateAspect<TService, TConcrete>(
    handler,
    (aspect, existingAspect) => aspect.CopyFrom(existingAspect),
    setValues
  );
}

The fully generalized one that has no expectations of the aspect actually creates the aspect using the IOC.

public static TConcrete SetAspectValues<TService, TConcrete>(
  this IMetaClass metaClass,
  IServiceRequestHandler handler,
  Action<TConcrete, TService> copyValues,
  Action<TConcrete> setValues
)
  where TConcrete : TService
  where TService : IMetaAspect
{
  var aspect = handler.GetInstance<TConcrete>();
  var existingAspect = metaClass.Aspects.FirstOfTypeOrDefault<TService>();
  if (existingAspect != null)
  {
    copyValues(aspect, existingAspect);
  }

  setValues(aspect);

  return aspect;
}

And, finally, the caching-specific method looks like this:

public static ClassCacheAspect SetCacheAspectValues(
  this IMetaClass metaClass,
  IServiceRequestHandler handler,
  Action<ClassCacheAspect> setValues)
{
  return metaClass.UpdateAspect<IClassCacheAspect, ClassCacheAspect>(
    handler,
    setValues
  );
}

Now I don’t have to ever call new for an aspect, but I have to pass in the handler, every single time.

Elements.Classes.Person.SetSuperCacheAspectValues(handler, a => a.Capacity = 1000);

I would have to make sure that the handler (IOC) was available during metadata construction (which it generally isn’t, but could be, via constructor injection on the metadata builder class, e.g.)

I think this is a matter of preference, but given how small the chance is that I would want a different cache aspect to be created—and how easy it is to make my own helper method—then I would opt not to use the IOC, just so I don’t force all callers to (A) have a reference to an IOC around and (B) have an extra parameter that isn’t needed in 99.9% of the cases.

Although, since these are helper methods, there’s nothing stopping anyone from creating the methods I outlined above and using that pattern instead. Perfectly valid to use the IOC there, but a bit uglier to get it down to where it can be used.

#1 − Nice article but …

Marc (updated by Marc)

… what about replacing the aspect implementation with another one? DI came in my mind when reading this article. What about using a IoC container for construction? Maybe with constructor injection?

Cheers, Marc

#1 − A week after I wrote this article, MS responded :-)

marco

Making it easier to port to .NET Core by Immo Landwerth (MSDN)

“While there is certainly some value in presenting new customers with a cleaner API, it disproportionately penalized our existing loyal customers who have invested over many years in using the APIs and technologies we advertised to them. We want to extend the reach of the .NET platform and gain new customers, but we can’t do so at the expense of existing users.”
(Attached to Article Beware the Hype: .NET Core in Technology)

#1 − Nice post!

Marc

#1 − Sounds familiar

Marc

ASP.Net 5 (aka vNext) does some parts very similar. See here …
Cheers, Marc

#1 − Adjustments and Enhance “sometimes” don’t work

marco

After publication of the article above, I encountered another issue that I’d seen before, but had assumed was something I was doing wrong. Nope: Photos cannot show previews of adjustments and enhancements in real-time anymore. Sometimes it works; sometimes it doesn’t. The solution, according to Adjustments not working in Edit mode using Photos is that “[q]uitting and relaunching the application fixes the problem temporarily.” What a lovely workaround. This issue has apparently been in Photos since it launched in April. No fix from Apple in sight.

At least a restart did solve the problem, as advertised. I hope it survives without further restarts for the 60 pictures I want to touch up.

(Attached to Article Apple Photos: a mixed review in Technology)

#1

marco

An interesting article published a few years back CHARLIE HEBDO: Not racist? If you say so… by Olivier Cyran sums up Charlie Hebdo as follows:

“You claim for yourself the tradition of anticlericalism, but pretend not to know the fundamental difference between this and Islamophobia. The first comes from a long, hard and fierce struggle against a Catholic priesthood which actually had formidable power, which had − and still has − its own newspapers, legislators, lobbies, literary salons and a huge property portfolio. The second attacks members of a minority faith deprived of any kind of influence in the corridors of power. It consists of distracting attention from the well-fed interests which rule this country, in favour of inciting the mob against citizens who haven’t been invited to the party, if you want to take the trouble to realise that − for most of them − colonisation, immigration and discrimination have not given them the most favourable place in French society. Is it too much to ask a team which, in your words “is divided between leftists, extreme leftists, anarchists and Greens”, to take a tiny bit of interest in the history of our country and its social reality?”

#2 − More notes on valuation

marco

These are just some notes I plucked from an interesting email conversation with a friend.

On the distribution of resources and where to invest:

I think it’s important to think about companies that provide value in the “essentials” area (bottom of the Maslow pyramid) and those that do so in the areas that clearly involve “disposable income”. While we have so many people incapable of fulfilling their most basic needs, how much resource expenditure should be tolerated/encouraged for such frivolity? Those that benefit initially convince themselves that such progress is utterly necessary in order to drive society forward for *everyone*, but that sounds very much like the underpinnings of trickle-down economics.

On the transition from brick and mortar to Internet:

I’m reminded of the article I read last year in that magazine you gave me, about the fracking boom in the States. Most of the companies listed there were values in the dozens of billions, if not more, and had dozens of thousands of employees.

That is one of the differences I see in the move to Internet value as well: these companies are valued in the billions but have hardly any employees (relatively speaking). That is, they are perfect vessels for funneling a tremendous amount of wealth to a handful of people. That’s great for those people. Not so good for all of those who are finding it harder to find jobs in an economy based more and more on this scale of company.

And, without jobs, where do people get the money to purchase Uber services? This is all kind of short term, to my way of thinking. It’s short-term gain for Uber, but they too will collapse because Uber’s very model helps create a world where there are no Uber customers anymore. There are solutions to this, but they are either not very classically capitalist or quite fascist.

On the valuation of GoDaddy at over $2 billion:

As for GoDaddy: this is one of those company whose 2.25b valuation is an utter mystery to anyone who still thinks that the company’s main service is to its supposed customers (the users). They are very good for funneling advertising and “trapping” customers. This is considered to be very valuable to those who are just interested in turning a profit and not interested in *how* that profit is turned. As long as there exists such a strong separation between ethics, *true* value and investment, we will have these dilemmas.

The stock corporation was truly both a blessing and a curse. It allows companies to grow more quickly (and to presumably provide more value to its customers), but it also allows companies that would otherwise go out of business to survive and thrive simply because they know how to turn a profit (if not actually provide a non-parasitic value). The world would be a better place without GoDaddy in it. As long as GoDaddy can figure out how to make money for its investors, we’re stuck with it. And, no, I’m not sure what to do about that either: is it good or bad? Dunno. I’m just thinking out loud.

(Attached to Article Riding the wave in Finance & Economy)

#1 − Whither Radio Shack?

marco

I just saw the article RadioShack continues death march, loses $98.3 million in a quarter by Megan Geuss (Ars Technica) and it got me thinking again: where do you usually find Radio Shack stores in the US? In poorer neighborhoods, where they more often than not provided a convenient place to find replacement parts for electronic goods.

Did the need for Radio Shack’s goods disappear? Or is it just that it provides value to the wrong target market? With our overemphasis on valuation, are we not also picking winners and losers? Are we not preferring the opinions of the wealthy over those of the poor? If you can vote billions, you get your way. Once again, we circle back to the question of to whom is value being provided?

(Attached to Article Riding the wave in Finance & Economy)

#1

marco (updated by marco)

In defense of the OpenSSL project, the article OpenSSL code beyond repair, claims creator of “LibreSSL” fork by Jon Brodkin (Ars Technica) cites its OpenSSL Software Foundation President Steve Marquess “describ[ing] OpenSSL’s struggle to obtain funding and code contributions.”

““I’m looking at you, Fortune 1000 companies,” Marquess wrote. “The ones who include OpenSSL in your firewall/appliance/cloud/financial/security products that you sell for profit, and/or who use it to secure your internal infrastructure and communications. The ones who don’t have to fund an in-house team of programmers to wrangle crypto code, and who then nag us for free consulting services when you can’t figure out how to use it. The ones who have never lifted a finger to contribute to the open source community that gave you this gift. You know who you are.” […] As for Heartbleed, “the mystery is not that a few overworked volunteers missed this bug,” Marquess wrote. “The mystery is why it hasn’t happened more often.”(Emphasis added.)”

The emphasized text is what we should all learn from this experience.

(Attached to Article OpenBSD takes on OpenSSL in Technology)

#1 - Snopes has information on the cha...c Ocean that's also making the rounds

marco (updated by marco)

The article Fukushima Emergency debunks the fancy we-re-all-gonna-die chart that’s also been making the rounds (shown below).

 Purported chart of Fukushima radiation (it's not)

“However, that chart did not actually track or measure radioactive discharge emanating from Fukushima in 2013, or any other aspect of the Fukushima disaster. It was a plot created by the National Oceanic and Atmospheric Administration (NOAA) immediately after the Tohoku earthquake in March 2011 showing the wave height of the tsunami that followed. It had (and has) nothing to do with the flow or spread of radioactive seepage from Fukushima.”

Nice. Take a chart from 2011 about a completely different topic and use it to “prove” that people are being duped by Tepco about the radiation in Fukushima. I think Californians can breathe easy, at least as far as dying from Fukushima radiation is concerned.

““The Pacific Ocean is an enormous place,” said Norman, who found radiation from the Fukushima nuclear power in California rainwater, milk and plants soon after the earthquake and tsunami. “There’s a lot of material between us and Japan. No matter what happens in Fukushima, it’s not going to be a problem over here.””

#1 − John Galt caused the shutdown

marco

From Who is responsible for the US shutdown? The same idiots responsible for the 2008 meltdown by Slavoj Žižek (The Guardian)

“[…] sales of her opus Atlas Shrugged exploded. According to some reports, there are already signs that the scenario described in Atlas Shrugged – the creative capitalists themselves going on strike – is coming to pass in the form of a populist right. However, this misreads the situation: what is effectively taking place today is almost the exact opposite. Most of the bailout money is going precisely to the Randian “titans”, the bankers who failed in their “creative” schemes and thereby brought about the financial meltdown. It is not the “creative geniuses” who are now helping ordinary people, it is the ordinary people who are helping the failed “creative geniuses”. (Emphasis added.)

“John Galt, the central character in Atlas Shrugged, is not named until near the end of the novel. Before his identity is revealed, the question is repeatedly asked, “Who is John Galt”. Now we know precisely who he is: John Galt is the idiot responsible for the 2008 financial meltdown, and for the ongoing federal government shutdown in the US.”

#4 − .Net 4.5

Rayzer

Good article and had basically come to a lot of the same conclusions mention here.

I had another similar issue which i though was worth sharing as it took a couple of days to sort out. As part of a move to 64 bit we installed VS 2012 alongside VS 2010 for a peek but decided to stay with VS 2010. I therefore uninstalled VS2012 and this is where my problems began. When i opened forms in VS 2010 (especially inherited forms) they would usually render in the designer fine. However, any subsequent close and reopen would cause a load of errors in the designer referring to “The variable ‘X’ is either undeclared or was never assigned”. Interesting enough was the ‘X’ usually related to properties of Infragistics controls that are used on our base form..

The issue turned out to be .net 4.5 that was installed as part of VS2012 but was not removed as part of the uninstall. I assumed VS2010 was still using it (as i could not see .net 4 under installed programs) so I decided to uninstall .net 4.5. At this stage (after uninstall) if you try to start VS2010 you will get “unexpected error” at the visual studio splash screen. Next step was to repair VS2010 which in turn installed .net 4. Once VS2010 was restarted the issues with the designer disappeared.
 

#1 − Ports

Marc

Number of ports: Don’t forget the port-replicators aka Docking-Station. Depending on the notebook model you are using you can get a docking-station for that. Depending on that docking-station you are using you get more ports then on the notebook itself. As you docking-station normally is there where your big screens are, they are connected to docking-station. So ports of the docking-station count too.

VGA: I use it often when on customer site and get “a screen” (if I am lucky a 24", sometimes smaller). Most of the time the customer IT have only VGA-cables or maaaaaybe a DVI (which I can’t plug into my Lenovo notebook) at hand. No display-port-* cables. So I still need a VGA port these days ;-(

(Attached to Article Windows developer machines in Technology)

#1 − MB?

Marc

MacBook Air: I think you Meran GB instead MB.

(Attached to Article Refurbished Mac prices in Technology)

#1 − Numbers

Marc

Some numbers I heard yesterday by Swiss national radio station about the current conflict: 3 dead Israelis vs. 170 dead Palestine.

#1 − This gets an LOL

dianavb

I had to laugh out loud when I saw the title of this article. How do you know what I actually put on my ballet though ;).

#1

Marc

Nice article, dude. Interesting what Google tries to achieve with this all? Reducing browsers? Hmm… don’t think so as you already wrote they all (except one but this one is not of question) are acceptable in compatibility. Maybe a kind of “cover my ass” because they don’t test with Opera? But blocking then is really hard. Hmm….

(Attached to Article Google hates the Opera browser in Technology)

#1 − Nice one!

Marc

#3 − @trpugh

marco

You’ll have to dig out any references to the wrong version number. First, do as Marc says: get rid of all compiled assemblies that Visual Studio may be using. Also make sure that VS can’t find the wrong version in the GAC because it might be grabbing that one as well. Restarting VS is also a good idea as it sometimes retains caches references in memory.

If none of that works, then you have an explicit reference to the assembly using the old version number somewhere in your solution. Check project files for references with that version number; check those pesky license.licx files (you can just delete the offending line from those).

Good luck! And be reassured, there’s always some logical reason for the assembly mismatch. It’s just sometimes tedious to find.

#2

Marc

First I would try deleting ALL compiled binaries in all bin and obj directories (for all your projects). Then do a rebuild and maybe restart VS.

We created Windows batchfiles to do this when VS bot in trouble again.

#1 − How do I update the version

trpugh

Great article.

I am having the problem described above where the underlying component is version 1.0.50.0, but the designer is trying to load 1.0.49.0. Any ideas on how to force VS to load the current version? I used to be able to simply rebuild the underlying assembly and the problem would be solved, but since I moved to 64bit, this strategy no longer seems to work.
 

#1 − 7.17 Sample 2

Marc

In this sample the Where() could be replaced with a TypeOf<>() I guess. But yes, I got the point ;-)

#1 − *like it*

Marc
(Attached to Article Wikileaks 2010 in Public Policy & Politics)

#1 − The True Poor

marco (updated by marco)

And then there are the people who really are living on the edge of destitution, eviction and being frozen out of society (in the colder states, quite literally); the article Chart of the day: The working poor by Felix Salmon (Reuters) has this to say:

“Nearly 1 in 3 working families in the United States, despite their hard work, are struggling to meet basic needs. The plight of these families now challenges a fundamental assumption that in america, work pays. […] The workers in these families have a much greater risk of becoming unemployed than the population as a whole, and of course they’re financially much less prepared for any period of unemployment than most of the rest of us.”

The chart below shows the 200% of poverty level income for various family sizes. The census reports that 30% of the working families in America are at or below this line. More proof of the lopsided distribution of wealth and prosperity in an increasingly expensive society.

 200% of Poverty Level for Various Family Sizes

#1 − Nice one, Java

Marc
(Attached to Article Java Memory Usage on the Mac in Technology)