Tim\'s picture      Blogging Ottinger (tim)

2007-July-31

Eclipse and Someone Else’s Code

Filed under: Angst, Programming

I continue to have a very low opinion of Java as a programming language and Eclipse as an editing environment. I have never started an eclipse project from scratch, but all my “working from existing code” Eclipse attempts have been nothing but frustration and time waste. This is not how a wonderfully productive environment should work with the noob, and I’ve not found that moderately-experienced users have it any better. I wonder if they call it eclipse because it gets in the way of getting your work done?

What I think I should be able to do:

   svn co svn://someone-elses-code/ ./project
   cd project
   eclipse

What actually happens:

  eclipse opens and doesn't have any idea that this code is java, or a project, or a workspace.
  It doesn't see a \"workspace here\".  I can't get it to believe that it's sitting in a project
  directory full of java code. It just doesn't understand what it is doing here, and
  after a while I wonder what I'm doing messing with it, too.

What I should be doing:

  I have no idea.  I've never been able to get this to work on my own, and everyone who
  has helped me has done it wrong before they got it right.  But apparently Eclipse only
  wants you to ever use SVN as a plugin, and not as a separate utility.

My recommendation: Eclipse guys, java programmers, etc — can you try to fix this? By the time I learn enough java to be able to do this fix, I will have become acclimated to the stupid way it works and will probably forget. But if it’s not this easy, don’t you think maybe something is wrong? I do.

Now, most people use Java as “the escape pod from C++”, so whenever I talk bad about java the programmers tell me that C++ is worse. Of course it is worse to have badly written C++ than badly written Java to work with. Of course, the C++ syntax is worse in most ways. That’s a no-brainer, but in C++ I can check out from a version control system and go to work with my editor without having to jump through hoops like menu navigations and plugins and environment variables and paths and the like. It may be worse code, but it is easier to manage.

Sadly, the killing flaw in C++ is syntax, because once a tool finally is beaten into submission it will really give you help. I don’t see any good C++ dev tools loaded up with refactorings and code sense and the like. I do C++ best in gvim and build it with ‘make’. It’s predictable, but not as helpful. And, of course, bad C++ code is a penetrating stench. Good C++ code is okay.

Even when you are checking out, it’s not always obvious what you should do, esp if you don’t normally work in Java and Eclipse. I see these things as barriers to adoption:

Which checkout option makes sense?

So is a project configured with the wizard not going to be in the workspace?
Are these really mutually exclusive? I’m not sure.

I chose the second option, more or less randomly, to see if it would work, explode, or what. It seems to be okay right now. I hope it is not masking some crazy failure mode. I do notice that my project has a funny symbol, like a white snowflake on a black backgroundSnowing In Alaska . I don’ t know what that means, and I don’t know how to find out. It might mean that eclipse is struggling or failing or something, or that the weather in alaska is 6 months of night an lots of snow.

Oh, wait. No. It has the source code tree, but is totally unaware that the code is a java project, and is crippled. Ah, heck. I had to go pretty far down the road before I knew that there was anything wrong. This stinks. Why do people brag about java/eclipse being this great environment? I’ve never had so many problems getting an IDE up and running. This is moronic.

Oh. Apparently the point in the subversion repository I pulled down wasn’t quite what eclipse considered to be a “project”, but was a directory containing a number of them. Black Asterisk describes that perfectly… not! So my helper aided me in pulling down the correct directory though I’ve no idea was was correct about it. Now I get this wonderful greeting from eclipse:

GladToSeeYou
My happy greeting from Eclipse

I guess that just means he’s happy to see me? Hard to tell what is important and what is not important as a noob in Eclipse-land.

I think I’m missing the intended purpose of the “workspace” thing right now, and would love an eclipsian to tell me why it’s actually a good idea and what I’m expected to do with it. My eclipse-using friends tell me they either put every project in a separate workspace, or they put all their java projects in a big single workspace. So far I think that ‘workspace’ really means “however much you want to see in the browser window”, and I don’t see any other point in it.

Ah, java life: what joy. By that I mean “what joy?”



Update: After using several people’s time and myriad calories’ energy and a few nervous breakdowns (grin) we find that the .project file needed to be edited by hand to have entries for the builder and the nature of the project. I was right, it was not a java project when I checked it out, and no finagling with eclipse or subclipse plugins would change the fact of GIGO (garbage-in, garbage-out).

I learned that the people who write this code don’t use the .project file. They either overwrite it, or create a project elsewhere and then point that (valid java project) at the source and .jar files. Being a noob and having no daily contact (seven time zones away) I didn’t know this and couldn’t have been expected to.

I asked my buddy (the one who saved me and fixed everything) how I was supposed to know to do this, if there was something I should have read. He said no, you just see someone else do it and pick it up. So he was my remedy and I know more than I did before.

And now you know, too.

11 Laws Of Systems thinking

Filed under: Programming

Nice stuff at 11 Laws article. This is my first glance at Software Creation (.org), but if they have these articles very often, I’m glad to be there.

Powered by ScribeFire.

Three Methods of Reducing Complexity

Filed under: Programming

From reddit, I found a really nice and succinct description of the three ways to reduce complexity. This helps with my quest to define “simple” for software (a more difficult task than you think), and to popularize the idea of making things “simpler” and not just “easier”.

The paper talks about reducing complexity, which is in opposite-talk the increasing of simplicity. Partitioning is about reducing the number of things that must be dealt with simultaneous, which is why I tend to find arrays and subscripts less “simple” (though “easier” to think about sometimes) because it has more bits to twiddle. It talks about narrowing focus, which I think is key, further described as “obstruct as much as possible each modules view […] of the system”. Very nice.

An oblique statement “the shape of the hierarchy is important and should reflect the functionality of the system” is pretty hard to test for.

I’ve got this bookmarked and now blog-marked as well. The programmers (and software managers) amongst us should spend some time on this.

Powered by ScribeFire.

gp2x upgrade to 2.1.1

Filed under: Linux, Music, OldTimeRadio, Fun, Life

I went for it today. I used the easy instructions and upgraded my media player/game to version 2.1.1. I had read that 3.0.0 was not really ready, so I decided to wait.

The main thing I wanted was to be able to play my mono Old Time Radio files. I get a lot of podcasts, many of them old time radio. Some of the stereo ones played fine, but the old mono files were awful.

I actually carry my old Zaurus around with me strictly as an mp3/ogg player. I could replace it with a big SD card if this works. I have music in both formats, and would be quite unhappy if I could not listen to all my files.

I’ve tried it and… It worked!

Mono, stereo, mp3, ogg, whatever. It all works. It even seems to play videos better. I love it when my upgrade actually is an upgrade. This is how things are supposed to work. Take note.

By the way, those instructions were great. Simple, small, complete, reassuring. I’m a happy guy.

2007-July-30

The Important Thing is Killing Linux, Not Making Money?

Filed under: Linux, Windows

At businessweek, Henry Chesbrough thinks that Microsoft should allow and encourage illegal installations (mislabeled “piracy” of course) of Windows until illegal windows use crowds out Linux from the market, and then tighten up the enforcement.

Only after the Linux threat lessens might Microsoft have the luxury of tightening up piracy protections, as it is now doing in the West.

Oh, has the Linux threat lessened here? It seems that rather Windows is being double-teamed by Linux and Mac right now. In addition to these outside threats, Microsoft seems not to be able to encourage its current base of users to upgrade to newer versions.

Powered by ScribeFire.

ScribeFire

Filed under: Uncategorized

This is a test of the scribefire plugin for firefox.  If it works okay, this will be a main mechanism for my blogging.  If it does not, you’ll hear about it here. :-)

<later>

Ah, well, I’m not totally crazy about it but it works. It sticks html stuff into my posting that I’m not crazy about (breaks, and &nbsp; mostly) but it’s not totally bad. I’ll try it some more.

gp2x Audio Problems

Filed under: Music, OldTimeRadio, Fun

I found myself with a few minutes (hours) on my hand. Typically everything plays slow.

I loaded up with podcasts, and found most of them running 22, 32, or 56 kbps at 44 KHz. I loaded up some music mp3s that I made from CDs and they were running 160/224/320KBPS at 44KHZ and played at full speed. I switch to mp3 files from my service (emusic) and find that they’re playing 128KBPS (mostly) at 44KHz. Hmmm. Of course my ogg files play just fine. They always have.

I don’t see any other differences, so I guess I have to transcode up to 128 kbps or so to play my other music. Or look for something more interesting to blame it on.

In the “more interesting” category: rumor has it that the difference is mono/stereo, that mono plays half-speed. Another rumor says that an upgrade will fix it. I will have to try to upgrade this thing and hope I don’t brick it. I’ll pick up another sd card and try it out this week. It’s finally become worth fixing, or at least worth trying to fix. 2.1.1. firmware is supposed to have corrected mp3 player and a much improved movie player. Official release 3.0.0 is supposed to be a dog, though. 2.1.1. is the preferred non-cutting-edge version according to the wiki.

Ah, very well. Stay tuned, and see if I mess up my toy or fix it. It could be interesting!

2007-July-26

Is or Is Not Apple Making A Mint?

Filed under: Linux, Angst, Windows

I was reading different tech articles on the web, and I notice that there are some that are talking about how mac sales are flat or declining and sometimes that they aren’t growing in the music sector, and then I read others saying that apple is making big bank. When the views are so opposed, one has to assume that someone is FUDding and/or someone is sugar-coating. My personal belief is that apple is making the big bucks and the big inroads, and that they’re being FUD-ded by competitors (perhaps out of some misguided loyalty to that other OS company?).

I am noticing that I’m a rarity in that I’m a programmer who doesn’t carry a mac. It seems like most of the consulting world I come in contact with is already converted. I’m carrying a PC laptop running Ubuntu. That makes me a rarity in my own consulting circles, and even a stranger duck in the corporate worlds I traverse. Corporations are still largely stuck in some version of WinDoze, the poor dopes. I have actually been disallowed access to some networks because they can’t run windows antivirus programs on my box, like I have windows-ANYTHING on it. Just try getting ssh access to the company’s linux boxes when you’re not running windows, and you’ll see how ridiculous this can be. But I digress. The fact is that the industry is pretty disappointed with windows, especially vista, and have discovered that there are alternatives that don’t have the same disappointing characteristics.

Mac is everywhere. People are running OS X and Linuxen on their Mac hardware. When there’s windows, it’s in Parallels. These people are happy as can be with their Macs. I don’t blame them. Mac doesn’t go to 1/3 speed after 6 months of use, and you don’t have to buy a few hundred dollars worth of software to keep it from grinding to a near halt.

In music? It seems that everyone but me has one or more iPods. I have multifunction devices that play mp3s, all of them running Linux. I like to have ogg capability. Still, just about everyone else has an iPod and even a set of iPod accessories. If you’re in a plane, you’ll see a lot of them. If you’re in an airport they’re as common as bottled water. Does anyone own a zune? No. Is anyone excited about the new Zune 2 rollout? Nobody I know.

And what’s the hot phone? Sure, it ought to be a Nokia E90 or maybe one of the latest Motorola Linux-based smartphones, but it’s not. It’s that iPhone. It’s attractive, nicely packaged, capable, and expensive. That’s the must-have gadget of the year. I don’t have one, don’t really want one, but I can’t deny that it’s appealing and popular.

Maybe rumors of apple’s hard times are a bit premature. Or quite a few years late. It seems like Apple is at the top of their game right now, and is in a kind of groove when it comes to consumer electronics design. I don’t see that falling apart anytime soon.

2007-July-24

Vox Pathfinder is Amazing

Filed under: Music, Fun, Guitars

I got my Vox 15R Pathfinder late last month. It is not an expensive amplifier at all, qualifying as a “cheapie”. I was looking for something that would be small, portable, and not too good that I could use as my harmonica amplifier. A lot of crummy guitar amps are great harmonica amps. Being too muddy, too grunty, etc can be really nice for harmonica. I looked for something inexpensive and saw that the 15R had both tremolo and reverb, so I thought I could muddy it up really good.

My first use was to hook up my Shure “green bullet” mic and blow a bit. I found that the reverb was pretty strong, so I needed to keep it turned down. Once I found my (moderately slow) tremolo rate, I cranked the depth up all the way. I turned up the bass and turned down the treble a bit, gave it rather more gain than volume, and kept the overdrive button off. It sounds great.
Vox Pathfinder 15R
Not only did it sound great, it sounded too good. It had more crispness and bottom than I even considered a 15-watt bottom-end cheapie amp to have. I experimented to get it muddied up and ugly enough. It really is a good harp amp.

Since it sounded so good, I plugged in my strat. I have an HSS American Strat (not a cheapie) and played with the pickup combinations and settings. You would be very hard pressed to tell that this is a cheap solid-state amp. It’s amazingly warm and clear and chimey and all the things you would want for your strat. Well, if you weren’t looking to fill a large venue with sound pressure. It’s even pretty loud. I never play my amps cranked out all the way, so I don’t know if it breaks up badly at high volume or gets noisy, but it’s nice.

So this week for worship I used my cheapie 15-watt box instead of my very nice all-tube 50-watt classic amp. I played the ovation solidbody (breadwinner) that I outfitted with Seymour Duncans earlier this year. I could not have been happier with the rich, creamy sounds I got out of this rig. I had the gain up a bit, and the volume pretty severely cut. I had the bass toned down and the treble up a bit (around 6 or 7). The tremolo I eliminated, turning the depth all the way down. I didn’t touch the boost button even once. I had to turn the amp down because it was still loud and bouncing off the back wall. I really only need enough volume to feed signal to the mic and to act as a monitor, I don’t need the whole platform awash in noise.

I could not be happier with this little amp. It is small, light, and portable. It has a big sound for a little amp. Power doesn’t matter so much to me because I always mic my cab, and don’t try to fill a room with my little combo. It does not sound like a solid-state toy amp. I wonder how Vox can get away with this, and if it’s going to eat into the sales of their larger and more expensive line. Don’t get me wrong, I’d still love an AC30 or AC50. I just think that this little Pathfinder is unreasonably good for the size, cost, etc.

Now, I don’t know how rugged it is. It doesn’t have corner protectors and is light as a feather, so it might be vulnerable to physical damage, but I am also not anticipating throwing it around or hauling it in a trailer. It may be more than fine even in this regard.

It’s one incredible little amp. If you were thinking about buying one, don’t spend too long thinking. It is probably one of the amps you’re looking for.

Democracy/Miro Bug

Filed under: Linux, Music, Angst, Fun

I upgraded DemocracyTV to the latest version, now known as Miro. It would start up, but when it tried to load the guide it would die on me. It was quite annoying, really.

I did some research via google, and found that some people were finding trouble with plugins being handled badly, or with bad plugins being loaded, I don’t know exactly.

What I do know is that my copy of Miro started working once I deleted the kaffeine plugin.

rm ~/.mozilla/plugins/kaffeineplugin.so

I don’t actually use Kaffeine so it is no biggie to me. Miro, however, I use quite a bit. Neither app is critical, but I would rather have Miro than Kaffeine any day of the week.

In the meantime, I miss ipodder/juice.

2007-July-20

XMing

Filed under: Linux, Windows

I want to brag on XMing. It lets your Windows computer be an X terminal, so you can use all manner of Linux or Unix GUI applications in a pretty straightforward way.

