Donnerstag, 17. Dezember 2009

Arduino Burn Bootloader on Atmega328P

hi little world,

for those of you spending hours on trying to burn the bootloader on an atmega328 on your arduino, check out this.

If you wonder, how to get to the screen shown in the above mentioned post: in avr studio, press the button looking like a microcontroller with the label "AVR":



I am using AVRISP mkII and AVR Studio and it works perfectly.


bye

Donnerstag, 5. November 2009

Xtext, Supply Chains, Mobile Ad-hoc Networks, and IT-Entrepreneurship

My third semester at the HPI has started!
This is a list of themes that will catch my attention during this semester:



Protocol Compiler and Middleware

Together with Richard we will implement a middleware for The Wire Protocol in Java, and a protocol compiler. The protocol compiler will read a specification of a TWP protocol and generate code that implements the specified protocol on the basis of our middleware. The compiler will be built upon Xtext.


Tracking of pharmaceutical products in supply chains

This is my first research activity at the chair of Hasso Plattner, the founder of the HPI. I will investigate the efficient tracing of pharmaceuticals from production to the end-consumer. The goal of such a tracing is the verification of the authenticity of pharmaceuticals. So, if you are at the pharmacy, a pharmaceutical's way from the producer to your hands can be followed completely, and thus preventing you from taking pills produced in some of your neighbour's basement.
Actual tracing mechanisms are too slow and I hope to find a way to make them faster.
The exact title of my work is: "Algorithms and Data Structures for Data Capturing and Data Retrieval in the Context of EPC Discovery Services".


Mobile Ad-hoc networks for embedded systems with AUTOSAR

In the seminar Advanced Software Engineering for Embedded Systems I will develop an infrastructure for mobile ad-hoc networks for autonomous robots. The development will be based on AUTOSAR.


Linking in Xtext

The focus of my work for the seminar Software Design will be the linking-feature of Xtext. I will take a deep dive into the Xtext code to fully understand how the linker works. This should not be a big burden because I am already used to the (almost uncommented ;) )code written by Xtext developers since my google summer of code project in 2008. After arising from the depths of the Xtext code I will conduct some experiments and thrill the world with Xtext's capabilities :D.


IT-Entrepreneurship

Last but not least I will write a business plan with Daniel and Toni. The cool thing about this seminar is that we are taught by Rouven Westphal. Rouven is a ... at Hasso Plattner Ventures (HPV). HPV is a venture capital fund founded by - surpise :) - Hasso Plattner.
So, Rouven's every day business is judging business plans; opposed to last year's teacher Prof. Wagner who took a too heavy weight theoretical approach to entrepreneurship - Prof. Wagner basically had no entrpreneurial spirit.
Our first business idea is about increasing sales for food retailers. We think of a web platform that gives consumers access to retailers' shelfs in the digital world. Consumers create recipes that can be accessed by other consumers on their mobile devices in the store. The first effect is an increased shopping experience for customers: everything that is needed for a recipe is in one store - they do not have to go to a different store. And here comes the side door for retailers: if a retailer's stock is for instance full of salad that needs to be sold in one day and would be thrown away at the end of the day, the retailer places a special offer as a salad-recipe on the web-platform. This recipe will appear before any other recipe on customer's mobile devices when they enter the store. This has the effect that not only the salad is sold but also the other ingredients like cottage cheese, tomates, bread, and other stuff you need for a good salad.
But these days I am thinking more and more about the iPhone as a platform for (IT-)Entrepreneurs. So many fellows are talking about iPhone App development - I never heard so many it-people talking about ONE platform for a basis for (fast) revenue. It's like a gold rush! And if there is a gold rush, invest in gold picks and shovels! But more to that in a later post.

Montag, 26. Oktober 2009

Domain Prices Explain The World!

wake up! stop coding ;)! and do some market research!

I was looking for prices of internet domains, and found some numbers on this site. compare the rankings of .de (german domains) and .com domains. if you list the three most expensive .com domain names, you get this list:
  1. sex
  2. porn
  3. business

for .de domains you get this one:

  1. kredit
  2. poker
  3. kasino
If we assume that a domain price is a monetization of attention, we can interpret these list as follows:
  • most of germany's attention can be caught on gambling sites, and of course on sites giving credit to player's.
  • germans have no sex, just gambling
  • they do not care about business, just gambling
  • surprising: they do not care about unemployment, just gambling
the rest of the world:
  • is doing business
  • otherwise just ..

always trust the numbers!

best,

steven

P.S. Sorry dear google user if you landed on this blog while searching for satisfaction! some words in this post do not have a common semantic ..

Donnerstag, 10. September 2009

Create Elicpse Plug-in Project programmatically


Hello,

I need to create an eclipse plug-in project at runtime but don't know how!

I think about reusing the New-Plug-in wizard, but after almost three hours of tweaking this wizard to fit my needs, I decided to do on my own!

But wait, coding all this stuff .. create source folder, manifest folder, manifest file, plugin.xml file ... too much .. can't someone else do it?!

