Category Archives: Electronics

Posts about electronics. Usually meaning electrical gadgets smaller than a proper computer.

Touchpad

I picked up one of the $150 refurbished 32GB Touchpads in the last firesale on Sunday. It seems like HP has done their very best to get as many Touchpads into the hands of hackers as possible, so whether or not it is well supported by HP, the community will do something fun with it. Besides, a $150 ARM developement platform that will boot Android, various Linux chroots, AND let me play with WebOS was too appealing to pass up.
Continue reading

Posted in Announcements, Computers, DIY, Electronics, Entertainment, General, Objects | Leave a comment

SC11: A Review in Schwag


This is the less serious bit of review from SC’11, but there is fun to be had and a certain amount to be learned from the pile of schwag that comes back. The schwag pile is comparable to last year’s, but I was actively aimed toward useful or at least interesting junk this year, since I have > three cubic feet of this crap packed away now. Part of the point of this post is just to give credit (and links) to places that gave me cool stuff.

I find I actually use the various random bags I get, so I always end up with quite a few. Several were particularly nice: For the second year in a row, I would actually USE the conference bag (Back left corner) on it’s own, and I got another one of the ridiculously tough Tyan/Intel bags (far back, standing) which are handy for groceries and toting stuff around campus. Indiana University had a nifty little sling bag that I could contrive uses for (next to conference bag), and the giant blue CSC bag can consolidate a remarkably large pile of crap.

With regard to apparel, Silicon Mechanics again had the nice florescent green on black logo tee that I wear all the time, although this year’s has some text on the back that makes it a little less cool. We hung out for a while talking to the Pogo Linux folks and were handed a pile of their shirts (logo on front, gold circle around Tux on back, back visible in picture), which are pretty nice. The Adaptive Computing/MOAB “Lifes a Batch” shirt is clever in the same way the Platform Computing “Whatever” shirt from a few years ago – I don’t know that it will get worn much, but it’s a memorable marketing effort (and, by the way, Moab has become really impressive – it can do PVM type tricks that PVM can’t, and look good doing it). NIMS (I’m slightly embarrassed to say I don’t remember which relevant organization with that acronym it was) had nice Beanies which may see some use this winter. I have some fuschia compact umbrellas from the conference daily giveaway (I think IBM payed for/logo’d them) to be given as gifts – we brought back one or two each… plus a box of a dozen after they stuck the remainders out.

Going through the gallery of other neat stuff in order of a appearance:

  • Huge props to Samtec. I don’t recall seeing them at SC in previous years, but as an interconnect hardware vendor, it’s an entirely reasonable place for them to be. In addition to the fairly nice hat/pen/screwdriver schwag items and interesting to chat with booth staff, they were giving out trays of sample parts. I picked up the “Sample Solution” and “Rugged Power” kits, since those are the kinds of connector I use most, but the adviser picked up a full set to keep on file for helping students doing projects pick parts. Looking through them I wish I had picked up one of the R/F component boxes, because it had a gorgeous assortment of $Random_antenna_connector to SMC pigtails in it. I think I’ll be preferentially ordering/recommending connectors from them for a while.
  • Penguin Computing was dispensing nice umbrellas in addition to their standard “Sit through our talk for a 6″ Stuffed penguin” routine. I talked management tools with a rep for a while, but didn’t attend the talk this year.
  • Several places had nice small papergoods. I consume little notebooks and packs of post-its and tape flags pretty regularly, and can’t remember the last time I paid for them.
  • Isilon had a nice little screwdriver pod thing. There can never be enough multitools.
  • HP was handing out a … dorky green thing. It’s cute, and charming, and its belly is a lint-free screen cleaner, but I can’t figure out what the hell it is (alligator?). I think the confusing object is representative of their confusing business decisions of late – they had a carnival tricks theme going in their booth which also fits circus grade management.
  • AMAX and Extreme Networks gave me flash drives, in addition to the proceedings drive (which is 2Gb and looks like a Kingston like the last two years, but the USBID says knockoff). Apparenlty I missed some even nicer flash drives from other places that group mates found. Flash drives are always useful and appreciated.
  • The NNSA ASC booth was shoveling Flexible USB Lights out of their booth the last day, and I took a couple. I’m not sure what I’d use them for, but they appear to be identical to this $10 thing at Thinkgeek, so there’s that.
  • The Arctic Region Supercomputing Center booth was not very well staffed, but they had their usual reusable chemical hand warmers, which is a great gimmick.

