Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
Slashdot Deals: Cyber Monday Sale Extended! Courses ranging from coding to project management - all eLearning deals 20% off with coupon code "CYBERMONDAY20". ×

Comment Re:Teensy 3.1 (Score 3, Informative) 94

Hey, that's *me*. I'm the guy who makes Teensy.

First, thanks for the compliment. Really, the thought does count.

Indeed dev boards like Teensy do cost more than hardware that's subsidized by semiconductor manufacturers. They also cost more than Chinese clones. Those folks don't spend anything on software development, and they deflect all tech support and even some customer service back to the name-brand websites where they copied designs. Likewise, big semiconductor companies only put significant effort into supporting engineers at major corporations who are likely to design chips into high volume products like cell phones.

Projects like Arduino and Teensy are about helping ordinary people. We really do put effort into making things easier to use and we do respond to help individuals. We do invest a lot into software development that's aimed at allowing novices to achieve their goals. Obviously it's not possible to hand-hold everyone through every project, but the non-engineer user experience is dramatically better.

The simple reality is that costs money, especially ongoing software development as these 32 bit chips become more advanced and people wish to utilize that power for awesome projects. Name brand boards, where sales does fund software and documentation development will always cost more.

Software development means much more than just the tools. For example, years ago I wrote the FreqCount and FreqMeasure libraries, because all other exampls and Arduino libraries at the time has subtle timing errors. Since then, numerous people have wanted to measure 2 or 3 frequencies. Just a couple weeks ago I wrote a new FreqMeasureMulti library (released under MIT license) which uses the more advanced timers with input capture on every channel to allow simultaneously measuring up to 8 different frequencies. *That* is the type of software development which sales of boards like Teensy funds. I try very hard to keep costs low, but funding ongoing open source software development does cost something, which is necessarily reflected in the price of the hardware, since the software is all distributed for free.

There are many "Arduino Haters" in the world, and much of their frustration seems to be based on the high retail pricing for dev boards. Indeed, if you're an experienced engineer who's capable of developing all your code from scratch on bare metal, even things like filesystems and USB & networking stacks, then the idea of paying anything extra for well tested and easy to use software probably seems utterly silly. Paired with a simplified feature-poor IDE, it's maddening. But it really takes a special lack of human connection to refuse to see how easy-to-use platforms could be valuable for less experienced people, let alone utter beginners.

Of course, nobody uses boards like Arduino or Teensy in high volume products. Comparing costs of dev boards to the actual chips from distributors is silly. Sometimes it does make sense to embed a dev board into low-volume or pre-production units, especially if that lets you start selling and shipping sooner, but when volumes increase, of course you're not going to buy dev boards at high volume.

Teensy does use a proprietary bootloader. That's a business decision for a small company within a large marketplace with massive Chinese cloning. It's perfectly fine to object on philosophical grounds. The market is filled with lots of alternatives, much like how you can install Debian instead of Ubuntu. But bootloader corruption isn't much of an issue. Perhaps you're unaware that 32 bit Teensy uses 2 separate chips? You can't overwrite or corrupt the bootloader on the other chip, no matter what part of the main chip you overwrite. It really is a solid design, which has proven itself in real world usage over the last 3 years, by many thousands of people of wildly varying skill levels.

If you took the time to read all this, I hope you'll at least be able to appreciate that a tremendous amount of open source software development that many people take for granted is indeed funded by the sales of more expensive name-brand dev boards. That doesn't necessarily mean *you* should buy one, but a little recognition that lots and lots of widely used open source code is written by relatively few people who are funded by creative business models would be nice.

Comment When Moore's Law Slows Down (Score 2) 101

Regarding Andrew âoebunnieâ Huang ridiculous article....

As commercial success and product differentiation starts to depend less on quickly leveraging the latest hardware and moreso on algorithmic improvements, companies will not magically become more inclined to publish source code. When the path to improved performance involves massive man-hours optimizing code, small teams & startups will not somehow gain an advantage.

Click baiting "open source" and an interactive graph might bring a lot of page views, but the entire premise is truly absurd.

Comment Re: Deal of the century? (Score 4, Interesting) 246

This all hinges on what "that money" is.

Sure, they repaid with interest "that money" which was their bailout, fronted by taxpayers when nobody else could loan cash.

