Monday, November 30, 2015

There's something to be learned from this.

http://www.cnet.com/news/usb-type-c-one-cable-to-connect-them-all/

(Namely, I wouldn't bet a lot of money on there never being another kind of new USB connector.)
For me, one of the biggest problems with computers and software development is that it is so easy for something and somebody else to make your own life into a living heck. If you count all the times we have to try to work around something else, it boggles my mind. I can really appreciate where Arthur Whitney, or Niklaus Wirth, is coming from when they want to do the whole effin' stack. (Even if I do not have 1/100th their acumen or raw talent or weird alternate business reality, so I probably can't really take the same approach.) I shoulda been a farmer. :-)
"Simply calling imperative code during function evaluation is not embedding imperative in functional. It's poisoning functional with imperative. You lose the ability to reason functionally about modules you don't understand very well. FP isn't half as useful without purity of reasoning. FP couldn't even mature as a paradigm while held back by this poison in its original implementations (Lisp, ML, etc.)."

Wednesday, November 25, 2015

Here is my Free Reduce The UX Suck idea of the moment: History menus in browsers should support scroll wheels, rather than making me have to laboriously open up another tab/window to see all history. And/or they should support searching of full history like the aforementioned laboriously opened tab/window often does. I mean, WTF already!

Tuesday, November 17, 2015

I am a UX weenie. I <heart> Don Norman's The Design of Everyday Things. I <heart> just about anything by Edward Tufte (and got to attend one of his sessions once at Stanford). I <heart> Richard Saul Wurman. etc. etc. etc.

So I have to say that it is pretty much a daily thing that Android drives me batty.

The UX for contacts?

The UX for just taking a call?