praise opensource! I remember that oaw generates an eclipse-plug-in for you if you create a new oaw project. I go through oaw's cvs and find this promising class.

After some minor modifications, e.g. removing the dependency to 'org.openarchitectureware.dependencies' in its createManifest(...) method, it does a perfect job!


So, go get this class, adapt it to your needs and generate eclipse plug-in projects at runtime!

bye,

steven

Freitag, 17. Juli 2009

Eclipse CDO problems with Apache Derby

hi folks,

these days I was having problems with my CDO server:

after inserting some models into a repository, and then restarting the server, I was getting this error:

[ERROR] Rollback in DBStore: org.eclipse.net4j.db.DBException: SQL Exception: A lock could not be obtained within the time requested

First, I thought, I forgot to commit/close a transaction; but this was not the case.
In the emf news group, eike told me, that there was a similar problem in the tests based on apache derby.

So, I switched to H2, and the error did not occur anymore.

I was desperately looking for the net4j H2Adapter in the latest net4j releases but was not able to find it. Finally, I found it here, copied to my workspace, and changed the creation of the IStore:

org.h2.jdbcx.JdbcDataSource dataSource = new JdbcDataSource();
dataSource.setURL("jdbc:h2:~/h2Test");


IDBAdapter dbAdapter = new H2Adapter();


IMappingStrategy mappingStrategy = CDODBUtil.createHorizontalMappingStrategy(true);


IDBConnectionProvider dbConnectionProvider = DBUtil.createConnectionProvider(dataSource);



IStore store = CDODBUtil.createStore(mappingStrategy, dbAdapter, dbConnectionProvider);



cheers,

steven

Freitag, 15. Mai 2009

Eclipse CDO Example

hi folks,

I found an example application for Eclipse CDO. And I describe how to get it running.
Download the latest Eclipse Modeling Tools: from Eclipse download choose Development Builds to get the latest tools. Fortunately, the site lets you know, that there are some problems for mac users with the 3.5M7 release. One problem is that there is no 'dropins' folder; but I will show you how we can bypass this problem (creating a folder named 'dropins' does not work :( ). Go get the Modeling tools!
Additionally you need: the latest builds of CDO vers. 2.x (not 1.09!), Net4J vers. 2.x (not 1.09!), and Teneo.
Download them, create a folder 'CDO_runtime' and copy all plugins found in the CDO, Net4j and Teneo builds into this folder. Next, save the Team Project Set file as 'cdo_example.psf'
Now, start Eclipse of your Modeling Tools. In the Package Explorer right click->Import... ->Team->Team Project Set and choose 'cdo_example.psf'.
The next step is to add the cdo, net4j and teneo plugins to the Eclipse runtime. Normally, you do that by throwing them into Eclipse's 'dropin' folder which is absent in the current os x build. Therefore, we create a new Target Definition. Choose one of the CDO example projects, press CMD+N, choose Plug-in Development->Target Definition and name the file 'cdo_target'. Open the created 'cdo_target.target' file. In the upcoming editor press Add..., choose Installation->Next, type '${eclipse_home}' as location and press Finish. Now, we add our 'CDO_runtime' folder as location; so again press Add..., then choose Directory->Next, browse to this folder and press Finish. Finally, press Set as Target Platform in the upper right of the editor. At this point, all required plugins for the CDO example are installed.
If you want to change your target platform back to the original Eclipse installation, open the preferences (CMD+,), choose Plug-in Development->Target Platform and select Running Platform.
I did not have the time to play around with the example .. the installation took sooo long ;).
I will post after further investigations have been done.

Happy experimenting with CDO!

greetzn,

steven

Mittwoch, 21. Januar 2009

Your generator knows it!

Currently I am working on a Java-to-.Net-Compiler. In addition to using
ANTLR and Micosoft's Phoenix framework I have to write a lot of C# code that lends itself to be generated.

Besides the need for a java grammar, which can be found here, we need an AST (Abstract Syntax Tree) to accomplish the semantic analysis. ANTLR offers an AST construction mechanism and generates an AST walker from a tree grammar. Basically the semantic analysis can be done solely with ANTLR. But, we are facing the challenge that each teammate needs to work with the AST and not everyone knows ANTLR. Thus we need an ANTLR independent AST.

The basis of our Java AST is the Eclipse JDT AST. My task is to implement the AST using C#. So, to implement means to copy since the JDT AST seems be a good model.
Did I say model? This sounds like feeding the JDT AST code into a code generator and letting the generator create the C# implementation.

Consequently we create a generator using openArchitectureWare that will take an UML2 class model, yes we decided to create an UML model of the AST ;), and generate C# classes.
I sat down with a teammate having C# experiences to create the generator templates for generating C# code.
Perfect! Now, our generator knows how to create C# classes .. and my teammate can go home :D. Furthermore we generate the basic visitor code for the AST from its model.

By the way .. a language grammar lends itself to automatic AST generation .. check out this paper.

Generators are knowledge containers!

steven