But if "that money" refers to all the losses they caused to investors, losses to businesses incurring cash flow problems they wouldn't have had, losses to individuals whose homes dropped in value and were foreclosed, and the huge amount of financial loss and pain felt by pretty everyone else who works for a wage, especially people paid off work, I'm pretty sure those bankers never repaid any of "that money".

Comment An alternative (Score 5, Insightful) 572

Today Atmel, Microchip and others make inexpensive microcontrollers with native USB peripherals. The Atmel "8u2" chip, for example, is less expensive than even most of the FTDI clones, and certainly a LOT less than a genuine FTDI chip.

For years, I've published a very simple and easy-to-use USB code for those chips.

I also publish a signed INF installer that works with ALL USB Serial based on this standard protocol (called Communications Device Class, Abstract Control Model, or CDC-ACM). All 3 operating systems have the necessary driver built in. Mac OS-X and Linux load it automatically. Windows needs the user to add a INF.

Sadly, the CDC-ACM driver in Windows (called USBSER.SYS) is buggy. About a year ago, I sent Microsoft this reproducible bug report.

In a follow up email a few months ago, they were supposedly testing a fix. I'm hopeful that Windows 10 may be the first version of Windows to ever ship with a good quality USB Serial driver (as Linux has done for many years, and Apple as done since releasing Lion a few years ago).

Comment "Emerging Space" (Score 1) 147

Is "emerging space" a synonym for "didn't go anywhere?" As it stands, there is the Ouya, which is dying, a bunch of android consoles dying on the vine, and a Playstation Vita TV, which hasn't caught on enough in Japan to bother shipping elsewhere. As it stands, the only microconsole-like object that is doing OK is Chromecast, and that has nothing to do with games.

Comment Scope usage (Score 3, Insightful) 215

I'm the author of Teensyduino, software for an Arduino compatible board.

I sometimes use my Agilent scope when developing or porting Arduino libraries. Sometimes I just want to check the relative timing of stuff, so I'll set a pin high or low at some point in the code, then capture with the scope to see if the code is taking a long time. Often it's surprising how fast, or how slow certain code can be, and pretty often it's relatively easy to discover and fix performance problems. You can do quite a lot by normal software debugging processes, but pretty much all those approaches involve running the code much slower. When you're debugging real-time code, like libraries that synthesize waveforms by bit-bashing or tricks with timers or DMA channels, there's really no substitute for a good scope.

But admittedly, this is a pretty narrow fringe. Most people probably don't do this sort of low-level coding.

Comment Re:Too bad it's a C++ library... (Score 1) 147

Really, you've written GUI programs using GTK's C-only API and liked it?

Did you really enjoy all that type casting of pointers? That's a lot of unnecessary trouble, when clearly some dialog box must be able to use the more generic window style setting functions. If only the compiler somehow could know your reference to the dialog box is compatible with all that other stuff the dialog box is built upon.... if only....

Comment Re:But what does it really mean in practice? (Score 4, Interesting) 147

I've build programs with wxWidgets 2.8. It does automatically handle those platform specific style issues!

I used wxMenuBar, populated with a heirarchy of wxMenu and wxMenuItem objects. I just pass a point to the main wxMenuBar object to SetMenuBar, which is from the top-level frame of the GUI.

On Mac OS-X, it automatically appear at the top of the screen. One Linux and Windows, it automatically appears on the top of my program's window.

Likewise for toolbars, I simply used with wxWidgets objects as documented, without any specific style stuff. They automatically adapt to fit the style of each system.

That's the magic of wxWidgets. That work you mentioned, adapting things to fit the stylistic expectation of each system, is exactly what wxWidgets does so very well. It's vastly superior to other toolkits which attempt draw their own widgets, because the wxWidgets developers have gone to tremendous effort to actually use the native widgets from each platform. You just use the rather generic API for wxWidgets and you end up with really good native GUIs on all 3 platforms. Best yet, when the user customizes fonts, colors and whatever else, your program adapts like other truly native applications. Other cross platform toolkits fall down in that respect to the customized style, because they aren't really using the platform's native GUI.

Artificial intelligence has the same relation to intelligence as artificial flowers have to flowers. -- David Parnas