Become a fan of Slashdot on Facebook

 



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: 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: Link o the day:Gogo/plzma/piQM/ppsi-beer/Snwdn-tips/croc-grd

User Journal

Journal Journal: Link o the day:brain reading/ota charge/heartbeat record/gps

User Journal

Journal Journal: Chronicle: Ramble: sqlplus, shortcuts, batch file, & env var

So, git (bash) uses the environment variable http_proxy. No problem, i set it as a system variable and it works great. But sqlplus is having issues with it, though i have no idea why it wants a proxy. No problem, set it back. Hmm... I have a bunch of sqlplus start menu shortcuts that SET NLS_LANG=.US8PC437 to allow history. Maybe i can just add http_proxy to the line.

No good, the line length is too large! Okay, batch file. Makes more sense anyway as i have 4 shortcuts (used to be 8) that do the same thing but with different connect strings. $ nope, it's % for windows batch command line variables. Add SET HTTP_PROXY=http://localhost but it doesn't work. Why not? Oh, because the local set sets local and the other variable is a system variable. Weird. It's out to get me. Change the system variable to a user variable so the local set overrides it. Boom, it works.

That took waaaay too long to figure out. Regardless, i now have a batch file:

SET NLS_LANG=.US8PC437
SET HTTP_PROXY=http://localhost
"C:\Program Files\Oracle\instantclient\sqlplus.exe" user/pass@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%1.example.com)(PORT=1521))(CONNECT_DATA=(SID=%2)))

executed by

C:\Windows\System32\cmd.exe /q /c "C:\Program Files\Oracle\instantclient\connect.bat" sub.dom sid

As a side note, setting LOCAL (Windows version of TWO_TASK) didn't work. Though, i may have just been mixed up when i tried it.

Unfortunately, it echoes the SET statements when it opens the shortcuts. Oh, /q takes care of it, so C:\Windows\System32\cmd.exe /c /q... Nope. after /c its treated as a literal. Have to put /q before /c. Keyboard is awesome in Windows, but they still make it hard in the details.

Totally insecure but majorly convenient. Especially because when i'm forced to change my password, i now only need to update it in one place.

User Journal

Journal Journal: Chronicle: Water pitcher and Walmart 3

Well, the water fountain here started having black dots in the water. I thought my Styrofoam cup simply got moldy or something, so i would go buy another for 15 cents. Until someone else mentioned to me he saw them as well, and i reported the problem. They've been looking into it, but are perplexed as to the problem as how to test an intermittent issue.

So, i started going downstairs for water. Maintenance told me the entire building uses all the same water and the fountain does not use a filter. But, i haven't had the issue near the cafeteria. But, i end up drinking less because i'm too lazy to go downstairs. Get a pitcher, right? But it'd look silly carrying the pitcher upstairs, every day. So, get a fancy pitcher. Maybe. Wait, i know, i can get a water filter!

Brita, right? Searching shows Brita doesn't do much, especially when compared to Pur. But if i get a water pitcher, others will want, so i figured i would get the 18 cup version. Walmart.com showed it for under $20 and available in the store. So, i went to the store, but it wasn't i the housewares aisle. Being a man, i couldn't just ask for help, so i downloaded the Walmart app and searched for it. Wow, it's there, and in aisle L10 in hardware. Why hardware? More expensive though. Wait, Walmart has aisle numbers? Oh, there's faucets, there's filters, oh, hardware and plumbing are related. Look, there's small placards with aisle numbers on them. Who knew?

I see only the smaller sizes, and lots of open boxes. I asked, the guy who works the aisle said they don't carry that size, never have, and the online site is incorrect all the time about what they have. Why are the boxes open, people steal filters. Some pitchers were opened with the filter stolen. Wow. I knew but now i saw it. Really?

I went home, i searched, pitcher is closer to $30. Ebay is no different, though there's someone selling a new pitcher without a filter. Hmm... I put the 18 cup in my cart and then deleted it. I'm waiting. This morning i searched for it from the office before signing in. Sure enough, back to under $20. Put it in my cart and signed in, and got the cheaper price.

To get over $50 (for free shipping) i bought other items i didn't see at the store (anymore.) Sun dried tomatoes, Julianne cut, in oil. Goes great on sandwiches. (And i don't like tomatoes, just the flavor, usually.) And some peperoni. The Bell View hot and sweet cucumber slices seem to have slipped off their shelf and website. I guess its time to shift to another brand, much like i did when the same happened to the hot and sweet pepper rings. I wanted both, and the prices were good, so it works.

Slashdot Top Deals

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

Working...