The “trick-or-treating for grownups” vibe of going schwagging on the floor is a bizarre joy of supercomputing, and, in addition to the standard “memorable schwag makes you memorable” marketing function, actually provides an important mechanism for striking up conversations and encouraging attendees to make good coverage of the exhibit floor. I have a not inconsiderable list of organizations who have bought good vibes with a few cent trinket, and I am the sort of person who gets solicited for tech and academia advice, so the trinkets are doing their job.

Posted in Electronics, Entertainment, General, Objects | Tagged , | 1 Comment

SC’11 Lessons

I learned some really interesting things at SC this year, and now that I’ve had a day to process, I want to share. Many of these observations come from first or second hand conversations, or justifiable interpretations of press releases, so I don’t promise they are correct, but they are plausible, explanatory, and interesting. I apologize for the 1,000 word wall of text, but there is a lot of good stuff.

  • This is the big one: I’m pretty sure I understand the current long term architecture plan being pursued by Intel, AMD, and Nvidia. This plan signals the end of the current style of monolithic symmetric processor cores.
    They are all apparently pursuing designs with a small N of large integer units, coupled to M >> N SIMD engines.

    • Nvidia’s “Project Denver” is a successor/big sibling to Tegra design, and appears to be the beginning of a line with 2-8 64-bit (probably) ARM cores tightly integrated with a big honking GPU-like SIMD structure for FP. The stale press release about this stuff is kind of nauseating to read, but it looks like they’re betting the farm on that design.
    • Intel’s HPC efforts are going to be based on a lot of MIC (Many Integrated Cores, successor to the Larabee stuff) parts coupled with a few big cores like the current Xeons. The MIC chips are basically large numbers of super-Atoms: tiny, simple, dumb integer units attached to big SWAR (SIMD Within a Register) units focused on SSE/AVX performance. This is less speculative than most observations, they made a pretty good press push (This for example) on this idea.
      The ring interconnects and higher per-“thread” hardware complexity are probably not a good idea in the long run (IMHO), but having an integer unit for every big SWAR engine will be a major advantage in terms of programming environment and code generation. I suspect the more cautious approach is because Intel doesn’t want/can’t afford another Itanic, where the tools couldn’t generate good code for the programming model on their intended high-end part.
    • AMD’s two current products are stepping stones to a design similar to Nvida’s – Bulldozer is a design with some ridiculously powerful x86-64 integer units decoupled from a smaller number of shared FPUs. The APU (I haven’t heard the “Fusion” name in a while) designs are CPUs tightly coupled to GPU structures. The successor parts will be a hybrid of the two – a few big, bulldozer style integer units, with a large number wide next-gen GPU SIMD structures coupled to them.

    I think this is generally a good design direction, particularly with current directions in computing in mind, but it is going to make the compiler/concurrent programming world exciting for a while.

  • AMD appears to be gearing up to abandon a fifth generation of GPGPU products. CTM, CAL, Brook+, OpenCL on 4000 series cards have all been deprecated while still shipping, and indications are that OpenCL (and general driver) support for the current architecture (4-wide VLIW SIMDs, like in the 5- and 6- series) has been relegated to second-class citizen status, while they work on a next generation architecture. The rumor is the next gen parts will be 4 independent banks of SIMD engines instead of 4-wide VLIW SIMD engines, which should be both both nicer to program and generate code for and more similar to Nvidia.
  • Nvidia is going to open source their CUDA environment. One of the primary objections to CUDA in a lot of circles is reluctance to use a proprietary single-vendor programming environment (people who have been in super/scientific computing for long have all been burnt on that in the past), and the Integer+SIMD model is going to require that not be an issue. This is assembled from information from several places, including PGI, Nvidia, and various scientific compute facilities, much of it second hand or further, but it would make sense.
  • I still don’t exactly know what went down at Infiscale, but the impression that the Perceus community was abandoned by the company, the developers fled, and it was a bad scene seems to be correct. No one I know that was there seems to be talking, but they’re all on their way to other interesting things, especially Greg Kurtzer’s Warewulf3 project at LBL.
  • The dedicated high performance compute nodes in Amazon’s EC2 cloud are actually connected as a few large partitionable clusters, users just can’t (nominally, don’t need to) see and instrument the topology like they could with a normal cluster. This is from interpreting press releases, because the people manning Amazon’s booth really didn’t want to chat (and, in fact, were kind of dicks when we tried). This explains how they’ve been getting performance out of a loosely coupled cloud — which is to say they aren’t, they just have a huge cluster attached to their cloud that shares the interface.
  • The current hard drive production problems have given SSDs the opportunity they need to become first class citizens. Talking to OEMs, the wholesale cost per capacity on HDDs almost tripled, and the supply lines aren’t all that stable, so everyone is scrambling to make things work with mostly SSDs. I saw a lot of interesting new form factors for SSDs, and several flavors flash or battery backed “nonvolatile” DRAM floating about as well, so the nature of storing data-sets is changing.
  • I saw motherboards with 32 DIMM slots (mostly AMD Interlagos based) on the floor. I saw 32GB DIMMs on the floor. I saw some shared-memory systems with multiple Terabytes of RAM in them. The standard for high memory machines has roughly quadrupled in the last year or two.
  • The number of women (not booth babes, real technical people, especially younger ones) and educators on the show floor this year was way higher than in the past. This is very good for the field.

