blog.efftinge.de Open in urlscan Pro
2a00:1450:4001:830::2013  Public Scan

URL: http://blog.efftinge.de/
Submission: On October 29 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

SVEN EFFTINGE'S BLOG







WEDNESDAY, FEBRUARY 10, 2016


TYPEFOX


As many of you already noticed, we had to find a company name without 'Xtext' in
it. Longer story short, we finally decided for TypeFox (it still has an 'x', ey?
;-)).  We are still all about Xtext and Xtend, of course.

The website is online now and reveals some additional details about what we do.
Also we are having a blog there, which will be updated with useful content
around Xtext and Xtend and more general about language engineering, code
generators and so on on a regular basis. If you want to get notified about the
content, there is a monthly newsletter. It will contain information about the
latest blog post, upcoming Xtext and Xtend releases and upcoming events. The
sign-up form is on the blog page.

Also Jan joined this month as a co-founder and there will be five more friends
(Xtext committers) joining TypeFox in the coming weeks.

Finally I wanted to say thank you, for all the good wishes and the trust of our
partners who already do business with us. It starts all very well and I am very
thankful for that.

How do you like our logo?









Eingestellt von Unknown um 12:14 PM
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest




TUESDAY, JANUARY 05, 2016


FOUNDING AN XTEXT STARTUP


First of all, I wish all of you a Happy New Year! In addition I'd like to update
you about some decisions I made recently.

Since January 1st I no longer work with itemis. Instead I am founding a startup
together with my friends from the Xtext team. The new company will be all
about Xtext, and as such 100% dedicated to language engineering and tool
development.

We want to make sure to run a healthy and sustainable open-source business. The
huge success of Xtext in the past few years has shown that there is a
significant market for special tool and language development and that this is
even growing. We really enjoy working with so many different customers around
the world and it always is a pleasure to see them getting excited about the
power of Xtext. Just in case it is not clear, we will for sure invest
significantly into the further development of the open-source framework.

We start by offering the classical support packages, trainings, and general
consulting. That is everything you need to make sure you get the best possible
results with Xtext. In future we might have some ideas for additional services
and products as well. The new website will be up in a couple of days and will
contain more detailed information. Stay tuned!

If you have questions, just want to chat, or want to work with us - this is my
private email:
 



Edit: We really would like to use something with Xtext in the name (like
XtextSource), but this unfortunately conflicts with the guidelines at
Eclipse.org. This may come to you as a surprise, as there are companies like
EclipseSource, but this is a special case as they were founded before 2005. We
will come up with another good name soon. :)

Eingestellt von Unknown um 9:41 AM
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest




TUESDAY, OCTOBER 13, 2015


XTEND: ACTIVE ANNOTATION PROCESSING IN INTELLIJ IDEA


This is a short screencast showing the use of @Accessors, @EqualsHashCode and
@Data within IntelliJ IDEA 15.

See how getters, setters and other boiler plate gets eliminated in Xtend.

Note, that unlike case classes in Scala or data in Kotlin, in Xtend these
annotations are just library. You can easily build your own!



Eingestellt von Unknown um 10:23 PM
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest




FRIDAY, OCTOBER 02, 2015


XTEXT FOR INTELLIJ IDEA - PREVIEW


Today we've released a preview version for the upcoming IntelliJ IDEA support of
Xtext. With this it is now possible to develop Xtext languages entirely in IDEA
and due to the cool Gradle support in any other environment, too.

The preview plugins for IntelliJ IDEA can be installed from the following
repository location:

http://download.eclipse.org/modeling/tmf/xtext/idea/2.9.0.beta5/updatePlugins.xml

Note that Xtext requires the latest IDEA 15 Preview build.

I've recorded a small screencast that shows what Xtext in IntellijJ IDEA looks
like:

Eingestellt von Unknown um 7:41 PM
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest




FRIDAY, SEPTEMBER 11, 2015


WHAT I LEARNED AT JAVAZONE 2015


This week I was lucky to go to Oslo to attend JavaZone, which is what they say
"the largest community-driven developer conference in the world".


No matter that's true or not it is for sure one of the coolest conferences I
have ever been to. It is generally extremely well organized and on top of that
they have some really cool features like:


 *  an overflow area, where you can watch all sessions on a split screen and
   switch audio using a headset!
 *  different food stations, that open in the morning and serve delicious food
   all day!
 *  recordings of all sessions, uploaded to vimeo and made available in a couple
   of hours!
 *  ... many more cool things (e.g. I got a Raspberry Pi as a Sopeaker's present
   :-))