It works quite well with putty and is far better easier to set up than the normal Cygwin dealio (even though it really *is* the normal cygwin X dealio).

I have friends using various X products, and this little free program seems to be easier to deal with. It installs quickly, runs well, and I’ve not seen any problems with it so far. It’s another nice way to survive being in Windows for a short period of time.

Mingw is not half bad either. Quick and easy to install, not troublesome to use.

2007-July-19

There Is No Forking Problem, Get Over It

Filed under: Linux, Angst

I’m sick of seeing all these stupid argument claiming that Linux has forked worse than Unix ever did. They claim there are too many distros, and too many desktop environments, and too many photo-editors, and too many word processors, and too many media players, etc.

The first thing to remember (and I’m old enough to remember) about the Unix forks was that each vendor’s version of Unix was different, and while some programs were compatible from one Unix to another, most were not. There were different compilers, different kernels, different filesystem layouts, different command-line tools, etc. The Unix vendors were commercial and wanted to differentiate themselves in the marketplace. This isn’t happening in Linux. There are more distros coming into existence all the time (giving more choice) and they’re all using the same interchangeable parts. I don’t know of any distros that are using custom-coded non-Torvalds kernels. They all pull kernels from the same place. They’re all running the same OpenOffice, and the same choice of desktop environments (more or less). They choose different versions, perhaps, so that they can choose to be cutting-edge (exciting and up-to-date) or trailing edge (safe and stable), which seem like good reasons to have different distros. Some of them specialize in being very small and fast (DSL, Puppy, Peanut) others try to be full-featured (Ubuntu, RHEL, etc) and some strive to be very flexible (Debian, etc). There are reasons that people should be able to build a distro from the common parts store that will fit their own purposes. This is not a problem, it’s just an embarassing wealth of options.

Remember that Microsoft world has fewer because nobody has the option to make their own. What would happen if you decided that you wanted to make your own extra-glitz Windows version for high-level gaming PCs and distribute it to your friends? The lack of choice is artificial and enforced. Likewise Apple. In Linux, there is no barrier to creating your own. For instance, I use XUbuntu which is Ubuntu redistributed with XFCE4 as the desktop environment. KUbuntu is Ubuntu redistributed with KDE as the default desktop. Ubuntu chose Gnome. They’re totaly compatible, but have different preferences. You can do this here. When there are millions and millions of users, why not have thousands of distros to choose from? Restriction means that some people would not get what they want.

Desktops: my XFCE4 desktop runs the same programs that I can run in Gnome, KDE, FluxBox, and Enlightnment. This is a compatibility-driven world, unlike the old Unix wars.

So use the distro your friends are using, or try a bunch of them and enjoy the distinctions. It’s all the same stuff, built from the same parts, so there is no forking problem. Just pick one or two. I regularly use two or three, and I can hardly tell the difference between them. It’s not a hardship for me, and I’m hardly a genius.

Finally, forking is not a bad thing. It is also known as “experimentation”. Say I want to try a new way of handling file systems or device drivers. I can fork the kernel (legally, and with blessings) and hack it to do what I want. If I turn out to have some great ideas, then the kernel team can incorporate my work (unlike the Unix wars) back into the standard kernal that all the other distributions are using. If it is a failure, then I hurt nobody. So a fork is just a development branch, a way of avoiding problems instead of a problem in itself.

So there are hundreds of distributions. Many of them are tiny fringe distros and special-purpose customizations. How does that hurt you? It doesn’t hurt Linux. It doesn’t even bother me that you don’t use XUbuntu or that you actually *like* that pathetic Red Hat Package Manager. It doesn’t affect us Ubuntu and Debian users. We’re not in any way impoverished by this fact.

Finally, take a moment to look at the Linux Foundation and the LSB. Compatibility across non-experimental distributions is very important, and there are serious projects making sure that distributions maintain that compatibility.

2007-July-18

Those Trouble-Making Christians

Filed under: Life