I think that covers most of the really good stuff coming off the floor this year, although I am still processing and may come up with some other insights when I’ve had more sleep and discussion.
Also, Pictures! WOO! (Still sorting and uploading the last batch at time of posting).

Posted in Announcements, Computers, Electronics, General | Tagged , , , , | 1 Comment

Arduino Promotion Behavior

I was pulling up an old project (A little Simon game which has apparently fallen off the ‘net when I moved my site- will have to repost) to use as a classroom demonstration, and discovered that sometime in the last couple years, the int->unsigned long promotion in Ardino/Processing broke/changed without comment.

The code uses using primitive nested counters and delays to generate sounds and control difficulty, which means rather large numbers (100-microsecond scale delays running for seconds) are being thrown about. To isolate the change, I wrote the following test:
Continue reading

Posted in Computers, DIY, Electronics, General, Objects | Tagged , | Leave a comment

Power Factor Corrector

We’ve been tracking down the failure mode of power supplies in the clusters on campus, and picked up a plug-in “Power Saver” power factor corrector box for around $5 to look at in our experiments. Prices on these things range from about $5 (less than the cost of the components in small quantities… and in a nice wallwart case – this is what we paid) to over $70 (fleecing the morons).
This particular device is a “PowerSaver PowerStar CHT” (or some similar random string, the model is “CHT-001A”), about which a variety of bemusingly improbable claims are made.


Upon opening it up, it contains a large (5uF,450V) capacitor, two LEDs, three quarter-watt resistors, and a single-sided PCB with “Comment” all over the silkscreen where fields were not filled in. As best I can make out, the resistors are a very high impedance voltage divider to step down the 120V/60Hz from the wall to a level the LEDs can handle, and the LEDs are acting as their own rectifier. The capacitor is at least connected across the outlet. Curiously, only about half the board is populated, and I can’t figure out what some of the missing components would do – they appear to be a second independent indicator LED circuit rotated 90 degrees from the populated one.
Under a very limited set of circumstances (linear inductive load, like an AC motor) these things could actually help the power factor, but since most residential power billing is net, with no power factor penalty, it wouldn’t actually reduce bills. In the case of non-linear loads, like say, computer power supplies, it will do nothing useful. Experiment complete, although it may still be plugged in while instrumented for funsises.

Posted in Computers, DIY, Electronics, Entertainment, General, Objects, School | Tagged , , | Leave a comment

I’m mystified by how much I miss having a little kickstand on my handheld computer. The n810’s didn’t even work very well – only the “Closed” and “45° to the table” detents actually held – but being able to have … Continue reading

Posted on by pappp | Leave a comment

Android Love of the Day: Like Things are Handled Alike

[This post is part of a series on my initial Android impressions.]
I think I’ve covered most of the really problematic things Google needs to get on. Some other issues are either already being fixed – they’re apparently already working on the notification shittyness – or unsolved problems for developers – like the fact that landscape mode is a definite second-class citizen, despite a profusion of landscape keyboard sliders.
And now a change of pace for the end of the week: this post is about something I think the Android designers did right, and certainly did better than many competing platforms.

Mobile platforms are especially guilty of treating otherwise indistinguishable objects as different. For years there has been the ringtone scam, with carriers and third party assholes charging for suitably down-sampled and/or converted music tracks, even when it is often visible that devices internally use .mid or .mp3 tracks for the function. Likewise, a couple of the mobile platforms distinguish between editable and non-editable text, which is absurd.

