Updating PhpStorm Desktop/Launcher icon on Ubuntu

I keep forgetting how to edit my desktop entries after updating PhpStorm on my Ubuntu installation.

This is the file that needs to be edited: ~/.local/share/applications/jetbrains-phpstorm.desktop

Just update the paths for the Icon & Exec after the update:

cat ~/.local/share/applications/jetbrains-phpstorm.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=PhpStorm
Icon=/opt/PhpStorm-143.1184.87/bin/webide.png
Exec=“/opt/PhpStorm-143.1184.87/bin/phpstorm.sh“ %f
Comment=Develop with pleasure!
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-phpstorm

 

Weiterlesen

Vierter MageStackDay am 15. und 16. Jänner 2016

MageStackDayNach zwei sehr erfolgreichen Online-Events und einer Pause im Herbst 2015 ist es im Jänner Zeit für eine neue Auflage des MageStackDays!

Am 15. und 16. Jänner treffen wir uns wieder online, um gemeinsam Fragen auf magento.stackexchange.com zu beantworten, zu schließen, zu verbessern, aufzuräumen und die Qualität dieser Plattform zu verbessern.

Abgesehen von der Plattform arbeiten wir derzeit an der neuen Version unserer Webseite, über die die Registrierung möglich sein wird.

Als nettes Extra gibt es MageStackDay sticker, die entweder persönlich bei den Organisatoren des MageStackDays erhältlich sind (Sander Mangel, Anna Völkl, David Manners) oder online via StickerMule bestellt werden können.

500 dieser wunderbaren Sticker, die wir weltweit verteilen, verdanken wir dem Sponsoring der CopeX GmbH!

Zur Unterhaltung und Informationsaustausch verwenden wir unsere MageStackday Slack Team. Bitte kontaktiert mich, wenn ihr eine Einladung für die Gruppe möchtet.

Weiterlesen

Konferenzen für Magento Entwickler 2016: MageTitans Mailand und MageUnconference in Berlin

In der Magento Welt gibt es mittlerweile eine Vielzahl an Konferenzen und Events, die verteilt über den ganzen Globus stattfinden.

Diese zwei tollen Events zu Beginn des Jahres möchte ich euch besonders ans Herz legen:

MageTitans IT

mage_titans_itNachdem 2014 und 2015 die MageTitans zum ersten und zweiten Mal in Manchester äußerst erfolgreich durchgeführt wurde, ist es 2016 Zeit für den ersten Ableger davon, der in Mailand in Italien stattfindet.

Leider habe ich es zur MageTitans nach Manchester nicht geschafft, die Rückmeldungen und vielen Tweets auf Twitter haben aber für ein äußerst tolles Event gesprochen :-) Ich bin schon gespannt auf die italienische Version.

Am Freitag, dem 5. Februar 2016 findet dieses eintägige Event, das sich speziell an Magento Entwickler richtet, statt und ich habe die Ehre, dort auch wieder einen Talk halten zu dürfen!

 

MageUnconference in Berlin

MageUC-LogoEin zweites tolles Event, ist die MageUnconference, die am Samstag & Sonntag, dem 12. und 13. März in Berlin in Deutschland stattfindet.

Ich war letztes Jahr dort und war großartig! Wie großartig genau könnt ihr in meinem Rückblick & FAQs vom Event 2015 nachlesen.

Im vergangenen Jahr waren großteils Entwickler vor Ort, die Organisatoren wollen das Event heuer aber auch speziell für Designer, Projekt-Manager, Shop-Betreiber etc. interessanter machen.

 Weitere Events

Darüber hinaus wird es wieder jede Menge Magento Stammtische/Meetups und Meet Magentos in verschiedenen Ländern, das Developer Paradise in Kroatien und auch wieder die Magento-eigenen Veranstaltungen Imagine und Magento Live geben.

Es gibt also viele tolle Möglichkeiten, mit der Magento Community persönlich in Kontakt zu treten, neue, spannende Dinge aus der Magento-Welt zu hören und sich auszutauschen.

Weiterlesen

Skype: online/offline Status Problem

Verwendet man Skype auf mehreren Geräten kann es passieren, dass man manchmal als online angezeigt wird, obwohl man nicht online ist.

Diese Anwort habe ich vom Skype support erhalten:

Wie ich verstehe, werden Sie ständig als Online angezeigt obwohl Sie es nicht sind.

In manchen Geräten, wie zum Beispiel Handys oder Tablets läuft Skype wenn Sie es schließen im Hintergrund weiter, weswegen in vielen Fällen der Skype Nutzer als Online angezeigt wird. Wenn Sie sich jedoch abmelden, sollte dass nicht passieren.

