Archive

Author Archive

DragonLair for lazy people

August 20th, 2010 mydani No comments

Hey guys,

as my USBProg (which at the end was really awful due to the lack of  WinUSB32 support under Win7) stopped working completely, I bought a AVR Dragon, which looks like a really great device – and it’s cheap. You can find the features of the Dragon (and there are a lot!) right at Atmel’s homepage: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3891

Unfortunately, the Dragon is not very well protected against EMV and high current, and it doesn’t ship with a proper casing. Basically, these things should be considered to protect the Dragon:

  • Protection against contact with anything that’s conductive.
  • Usage of a USB hub which can deliver at least 500mA.
  • Do not use the Dragon’s power supply for target board supply. Just don’t.
  • Usage of a protection circuit – some guys did develop an output stage called DragonHide and DragonLair which protects the circuit and is not to hard to do on your own.

As I wanted it to fit into my case (from Reichelt, as usual),  and to match my etching skills :) , I did this “easy-to-etch-and-solder” DragonLair PCB. It is really easy to do at home, as the PCB is one-sided and there’s plenty of space to solder. Download the eagle schematics and board here.

It looks like this:

1 2 3 4

Enjoy”

Regards,

Daniel

  • Share/Bookmark
Categories: Uncategorized Tags:

Top-notch phone – and why it is back at the dealer after 5 days

August 16th, 2010 mydani No comments

Hi guys,

weird, you may be thinking… Happy about a phone and got rid of it a week after. Wonder no longer… I’ll explain to you why I love the phone and still had to bring it back. For this, let’s focus on the main features of the phone – but before I start, I have to say one thing. The  look&feel of the device Samsung Galaxy S I9000 is really gorgeous, especially the screen – but there are still reasons not to own one:

Internet connectivity (mail, websites, social networking, Last.FM, Picasa, etc…)

Internet connectivity is definitely a good invest – but, as we all know, the usability of the net mainly depends on the speed you’re connected with. And guess what, the speed of a connection which jumps between GPRS/EDGE and HSDPA is awful. Using the mobile when wireless is available is real fun, though – but who needs a mobile when there’s wireless?

Outdoors cool stuff like Last.fm, picasa, facebook and all the stuff which, basically involve bigger binary data (pictures, sounds, etc.) to be transmitted, is awfully slow and drives me crazy. Last.fm radio f.e. is impossible to use on the road! Same applies for sharing pictures, etc…

Result: At least in germany, whichever service needs a good connection (so basically everything except mail and the calendar), will not work in a satisfying manner.

GPS (Navigation, Tracking, …)

On android phones you can choose whether to use the network connection or the GPS receiver or both to determine your position. The network only will determine your position very fast but also very inaccurate (100meters to kilometers off spot). GPS on the other hand reached about 5 meters accuracy on my phone but took ages to lock on position. Or you can choose to use both methods in combination.

  • Network only is not usable as it is so inaccurate, you can’t use it for navigation or tracking – even “my location” puts my to the next village – completely useless.
  • GPS only takes ages to start, so e.g. you wanna take a picture with GPS coordinates attached… Who’s going to wait for a few minutes before you can take a picture? No one.
  • In combination the phone’s location is locked in seconds – but this will exhaust the battery in no time. I did a journey about an hour in this mode and – woohoo – the battery was beyond 50% afterwards. In about an hour!! My HTC artemis can take several hours of “GPS punishment” without a problem, and this thing is years old!
  • Sometimes the GPS receiver is not started properly, which meant I had to quit the application, stop and start the GPS receiver manually, and then start the app again. Annoying. Really.
  • Navigation is only as good as the available software is… and it isn’t to good. Even the commercial soft like Navigon is just not working as it should. First of all there are nearly no settings available, e.g. you can’t see the time to target or distance or anything… No comparison to my goold ol’ TomTom  6. And a very nice thing: if someone phoned while navigation was active, the phone worked great – but the navigation did just stop working until the phone call was over – meant after a 5 minute call I had to do a u-turn.
  • The GPS tracking software is really cool – but with the annoying gps receiver and the lack of battery it is pretty useless, because most of the time I do wander around a bit longer than 1-2hours…

