User:Henon

From eqqon

(Difference between revisions)
Jump to: navigation, search
m ()
m
Line 24: Line 24:
<h1> ... want to improve the situation?</h1>
<h1> ... want to improve the situation?</h1>
-
<br>Contribute to <big><big><big>[[dotgit]]</big></big></big> for C#, the most advanced open source implementation of git for .NET in C#.
+
<br>Contribute to <big><big><big>[[dotgit]]</big></big></big> for C#, the most advanced open source implementation of git for .NET  
<br>Every little bit helps:
<br>Every little bit helps:

Revision as of 18:13, 10 June 2009

Other articles by Henon
Links

Agreed, git support on Windows could be better ...

... want to improve the situation?


Contribute to dotgit for C#, the most advanced open source implementation of git for .NET


Every little bit helps:

  • Link to the dotgit website to promote the project.
  • Tell your friends ...
  • Code! Tackle one of the missing features or add unit tests.


So let's all stop complaining about the situation, start rocking and have fun!

Henon's Blog

Thoughts on Circular Dependencies in Software Design



Definition

A Circular Dependency in a software design is a mutual dependency between two modules which either directly or indirectly depend on each other to function properly. In many cases circular dependencies are perfectly sensible such as a dependency between an Employee class and a Company class where the employing company has a list of employees and each employee has a back-reference to its employer. This circular dependency models a mutual dependency of the domain. Circular dependencies between unrelated modules are considered a bad software design praxis, though. An example for a bad circular dependency would be to have a general Person class instead of an Employee class which inherits from Person and the Company class has references to Persons (which is ok) and the Person has a back-reference to its employing Company (not ok!).

Significance

Circular dependencies should be avoided if possible in software design because of their negative effects. Some of these effects are:

  • a circular dependency can be a "breach of encapsulation" (see Encapsulation)
  • a circular dependency tightly couples two or more modules making each of them unable to be reused in other places without dragging in dependencies on the others.
  • circular dependencies can be the cause of a so called "domino effect" which describes what happens when a small change in software that is supposed to be a local change spreads into other modules and has unwanted global effects (i.e. program errors, compile errors).
  • a circular dependency might result in infinite recursions or in failures in software programs
  • a circular dependency is a "refactoring smell" which may indicate a bad software design

Browse Ad Free with Google Chrome



Everyone agrees that Google's new browser called Chrome is really innovative, fast and cool. But as soon as you try it out, you will hate it for happily displaying all the banners, ads, overlays etc. Not blocking ads is, of course, the full intent of Google and possibly one of the main reasons for introducing a new browser instead of further supporting Firefox because they may have noticed that their ads don't reach firefox users who almost all are using the popular Mozilla extension AdBlock (Plus).

Loving the new concepts of Chrome and also being stunned by its well designed user interface, I have looked around for adblocking support. Here is what I found out:

  • Google does not deliver an adblocking plugin for Chrome.
  • forget AdMuncher it's not free.
  • forget Privoxy it's way too complicated
  • forget HostsMan it doesn't work anyway

I strongly suggest you to use ----> BFilter <------ . It's totally painless to install, no setup required and it works instantly (after adjusting the browser's proxy settings). Knows a lot of adservers and works like a charm even for german ads. Adding rules is straight forward, as we are used to with AdblockPlus.

OK, here is what to do:

  • install BFilter
  • set Chrome's proxy settings to 127.0.0.1 port 8080 (via Options -> Under the Hood -> Change Proxy Settings -> LAN Settings -> Check "Use a proxy server for your LAN")
  • enjoy Chrome adfree!

--Henon 11:48, 11 September 2008 (CEST)