And loved others, too. Emperor Julian the Apostate (361-363) complained that Christians were impious—they rejected Roman gods—but worse than that, they undercut reliance on the empire. They “not only feed their own poor, but ours also,” he wrote. “See their love feasts and their tables spread for the indigent. Such practice is common among them and causes a contempt for our gods.”

So reads a quote from a recent Christianity Today article on the opposition to public office for people who aren’t supporters of homosexuality.

It’s an interesting read, even if you disagree.

2007-July-17

Ethics and Pragmatics

This post is about ethics and pragmatics. It’s not about software, though it mentions software in passing.

This is me, quoting myself, from an XP mailing list posting. Now, XP is a programming discipline, short for “Extreme Programming”, but one does not have to appreciate software development to read the following. After writing this to the newsgroup, I realized that I wanted to have it some place where I can point to it.

One of the things that we have to realize is that there is orthogonality here. Whether something *can* be done, or whether it is effective, has nothing to do with whether it is moral. Something is no more moral because it is feasible and no less moral if it is prone to failure. Indeed the fact that these are two different axis describes the human moral dilemma rather well. One thing is moral, but we don’t think it will work, whereas another isn’t ethical but is practical. We should not surrender to the idea that the success is morality. One may succeed or not, and one may act morally or not.

If I quit being ethical when I thought it wouldn’t work, then one could argue that my pragmatics are clearly in charge of my ethics.

Now, admittedly XP is a practical thing, but it also works in an atmosphere of trust. If, say, the developers violated the trust of their project stakeholders, it would not merely be an ethical failing… it could very well be a practical failing. A project can fail due to broken trust. Of course, if one is making moral choices based on whether the project will succeed or not then one could hardly be said to be making ethical decisions as opposed to practical ones.

I think that XP espouses a kind of transparency, openness, and trust that could allow more ethical ways of working to have a practical edge. I don’t think that it is necessarily a way to bring about justice and mercy in the software methodology world, but I think that transparency inspires trust and trust makes the team dynamics more workable. Perhaps this is a better forum for discussing the positively practical, and for looking for more opportunities to be morally practical. I think it’s a good calling.

There is much I did not say outright, but hopefully it is obvious. We are happiest when our ethical choices are practical, and we are very unhappy when the ethical choices seem impractical. It makes us choose between the right thing that might not work, and the wrong thing that might.

I believe that the right thing is always the right thing, and that success is not always the best outcome. And I wonder if success through unethical means is really success at all. After all, what does it benefit a man if he gains the whole world but loses his soul?

2007-July-9

Despicable Abuse: PERM

Filed under: Angst

This is truly a despicable abuse of the rules. The video reminds us of the difference in goals between the spirit and the letter of the law. I hope I never get one of these interviews. I do not wish to work with an unethical company, whether they’re technically compliant with the law or not.

You can get even more angry by visiting the RIR page.

Video Player

Filed under: Life

My row-mates on my last flight were trying to play their DVD in Windows, but were having a very tough time of it. They eventually switched over to a first-person-shooter game instead. If you use windows (or anything else) let me recommend VLC, the videolan client which can play all kinds of movies well.

Sadly, it looks like my thinkpad’s dvd drive has gone south, but until it did I could watch just about anything with VLC. I still use it to watch avi, mpg, ogg, mp3, and a several other media formats.

I think that the videolan people have done some great work, though I’ve never looked at their code, just used it. Some of my friends still prefer the Linux products Xine and MPlayer, and I admit I use them from time to time out of curiosity.

2007-July-3

Where All The Applications At

Filed under: Linux, Windows

Well, it appears that application development is moving away from windows desktops though not necessarily at a breakneck pace. It’s moving to platforms that were accused (not long ago) of not having the apps. Now I guess that’s where they’re all going.

My consulting customers are increasingly involved in Linux as well. It’s not stupid. It’s not rare.

Get free blog up and running in minutes with Blogsome | Theme designs available here