MP3, Pictures, Videos

The sound and the mp3 player is really good, better than expected. And there’s plenty of battery for the mp3 player available. If the battery is at 100%, 4 to 5hours of listening is possible. But wait – only if everything else, including the screen is disabled. If WLAN or network connectivity, maybe the GPS and the screen is on for some time, the battery will be exhausted after 2 hours. And it is worse when watching video.

And one more word about pictures – I copied about 5000 pictures to the phone, in about 300  albums… And the gallery app can’t actually sort it or show it in a way, which allows easy and fast access to the pictures. Instead, I had to swap about 60 (!) pages to get to the latest pictures. And, additionally, you can’t have subfolders. This is the 20th century, we LOVE subfolders and structures. So why isn’t this possible?

Summary:

If you look out for a phone with great technical possibilities,  which are all more or less useless due to  a power-leeching hardware, a weak battery, slow internet connectivity in germany, missing usability in the very basic apps, an android mobile will be the right thing for you, especially the the Samsung Galaxy S I9000.

If you can’t stand any of that – do the same thing I’ll do. Buy a cheap 10$ mobile which handles the very basic tasks really great (calls, sms) – or, way better, stick with your current one.

Regards,

Daniel

  • Share/Bookmark
Categories: Uncategorized Tags:

Samsung Galaxy I9000

August 13th, 2010 mydani No comments

Finally it’s mine, and it’s soooo good. :-)   Does everything I expected, and a lot more, and it is damn fast – I rather use the phone than my PC to check mails or surf around. Awesome. I guess there are one million pages online now which describe all of the cool and slightly geeky features of the phone – I won’t, promise! But maybe you wanna watch the preview (a bit old, yeah) of the phone. Enjoy the reality features and the asian accent:

Watch the comparison to the iPhone 4 – and have a laugh at this guy’s hilarious accent (sorry btw. :-) ):

Regards,
Daniel

  • Share/Bookmark
Categories: Uncategorized Tags:

Liberkey – greatest thing ever?

July 6th, 2010 mydani No comments

Hey guys,

did you ever wonder why you have to spend hours installing software? Maybe twice if you have a laptop and a desktop? Or more times because you want to have the same apps at work and at home? And after you reinstalled windows you’ll have to do the same awful lot of work again? Guess what – NO! Not anymore.

Instead have a look at liberkey. Liberkey is a plattform which provides more than 300 small free portable apps which do cover 95% of all tools you can possibly need. All apps are portable, means you can have ‘em installed once on a portable device like an usb-stick, and you can use ‘em everywhere! On every PC! And the best thing – liberkey takes care of necessary updates of each and everyone of the apps. So you are busy just using the applications you need – never care again about installations, updates or backups of your applications. Just use liberkey – my new favourite! It even has all of my essential tools onboard, like freecommander, keepass2, utorrent, 7zip, truecrypt, filezilla, … Check it out!! You’ll love it!!

http://www.liberkey.com/

And while I’ve been testing liberkey, I also found aimp2, which is a really really good replacement for my very slow winamp5. Thumbs up!

Regards,

Daniel

  • Share/Bookmark
Categories: Uncategorized Tags:

RS232 TTL Level Shifter Layout

June 19th, 2010 mydani No comments

Hey guys,

did you ever wonder how to do a simple RS232 levelshifter for your connection between PC and microcontroller? No? Well, don’t wonder no longer.

I did a small layout which contains a two-channel RS232 level shifter with optional hardware handshake connection (CTS/RTS), selectable via jumper. If it is disabled, the RTS will be connected to the CTS which fakes a real hardware handshake. You can grab the complete package here.

RS232_Schematics RS232_Board_Dual MAX_RS232_Duplex_Druck CIMG3012 CIMG3014 CIMG3015

Addionally, I finally managed to add some small stuff , so check out the other pages to see what has changed… :)

Regards,

