Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
User Journal

Journal Journal: Rant: Android namespaces and ids 3

I hate Java, i hate Android development, but i repeat myself. And that's exactly what i hate about them.

In Android, objects have their own namespaces, under R. There's R.class, R.mipmap, R.layout, R.color, R.integer, and many more. So, the namespace of the layout (where you usually add objects) is under R.layout, the image on a button can be under R.mipmap. Nice.

However, if you want to refer to an object, you need its id. The way to add an id is to add the android:id attribute to the layout, or via the object's setId() method. In either case, the id is kept under R.id. This makes for a common line of code Button button = (Button) findViewById(R.id.id_of_button);

The reason is, in order to get a reference to the button, you have to find it first, and that is done via the button's id. Of course, since everything is stuffed under R.id, it must be cast to the appropriate type. (Ultimately, it's just an int.) This makes sense, as long as you are braindead.

First of all, there ought to be a way to directly reference an object by its container, if not an array of all similar objects. At the very least, this would provide a sensible naming scheme, for the object or container would be the parent. By shoving everything into R.id, people add the object type to the object name. A certifiable scheme by the Department of Redundancy Department. Furthermore, if i'm adding an id, i shouldn't need a method to find it, i should be able to refer to R.id.id_of_button directly. Instead, R.id.id_of_button is just a pointer, and findViewById() turns that pointer into a value. Really?! What morons come up with this stuff? Instead of the name being a reference to the object, it is a reference to a reference to the object.

But a reference to a reference isn't convoluted enough. We're going to put them all in the same namespace, so you have to add the type to the name, and even after that, cast it to make sure you have the right type.

It hurts when i see tables Customer.CustomerId. Even if the name is to avoid naming the table in each reference, at most you saved a period, and in many cases, you have to put it back in anyway, if only for clarity (so you know that it's from a table of the same name, and not just an attribute in another table) or when there are more than one column of the same name (much as they try to avoid it). Why do they do this? The solution creates the problem.

I'm beginning to think you have to be braindead before coding for Android.

User Journal

Journal Journal: Stupid Code: Using if() to set a value 4

Here's the latest example of something i have seen way too often:

if(getListView().getCount()==checkedItemCount) chk.setChecked(true); else chk.setChecked(false);

What's the point of obfuscating your code with an if()? This isn't conditional. You want to set it to the same boolean value as the evaluated expression. Obviously, the clearest way to write this (without changing names) is:

chk.setChecked(getListView().getCount() == checkedItemCount);

I often wonder why people define variables for one-time use. The answer is (at least, sometimes) that it allows for easy testing or expansion. I still think that's kind of stupid (because it's an easy fix later, and not worth the cost (of non-simple code) in redundancy) but i understand the mindset. Better said, it's a valid view that i just happen not to agree with.

And now, a digression: I worked for one company where my team lead did not like me. I was hired based on a phone interview with the supervisor (and team?) and just showed up for work one day. The team lead was smiling and happy until he saw me. His face dropped and he moped around getting me through HR or whatever. I have been the subject of prejudice before, but it was usually more subtle. To his credit(?) i don't even think he noticed he hated me. For assignments, i was to report to a pseudo-team lead.

One day we needed to process files. A COBOL guy (a pretty nice guy) wanted an elaborate system with queues and whatever to do this or that. It was insane. But, he's a COBOL programmer, so that was expected. I told them to use perl, because processing text files was a perl thing, and it would work perfectly in our case. For some reason--which still escapes me--they actually listened to my suggestion, and the decision was made to hire a perl programmer to write the script. (It is a large company known for bureaucracy and laziness, to anyone who has ever worked there.)

Well, no one knew how to interview the guy, so i was to ask questions. I wrote a list with many questions and expected answers, some answers being specific, some with the general feel, so everyone would know what i was asking and what i was looking for and not be bored during the interview. When the interview was over they told me they hired someone. The team lead, armed with a list, no longer saw any reason to include me. Oh well, we're going to get someone good, right? (Can you tell where this is going?)