Android doesn’t pull that shit. Music is any compatible audio file the indexer can find. Ringtones are any native audio file that you point at as a ringtone, with a default /sdcard/Media/Audio/Ringtones directory for things you intend to use that way. Notification sounds are likewise audio files you point at as notification sounds, with a default /sdcard/Media/Audio/Notifications folder.
Text, with the occasionally irritating but entirely understandable exception of certain UI elements, is text. The same (clunky) select/copy mechanism works on all text, and it all goes to the same system-wide clipboard. Because I have a Sense ROM, the mechanism is actually this one(video), which is slightly less clunky than the default, but still inelegant. The important thing is that it’s consistent.

All in all, I like my MT4GS. It has some quirks, many of them in software which can and will likely be fixed with updates or third party extensions as time passes, and it costs a fortune to feed, but it does the vast majority of things I want in a little handheld computer, and it does them more elegantly than the competitors I’ve tried. I may not find Android to be an exciting platform, but it is a solid platform, with multiple, reliable companies backing it, a parent company actively trying to improve it, and enough market penetration to be a first-class citizen for years to come. It even appears the native code situation is improving, which should let me work around many of the things *I* would like to work differently that aren’t concerns for most users.

Posted in Computers, DIY, Electronics, General | Tagged , | Leave a comment

Android Hate of the Day: Missing Basic Functionality

[This post is part of a series on my initial Android impressions.]
Just to be clear, my Android criticism is because I want this shit fixed in the last promising mobile platform standing, not because I hate it. Platform specific comments are based on the default MT4GS Android 2.3.4 with Sense 3.0 ROM, rooted and largely de-bloated. And now for the hate.

Android doesn’t come with a file manager. It doesn’t come with a terminal emulator, or a task manager, or almost any of the things one has come to reasonably expect an operating system to have. This makes it excessively hard to share instructions, since everyone is using interfaces broken in slightly different ways, and means the first few days of using a new device are spent on “Damnit! why won’t it do $Basic_function? Now I have to sort through the crap pile in the app store until I find one that actually works.” (which, come to think of it, is likely the objective.)
The file handler functionality is as good as any desktop platform (I don’t actually know if it is based on XDG like most other *nixes, or some homegrown solution) so it wouldn’t debilitate third party solutions to have sane defaults, and the argument that most users wouldn’t want all of those functions is completely specious… it took me a couple hours to strip most of the unwanted crap off my new phone, and that crap was certainly less useful than the things I’m complaining about being missing.
Also, most of the third party solutions suck. I’ve been using ConnectBot for a shell, which is better than the other free options I’ve tried, but handles the keyboard differently than every other program, and thus has problems with entering symbols like “|” and “>” which are sort of important on the command line. Likewise, after several seriously disappointing alternatives, I’ve settled on ES File Explorer for file management (also a solid [s]ftp/smb client), which is a little quirky about permissions and different file systems, and is nearly unusable in landscape mode (a rant for later), but is generally adequate. I’ve heard there may be some paid alternatives which are significantly better, but the idea of paying for this kind of basic functionality is infuriating – it is basically the same situation of coughing up for a Mac then having to buy one of a dozen Finders from some random dude for $20 before you could use it.

Posted in Computers, DIY, Electronics, General | Tagged , | Leave a comment

Android Hate of the Day: Process Management

[This post is part of a series on my initial Android impressions.]
Just to be clear, my Android criticism is because I want this shit fixed in the last promising mobile platform standing, not because I hate it. Platform specific comments are based on the default MT4GS Android 2.3.4 with Sense 3.0 ROM, rooted and largely de-bloated. And now for the hate.

The task/process model Android uses is total bullshit. Task switching via the launcher is clumsy, and having things popping in and out of memory at random creates performance instability and the worst kind of non-determinism. To make an easy-to-demonstrate example, hit the “Internet” button – is it just bringing the screen back up, or starting over reloading the page you were on? You don’t know unless some form data disappeared, but the page probably does. This is especially significant in a mobile device, where user input is time and energy intensive, and, more importantly, the close button has a strong implication of “get up off my battery” that isn’t necessarily being honored.
This also runs afoul of the “never lie to your user” axiom; there is a difference between running and non-running processes, and trying to ignore that distinction, unlike every other multitasking platform, is going to cause more confusion that it saves.
This is again partially fixable via third party software – I’ve been using Gemini App Manager to hunt down badly behaving processes. Unfortunately, Gemini App Manager is seriously clunky, and between the profusion of RAM-eating background processes endemic to Android (and Sense…), and the number of apps designed with the expectation that they be allowed to sit in the background doing nothing useful, it isn’t really practical to keep an eye on what is running. I haven’t found anything that helps with the lack of a proper task switcher, and the “Recent” list from holding the home button or bringing up the notification screen is not even close to a solution.
This is, in my opinion, the most fundamentally broken thing about Android, and will be the hardest to fix in a sane way, especially without running afoul of someone else’s ridiculous patents. I’ve mentioned before that Google’s recent spate of UI hires gives me hope on this front, especially Matias Duarte who designed good solutions for task switching on a number of other mobile platforms, but for the time being it makes me irritable.