But that such a conference is all about the people and the content, which was
equally great:




WEDNESDAY


The first day I started with a talk about alternative implementations for
collections. The speaker maintains a library with something he called a gap
list, that had some clever techniques to make positional insertion cheaper
(compared to ArrayList). It made sense to me and the measurements looked good,
although there's a last bit of sceptic on my side, as he did the measurements
"on his own".

The next session was the one about Neo4J by Michael Hunger. I already knew Neo4J
a bit as did some examples using Xtend some time ago, but it was still very
interesting. He showed a cool demo, where he imported data from twitter, github
and stackoverflow and joined it together in the database. Also I didn't know the
cool web frontend he used, that lets you enter some Cipher code (the Neo4J query
language) and shows the results as dynamic diagrams. Cipher btw. is implemented
using Scala's parboiled. They really should consider reimplementing it with
Xtext, so they get proper editors for free ;-)

Next up was Rafael Winterhalter, talking about his open-source library "Byte
Buddy". Byte Buddy is a bytecode library, that comes with builder APIs and some
hooks for agents to make it easier to do byte code generation at runtime. The
talk was well presented and very interesting. I especially liked the style of
his slides, which were very reduced and calm (I'm kind of sick of
stockimage-heavy slide decks - I know I use them myself too much :-))

The fourth talk was "How to make your code sustainable" by Christin Gorman. The
room was very crowded and it seems like most people enjoyed that talk very much,
as she was very enthusiastic. For me it was a bit too superficial and the
enthusiasm was tiring me at some point. (nitpicking on)Also there were strange
code examples that just wouldn't compile (nitpicking off).

"The Rule of Three" with Kevlin Henney came next. I went to the room, and of
course it was overflown. It's Kevlin Henney after all. So I got to try the
overflow area for the first time, and it worked flawlessly (as everything else
at this conference). The talk was cool, it's always a pleasure listening to him,
although he was doing jokes on IDEs :-). I didn't learn many new things (maybe
some quotes I have forgotten about now already) but it was super entertaining.

Next up it was my turn to give an introduction to Xtext. The talk went well I
think, there were at least some very excited attendees approaching me after the
session. As always most of the talk is a demo. It has been recorded and you can
watch it here (find all the other talks in the same album).

After that talk I went to the hotel to watch the silly Apple Event (what a waste
of time!) and were too tired to get up and go back to the #AweZone party. Oh my,
I'm getting old!

On the bright side, I was able to get some work done in the evening and wouldn't
have a hangover on ...




THURSDAY


I took the time to get in touch with some people and also get more work done.
Also I found some cozy places on the conference site and enjoyed the great
coffee, food, and ice cream along with some coding.

The only talk I attended was Neal Ford's take on "Microservices". As you might
know microservices are the thing, these days and there were very many talks on
this topic at JavaZone. I was reading up on microservices from time to time in
the past months to understand what that hype is all about and I was still
somehow skeptical. But Neil managed to explain the benfits so that I finally
understood how, why and when such an architecture might be helpful. At the same
time I also figured how much stupid stuff you can read about this topic on the
internet. But maybe that's the case with every heavily hyped topic.

After that talk it was time for me to get to the airport and catch my plane to
Hamburg. Everything went well and I was already sitting in front of the gate,
when Germanwings sent me a note that my flight got canceled (40 mins before
boarding). As I knew I couldn't do anything about it I rebooked for the next
flight Friday 12:15 and booked a hotel room.




FRIDAY


Breakfast, some work, and then to the airport. On my way I wanted to check the
boarding time once more: 20:15. Huh? WTF! They silently canceled that second
flight, too, and rebooked my for an even later flight! Fun times.

So now I'm sitting here in front of Oslo Airport writing this and wait for the
next possible flight to go out tonight. I hope they won't cancel it again.




SUMMARY


JavaZone was a blast. Thanks for having me I hope I can come back next year.
Also: Germanwings I hate you!

Eingestellt von Unknown um 12:39 PM
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest




THURSDAY, MAY 28, 2015


THE FUTURE OF XTEXT



this is a write up of a presentation I gave together with Sebastian last week at
XtextCON. It is about our future plans of Xtext. But before we talk about the
future I would like to start with a quick summary of ...


THE STATUS QUO

Xtext is in development for seven years now. We have always been between 6 and
10 active developers, currently being 9. With a total LOC of 5.747.523 our code
base is huge. However you have to take into account that we not only check in
generated code (it sometimes helps us to spot problems) but have many, many
tests. All in all there is 27.539 usages of @Test which are executed in many
different scenarios and against different platforms. All together we count over
180k unit tests.

This kind of test coverage together with a passion for code quality is key keep
a software system maintainable and extensible after years.


XTEXT 2.8.X

In the coming week we will release 2.8.3, a bugfix version of the 2.8.x stream
that introduced many cool new features. With version 2.8.3 we have fixed over
120 bugs and improved quality furthermore. This is also the release that will be
part of Eclipse Mars.

Error Reporting

Not sure if you have noticed, but with Mars also comes the new error reporting
tool, an initiative by the developers behind Eclipse Code Recommenders. It
basically asks you to automatically send in error reports for all kinds of
exceptions and UI freezes you experience when working with Eclipse. Although it
is not yet included in the Luna SR2 packages we already got many helpful tickets
through that feature from the milestone builds. Please, turn this feature on and
provide as much information as possible. It really helps!




WHAT ABOUT FUTURE RELEASES?

To figure our what the community demands, we did a survey. Thanks for everyone
who attended! The survey was targeted at Xtext users, and besides some more
demographic questions, the most important question was:


"WHAT SHOULD BE CHANGED OR IMPROVED?"

The answers included a lot of valuable feedback. Most of them could be assigned
to one of the following four themes. I put some of the original answers and
comments from the survey on the slides.

People asked for more documentation, specifically around Xbase and in the code
(i.e. JavaDoc). Also many asked for an overview chapter where a bird's eye view
of the architecture and life cycles is explained. We agree that these parts
should be added and enhanced and have put it on our agenda. Fortunately the
documentation is now written in markdown and change is only one pull-request
away (for everyone ;-)).

Performance has always been high on our list and for every release we spend a
lot of time on profiling and optimization. If you suffer from performance
problems, first make sure, that you are on the latest version. Performance makes
huge steps from release to release.

Here is some of the improvements we have been working on lately:

 * Do nothing in UI thread - computations of any UI services have been moved to
   background jobs, such that nothing blocks the user.
 * Cancel everything - all UI services, such as outline, mark occurences,
   semantic highlighting, etc. get canceled on change (i.e. as you type). Since
   the state is outdated we can stop waste CPU cycles on it.
 * Cancelable builds - also incremental builds now get automatically canceled,
   when another change comes in.
 * Storaged Resources - Xtext can write fully resolved and computed resources to
   disk in a binary format, so it can later be loaded again quickly
 * Incremental standalone compilation (new in 2.9) - The eclipse builder has
   always been incremental. Now Xtext also has an incremental standalone
   compiler, that together with a running demon ensures super slick incremental
   compilation of changed files.

Of course, improving performance is never done!

Continuous integration with Xtext and Xtext-based languages has traditionally
been a bit of a pain. This is mostly because we started out as an Eclipse only
project, and building Eclipse plug-ins is "different". The Xtext project has had
a continuous integration build for years, but our build infrastructure is not
exactly simple. Targeting different platforms requires a bit of a zoo of build
technologies on our side, which should not be necessary for clients. Since
almost two years now, there is Maven support, including a plug-in to run your
language in an arbitrary maven build. The same has been added for Gradle as
well.

The next step is to allow for different project layouts, i.e. Eclipse vs.
Maven/Gradle layout and allow for developing Xtext languages without any kind of
Eclipse dependency. Which brings us to the last theme.

Xtext is a language framework that has significantly lowered the barrier to
develop programming languages and external domain-specific languages. One of the
sweet things is the cool Eclipse support you get. However even if you only need
a compiler for a language without any Eclipse tooling the Xtext framework
provides you with rich abstractions for scoping, indexing, incremental
compilation and more. With the next release (version 2.9) it should be possible
to create a runtime project only, without any Eclipse dependencies and without
the necessity to deal with OSGi or eclipse plug-in mechanism. Our goal is to
allow for vanilla Java projects with a normal Gradle or Maven build.

