Yann’s Blog

July 15, 2009

LLVM has a (broken) MSP430 Backend

Filed under: Hardware,Software — Yann @ 10:02 am

Good news everybody!

LLVM, everyone’s favorite next generation compiler architecture, now has a MSP430 backend.

The bad news? It doesn’t really work yet. Its time to dust off my compiler skills and take a prod at it.

More information:

Thread on llvm-devel.

July 14, 2009

Zed Shaw’s Why I (A/L)GPL

Filed under: Hardware,Linux,Software — Yann @ 1:51 pm

Zed Shaw has posted a well written discussion of why he uses the GPL series of licenses.

I have to say I agree with his reasoning on all counts. I have licensed software under the BSD or MIT series of licenses in the past, but often for small little utilities that I don’t think contain much intellectual worth or don’t represent new concepts or major time investments. Anything “big” comes under the GPL.

This is a good point to discuss the applicability of the Affero GPL license. If you are developing software which will likely never offered or downloaded to a client machine (the “distribution” step in the GPL, which is absent in most web applications and SaaS), but would like to force users to offer the modified source code to your product, this is the license to use. There are very few pieces of software which carry the AGPL license to date, however with the growing trend of cloud computing, it is well worth considering.

The only downside to the AGPL are libraries, which carry the full force of the GPL license. There is no “ALGPL” version, allowing linking of code into other products without bringing the requirements of the GPL with it.

July 2, 2009

SparkFun starts offering Open Source Hardware kits

Filed under: Hardware — Yann @ 5:10 pm

If you’re into DIY electronics, you’ve probably heard of SparkFun before. Their original kits and reseller products, such as the Olimex development boards are a great tool to get up and running fast.

It looks like SparkFun is now hopping on to the Open Source Hardware bandwagon, licensing under the Creative Commons Share-Alike 3.0 License. This is great news! Hopefully more of their products could use this upgrade, and allow people to create derivatives (like fixing the bad analog signal quality on the Logomatic v2).

For reference, their ClockIt kit is now open source. A number of projects come with GPLed microcontroller source code, but not an open source hardware license.

June 29, 2009

Using an ATtiny85 as an RFID Chip

Filed under: Hardware — Yann @ 10:51 am

A simple an inexpensive way to emulate HID and standard 125kHz RFID cards by just using a microcontroller, an optional capacitor, and a coil:

http://scanwidget.livejournal.com/32928.html
RFID

Quite a cool hack, especially since it can emulate the FSK based HID cards (think building access control).

June 16, 2009

OLED Keyswitch Anyone?

Filed under: Hardware,Software,StackFoundry — Yann @ 8:44 am

Check out this OLED keyswitch NKK.

pt-1989

Full color 64×32 display, with a SPI interface, which is much easier to use than previous products (such as the ScreenKeys)

IS15DSBFP4RGB on Mouser

April 6, 2009

My Mini DisplayPort to Dual-Link DVI Adapter works just fine

Filed under: Hardware,Other Stuff,Software — Tags: — Yann @ 10:59 pm

As a statistic for the internet, I would like to report that my Apple Mini DisplayPort to Dual-Link DVI Adapter works just fine. I purchased it from new stock at an Apple store on April 2nd, and am using it with a 2009 Mac Mini base model (+ putty knife upgraded RAM). The monitor is an NEC LCD3090WQXi, running happily at 2560×1600.

Which brings up two main complaints:

I know this is an active adapter, with a full DisplayPort to DVI protocol converter (and high bandwidth DVI for that matter). But why is it $99? That is 1/6th of the value of a new Mini.

And why does the new Mini still ship with the same gargantuan power brick that the original Mini shipped with? Its nearly 1/3rd the size of the computer! I know Apple has worked hard to miniaturize power adapters – every other adapter is much smaller! Even the Time Capsule has a built-in power supply…

March 2, 2009

Hardware Design: nRF24Z1 Wireless Digital Audio Streamer Super-Breakout Board

Filed under: Hardware,Software — Yann @ 2:35 pm

I’m pleased to announce a new hardware board in development. It isn’t available for sale right now, but prototype testing is under way, and is being double checked for any design problems.

It is a “super” breakout board centered around the Nordic Semiconductor nRF24Z1 Wireless Audio Streamer, a low-power self-contained 2.4GHz digital audio streaming chip. This little chip is capable of sending a 44.1KHz stereo digital signal, straight from a S/PDIF source, to another S/PDIF input, over a 2.4GHz wireless link, with minimal latency. If analog is more your thing, it also features a complete I2S interface (including clocking) which can drive an ADC or DAC (depending if its in transmit or receive mode). Perfect for your DIY projects with outside speakers, wireless headphones, and more.

On this breakout board, you will find:

  1. An Atmel ATtiny84 microcontroller, for command and control of the radio link, plus communication between the modules
  2. An Octal-Inverter and all of the needed S/PDIF circuitry to correctly use and drive the 1V digital signal
  3. A 20 pin breakout header which exposes most of the microcontroller and radio pins.
  4. An integrated, inverted-F PCB antenna with superior performance to “chip” antennas, while not hogging large amounts of PCB space

The schematic hardware design is licensed under Creative Commons Attribution Share-Alike 3.0. I’ll post again soon with pictures of the prototypes as well as ordering information.

August 7, 2008

Big Monitors, Window Management Frustration, and finding StumpWM