All utterly, utterly, blatantly, stupendously, in your face bad. As if nobody at Google has ever even used their own stuff. I guess they all use iPhones. (That's a joke -- I know people who have been in the Android teams. They do not, generally speaking, use iPhones.)

p.s. yeah, and iOS has problems too, believe me.

Sunday, November 15, 2015

I grew up on BASIC and 6502. I did Pascal, C, Scheme, ML, etc. in college. I did C, C++, Java, Perl, Python, Ruby, Objective-C, etc. in industry.

Every time I go to do anything remotely C based on my machines, I cannot fathom how (a) anything ever got done back before bytecode vm style languages (b) how anybody can condone having anything to do with C/++ today. Trying to build anything is a freaking nightmare of broken stupid badness.

Friday, November 13, 2015

"Always design for the team even if technically inferior."
empirically, the output of
git stash show
is different than e.g.
git stash show | cat
which makes me... sad.
"I'm partial to the BBB over the Raspberry Pi because of its core processor. Both are ARM engines; the BBB one is made by Texas Instruments, the RPi one by Broadcom. The crucial difference is that TI publishes a full manual for that chip on-line free for the download (5000 or so pages!!!) while Broadcom treats the documentation as a deep secret and refuses to release it to anyone who doesn't sign a confidentiality agreement."
Death, taxes, and computer resource management.

http://www.qnx.com/developers/docs/6.4.0/neutrino/prog/hat.html#CommonErrors
Today is one of those Bad UI days. First, Google Maps on my Android phone goes nuts and sees every kind of pinch/zoom I do as only being zoom-out. Then, somehow in a hurry in Gmail I manage to star every conversation in my inbox. And there isn't an undo for that, so I have to unstar everything, which means now the things I did originally have starred are no longer thus.

Thursday, November 12, 2015

"The whole point of DevOps is really to get your software developers to share in the pain that certain design / development choices can cause."

Wednesday, November 11, 2015

We are lacking a principled approach to JavaScript performance. On the one hand, we're supposed to ignore any issues and just write our code and leave it up to the automagic runtime to make things just work. On the other hand, people are constantly writing articles about JS performance, and also inventing things like asm.js. So performance does matter. Apparently.

What I want is a report in a regular (automatically parsable) format that the JIT vendors provide, which tells us what and when they do/not optimize.

Then people who are writing JavaScript from scratch, or who are writing static checker tools for JS, or who are writing compilers from some other source language to JS, can all consume those reports and use it to figure out how they want to go about writing/generating the final JS.

(The report could get arbitrarily complex, adding more data that is hopefully useful to the consumers. How much an optimization saves; Summary data based on some test suites; etc.)
I really cannot fathom why it is, apparently, that nigh most every single person on Earth doesn't grok UX. Either that or I'm just in one of those people in a bubble universe where all the people who think sanely like me have been voided?! (Yes, on occasion I see signs of intelligent life elsewhere on the Internet / on Earth, but damn and blast it seems so rare.)
I wish that all docs, commentary, whatever, that have code in them would always be fully working code, not just random snippets that every reader has to put back together in their own head. Because entirely too often there's something missing. E.g. some variable name that is used in the snippet, but was never declared let alone defined, etc.
"In Gödel's case, the really deep insight was that types can't protect a formal system against the incompleteness/inconsistency problem because types, unless they actually cripple the power of the system, can only prevent the system from acknowledging that it has a problem, they don't prevent the problem from being there."
There's only N hard things in software development. Like, say... resource usage. http://lambda-the-ultimate.org/node/5277#comment-90666

Monday, November 9, 2015

I was going to let my old Win 7 upgrade itself to Win 10, just to try it all out. But the installer says something like, "briefly checking your system!" and then never ever gets past that dialog box. With utterly no information about what it is doing. Or if it is making any progress at all. For all I know it is just sniffing my entire network layout, and uploading everything it can to MSFT. I mean, even if I didn't already completely distrust Win 10 based on all the privacy / data issues that have been buzzing in the nerd news, the UX alone reaffirms my choice to try to be as much of a Linux head as much as possible.

(Do not get me wrong. Desktop Linux is an utterly terrible UX itself as well. And things like the Ubuntu-Amazon integration stuff make me strongly distrust at least some significant parts of the Linux world. But at least it isn't MSFT or Apple.)

Thursday, November 5, 2015

I love to make and use abstractions. I am probably most happy to use them when they are mine (ha ha), because then I'm steeped in them. Well, unless I leave the code alone for 6 months - then I might have no freaking idea what my past-self was doing. Grn.

I find some of Other People's Abstractions to be interesting and possibly even good.

But I do get the feeling, overall, that Scala has gone a tad off the deep end. Cf. https://groups.google.com/d/msg/scala-user/qkIUJW_2mhw/q_8_GnzfBwAJ
I, for one, do not hail our new TPP overlords. I vote nay.

Tuesday, November 3, 2015

I laughed. (In a good way.)

http://www.slideshare.net/kenbot/imagine-a-world-without-mocks
"Wherever you look in good Smalltalk code to see how something is done, it always seems like the work must be being done somewhere else."

Monday, November 2, 2015

Snowballs are merrily melting in hell.

http://www.oracle.com/technetwork/articles/java/jf14-nashorn-2126515.html
A really nice overview, and hopeful look forward regarding error handling.
I'd like to know what the subset of JavaScript is that causes the least performance problems. Like, I wish all programming languages came with a big wall chart of onion layers, showing "oh this core kernel nugget is the fastest (and probably least expressive) subset; and then this next outer layer adds a feature that when used incurs a penalty; and then the next layer out from that; and then 'eval' just dooms us utterly." Then we could as humans better understand our own code, and we could also try to train our compilers to know.

Sunday, November 1, 2015

so far, this has been a good book for us: Secret Coders. i do recommend the book!

but -- and, oh lordy, why does there always have to be a but? -- things kinda go pear shaped from there:
  • They say they have videos. As in, plural. Uh, yeah - no. Not really. And they don't say when any more will appear. That's just bad user experience.
  • They suggest you use UCB's Logo. Which is all broken links, since apparently the site's server no longer supports https. Or something. So that's genius.
  • If you figure out the trick of removing the "s" from the https in the urls, you can get the program...
  • ...only to find out it is sort of a piece of junk, frankly. Just a completely terrible UX overall, and it also gets thrashy and hoggy and just plain broken.
  • Then I went out to try to find other versions of Logo, and I gotta tell ya, it is a wasteland out there. Just a complete UX wasteland.