Mittwoch, 30. Juni 2010

Git ignore already added files

dear world,

I wanted git to ignore files that I have already added to the repository. Unfortunately, if a file was added, changing .gitignore does not help. But there are two options:

  • git update-index --assume-unchanged [filename(s)]
  • git update-index --skip-worktree [path_to_ignore]
the first tells git to ignore changes to single files;
the second tells it to ignore all files below a given path .. a complete directory.

so far this works and I hope I did not mess something up.

regards,

s

Freitag, 5. März 2010

error C2275 illegal use of this type as an expression

You are probably programming c or c++ and banging your head against the wall because of error C2275 illegal use of this type as an expression.

check if you have declared a variable after the frist assignment in a function! remember: in c all variables have to be declared before any other statement.

stop banging!

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