Posted in Computers, DIY, Electronics, General | Tagged , | Leave a comment

iOS is not a Promising Platform (for me)

This is a response to “what about iOS?” questions from my calling Android “the last promising mobile platform standing” in the boilerplate for the posts I’ve been making about problems with Android. I come prepared with a list from my last two rounds of mobile device shopping.

  • The whole Jailbreaking mess is ridiculous. Android rooting is a relitively passive process, and the manufacturers are actually trying to be helpful. Apple is actively trying to lock you out of your device on every update. I’m a firm believer in the “If you can’t open it, you don’t own it” philosophy, and I like owning my computers.
  • Silly domain-specific language. Apple likes to act like their implemenation of Objective-C is a general purpose language (and that the versions for OS X and iOS aren’t mutually incompatible dialects), but when was the last time you saw something in Objective-C that wasn’t for an Apple platform? Even if you can come up with something, the other implementations are all OpenStep compliant – which is to say, incompatible with Apple’s. I will admit that using native code that is a superset of C is arguably better than the “Everything is written in Java and runs through our re-implemented JVM” situation on Android, but at least Google has their NDK now.
  • To write code for iOS, you need a recent Mac, Xcode, and a subscription to Apple’s developer program. To develop for Android, you need a computer. Google has a nice integrated eclipse-based toolchain, but if you want to do it with a text editor, make, and the binaries for whatever platform you are running from the SDK, there are directions for that too. I’d really prefer that the “computer” requirement wasn’t there – being able to try out simple scripts and compile test C programs on Maemo was wonderful, WebOS had it, and I want it on Android… apparently you can hack a toolchain together on Android with tcc and uclibc/dietlibc, and I’ve been trying, but I’m not willing to pay for a broken version.
  • All of the current mobile platforms give an unprecedented amount of access to the platform owner. I don’t trust Apple enough to give them a snitch in my pocket. I’m not entirely comfortable with Google having that kind of access either, but it’s a “choose your poison” situation.
  • No native multitasking. Apple has that weird freeze state background callback mechanism they call multitasking, which works in limited circumstances, but it really isn’t. They also don’t have a platform level clipboard mechanism or any of the other features that make multitasking work. WebOS’s behaviors in that regard were better than Androids, but… yeah.
  • Single source for software. Android has a checkbox to use alternative sources, and doesn’t have byzantine rules on what goes in Google’s market. iOS has “Jailbreak, install a third party manager, and pray the next update doesn’t brick your phone”, coupled with a transparency-free review process for applications that go in their store. That’s an appliance with vendor-provided modules, not a platform.
  • I want a god damn keyboard. Using up half your expensive high-resolution screen for a keyboard large enough to mash your fingers on is retarded, and I’m yet to use a software keyboard that comes close to being as usable as even second-rate hardware keyboards. Apple has a long standing war on buttons, so built in isn’t going to happen, and third party clip on Bluetooth keyboards aren’t a solution.

Honestly, a 4-ish inch iOS device with a physical keyboard hacked such that it would have nothing to do with Apple’s servers (Updates when I ask, Cydia (rebadged dpkg) for package management, etc.) would be a pretty attractive platform – the underlying tech is good, and the userland is more POSIX-like than Android – but Apple won’t let that happen.
As for other platforms, I don’t see any evidence that Windows Phone is going to be any more successful or desirable than the previous incarnations of WinCE and WinMo – they seem to just be copying iOS, stupid omissions and all, on top of a different kernel. HP did their stupid thing to WebOS, and Nokia just killed their own to turn themselves into Microsoft’s mobile hardware division in all but name (which, history tells us, means they should be defunct shortly). So. Last promising platform standing.
Edit: I would make a note about it being tied to iTunes, which I despise in almost every way imaginable, but I once owned and liked a Creative Nomad Jukebox 3 where step one is “Get third party replacement software,” and the situation is much the same with Apple. Also, removable storage counts as a plus for Android, but Apple hasn’t expressed a dogmatic position against it, so the fact that no iDevice has had a microSD or similar slot isn’t a fundamental platform problem, just an issue with their existing hardware.

Posted in Computers, DIY, Electronics, General | Tagged , , | Leave a comment