I may have started coding the script before he got there. I don't remember. In any case, the script was small. It took me a while as i did not actually know perl (well). This was not something i hid from anyone.

He was hired and was to report to me. A really nice guy who moved to the area for the job. He talked of his past mainframe coding and i liked him. Though, after a bit of time, it became obvious he was having issues. Another team member and i started to coach him on the logic and the like, reviewing his code and giving advice. But he just kept failing. We broke it down to be super simple, until we simply suggested he wrap a block of code in an if() statement. He couldn't even do that. We had to do the awful thing of recommending he be let go. I felt horrible. If only. Or is that, only if().

The relevance of the story ends here. Nonetheless, it lived on. I got the code working myself, and it did the job. But, the aforementioned coworker (maybe he was asked) rewrote it in VB6. He reported to the team lead.

User Journal

Journal Journal: Chronicle: Update: Google cardboard, closer to new car

As mentioned in one of my last exciting posts, i purchased a Google Cardboard. I bought it and was wowed last night. It was easy to put together, easy to get running, and the forehead part had a piece of tape (ostensibly, to protect against sweat stains). The strap worked well, and the Nerf dart shaft made a comfortable nose piece.

I downloaded apps to try, and some are worth it, some are not. The firefly game was a nice way to appreciate VR. The plants looked cartoonishly awesome and i got "into it" . A couple roller coasters started to make me feel like on was on one, but were not able to carry it home. Also, i had to stand up and move around to be in the right place. Not so happy with that when my eyes are covered. Cardboard Camera and Street View were amazing. They're just nice shots and really show its 3D capabilities. Youtube is eh. The 3-D makes it look as if you're looking at a screen at some depth. Whoop-de-do.

I know how i'll be wasting time now, i just wish i could use it in the tub. I'm afraid it will get destroys from the water or vapor.

In other news, the trusted mechanic nixed the car he had in mind to sell me, because after running it for about 10 minutes, he didn't like the way it sounded. Instead, he's planning on selling me a '94 Dodge Dakota for $700. It's current owner (who is buying(?) a different truck from him) reportedly drives it every day about 40 or 50 miles. Perfect for me. I just hope it comes with the shot gun accessory. I'll have to go get the straw and hat myself. It'll be ready after he fixed the truck to sell the truck guy, and, i hope, checks it out.

A maintenance guy at the apartments wants to buy my car for $200. (The mechanic mentioned $100, because scrap metal is down.) After i listed all the issues, he still wants it. I'm going to demand he looks at the bottom of the car first though. i don't want any surprises. Though, he hasn't driven a stick in a while, and his wife needs to learn how. But she's excited over having heat in the car. Even if it would fail, he could likely make most or all the money back at the junkyard, and he considers this a favor. But, i'm going to have to go to the Secretary of State now once things start to move.

User Journal

Journal Journal: Verbiage: Seeing more often a weird sentence formulation

I seem to be seeing more often a weird sentence formulation. A book talks of passing to a function a variable, an article mentions "signed into law a bill," and plenty lately of others. While normal to be found this formulation in other languages, it sounds in English rather awkward.

User Journal

Journal Journal: Chronicle: Bluetooth, Kindle Fire, updates, and more. 3

Continuing from the last exciting edition of what is Chacham buying today, I decided to try out the Plantronics Explorer 50 for $23.19 on ebay. Weird that it's cheaper from the UK. Anyway, i was thinking of purchasing the 3 for the 10% discount, but that's too big a gamble for a product i have not tried. If i like it, i may buy another 1 or 2. Or, purchase 3 and see if i can sell one on Amazon. Things are so much more expensive there for some reason.

I also purchased the Kindle Fire for my mother, though, i don't plan to give it to her before Sunday. I installed Google Play, and set it up and the Amazon account on a gmail address i setup for her but she doesn't use. That way, games can be installed only for free (no cc entered) and identity permission will lead to an unused address, so i can load word games with reckless abandon.