Filed under: Hardware,Linux,Software — Tags: , — Yann @ 10:08 pm

You may be like me, and have a large (20″+, or especially 30″ in this case) monitor attached to your computer. You’re also a avid computer user and have more than one program open at a time which you want to view simultaneously. You also use the keyboard much more than the mouse (except when lazily surfing the web). How often have you noticed spending large amounts of time moving your windows around, resizing, moving, rearranging, and all the normal window management jazz? How often do you find yourself switching among windows with alt-tab, just to refer to some information which is currently obscured by the window you’re currently in? If your answer is very often, then you may be a candidate for what is known as a Tiling window manager.

I’ve been using both KDE and Gnome on Linux for many years, and also use the Redmond user-interface (aka Windows). I also own a Mac. The Macintosh (OS X) and Windows are similar models, and Gnome and KDE are even more similar to Windows. Now, I am not saying that either interface is unusable, but it is an inefficient choice if you fall into the categories above.

Granted, the classic window management paradigms are very familiar. I won’t say natural, since computers are really not natural, they’re a learned behavior. Computers only feel natural when they operate in a similar fashion to other computers you’ve used or seen in the past. The problem with this user interface paradigm is becoming apparent as screen sizes grow (and shrink!). Your desktop is simply far too large to use properly in its overlapping window mode. Plus all the mouse work moves you away from your primary user interface device: the keyboard.

Many program designers have noticed this. They’ve moved away from the nightmare of MDI (multiple overlapping windows inside of your overlapping window), and developed docking elements. The toolbar you can dock and move. The properties editor on the right. You can’t (generally) overlap the dockable elements. But in all cases, the elements are on the side or around your document or main view. Stuff stays put, is intelligently placed, and doesn’t get in your way constantly. Why can’t a window manager work the same way? But it can! Enter the Tiling window manager.

I like StumpWM, which is a tiling window manager modeled after ratpoison (and all other tiling managers before it). Its command set is a good mix of GNU Screen and emacs. Its also written in pure Common Lisp. There are other tiling managers out there, such as my second favorite, XMonad, which can even work flawlessly in Gnome and KDE (or mostly flawlessly anyway). XMonad has the advantage of automatic layout modes which StumpWM currently lacks. I didn’t particularly like Ion3 or WmII: the multi-monitor support is not as developed as StumpWM), plus Ion3 open-source development could be at risk. .

I’ve been using StumpWM for a couple of days. I am trying to quit Gnome cold-turkey, and so far have been successful. All of my applications work. The few gnome specific management applications I used I’ve managed to replace (such as NetworkManager for the laptop). My environment is lighter without the 50 background processes Gnome uses for automagic abilities (HAL, DBUS, etc). It doesn’t suffer the “users like simple, so lets not complicate stuff” philosophy Gnome uses in several places (an example: gnome-screensaver vs xscreensaver). Plus, I can use the keyboard almost exclusively, only touching the mouse to use certain applications. All window operations are entirely keyboard driven.

But if you’re not trying to quit Gnome completely, both window managers can show the normal Gnome panel for you. One thing you’ll have to scrap is the Desktop paradigm – you can put a picture on your root window, but the cluttered mass of icons isn’t available – you’ve put something far more useful there instead. Your applications.

It may seem scary at first, but I encourage you to try a tiling manager. Give yourself several hours of dedicated time. Will yourself not to switch back to the old familiar interface. Print out the quick reference or the whole manual, just in case you get lost in how to move around :) . Its well worth the effort.

October 23, 2007

“Hacking” fglrx 8.40+ to work with FireGL Cards

Filed under: Hardware,Linux,Other Stuff,Software — Yann @ 8:09 pm

So, long story short. I have a ThinkPad T60P, non-widescreen edition. I run Ubuntu 7.10 Gustry on it (after Windows did a suicide on its self).

It features a Mobility Radeon FireGL V5200 (the Widescreen models may use a V5250 – you’ve been warned) . Out of the box, the last fglrx driver to support this card is 8.35. Yes, the FireGL driver doesn’t support FireGL cards anymore, so says the top-notch driver division at ATI.

The 8.35 driver has some important breakages:

- Can’t suspend or resume (on Kernels with a SLUB allocator, like Ubuntu)

- Can’t hibernate (ditto)

- Weird things happen when you’re dual monitored and start X without a monitor connected.

-

But, perhaps the 8.42.3 driver, hot off the presses, fixes some of that right?  I sought to find out.

The biggest hurdle is 8.42.3 doesn’t support FireGL cards. Ooops. But thanks to these forum posts and mini-patch, it is possible to use the card. For the record, I’m using the provided defaults for CARDIDs.

 http://www.phoronix.com/forums/showthread.php?t=5203

Next up, you have to grab a 8.35 installer packet, extract it (–extract), and then copy common/ati/control over /etc/ati/control, or you’re forever running around with a fantastic watermark in the right corner (whoever thought that was a great idea at ATI deserves to get shot).

So, after mucking with it for an hour, I’ve concluded

- Suspend works, but resume does not, when in multiple monitor mode (wtf)

- Ditto for hibernate

- Compiz runs, but doesn’t really work well at all.

This is in stark contrast to the NVidia-GLX driver, which I use on my desktop, and is a fantastic piece of work, never breaks, and delivers outstanding performance.

Maybe 8.42.4… Or RadeonHD. Or just buy a new laptop with n Nvidia card.

« Older Posts

Powered by WordPress