Wednesday, October 31, 2012

4 Min

See if I can make it while downloading another Eclipse download...

Apparently, there is an Eclipse download with Maven built in. Name ends in "for Java".

That's good; I didn't know. Installing via the 'Software Update' always irritates me, with first adding a url to a download site, which you can't find via the GUI (I think?), and which is hard to google up anyway.

--

No, download still downloading. What can I add in 1:22, ..., 1:14, ..., never mind.

AWS Alarm Is Super Easy to Set

See this: http://impossible-is-development.blogspot.se/2012/11/aws-alarm-super-easy-to-set-warning.html

---

My blog posts are 2/3 whining, aren't they. But there's the occasional happiness, when some thing or other goes friction free. Here's an example: setting an alarm in AWS is really straightforward. For instance, "when CPU is above 60% for 15 minutes, send me email".

And the same status is shown clearly with a green check mark, so you don't need to rely on your inbox.

OTOH, it hasn't triggered yet...but why shouldn't it work; they send me email about new features every other day it seems...

Me's Features

...and why not make a Misfeature List for thine own self, good blogger? Long one, or weighty bullet points on it?

--

Aka "Number One Features", b-pssh.

Java Misfeatures Collection

The Misfeature Collection blogging pattern again, applied to Java, the language.  Things big and small.

1) There should be a 'Integer' super-type for all the integer types (Byte, Short, Integer, Long). The name's taken, unfortunately. That's another misfeature, but understandable, 'int' was inherited from C/C++, I suppose. They could've named Integer as Int; and had Integer as the super-type name.

1a) Same thing for floating-points, of course. 'float' is traditional. But float could've been 'Single', IIRC there are languages that use 'single' as the name of single-precision FP numbers.

2) Annotations should fit in better with interfaces. Lots of good reasons for this; and only the 'tools' excuse on the other side, right?

// THIS TOO, SHALL AMASS //

Monday, October 29, 2012

Eclipse-Java-Maven-Svn Issue Top-N List

Let's do the same for the Eclipse-Java-Maven-Svn accretion as I did in the Javascript-Sucks blog entry: collect list of the most irritating issues.

1) Svn/Subclipse client implementation crappiness. Stuff like:

"Problems reported while synchronizing SVNStatusSubscriber. 0 of 1 resources were synchronized.", "Error getting status for resource", "org.tigris.subversion.javahl.ClientException: Working copy not locked; this is probably a bug, please report",  "svn: Directory '...' containing working copy admin area is missing". 

2) Multi-module maven projects, complaint A: why do they all have to be their own project; or rather: why do they all have to be displayed in a top-level project list?


3) Multi-module maven projects, complaint B: enabling Workspace Resolution (which is a good thing, mostly): why can't I inspect the imported jar as for the jars in Maven Dependencies that are not W.R. enabled? (Solution: temporarily disable; so not a huge deal.)

4) No good svn 'clone' command. What I do now for discrete files is either: Procedure A: 1) usually make sure it's committed, 2) 'rename' and 3) then 'revert' only the old deleted file. Or Procedure B: 1) drag a file 2) revert old location. File contents usually need to then change also, e.g. type name in A, package name in B. There's also Procedure C: use the svn CLI in the terminal.

5) There seem to be no 'fix all package declarations' command. This would be useful after some of the above mentioned svn clone operations. 'Fix imports' does exist. Fixing package declarations would be trivial to implement, easier than 'Fix imports'.

--

6) Subclipse bugs. Sheesh. For instance: renaming a folder. First step is easy: rename the folder. Committing the 'new' folder usually works. But then, Subclipse, or SVN, decides that there is some sort of conflict and refuses to commit without a dance involving at some point the 'Mark as Resolved' command. (Maybe helps if you always to 'update' on the parent folder of the original folder before the rename? Will probably never remember this, so mileage may vary.)


--

I won't ever have to create new blog posts, just keep piling up.

7) The set SVN property dialog. "Another property has the same name". WT*? So why don't you fetch it so I can edit the value? Or at least let me save a new value without going back and removing the property, should I choose to do so?

--

8) You can't just get by with a pom.xml for maven projects, the '.classpath' has to be in sync too. See http://impossible-is-development.blogspot.com/2012/11/basic-maven-project-build-fix-tip.html.

9) The '.classpath' generated for maven projects will include the test path too. Fertile element for spawning build error fallout, unless you also run CLI builds to be sure you don't reference any of the classes or things in the test tree.

--

10) "Working copy not locked; this is probably a bug, please report
svn: Are all the targets part of the same working copy?"

Oh right:
11) The fantastic misdesign where all the svn checks are done _after_ we've filled in the commit dialog.  And the dialog is closed. And the settings are mostly _not_ remembered.

--

This is no longer a Top-N list; it's just a pile of 'dirt'.

12) Dialog "Launch Error": '[editor/selection] does not contain a main type', etc. WT*: I ran it three minutes ago. And I am looking at this: "public static void main(String...args) {". And I haven't changed it. Some internal cache bug? Eclipse exit-relaunch helped none. Clean? Let's try...no. ...stumped.

--

13) This is a classic one: Alt-Click on a project (usually) will unfold the whole tree. This can take...some...time. Usually ends up in killing Eclipse and restarting. Nowadays, with a SSD, it usually never takes that long. But sometimes, like right now; and I don't know what's makes now a bad time to unfold. -- A timeout here would be nice; or simply a limit on the number of unfoldings.


-- MORE TO COME... --

Sunday, October 28, 2012

Double Period Brings Completion


Context: Eclipse JS Editor. 

The "|" in below examples is the caret. Cmd-Space in this situation: 

list_elem.|

does not bring up any proposals. But in this situation: 

list_elem..|

...useful proposals are shown! Wt*?

JavaScript Development Sucks

I'll try to be constructive. First, I'll collect a list of things that are ...bothersome. Then, each problem can get its own blog post, at least the non-trivial problems, with discussion and hopefully some solutions or work-arounds.

This list is about developing using a browser, not about running Node.js or something like that.

Here we go...

JavaScript Development Issues

Tool Issue:

Issue: Fake read-only files in browsers. I often edit the source code in the browser by mistake; and then I can't save the edits.

Issue #2: Staying stopped at breakpoint uses two cores (in Chrome). Slows down the whole computer. Also makes fan noise, burns energy, creates heat.

Issue #3: Debugger not active on some reloads.


Issue #4: Chrome crashes when my Java server is terminated. (Solution: close affected tabs, so that the connections close. Without connections, Chrome seems to do fine.)

Issue #5: Sometimes getting stuck before anything at all is shown: no page, no debugger, nothing but whiteness.

Issue #6: Dependency management.

Issue #7: Editors/IDE.

Issue #8: Eclipse Java + JS == not true. a) When a JavaScript view is open, you can't do Open Type. Very annoying. b) 'Run' command on JS file gives me: 'Not on JS build path'. Damn annoying.


Issue #10: Too dynamic. No type system. No constants. No block scope.

...to be continued.