Just building stuff, sometimes continuing the following week: Week 1Week 2

The booklet had a spiral which took some time to figure out. Basically, 2 pieces in the middle, and 1 on each side of it, which makes it look really cool, and more importantly, supports the turned pieces. They do a slow turn though.

After figuring it out, we went for a 3, that is, 3 in the middle, 2 on each side, and 1 on each side of that. With 1000 pieces, that allows 111 levels of 9 pieces each, which is what a friend built in the picture. The last piece might be lost, but there are 3 warped pieces in there. Got to watch out where to put them!

Kapla is expensive, but with a small table, the enjoyment never ends. In only takes a few minutes for even the ardent to give in and start building!

But the key word of the previous sentence is "unnecessarily." Whether something is necessary or not is not a scientific judgment. It is a value judgment. An FDA official may personally believe that eating raw cookie dough isn't important and choose to never eat it. That is their choice. At the same time, I can believe that eating cookie dough (made from flour known to be not part of the recall and pasteurized eggs) is something that I enjoy enough that I'm willing to put myself and my children at (a very small) risk to do.

Someone ought to tell him that in US English, periods go outside the quotation mark.

Just came across The 50 Most Influential Gadgets of All Time from way back on May 3, 2016, and i can't say that i agree with their subjective decisions. Regardless, it is a fun list. I think i would go play defenders on the 2600 again if i had the chance.

I made a stupid mistake with a keyboard. I didn't realize it until after i bought a raspberry pi 3 to replace it. With a total cost of $65.26 (pi, pi plug, dvi->hdmi cable, sd card) i'm glad i have it.

Ever heard of the NSF funded "Shrimp on a treadmill" study? Here's a video of the shrimp on the treadmill: They ought to turn that into a motivational video. Perhaps the small amount of views over the past decade has to do with an aversion to exercise.

Well, a library is a place where they have an Internet connection, and people tend to be on the quieter side. A book is where outdated information and stories without update or comment are posted. An anachronistic nostalgia wasting (y)our city's tax revenue. Not to mention our library's the ugly web page, not to be mixed up with a decent page from a library with a deceptively similar name.

I have a friend who works at the library. He works there part time, and has done so for many years. So when i do have an issue, i give him a call and (believe it or not) he is more than happy to help. And every time i do call and ask, i find out more about our library. Cool stuff too. The only prerequisite is a library card (number).

One item of interest is Zinio. IIUC, there's actually two Zinios. One for libraries, the other for personal use. Our library pays for Zinio, so as long as you have a library card you can login. I found the setup process to be terribly annoying, mostly due to error and a stupid process that keeps asking and re-asking. Whatever. Once it is setup, however, it works beautifully. Basically, Zinio has a bunch of digital magazine subscriptions such as Reader's Digest, National Geographic, fashion, hobby, and kids publications. I assume it depends on what the library pays for. You subscribe to it, and as long as there a "copy" available, you can read it. You release it when your done, and it can alert you where there are more. And, because there is an app too, you can read it just about anywhere. Cool stuff.

A second item is only interesting if you like ebooks. OverDrive has ebooks based on your library's subscription, and again, you use your card to login. It too has an app. It's like Zinio, but for books. (Should that be the other way around?:) I find this less helpful because i'm not big on ebooks, and i have a Kindle for that anyway. Nonetheless, between the webpage and app, it's a pretty cool option to have.

A third item, i found about only because my mother thought OverDrive would have it. It doesn't, but it's there, right on top, listed as "Catalog". Certainly you know what that is. Right? It allows you to reserve books and extend reservations (which is what my mother wanted), see what is past due, what you may owe, and so on. It also has a link to MelCat which they alert you not to use unless the other avenues have been exhausted. It's silly to order a book that already exists locally. Anyway, a website checkout for books. What will they think of next?

(When i went to "Catalog" on my mother's computer (via TeamViewer) it was pretty unusable in FireFox. So, i downloaded Chrome and set it to continue the last session on startup. Basically, where she usually uses FF, Chrome can be dedicated to the library. It's easy and simple, assuming it works out in the long run.)

The suggestion box is an email address. I want to tell them how ugly and unintuitive the website is and that the available options are very nice, nonetheless. But send a direct email?! Surely, you must be kidding.

So, i got a Raspberry Pi 3, and it arrive the day after Pi Day. But, as i purchased it from the UK, and they don't have a Pi Day, it's somewhat understandable. My Ukranian coworker asked me about P-day, and in the ensuing discussion she explained that in Russian it is pronounced pea.

And now, the pictures. I got the cord, because it was cheap enough and easy enough to just order it. The next order of business is to load up Linux. Ultimately, i got it to (play with and) give away to someone who needs something better for browsing. I wonder if i can throw LibreOffice on it.

The test was responded to, an i tried my hand at writing a JE for it. I quickly came up with something on my mind, and twisted it for the comment below, keeping it short.

Nothing was quoted, so the post had to include whatever material was being comment on, as opposed to specific quotes. Nonetheless, it's a creative effort that could be fun and challenged, if taken seriously (within reason). I'd like to see other people try it.

In related news, i bought some veggies to slice, peel, or whatever to them, and throw them in the freezer until i get the rest of the veggies. I'm much too lazy to do all the work in one shot.

Well, as always, i'm in for some good soup. But what's a guy to do with no stock ingredients, pot, or heat source? Well, as any good hacker, impossibility is what gets me interested.

Just because i'm in the back room, doesn't meant i don't know what is going on up front in the smelting factory. While the exact configuration of the hot mixture may vary from day to day, the basic structure is usually the same, save some weird alloys. Time to experiment, eh?

First try was to poll fellow monks on PM, but that was taking too long, so, i decided to just get right to it, hoping for the best. A little code, a little diversion, the plan panned out, and i scored a little pot. Boy was i running high; my dream was more tangible than ever.

Adding water from the faucet was easy, but the next step befuddled me. I stood in a vegetative state while trying to get to the root of the matter. Aha! It's all in the spice and what it brings out of the stuff in the pot. I made use of an element to get things rolling, and searched around for what to add. I'm pretty sure i made sodium bicarbonate and not sodium aluminum phosphate, but last night is all a haze. All i remember is, the soup was great, and i woke up with a splitting headache.

One thing i don't like about JE's, is that comments are disabled after a bit of time. That makes it difficult to comment on a topic found much later, that you want to come back to, or to contact a user who no longer posts. OTOH, the author can edit old JEs's, which i usually use to correct spelling mistakes when i go back to a JE some time later. The problem with that though, is the ability to post something marked with an old date, but actually written much later. Without revisions or the like, the date on JEs are not reliable. Yet again, this could be a lot of fun.

Perhaps a test is in order. I will^H^H^H^Hhave posted an empty JE, which can be commented upon. If used, i hope to write a JE afterward. Perhaps a few days later. I would include "quoted" comments and the like (assuming i don't deem them inappropriate). Please note, this is for the following JE. Comments on this JE (that are not on topic) will be ignored.

Because i hate Java, by extension, i hate Android development. The language is insane as it is, but the verbosity that Android adds is ridiculous. Of course, the namespace is equally retarded. But these all make sense to Java coders, so, who cares?

If not for the Internet, Android Development would be impossible. Google's documentation helps only after you "get it". You must see samples and ask questions of other people. I mean, maybe you could do a lot of experimentation, but i doubt that would teach you all you need to know.

In my most recent case, i'm using SpeechRecognizer, and trying to use onBufferReceived, and was wondering why it wasn't working. Nothing, it never gets called. Some searching found that since Ice Cream Sandwich, it no longer is called. Of course, you still have to implement it if your code implements RecognitionListener!

As a development platform, Android is really bad. Though, admittedly, Android Studio is very nice, adding all the required verbosity for you (automatically).

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.

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.

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.

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.