|
|
|
|
| Zitat von flying sheep
Mods.de-Bookmark-watcher für Firefox upgedatet auf 0.5!
Jetzt mit Einstellungen, bei denen kein Auge trocken bleibt!
Einstellbare Mausbuttons (alle drei)!
Notifications (optional) (Default aus)!
Abstellbare Beitragsnummer für weniger Ablenkung!
Gebaut mit dem Addon-SDK! Immer noch open source! Ausrufezeichen!
Diesen Broadcast sehen sie im Gehirnsalat, Linux– und Browserthread
| |
Good job, my friend!
|
|
|
|
|
|
|
Hübsch
|
|
|
|
|
|
|
| Zitat von Danzelot
Hübsch
| |
Ich finde vor allem den Code hübsch. ES6 <3.
|
|
|
|
|
|
|
| Zitat von Flash_ Ist das Aktualisieren der bereits in Tabs geöffneten Threads noch eingebaut? | | sollte, warum? funzt es nicht mehr?
| Zitat von SkunkyVillage Good job, my friend! | |
danke euch <3
| Zitat von Kambfhase Ich finde vor allem den Code hübsch. ES6 <3. | | das ist das geile am firefox-addon-bauen. man kann den neuesten shit verwenden. let , const , for..of , und vor allem destructuring assignments. letzteres ist wie pythons [from ...] import ... [as ...] auf speed!
das einzig blöde ist, dass die API an min. einer stelle die neuen generatoren/iteratoren nutzt, und das einfach nicht funtioniert:
|
Code: |
//sollte eine live-liste aller fenster (derzeit eines) sein, implementiert mit __iterator__
const {browserWindows} = require('sdk/windows');
for (let index in browserWindows ) console.log(index ); // 0
for (let window of browserWindows ) console.log( window); //
for (let [index, window] in browserWindows ) console.log(index, window); // undefined, undefined
for (let [index, window] in Iterator(browserWindows)) console.log(index, window); // |
|
nur das erste funktioniert wie gewünscht, also zurück zu C-style-for-schleifen
oder ich versteh es einfach nicht. zum vergleich: auf einem normalen array funzen die varianten 1, 2 und 4.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von flying sheep am 26.04.2013 0:31]
|
|
|
|
|
|
| Zitat von flying sheep
| Zitat von Flash_ Ist das Aktualisieren der bereits in Tabs geöffneten Threads noch eingebaut? | | sollte, warum? funzt es nicht mehr?
| |
Nein
Ansonsten natürlich schöne Arbeit
|
|
|
|
|
|
|
| Zitat von Flash_ Nein
Ansonsten natürlich schöne Arbeit | | tatsächlich! mach ich morgen.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von flying sheep am 26.04.2013 1:21]
|
|
|
|
|
|
| Zitat von flying sheep
| Zitat von Flash_ Ist das Aktualisieren der bereits in Tabs geöffneten Threads noch eingebaut? | | sollte, warum? funzt es nicht mehr?
| Zitat von SkunkyVillage Good job, my friend! | |
danke euch <3
| Zitat von Kambfhase Ich finde vor allem den Code hübsch. ES6 <3. | | das ist das geile am firefox-addon-bauen. man kann den neuesten shit verwenden. let , const , for..of , und vor allem destructuring assignments. letzteres ist wie pythons [from ...] import ... [as ...] auf speed!
das einzig blöde ist, dass die API an min. einer stelle die neuen generatoren/iteratoren nutzt, und das einfach nicht funtioniert:
|
Code: |
//sollte eine live-liste aller fenster (derzeit eines) sein, implementiert mit __iterator__
const {browserWindows} = require('sdk/windows');
for (let index in browserWindows ) console.log(index ); // 0
for (let window of browserWindows ) console.log( window); //
for (let [index, window] in browserWindows ) console.log(index, window); // undefined, undefined
for (let [index, window] in Iterator(browserWindows)) console.log(index, window); // |
|
nur das erste funktioniert wie gewünscht, also zurück zu C-style-for-schleifen
oder ich versteh es einfach nicht. zum vergleich: auf einem normalen array funzen die varianten 1, 2 und 4.
| |
Wahrscheinlich sind die enumerable: false. Warum auch immer.
Dafür hat Firefox jetzt aber E4X rausgeschmissen.
|
|
|
|
|
|
|
In der Beschreibung steht "Works with Firefox 17.0 and later". Aber in der install.rdf steht <em:minVersion>19.0</em:minVersion>
Was stimmt nun?
Hier in der Arbeit haben wir leider nicht den aktuellsten Firefox.
|
|
|
|
|
|
|
| Zitat von DeineOmi
In der Beschreibung steht "Works with Firefox 17.0 and later". Aber in der install.rdf steht <em:minVersion>19.0</em:minVersion>
Was stimmt nun?
Hier in der Arbeit haben wir leider nicht den aktuellsten Firefox.
| | ich glaube 17 stimmt, aber es kann auch sein, dass irgendwas 19 braucht, und das addon SDK das erkannt hat und meine manuell angegebene version 17 auf 19 angehoben hat.
schau ich mir mal an.
/edit: nein, das setzt es automatisch auf die aktuelle firefox-version. ich versuch mal, es auf 17 zu zwingen.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von flying sheep am 26.04.2013 11:59]
|
|
|
|
|
|
In meinem urlaub mach ich jetzt immer ne doppelte Portion Sport (morgens Stunde Fitti, Nachmittags 'ne Stunde laufen).
feelsgoodman.
Nachteil: Ich bin abends genauso (wenn nich sogar mehr) fertig wie auch sonst bei ner normalen Arbeitswoche
|
|
|
|
|
|
|
Ich hab vor 2 1/2 Wochen angefangen zu Joggen und am Montag hatte ich fast die 10km in einer Stunde zusammen. Dann hab ich mir gscheite Schuhe gekauft. Die Dämpfung macht mich fertig! Am Mittwoch war ich 50 Minuten laufen und gestern war ich zu nichts zu gebrauchen...
Heute mal wieder langsamer anfangen und weniger Strecke.
Am liebsten würd ich ja wieder radeln, aber hier in Spanien hab ich halt keines und irgendwas muss ich mal wieder machen um dem Übergewicht wenigstens ein wenig die Stirn zu bieten...
|
|
|
|
|
|
|
Laufschuhe müsste ich mir auch mal zulegen. Ich habe aber keine Lust dafür in ein Geschäft zu gehen und mir vielleicht irgendwelchen Bullshit andrehen zu lassen
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Danzelot am 26.04.2013 12:58]
|
|
|
|
|
|
Ich war hier in nem Laden, der auf Laufen spezialisiert ist. Der Verkäufer war offensichtlich auch der Inhaber des Ladens und sah auch so aus, als würde er selbst laufen.
Die Schuhe waren zwar alles andere als günstig, aber ich muss sagen, dass ich mich sehr gut beraten fühlte. Vielleicht schaust du einfach mal, ob es so was in deiner Nähe auch gibt.
|
|
|
|
|
|
|
Eure Clean Code Skills bzw. euer Sachverstand wird benötigt.
Ich hatte heute eine angeregte Diskussion mit einem Kollegen der folgende Fehlerkorrektur in Java schrieb.
|
Code: |
boolean a = createFoo();
boolean b = createBar();
boolean c = createFoobar();
boolean d = createBarfoo();
if (a || b || c || d)
{
update();
}
|
|
Ich habe ihn darauf angesprochen, dass er doch bitte sprechende Variablennamen nehmen sollte und nicht a, b, c oder d.
Er sieht das aber nicht so, weil der Scope klein genug ist und dies Korinthenkackerei wäre.
Wie seht ihr das? Sprechende Namen auch bei kleinem Scope oder x-beliebigen Namen?
Folgender Sourcecode war meine Korrektur des Fehlers.
|
Code: |
boolean needsUpdate = false;
needsUpdate |= createFoo();
needsUpdate |= createBar();
needsUpdate |= createFoobar();
needsUpdate |= createBarfoo();
if (needsUpdate)
{
update();
}
|
|
|
|
|
|
|
|
|
So würd ich das machen:
|
Code: |
if (createFoo() | createBar() | createFoobar() | createBarfoo())
{
update();
} |
|
Die Frage ist natürlich, ob alle Funktionen ausgewertet werden sollen oder nur bis klar ist, dass der Ausdruck true ergibt. Dann würd ich es so machen:
|
Code: |
if (createFoo() || createBar() || createFoobar() || createBarfoo())
{
update();
} |
|
/: Bei einem so kleinen Scope erachte ich das tatsächlich als egal. Allerdings können spätere Änderungen die Funktion viel größer werden lassen. Dann sollte man den Namen in etwas vernünftiges ändern. Also so, wie du es gemacht hast.
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von cms am 26.04.2013 14:58]
|
|
|
|
|
|
da editiert er, bevor ich ihn zurechtweisen kann
|
|
|
|
|
|
|
Der Fehler war vorher, dass die Funktionen mit dem logischen Oder verknüpft waren. Es musste aber jede Methode mindestens einmal aufgerufen werden.
|
|
|
|
|
|
|
Mir ist letztens aufgefallen, dass Achsel inzwischen ganz ordentliche Laufzeiten hat. 50mins für 11km oder so. das ist schon ziemlich ordentlich
|
|
|
|
|
|
|
| Zitat von Redh3ad
da editiert er, bevor ich ihn zurechtweisen kann
| | Naja, wieso zurechtweisen? Ich wollte ja an der Logik des Code-Stückes nichts ändern.
|
|
|
|
|
|
|
Wenn ich mal laufe, was ich echt selten tue (), geh ich hier in's Tal, da gibt's ~3 Km idr. saubere scherbenfreie Asphaltstraße ohne Verkehr, wenn da tagsüber die Sonne draufgeschienen hat, kann man da super barfuß laufen/joggen :-)
|
|
|
|
|
|
|
| Zitat von DeineOmi
Eure Clean Code Skills bzw. euer Sachverstand wird benötigt.
Ich hatte heute eine angeregte Diskussion mit einem Kollegen der folgende Fehlerkorrektur in Java schrieb.
|
Code: |
boolean a = createFoo();
boolean b = createBar();
boolean c = createFoobar();
boolean d = createBarfoo();
if (a || b || c || d)
{
update();
}
|
|
Ich habe ihn darauf angesprochen, dass er doch bitte sprechende Variablennamen nehmen sollte und nicht a, b, c oder d.
Er sieht das aber nicht so, weil der Scope klein genug ist und dies Korinthenkackerei wäre.
Wie seht ihr das? Sprechende Namen auch bei kleinem Scope oder x-beliebigen Namen?
Folgender Sourcecode war meine Korrektur des Fehlers.
|
Code: |
boolean needsUpdate = false;
needsUpdate |= createFoo();
needsUpdate |= createBar();
needsUpdate |= createFoobar();
needsUpdate |= createBarfoo();
if (needsUpdate)
{
update();
}
|
|
| |
Ich bin für: "weder noch" und außerdem "kommt drauf an". Wenn die Funktionsaufrufe zum testen kurz genug sind, dass die Bedingung nicht zu lang wird, dann wäre ich für die Inline Variante. Jedes eingführte Variable erhöht den gedanklichen Overhead eine bisschen. Wenn die Abfragen allerdings sehr lang sind, dann würde ich sprechende(!) Variablen einführen.
Ich habe hier z.B. einen Code wie:
|
Code: |
// checks whether or not we are allowed to show the overlay on a url
function checkOverlayAllowed(url) {
"use strict";
var is_chrome_page = url.indexOf("chrome://") === 0,
is_facebook_login = url.indexOf("facebook.com/login") !== -1,
is_google_login = url.indexOf("accounts.google.com/ServiceLogin") !== -1,
is_twitter_login = url.indexOf("api.twitter.com/oauth/authorize") !== -1;
return !is_chrome_page && !is_facebook_login && !is_google_login && !is_twitter_login;
}
|
|
Ohne die Variablen sähe das total schlimm aus.
|
|
|
|
|
|
|
| Zitat von TriggerTG
Mir ist letztens aufgefallen, dass Achsel inzwischen ganz ordentliche Laufzeiten hat. 50mins für 11km oder so. das ist schon ziemlich ordentlich
| |
Ne, das waren etwas über 1h. Auf Strecken unter 5km schaffe ich mitlerweile die 5:30 für einen Kilometer, aber wenn ich länger laufe werde ich gegen Ende langsamer und das zieht den Schnitt nach unten. Da arbeite ich aber dran, immerhin laufe ich meine Strecken alle ohne Pausen und mit brauchbarem Tempo.
Mein Ziel ist eigentliche diesen Herbst einen HM und vor meinem 30. einen Marathon zu schaffen
|
|
|
|
|
|
|
| Zitat von cms
| Zitat von Redh3ad
da editiert er, bevor ich ihn zurechtweisen kann
| | Naja, wieso zurechtweisen? Ich wollte ja an der Logik des Code-Stückes nichts ändern.
| |
false/true, nicht der Zusatz danach
|
|
|
|
|
|
|
Ich finde die Variante im mittleren Codeblock von Achsels Post am besten für so viele Abfragen.
|
|
|
|
|
|
|
| Zitat von Redh3ad
| Zitat von cms
| Zitat von Redh3ad
da editiert er, bevor ich ihn zurechtweisen kann
| | Naja, wieso zurechtweisen? Ich wollte ja an der Logik des Code-Stückes nichts ändern.
| | false/true, nicht der Zusatz danach
| | Ach so, stimmt, dass hatte ich auch verbessert.
|
|
|
|
|
|
|
Soviel Tech-Talk hier. Wer trinkt denn heute abend auch ein Bierchen?
|
|
|
|
|
|
|
Hier wird gerade für eine Geburtstagsparty dekoriert, auf der ich mehrere Bierchen trinken werde. Die Party soll allerdings mit pinken Luftballons gefüllt werden und allgemein komplett pink werden, das könnte anstrengend sein
|
|
|
|
|
|
|
| Zitat von Achsel-des-Bösen
Ich bin für: "weder noch" und außerdem "kommt drauf an". Wenn die Funktionsaufrufe zum testen kurz genug sind, dass die Bedingung nicht zu lang wird, dann wäre ich für die Inline Variante. Jedes eingführte Variable erhöht den gedanklichen Overhead eine bisschen. Wenn die Abfragen allerdings sehr lang sind, dann würde ich sprechende(!) Variablen einführen.
Ich habe hier z.B. einen Code wie:
|
Code: |
// checks whether or not we are allowed to show the overlay on a url
function checkOverlayAllowed(url) {
"use strict";
var is_chrome_page = url.indexOf("chrome://") === 0,
is_facebook_login = url.indexOf("facebook.com/login") !== -1,
is_google_login = url.indexOf("accounts.google.com/ServiceLogin") !== -1,
is_twitter_login = url.indexOf("api.twitter.com/oauth/authorize") !== -1;
return !is_chrome_page && !is_facebook_login && !is_google_login && !is_twitter_login;
}
|
|
Ohne die Variablen sähe das total schlimm aus.
| | Warum müssen es sprechende Variablen sein? Es können doch genauso gut sinnvolle Kommentare sein.
|
Code: |
// checks whether or not we are allowed to show the overlay on a url
function checkOverlayAllowed(url) {
"use strict";
return
// not a chrome page
url.indexOf("chrome://") === -1
// not the facebook login page
&& url.indexOf("facebook.com/login") === -1
// not the google login page
&& url.indexOf("accounts.google.com/ServiceLogin") === -1
// not the twitter login page
&& url.indexOf("api.twitter.com/oauth/authorize") === -1;
} |
|
Kürzer*, aber nicht verschwurbelter (wie z.B. ein 10-Zeichen-Perl-Programm ), Verständlichkeit bleibt dank der Kommentare erhalten und außerdem werden nichts unnötig ausgeführt.
* Was den Code angeht.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von cms am 26.04.2013 17:14]
|
|
|
|
|
|
Von cms hätte ich eine Antwort auf meine Frage erwartet! Oder ist heute Pärchen-Tag?
| Zitat von Danzelot
Hier wird gerade für eine Geburtstagsparty dekoriert, auf der ich mehrere Bierchen trinken werde. Die Party soll allerdings mit pinken Luftballons gefüllt werden und allgemein komplett pink werden, das könnte anstrengend sein
| |
Oh Gott, das würd ich so feiern. Geh hin mit einem Gorgoroth-T-Shirt!
Gorgoroth hab ich übrigens mal mit SirSiggi gesehen. Sind dann doch lieber zu Crematory gewechselt.
|
|
|
|
|
|
|
| Zitat von SkunkyVillage
Von cms hätte ich eine Antwort auf meine Frage erwartet! Oder ist heute Pärchen-Tag?
| | Joa, da wird wohl das ein oder andere Bierchen drin sein.
|
|
|
|
|
|
Thema: Gehirnsalat ( wir unter uns ) |