Daniel

  • Share/Bookmark
Categories: Uncategorized Tags:

RPG masterpiece – Dragon Age Origins

March 13th, 2010 mydani No comments

Hey guys,

until today I did just write about technical issues – which is and will be the main content of my blog – but today I just have to write a few words about a RPG I’m currently addicted to.

Dragon Age Origins (official homepage).

If you’re a fan of good old RPGs like “Das schwarze Auge”, “Neverwinter Nights”, “Star Wars: Knights of the Old Republic” or even “World Of Warcraft”… Then this is something stunning you just have to play. The great thing about Dragon Age Origins is, it is easy to play right from the start. Previous complex RPGs made it hard to “just game” – you had to know much about stats , spells, weapons and stuff. But in DAO you just start gaming, and as you proceed, you start to learn and understand bit by bit what’s important.

The story of DAO is epic – better then watching Lord of the Rings, I promise. During this game you’ll see amazing locations and experiences loads of different stories, which all together form a mystical world in which you can get lost. And you’ll love the characters – and you’ll hate the decisions you have to make. Help the religious clerics? Or trust witches? Will thiefs and assassins join your party? Will you represent honor and justice?

Whatever you do, in the end you have to defeat the upcoming dark breed at all costs.

Rating: ★★★★★ same level as FF VII. Just epic!

Regards,

Daniel

  • Share/Bookmark
Categories: Games, Uncategorized Tags:

March 10th, 2010 mydani No comments

Hello all,

you may or may not have noticed, that I finished a new major version of myTO in the last days. Now I want to share (or at least name) some of the technologies I’ve used for this new release.

LINQ (“SQL-like operations on object collections”):

I’d like to start with the most important one, called “LINQ”. LINQ helped me replacing the horrible dataset intermediate layer I was using to serialize data. By introduction of LINQ, I was able to execute queries against collection of objects, which – at least partly – replaced the features a dataset provided without the flaws. “…Microsoft LINQ defines a set of method names…These can, for example, be used to project and filter data in arrays, enumerable classes, XML (XLINQ), relational database, and third party data sources”

Wikipedia about LINQ

If you wonder how you can dynamically (during application runtime) create LINQ query-statements, describing several conditions which shall be linked by an OR operation, have a look at this:

http://www.rocksthoughts.com/blog/archive/2008/02/27/linq-to-sql-dynamic-queries-2-or-statements.aspx

But another maybe easier way of achieving this is the usage of lambda methods within the query itself. This is one example:

 .Where(x => {
 var result = true;
 if (Object1.Property1 == specialValue)
 result = false;
 ...
 return result;
 })

Now let’s imagine you implemented an object which provides some kind of parent-child relationship. In this case what you want is an implementation for IEnumerable or sth. similar.

One effective method for having this IEnumerable interface implemented can be found here:

http://www.claassen.net/geek/blog/2007/11/searching-tree-of-objects-with-linq.html

CLONING OBJECTS:

From time to time you’ll need to clone/duplicate an object. Well, you can obviously do that by the implementation of the IClonable interface. Nevertheless, you have to do this for each object and adapt the implementation each time you change the class of this object. A better and way faster cloning method is to use IL (intermediate language), as described in this post:

http://whizzodev.blogspot.com/2008/03/object-cloning-using-il-in-c.html

On the same page you can also find how to deep-clone (means cloning the references not as references, but as a clone of the referenced object) object(s):

http://whizzodev.blogspot.com/2008/06/object-deep-cloning-using-il-in-c.html

DATA BINDING:

The standard mechanism of windows forms data binding (>1Mio. hits on google, maybe start with this one: http://www.akadia.com/services/dotnet_databinding.html) is good enough most of the time. Nevertheless, there’s one flaw – whenever one of your object implements a collection interface (IEnumerable,…), data binding treats the object as list of objects. This means you can easily bind the object to a datagridview, which will then show a row per object, but you cannot bind it anymore the object’s properties to simple controls like texboxes and stuff.

My workaround for this problem was not to implement the IEnumerable interface explicitly. Rather than that, I enhanced the class by a new method “AsEnumerable()”, which allowed my to use LINQ statements as well as standard data binding.

public IEnumerable<INode> AsEnumerable(){
 yield return this;
foreach (Node child in Children)
 foreach (var node in child.AsEnumerable())
yield return node;
 }

DATA CONTRACTS (“Transfer objects by disk/network/…”)

As I’ve replaced datasets, I had to cope with the problem of storing objects to disk. Even tough there are several methods available (if interested, google for .NET XML serialization or SOAP), the latest one seems to be very promising. In MSN data contracts are described like this:

“A data contract is a formal agreement between a service and a client that abstractly describes the data to be exchanged. That is, to communicate, the client and the service do not have to share the same types, only the same data contracts. A data contract precisely defines, for each parameter or return type, what data is serialized (turned into XML) to be exchanged.”

Read more about data contracts on MSN.

If you wonder whether you can also store cyclically referenced objects – yes, you can. Here’s a nice article about that:

DataContracts and object references – Service Station, by Aaron Skonnard – Pluralsight Blogs

DRAGNDROP:

As one of the key features I wanted drag’n’drop to work (from Outlook to myTO, and later on from other applications, too). Here are a few links to articles about drag’n’drop, including a bug report for Mozilla Thunderbird to support drag’n’drop. J

CodeProject: How to Implement Drag and Drop Between Your Program and Explorer. Free source code and programming help

Drag’n'Drop von Windows Mail (Vista, 7) – coding-board

Bug 227305 – Support drag-drop single message to desktop / file-system window (e.g. Explorer)

These are some of the technologies and techniques I’ve used during the development. If you like any of these, or you maybe have questions regarding them, I’ll try to help…

Happy coding. :-)

Regards,

Daniel

  • Share/Bookmark
Categories: Software Development Tags:

File/folder Synchronization Tools Revised – Part II

January 18th, 2010 mydani No comments

Hey guys,

I found a mind-blowing tool for synchronization, even real-time. And it’s for free! Have a look at FreeFileSync, it’s awesome!

  • Share/Bookmark
Categories: Uncategorized Tags:

File/folder Synchronization Tools Revised

January 15th, 2010 mydani No comments

Hey guys,

let’s look at synchronization tools – all of ‘em from MS, and all are free and very very good:

Microsoft SyncToy (GUI only)

Robocopy (Commandline, additional gui, single threaded copy)

Richcopy (GUI, threaded copy)

SyncToy is the easiest to use and sufficient in 90% of the time… If you want to sync at a defined time. Same for richcopy, which is very performant because you can have multiple threads do the sync. With robocopy you can have an automated synchronziation in nearly realtime (periodically each minute robocopy checks for changes on the source folder and replicates them to the target folder).

Unfortunately, everyone of these tools does not support a real-time two-way synchronization. You don’t think this is necessary? Well – it actually is! And I’ll explain you why…

In my desktop I use a 1000GB drive to store everything – this drive can be called the “lord of data” or simply the master, as all the other drives are just for backup purposes. Okay, lately I bought a external 2.5” 1000GB drive which is connected via USB2. What I want to do now is work on my fast internal 1000GB as usual and – in the background – Iwant to have every change replicated to the USB drive. Well, this is one-way synchronization only, real-time but one-way. Well, you’re right… But I do actually work on files on the USB drive as well, so I do also have to get the changes from the USB drive to the internal one. So – you’ve already guessed it – I need a tool for 2-way real-time synchronization.

And guess what – I think I found one, called Unison. It requires the GTK+ runtime, which you can get here.

I’ll test this in the next weeks and then, maybe, I’m going to write again about it.
Regards,

Daniel

UPDATE: Forget Unison, not usable on Windows. I’m back to SyncToy – which works.

  • Share/Bookmark
Categories: Uncategorized Tags:

Synchronization Toolchain revised

January 7th, 2010 mydani No comments

  • Share/Bookmark
Categories: Business, Software Development Tags: