eclipse mars (4.5) and trouble connecting to subversion

Every year, I create a blog post about the latest version of Eclipse. While this post is about Eclipse Mars (4.5), it is not that post. This post is about my troubles connecting to Subversion using Eclipse. Which was unexpected as I’ve never had that problem before.

After installing Subversive, I restarted Eclipse. I then got prompted for installing a SVN Connector. I chose the first one (SVN Kit 1.7). I don’t know what happened; it didn’t work.

Unsuccessful attempts

I then went to the workspace preferences > team > svn and clicked add connectors to get the prompt again. I wanted to choose SVN Kit 1.8. Unfortunately I clicked Javahl by accident. Which of course didn’t work because it I don’t have SVN natively installed.

The error I got for Javahl was at least clear:

SVN: ‘0x00400104: Check HEAD Revision’ operation finished with error: Selected SVN connector library is not available or cannot be loaded.
If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site.
If connectors already installed then you can change the selected one at: Window->Preferences->Team->SVN->SVN Connector.
Get log messages for ‘https://svn.javaranch.com/svn’ failed.
Selected SVN connector library is not available or cannot be loaded.
If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site.
If connectors already installed then you can change the selected one at: Window->Preferences->Team->SVN->SVN Connector.

Selected SVN connector library is not available or cannot be loaded.
If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site.
If connectors already installed then you can change the selected one at: Window->Preferences->Team->SVN->SVN Connector.

No problem. I’ll just go back there and click add connectors again. Nothing. Can’t get pop-up to show up. I unsuccessfully tried restarting. Then I decided to uninstall Subversive entirely and start over.

Uninstalling

I went to help > installation details > subversive and clicked all subversive one. I then uninstalled. This was unnecessary as the problem was a connector. I then did help > installation details > javahl and uninstalled. After re-starting Eclipse, I got the connectors pop-up back.

Third attempt?

The connectors pop-up came back. SVN Kit 1.7 failed again. I then tried SVN Kit 1.8 which gave me an error about there not being any connectors. I restarted yet again and was finally able to connect to SVN. I’m not sure why this worked. I suppose the lesson is to uninstall and keep rebooting until it works?

 

results driven deveopment and mobile – aaron glazer – qcon

This is part of my live blogging from QCon 2015. See my QCon table of contents for other posts.

Building a mobile app is like a Formula One car. Someone else creates the rules. People care about how you perform, not the internals.

Results driven means working with all areas (sales, marketing, tech, etc) to achieve a common goal.

Data on it’s own isn’t useful.Needs focus.

Clarity thrugh simplicity. Simplicity alone is not enough.

A typical analytics graph shows dips/peaks over time. But don’t know what. Was a feature released then? Did new copy change your ranking in google? Did features have a delayed effect? Were externalities driving the result? Did features have any effect?

Instead do A/B testing to focus on causation instead of correlation.

In physical store, 75% of users pull out phone and 25% of those buy online rather than in store standing in.

After 1 day after downloading, 15% of users still use app. After a month,only 2% do. This inludes paid and unpaid apps.

On stubhub, see 400 words on desktop, mobile 30 words, Apple watch 5 words. Target has same scale: 500/50/7. On smaller device, word worth more.

A/B testing more important on mobile because less opportunity to hook user.

A/B Testing Walkthrough
Know goal.
Setup distribution. 50% baseline 50% varation
Segmentation: only show to users meeting target audience

Results Driven Development

  • Everyone must work together – Isolating the mobile team is bad. The engineering team controls app, but not accountable for user retention and other business goals. In results driven, havve a cross functional team. Center team around checkout flow, not platform.
  • Get the right tool for the job
  • Ensure accountability is directed properly
  • Data gives you information, but need goal. Results gives you answers.
  • Choose contextual business metric. Hypothesize/test/improve

Q & A

  • How do A/B testing on mobile? Can build multiple apps within an app and toggle.Can use Taplytics (is company) to change dynamically
  • There were two other questions, but they dried up fast

Impressions: The stats were interesting. I feel like i’ve heard most of the remaining info before.

java mini talks at qcon

This is part of my live blogging from QCon 2015. See my QCon table of contents for other posts.

This session is four 10 minute talks.

Determininistic testing in a non-deterministic world

  • determinism – everything has a cause and effect
  • pseudorandom – algorihtm that generates approximately random #s

Should see LocalDateTime with Clock instance to reproduce results in a program. There is a fixed clock so all operations in program see the exam exact time. Similar to using a random seed for generating numbers.

Hash spreads and probe functions: a choice of performance and consistency
primitive collections faster/less memory than boxed implementations. Uses 56 bytes for each Integer.

  • hash spread – function that destroys simple patterns in input data while presuming maximal info abobut input. Goal is to avoid collisions without spending too much time hashing.
  • hash probe – function to determining order of slots that span array. For example a linear probe goes down one slot if collision. A quadratic probe goes down down further if collision

Typesafe config on steroids
Property files are hard to scale. Apache Commons adds typing, but still limits to property file format and limit composition. Spring helps with scaling property file.

Typesafe Config – library used by Play and Akaa Standalone project without depenencies so can use in Java. JSON like format called HOCON (human optimized config object notation)

Scopes – library built on top of typesafe config

Real time distributed event driven computing at Credit Suisse
Credit Suisse produced own language that they call “data algebra”. Looks like a DSL.