Aside from word games, i set it up to check her yahoo email, and loaded Overdrive and Zineo for Libraries, both of which are supported by our local library. Interestingly, the latter is listing in the Android store, but won't install on the Fire. The comments say it, and i tried it. Had to use Google Play for that one. No idea if she'll use it, but, it's a nice option.

I decided to get a Google Cardboard. For some reason, it never excited me, no idea why. But with some of the latest news i decided to look. According to a Youtube video and comments, V2 is better than V1 because it holds bigger phones, the button when from magnetic to conductive, the nose wall has been eliminated, the lenses are better, the lenses are held in place without obstruction, and there is an oil coating to protect the cardboard from sweat stains. Based on price, reviews, and sheer laziness, i chose the QPAU version. It comes with a head strap, and although comments say it is uncomfortable, one commenter said you can use foam from a Nerf dart for an easy fix. Have i mentioned that i love Amazon reviews?

In other news of my crazy purchasing spree, my citron seeds have been coming along, though a lot just died after a little growth. There seems to be 15+ good ones though. Then there's the 6 tomato plants i received as seed in pots. One was a dud, one died an early death, but the other four have been growing. One of them has a certain fungus in it. It grew and died, in one day i think, and i saw it again this morning. It brings back fears, so i probably just going to toss it. The other 3 though, probably need to be replanted.

The citrons went from bag to tray to 4-inch pot The tomato plants had their own biodegradable pot, but i places them in 4-inch pots. The 5 that started to grow got more dirt too. In any case, they need to be upgraded before i give them away, and these 6-inch pots seem like they will do that job nicely.

A friend asked me about replacing the head on their Kenmore Power-Mate 116.2216182. Heads are found on ebay and elsewhere, but what fits? Google searching ultimately brought me to a Central Vacuum Questions & Feedback who responded within a day. Wow.

In other news, my 3rd car's glorious life is coming to an end. It hasn't died, but its becoming undriveable. Two tires are pretty bald, the other two are a little better, the brakes take a lot longer to stop the car, the hood is held down by bungee cords (those breaks had something to do with it), the trunk won't open (a friend helped it close by disconnecting the wires, incorrectly assuming i had the key), the muffler is not doing its job, and the bottom of the car is rusting away. At one point, i had the car taken to get (some of) its wheels replaced and the worker refused, saying i shouldn't be driving the car. Apparently, the something holding the front axle in place seems to be on its way out. There's also a piece of wood holding the drivers seat in place because of a small hole existing where it would have otherwise been screwed in. "But it drives great." It's a Honda '98 Civic: it's a great car, but it's rusting away.