For the IDE part, we are working on supporting web editors and IntelliJ IDEA
specifically at the moment. But maybe even more important in the long run, is
the general extraction of the IDE services from Eclipse dependencies, such that
they can be reused on other platforms easily. Tom Schindl for instance already
uses Xtext in JavaFX applications and we are in contact with a group that has
ported Xtext to Visual Studio through IKVM.

Just to be clear: The Eclipse support stays important and will be a first class
citizen for the Xtext framework in the future, too!


SUMMARY

As you can see, the direction is a mixture of improving quality and performance,
making accessibility easier but also reaching out to new platforms. I hope you
find this direction as exciting as we do. We plan to release Xtext 2.9 in the
last quarter of 2015. In case you want to try the current state of the web or
intelliJ IDEA support, go ahead and download the recently released beta version.
More betas will be released in the coming weeks / months.
So long, have fun and remember your feedback is helpful and very welcome!



Eingestellt von Unknown um 2:18 PM
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest




MONDAY, MARCH 16, 2015


XTEXT MOVED TO GITHUB


I'm just back from EclipseCon and XtextDay in San Francisco, where we announced
the new 2.8.0 release of Xtext and Xtend among some other interesting
developments. One of those is our...



MOVE TO GITHUB

In order to simplify the contributor's story, Xtext is taking part in the
"social coding initiative" of the eclipse foundation, and the primary git
repository has been moved over to github. As a consequence we will no longer use
gerrit for code reviews but github pull requests. Also it now makes more sense
to fork, watch and star our repository.





Xtext is of course still an Eclipse project!




CHANGING DOCUMENTATION IN TWO CLICKS

The website has been reimplemented in jekyll and the entire documentation is now
written in github-flavored markdown. A link on every page that says 'edit on
github' will open up a markdown editor on github, where anybody can do changes
and propose them in form of a pull-request with a second click. This allows for
wiki-style turnarounds but with a review and CLA check in it.
Just go try it out :-)






AUTOMATED SETUP

While documentation and website improvements can be made in the browser, you
usually want to run some of our over 30.000 unit tests when you did code
changes, or be able to compile and debug code. With a big project like Xtext
that targets multiple platforms, the setup of a workspace and the corresponding
tools is unfortunately not exactly simple. But fear not, this is all automated,
thanks to an oomph setup. So even here it is only a couple of clicks until you
have a fully working setup, that includes an IDE, the workspace, correct target
platform, the team's workspace preferences and so on. Just everything you need
and everything like we committer have it.




CODE CONTRIBUTIONS

The team has many active committers that are very happy to review your
high-quality pull-requests. If you want to start working on something it would
be best if you pick up one of the bugzillas flagged with 'v2.9' or whatever the
upcoming release is in case you read this post at a later point in time. This is
how we schedule the things we agreed on working on.

Eingestellt von Unknown um 10:14 AM
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest


Older Posts Home

Subscribe to: Posts (Atom)






ABOUT ME

Unknown View my complete profile



BLOG ARCHIVE

Blog Archive February (1) January (1) October (2) September (1) May (1) March
(1) January (2) October (1) April (1) February (1) January (1) October (1)
September (2) June (2) March (4) December (1) November (1) October (2) August
(1) July (1) June (2) May (2) April (3) March (1) February (2) January (3)
December (3) November (3) October (2) August (2) June (2) May (1) April (3)
March (5) December (3) November (1) September (2) August (2) July (1) June (2)
May (1) April (3) March (3) February (1) January (1) November (4) October (2)
September (1) August (1) July (3) June (4) May (2) March (2) February (1)
January (3) November (1) October (1) September (6) August (1) July (1) June (4)
May (1) April (1) March (4) February (2) January (2) November (3) September (1)
August (2) June (1) May (1) April (1) March (2) February (1) January (4) October
(1) September (1) August (2) July (1) June (1) April (5)


Simple theme. Theme images by Storman. Powered by Blogger.



Diese Website verwendet Cookies von Google, um Dienste anzubieten und Zugriffe
zu analysieren. Deine IP-Adresse und dein User-Agent werden zusammen mit
Messwerten zur Leistung und Sicherheit für Google freigegeben. So können
Nutzungsstatistiken generiert, Missbrauchsfälle erkannt und behoben und die
Qualität des Dienstes gewährleistet werden.Weitere InformationenOk