Ich möchte Sie bitte die Skype Anwendung auf Ihrem Computer zu benutzen und folgende Meldung in einem beliebigen Chat-Fenster einzutippen und auf Enter zu drücken.

/showplaces

Es wird eine Liste angezeigt auf der Sie erkennen können auf welchen Geräten Sie Online sind.

Anschließend möchte ich Sie bitten diese Meldung in einen beliebigen Chat-Fenster einzutippen und auf Enter zu drücken.

/remotelogout

Geben Sie nun wieder /showplaces ein um zu überprüfen ob Sie von allen Geräten abgemeldet wurdern.

Weiterlesen

Magento CE 1.9.2.2 database diagram

Every now and then someone on the Internet asks for a Magento database diagram, like this question here on MagentoSE.

While there are a lot of cool resources out there (which are unfortunately a bit outdated), I created a new one.

This is the database diagram of a fresh CE 1.9.2.2 installation.

Some statistics (because I love statistics):

  • Magento CE 1.9.2.2 consists of 333 tables
  • 19 tables start with core_*
  • 47 tables start with sales_*
  • 84 tables start with catalog_*

How to read it & find stuff:

  • Catalog is on the very left (big yellow group)
  • Sales is on the very right (big blue group)
  • EAV and Core stuff is in the middle (the brown & orange groups)
  • Customer tables are in the middle/bottom (big green group)
  • The rest (salesrules, logs, reports, newsletter, tags, poll, etc.) is on the bottom

If you like it, go and upvote my answer on MagentoSE 😉

Have fun with it!

Magento CE 1.9.2.2 database diagram

Link: Magento CE 1.9.2.2 database diagram

Feedback on the diagram is welcome. Especially on some lonely tables that I moved to the best of my knowledge and belief into one of the groups.

 

Weiterlesen

win10vpn

Windows 10: VPN settings not available & DNS problem

The Problem

The network settings window of my VPN adapter was not accessible. Means: It was there, not greyed out but clicking on it did not open the settings tab.

First stop(s):

http://superuser.com/questions/949306/windows-10-windows-vpn-ipv4-properties-not-accessible
http://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_web/network-connection-vpn-ipv4-properties-not-working/a60edf99-4b06-4219-bb75-b7c08de4ff9e

The File

The first place to get rid of my problem after the first recommendation: Adjust stettings in this file:

„C:\Users\USERNAME\AppData\Roaming\Microsoft\Network\Connections\Pbk\rasphone.pbk“

Change the following settings:

IpPrioritizeRemote=1 => IpPrioritizeRemote=0
IpInterfaceMetric=0 => IpInterfaceMetric=1

I was looking for some fast fix but: Nothing changed. Enabled/disabled the connection: not better.

PowerShell

Run the PowerShell as Admin:

Check VPN connection:

Get-VpnConnection

Set SplitTunneling:

Set-VpnConnection -Name "YOURVPNNAME" -SplitTunneling $True

Again: nothing happened.

Enabled/disabled the connection again, nothing happened.

Back to the config file

I tried to set the DnsAddresses in there:

IpDnsAddress=10.0.0.11
IpDns2Address=10.0.0.11

(note: these are not the real DNS settings)

as well as setting it via command prompt:

netsh int ip set address "YOURVPNNAME" gateway=10.0.0.11

Disconnecting + Connecting again: no luck.

nslookup

After some more research I found out it could also be a DNS issue. I ran „nslookup“ form the command prompt and checked the gateway.
This showed my local gateway.

Getting closer?

IPv6 & Split tunneling

Some hints on that from the Microsoft forum:

No. 1:

This seems to be IPv6 related.
It keeps using my ISP’s IPv6 DNS server instead of my company’s (IPv4 only) DNS server.
If I disable IPv6 on my LAN network adapter, it starts working.

No. 2.:

Ok, it works, when SplitTunneling is disabled (Remote Gateway on) and IPv6 disabled.

I disabled SplitTunneling (again) and IPv6 on my WiFi and VPN. No luck.

 

Maybe these settings about help someone else resolving the issue. Some lucky users were able to resolve the problem after the very first step by editing the config file.

To be continued.

Weiterlesen

Creating the best small Web-App I can

I was requested to create one little form for my father-in-law who runs a online radio in his free time. The feature is called „Wunschbox“ so basically an input form were the listeners of the radio can leave their request for a certain song. The admins of the radio should be provided with the list of incoming requests and mark them as „done“ (=played on the radio). Sure, not a problem.

Right after creating the project in PHPStorm I wondered if I should just continue in basic PHP or use a cool and fancy framework for this. I love working with frameworks and as I work with Magento as daily business – which provides a big toolset – I wondered if there was something out there that would please my requirements for this small project. It would have taken me about one hour to hack these two pages together but I decided to ask that question on twitter and got some replies. My little journey started.

TL;DR: I was looking for good ways to create a small web-app. After trying Silex and Lumen I decided to go back to basic PHP and finally to TDD.

Looking for the better

I started googling and one of the first frameworks that popped up was Silex which was also recommended in the first replies on twitter.

Silex

Silex is a PHP micro framework based on Symfony2 Components. I knew Silex a bit from digging into Bolt CMS some weeks ago. Also the first replies on twitter recommended Silex. So I added it via composer and got started. After adding the Symfony Form Component as a new dependency to my repository it had about 19M in size. That felt just wrong for my little small web-app and would have been an overkill. Meanwhile some new Tweets about Lumen (which I didn’t know before) arrived and I decided to have a look at it, as the website seemed pretty promising.

Lumen

Lumen is a PHP micro-framework by Laravel. It can also be installed quite easily via composer. You can easily create new projects via command line by calling lumen new projectname. That’s what I did and I found myself again in a project folder with 20MB. The structure looked good but I didn’t want to continue at this point. Again: It was way too much and too big.

The better: Keep it simple – back to basic PHP

Silex and Lumen are really cool Frameworks (as far as I can tell from testing them both for about 30 Min.). But both of them felt just way too big for my two small PHP pages. At this point I reminded myself about some basic principles and one of them was: Keep it simple & stupid. In no way both of these two frameworks which had about 20M each were simple enough for my need as I expected my small web-app to have a few Kilobyte of Code. So I started with the frontend and created the first form in basic HTML. After that, I went to bed.

I tweeted my findings: „Conclusion after 1h of trying Silex and Lumen (which are awesome btw!): I should stick to my own principles and keep it simple > Basic PHP“.

TDD!

I woke up in the moring with a reply from Vinai on twitter (thanks for that!) who recommended also basic PHP plus TDD!

I didn’t think of creating this „app“ in a TDD way, but the size of the project was just perfect for REAL TDD! So I set up phpunit for my two pages and wrote the first test(s) this morning. At this time I have 6 tests, 2 classes (one for the application + one test class) and that basic HTML form from last night. Nothing big, I know. But I’m really happy with it.

Thanks for the inspiration, Vinai!

There’s some garden work waiting to be done today but I will continue in the evening.

Why a blogpost?

I found the way of finding and deciding really interesting as well as the factors time and quality related to this.

„That’s cool, but you could have been done with that already“

This was my husbands quote when I told him I’ve set up tests for my small web-app this morning :-)

Yeah, I know: I already spent way too much time with it. More than I would have initially needed. But I’m really happy with the current state, it’s pretty clean, straight, minimalistic and there were some interesting responses related to it.

Initial time thought to create this little web-app: 1h

Time to give Silex and Lumen a try and tweet about it: 1.25h
Setting up the project, phpunit and writing first tests: 0.75h
Time to write this little blogpost about it: ~0.25h
To be continued.

Time for some garden work now. Really. Looking forward to your thoughts & replies on that.

Weiterlesen

ubuntu_festplattenspeicher1

Ubuntu: Nicht genügend freier Festplattenspeicher für Aktualisierung

Bei der Installation der letzten Ubuntu Updates kam folgende Meldung:

Nicht genug freier Festplattenspeicher verfügbar

Die Systemaktualisierung benötigt 72,5 M an freiem Speicherplatz auf der Festplatte „/boot“. Bitte stellen Sie mindestens x M an zusätzlichem Speicherplatz auf der Festplatte „/boot“ zur Verfügung. [..]

Die Lösung war folgender Befehl aus dem Ubuntu-Forum der die alten Header aus /boot entfernt:

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

 

Weiterlesen

FAQs about MageUnconference 2015

The first MageUnconference took place on March 7th & 8th in Berlin. You’d like to know how it was? Read the FAQs!

What’s an unconference?

Like an conference, but without any planned talks and with muuuch more and longer breaks. Someone Sander said to me in one of the breaks (sorry for not remembering, who it was I do SO remember it was Sander): „MageUnconference is a great combination of user group meeting and sessions“.

It was such a relaxed athmosphere according to conferences where people just rush from talk to talk and hardly have time to chat during breaks. It was my first unconference and – omg – unconferences are awesome! It was also the very first MageUnconference btw!

How was the preparty?

We had a few beers, we had food, I met a lot of people I already knew and a lot of new ones and some even not known from twitter before!

According to Fabian we didn’t manage to spend all the money that was sponsored for the preparty. Reminder for next time to all: Drink more beer or start earlier 😉

I also tried Ginger-Beer, I cannot recommend it.

The preparty took place in the Lindenbräu in the Sony-Center btw. After the last round of drinks we went for the After Pre-Party in the bar on the other side of the street of the Motel One.

2015-03-07 00.38.45 2015-03-07 00.38.53 2015-03-07 01.43.18 2015-03-07 02.14.13

Where did you stay?

After rumours on twitter, a lot of us booked their room in the Motel One at Ku’Damm (thanks Tobi for your tweet, i think everyone followed that). That was pretty cool as there was always someone around to go together to the Unconference and back.

I’m not sure which way was longer: The one from the elevator to my hotel room or the one to the toilets in the Abenteuerzentrum.

How did you get to the venue?

Driving with the bus from the Motel One! Despite my concerns beforehand it worked out better than I thought. My new favourite bus line in Berlin is now X10. Going with the bus, especially when going with a group of people, requires some attention from at least one of the group. Otherwise you will miss the station to get out. We had some near-misses.

2015-03-07 08.24.34

The Eichhörnchensteig is just right after the Waldmeisterstraße. The way to the Abenteuerzentrum was very idyllic.

Eichhörnchenweg 2015-03-08 14.13.19 2015-03-08 14.08.28

How was the venue?

The Abenteuerzentrum lies inbetween a lot of trees and green. It’s quite big and has a long way to the toilets (don’t forget to pass by when you’re in a session in the room „Bob“). We were lucky and the weather was very nice during MageUnconf which made it possible to sit outside, have breakfast outside and also sessions.

We had WIFI there which was reliable most of the time (depending on your location) and – for people like me without data plan in Germany – really essential to follow up all the tweets :)

2015-03-08 09.49.25 2015-03-08 14.07.24

What about the sessions?

Everyone had the chance to add topics he/she wanted to hear or talk about. The topics were collected on a wall, then introduced with a few words. A detailed picturized explanation about how that works can be found in Carmen’s Blogpost.

The good thing is: There are 3 (or even 4) dev-tracks.

The bad thing is: There are 3 (or even 4) dev-tracks.

Which means: You have to decide which one of all those cool sessions to attend! What I really liked were the discussions that evolved out of the sessions and also the quality of the topics was very good!

There were sessions about: Module testing, Magento search, Burnout, Magento and Bootstrap, Scaling Magento (day 1), Recommender systems, design patterns: abstract factory, Mistake Driven Development, Vagrant, Magento Meetups, Code Usablity, CRM and a lot more!

I even got to do my „First Aid – Survival Guide for web developers“ session together with Benno which was really cool.

 

2015-03-07 11.21.56 2015-03-08 10.51.40

What did you eat aka How was the food?

There was lots of food! So much of it, that I cannot even list it all here. There was food all the time: apples, carrots, mandarines, cookies, cake, cereals, various kinds of break with various toppings. Lunch on saturday and sunday was vegan (the pumpkin soup on sunday was great btw!).

And there were a lot of softdrinks and 1337mate and Mischmasch and Coke and sparkling water (good quality sparking water from Vöslauer – Austrian company 😉 ) and much more!

2015-03-08 10.03.00 2015-03-08 10.03.05 2015-03-08 10.03.12

How was the afterparty?

There was a fireshow which was performed by „Feuer und Poesie“ – omg, that voice! And omg, that fireshow!

After that we had delicious food from the barbecue.. For even more entertainment throughout the evening there was table tennis, dart and air hockey!

How many people attended the event?

I have no idea about the official number. Right before the event, 94 participants have been officially announced. Some didn’t show up or arrived later but there were still a lot of Magento people :)

Most of them were from Germany and the Netherlands, but there were also participants from Switzerland (2), UK (1.5, yeah, David, you’re the 0.5) and Austria (1). Hope I did not forget a country here.

There were a lot of cool Magento developers, but also project managers, sales & marketing guys/gals,… See #mageuc15 tweets for a list of people :)

One special thing I’d like to mention is that 3/4 of the MageStackDay-team met there :-)

 

Did you like it?

Yes! And I hope there will be a #mageuc16!

Special thanks to the amazing team organizing MageUnconference: Fabian Blechschmidt, Rico Neitzel, Tobias Klose, Carmen Bremen and Vinai Kopp!

More information?

www.mageunconference.org
#mageuc15 Tweets

More Blogposts?

Check out these cool Blogposts:

English:

German:

Weiterlesen