Anyway, the snow is not a safe place for that car to be. Considering i bought it for $1200 (and that with the middleman's markup) ~2 years ago, it has served me well. Fixing it would likely cost more than the car did, and even then, it may not last. So, i plan to look at another $1200 car tomorrow, from a trusted mechanic. I'm looking for something short-term right now, less than a year. My first car was a stick, the 2nd was an automatic, 3rd was a stick, and 4th looks like it'll be an automatic. :( I hereby call it ISTMS, Inverse Star Trek Movie Syndrome.

User Journal

Journal Journal: Looking for Galen's De Temperamentis in English (5)

Looking for an update to Galen's De Temperamentis in English, i emailed the lady at Cambridge Press again and received a prompt response:

The manuscript for Galen: Works on Human Nature has still not yet been submitted to the Press - the editors say that they are anticipating now to submit in June 2016.

So, there's more time to wait. That's okay, as my overall project is nearly at a stop to to laziness and circumstance. I've got to get started again. I know i'll be interested right after i get into it again.

User Journal

Journal Journal: Chronicle: Need replacement bluetooth, Kindle Fire for mom? 6

I tried a few Bluetooth earpieces. Just a few. My brother gave me an old Motorola one (H something?) which i used until it broke, and when i finally accepted that it was actually broken to the point that it would not magically start working again, i searched Amazon and bought a Plantronics M50. (And after some time, i finally threw out the Motorola one.)

Actually, i first tries the Voyager Legend, but found it to be too heavy on my ear. Pretty cool otherwise. I wanted a second one for the car, that is, of the M50, and mistakenly bought an M55. Within seconds of trying it i realized it was not an M50 and resold it. Now i have lost my M50 (again.) After trying to get along without it (and accepting that i probably won't find it where i think i lost it) i want a replacement. It is so convenient to have my hands free when talking to people who love to talk and can't just hang up. Or, when i'm speaking to a friend for a half hour. But the M50 is discontinued, and the prices are going up.

I might just buy an M50 anyway, but i need something cheaper. Ultimately, i would like 2 of them: one for home and one for the car. That way, i'm much less likely to lose them. You'd think there'd be a way to find them if they were lost. But the companies that want to sell more of them probably do not have much incentive for that feature.

There Plantronics Explorer 50 might just be the replacement i am looking for, though, there's some concern over the volume.

On a not really related note, i am thinking of getting my mother a Kindle Fire. For $50, it's a steal. And people seem to like it for basic use. My concern is more complicated though.

She has a cell phone, which my younger brother bought for her that has bog buttons and cheap minutes. She uses it, but dislikes it. Though, i brought her a friend's FreedomPop to try out, but she was resistant to the touchscreen or whatever. I must admit, touchscreens are awesome but not very intuitive; you have to get used to them. Anyway, that was a no go, and that severely limits phones and options. So, i was thinking that having a tablet (as opposed to a phone) lying around, she might just pick it up one day, and some years later get used to it. She wants to hold books in her hands, so a regular Kindle is out. She uses her computer mostly for email, but some browsing (and printing.) So, maybe having a tablet on the couch would be convenient. It's not intrusive, her grandkids would likely enjoy it too, and it isn't needed. So, not using it has no repercussions (unlike having it as the phone or reader.) She doesn't have Administrator rights on her XP box, which works out quite well (aside from having to login to install updates and what have you.) So, i might want to lock up the tablet the same way.

In the meanwhile, i threw it in my Amazon basket. At $50 i want to think about it some more.

User Journal

Journal Journal: Can't Log In from My Laptop 11

I can't log in to slashdot from my laptop. Every browser - and even from a browser running on a vm - it always fails. Not sure why but as long as it persists my posting will be less frequent.

User Journal

Journal Journal: Verbiage: Good books for Android Studio

So, i've been looking for a good book on Android. It's hard as almost all are out of date shortly after publication, and most of them say "do this now do that" and expect you to learn from doing. Some explain, but the explanations are more of the approach and what will be done, rather than why each thing is being done and alternative approaches (for better or worse.)

I found two books that i liked though. One was Learn Android Studio: Build Android Apps Quickly and Effectively. While the book quickly devolves into "do this, now do that," the earlier chapters walk through Android Studio itself, showing off what nearly every side button and menu option does, with examples to follow. It's not "if you do this, this option will help." It's, "type this in, now press ctrl- etc and watch this happen" Very nice. The asking price is expensive for that, but via a sale on Apress' website, i got it for $20. Not too bad for a book that made me feel comfortable with the tool itself.

The second book is Android Studio Development Essentials. I ignored it at first due to the stupid cover design (no, really, and yes, i know) and came to it later. Amazon lists the date of the first edition (even though they were selling the second edition) and Techtopia has the entire second edition online. (Even though there are ads to purchase it, i confirmed with the publisher that it is the full edition.) Anyway, the book looked good. So, i emailed the publisher to find out if there was an updated version. Well, the author was working on it just then, and it is becoming available this week. Sweet.

From a technical perspective, this book is far above the competition. It explains why things are done. Chapters are bite size around specific topics, and there is clear progression. Examples are explained before being done, then during and/or afterward. Rationale is explained, and other methods to achieve the same goal are either mentioned or given as examples.

For example, there are three ways to add views (aka widgets) to an Activity (the Android naming scheme must've been invented by a moron) it can be done via dragging and dropping, editing the xml, or in code. There's a chapter on each with examples, and he lists the pros and cons of each approach.

For all its good though, the writing style leaves what to be desired as the sentences can sound awkward. (In the 2nd edition, "whilst" was used, which also sounded awkward. The 3rd edition changed them to while. A find on the pdf found no instances of "whilst.") Nonetheless, they're information packed. And, at $10 for the ebook, i don't even care that much. The book is a steal.

I sent in a couple typos that have been corrected in the latest edition. And, the publisher sent me the 3rd edition yesterday, so i could get the latest without having to wait for it to be made available. Of course, i was asked to continue sending in typos with makes me even happier. You mean someone cares? :)

Anyway, i'm just so happy over the book and the publisher i had to scream somewhere. If you're looking for an Android book and want to understand what is going on, get this book. For $10, its a steal. And you can still preview the entire 2nd edition on Techtopia.

---
12/7 Update: Added correction about whilst/while. Should have checked first. Silly me.

User Journal

Journal Journal: Punitive Between-Comment delay? 4

I have Excellent karma, as usual, but I have a five minute delay between my posts. It seems to have appeared on my account again after the last time I said something mean about a Slashdot "editor". Is this something that Slashdot has done to everyone recently, or is it a punitive action against me specifically by one of the "editors"?

User Journal

Journal Journal: The Moon is a Harsh Mistress while listening to Time by ELO 1

Don't know why - but I really like that combination.

I've gotten off my schedule of reading Starship Troopers and TMiaHM every year - but I did just reread The Moon is a Harsh Mistress last week-end. My wife was in Ukraine and I was kind of bored but not motivated enough to do something that took effort.

I've outgrown RAH's politics but I still love the story.

User Journal

Journal Journal: Magnet Links from Chrome in Plasma 5 3

For some reason magnet links that I clicked in Chrome were opening the Transmission client instead of Ktorrent. I remember doing something in the past related to this - though I think the issue then was that chrome didn't know how to handle them at all.

So I started digging and founds all kinds of people who had the issue, different solutions and most of it was pretty old. The lowdown - as far as I can tell is that chrome uses xdg-open and I'm pretty sure that is what I set.

I looked in /usr/share/applications for ktorrent.desktop and it wasn't there. I did a bunch more digging, followed some rabbit trails and then finally got smart. ktorrent.desktop was in /usr/share/applications/kde4 and I copied it a directory up. Then all acted as expected.

I think in the upgrade this got borked.

Plasma 5 is mostly pretty much working for me now. I'd have rather stayed on 4 longer but I guess it is o.k. I really just need a new machine. They keep making stuff take more resources and my little Acer just can't keep up.

User Journal

Journal Journal: F21 - F22 Today 6

Support for Fedora 21 is coming to an end and so I decided to upgrade to Fedora 22.

I don't run the default Fedora install, I use the KDE spin. I realize KDE isn't the primary desktop for Fedora, but until now it's been alright. I use Fedora for a lot of reasons but mostly because it is the distro I know. I know it because it is the first distro I used on a regular basis for more than just messing around. I did that because at my work we got a new server running RedHat.

I've really been putting off this update. It's the move from KDE Plasma 4 to 5.

It's taken me all day but I think I have it working. I'm scared to reboot and the next time I have to run an update will probably suck. I had so many stupid things happen today trying to get this to work. The kicker is my second display. Everything is fine if I use the built-in intel graphics or my Nvidia card with one display. But as soon as I added the second everything went to crap.

There were times I could only log into KDE as root. Then - and I'm not sure how - I got it fixed. I mean there is still some weird stuff happening but it seems to mostly work. Both monitors are on and displaying at the resolution I want.

Maybe I can hang in there long enough for this stuff to get smoothed over. I made it through the jump from 3 to 4.

The kicker is though - if I log into Gnome it works without any issues. It's just that I hate Gnome.

I don't use RHEL any more - maybe I need to jump over to Suse or something.

User Journal

Journal Journal: Link o the day:Gogo/plzma/piQM/ppsi-beer/Snwdn-tips/croc-grd

Slashdot Top Deals

"Just Say No." - Nancy Reagan "No." - Ronald Reagan

Working...