.funkyblue { color:#0000AF; }
Now 3 days are gone after the last event and I cannot wait for the next one. The forum meeting of c-plusplus.de is up next on my shedule list for events. It will be from the 25th to the 27th august 2006. So there is less than 30 days left now.
I still do not know how I will get there, at least I will take the train
I’ll report from this event afterwards, but it can’t not be inferior to the last meeting ![]()
Regards,
Vinzenz
Yesterday I was visiting the NRW06 Summit. This was a really awesome event.
The agenda brought a lot of interessting presentations where I really had a hard decision to commit which I going to join. My personally highlights were the presentations about SCRUM and Test Driven Development from Craig Murphy, about Gentoos quality ensurance and last but not least the Rootkit presentation from the MVPs Michael Willers and Frank Solinske.
After getting up in the early morning (at 6:00am) I went to the bus and get to the location at 8:30am. After waiting half an hour we started to signup and I met a colleague moderator from the c-plusplus.de board. In the first minutes I was simply stunning at him because I have never met him before, but saw some pictures, I was unsure but I took the heart and asked him for his name. And he really was it: Andreas Wegemann
We was visiting the first 2 presentations together since we was interessted at the same. Later we had the lunch together.
At 8:15pm the last presentation was over and a lottery has been started, unfortunately I won nothing, but I have received a bag at the signup so I am happy with it :p Then the organizers Daniel Fisher (aka lennybacon) and Stefan Oetzel announced the party as started. They have received about 50 liters of free beer from a local brewery so almost everybody went to drink one, two or probably many more. I personally don’t like beer so I have bought some coke for myself
At the party I have started to talk to a guy I have just got to know, Sebastian Noack, he’s a real smart 18 year old guy. He showed me something he has programmed in C# which can be run on Mono and .NET. Later we went to the trainstation together and after eating respectively drinking something, we went to our platforms and got into the trains. I hope that I can join the summit next year again.
There you will really find a lot of interessting people.
The Summits Site: http://www.nrw06.de
Regards,
Vinzenz
Hi,
A long time we couldn’t help users to get rid of the "Userland Rootkit" Downloader.Agent.uj.
Today I wrote an utility to help users getting rid of this damn threat. If someone has a problem with removing a threat please feel free contact our support forums
at wilders[1] and we’ll assist you to remove this threat.
[1] ewido anti-spyware Support Forums at Wilders
Regards,
Vinzenz
Hey guys,
First of all I must admit that this is not really a brand new news but ewido anti-spyware 4.0 is somehow my baby although I don’t have developed it from the beginning and I don’t have developed everything, but an huge amount of it.
So I’d like to talk about ewido anti-spyware 4.0 a little bit
Back in July 2005 I have started working as freelancer for ewido networks, the company who has started developing the ewido security suite several years ago. My first job was to implement an autostart analysis module for this version 4.0 and at this time ewido 4 has still the old graphical user interface style. About one month after starting working at ewido networks I was asked to become an employee, that was an overwhelming majority offer for me since I am just a self-educated person who has made an apprenticeship as cook, and becoming an employee as software developer was always my dream. One month later, on September 1st 2005, I was the first official employee of ewido networks and I walked on air
From this time I have implemented a lot of features, and overhauled almost every code line already exist.
Now back to ewido anti-spyware 4.0 ewido anti-spyware 4.0 was released on the 19th June 2006 and has the following new features:
Visit http://www.ewido.net and download ewido anti-spyware 4.0ewido anti-spyware protects you against Spyware like Tracking-Cookies, KeyLoggers etc, Ad-Ware, Trojans, Internet-Worms, Browser-Hijacker and Dialers.
You should really take a look and improve your protection. ewido anti-spyware 4.0 was designed to be used beside existing anti-virus software to improve the protection of the users since anti-virus applications are not protecting you against everything.
And using ewido anti-spyware 4.0 improves the detection rate.
Check out ewido anti-spyware 4.0
Here are somescreenshots:
I know that sounds like an ad but I’m so proud of it.
:)
Regards,
Vinzenz
#include <cstdlib> #include <string> #include <iostream> #include <vector> #include <list> #include <set> namespace container_utils { namespace helper { template < typename T > struct isPointer { enum { Result = 0 }; typedef T Type; typedef T* Pointer; }; template< typename T> struct isPointer<T*> { enum { Result = 1 }; typedef T Type; typedef T* Pointer; }; template< class Container , class Type = typename Container::value_type, bool Ptr = isPointer<Type>::Result > struct container_cleanup { container_cleanup(Container & cont) { cont.clear(); // erasing all elements } }; template< class Container , class Type > struct container_cleanup<Container,Type,true> { container_cleanup( Container & cont) { typename Container::iterator it; for (it = cont.begin(); it != cont.end(); ++it) delete *it; cont.clear(); // erasing all elements } }; } // namespace container_utils::helper /** This is the function will be called by us * It will be decided at compile time which clear type will be used */ template < class Container > void clean( Container & cont ) { helper::container_cleanup<Container> tmp(cont); } } //namespace container_utils struct A { A() { std::cout << “A Constructed” << std::endl; } ~A() { std::cout << “A Destructed “ << std::endl; } }; struct B { static int num; int value; B() { std::cout << “B Constructed” << std::endl; value = ++num; } ~B() { std::cout << “B Destructed “ << std::endl; } bool operator< ( B const & rhs ) const { return this->value < rhs.value; } }; int B::num = 0; int main() { // Test mit std::list<> std::list<B> a_list; for(unsigned i = 0; i < 10 ; ++i) a_list.push_back(B()); container_utils::clean(a_list); std::cout << “############################################” << std::endl; // Test mit std::set<> std::set<B> a_set; for(unsigned i = 0; i < 10 ; ++i) a_set.insert(B()); container_utils::clean(a_set); std::cout << “############################################” << std::endl; // Test mit std::vector<> std::vector<A*> vec_ptr; for(unsigned i = 0; i < 10 ; ++i) vec_ptr.push_back(new A); container_utils::clean(vec_ptr); std::cout << “############################################” << std::endl; }
Download this code: container_clean.cpp

Thanks to http://www.linuxsoftware.co.nz for providing such a helpful image for all C++ programmers