Valkertown Blog

I used to write about electronics…

Valkertown Blog header image 4

Adding external video for my laptop for ~$100

October 25th, 2010 by Carlos Perilla
Respond

Recently I have had the need of graphic acceleration (Starcraft 2) and I don’t want to setup a big desktop setup again, also I like my laptop and I don’t want to change it much for the time being. On the other hand expending a lot of money on a high end laptop to play a $60 buck game it’s not worth it. I got a Playstation3 so I could stop bothering with system specs and have spent more on games than on the system itself.

I did some research on what’s available and I found there a few offerings but they were insanely costly, around $400 for an ASUS express card video and the performance is totally not worth it. Now, a lot of “recent” laptops come with an express card connector and it’s just a pci express bay plus an usb host.

A friend suggested an idea he found on the net: Using standard form video card on that port, initially (since we’re electronic engineers) we tought of building the connector from scratch, but after some googling we found there’s a cheap solution (we’re electronic engineers, we avoid complexity) provided by hwtools that could serve our purpose.

So the setup ended fairly simple and here it is:

And here’s the bill of materials:

  1. A couple of external monitors
  2. Nvidia GForce 8600GS
  3. USB Fan
  4. Cable to PCI-e card
  5. Power: 12V 5A, this can be replaced by a standard ATX power and a floppy power connector
  6. Express card + Cable
  7. My Dell Inspiron 1420

The whole kit of express card + cable + pcie connector was $55 plus shipping, and it can be bought at HWtools. We used a 1x connector, they offer a 16x connector, but it increases the price and it’s worth nothing since the express card is only capable of 1x; the only plus is better mechanical support but one can solve that for a lot less.

We used the cheapest video card we could get and that was a $32 Nvidia card, since the card will be running highly handicapped it’s better to use a cheap one. This one came fanless so we had to put a fan on it. I soldered a spare fan I had to the 5V on the USB connector, which I cannibalized from a dead usb memory. Get a bit better video card to avoid this, but it’s better the lower-end kind of cards since most of them won’t demmand external power.

I had a switching power source that worked for this laying around so it was quite lucky since it’s fanless and with it the whole setup just added one small fan. For the video card It’s required a ~60W(12V-5A) power source, the connector is easy to find, and you might have the fanless switching power source from and old laptop or printer. Uf you can’t get it you can use a standard ATX power source and connect it to the board with a standard floppy connector, but man these things are noisy.

After you connect all this, power on the video card first and then the laptop and you will have the video card listed on the pci devices, install the drivers and setup. It’s the same process as if the card were inside the case.

The next step is casing and polish but the whole thing works and I can play Starcraft 2 at a whooping ~24fps on low settings with wine, my friend(@jgmejiah) reports ~20fps in medium with windows. I guess if we used a better video card we could be using better video settings but since it was the risky first try we choose to go on the cheap, I saw some videos on youtube of someone playing on ultra settigns with a similar setup and a better video card.

There are several downsides to this setup, like the need of an external monitor (which I don’t mind) and the fact that it’s not quite portable and the extra powersource needed. But for me it’s totally worth it.

EOF

Tags: No Comments.

Notes on MobBrainbird tasks

September 6th, 2010 by Carlos Perilla
Respond

Notes on the backlog:

  • Fix the x time ago message: This one is fixed in the app, but the problem originates on the server. I haven’t figured exactly why, but I’m close.
  • Fix the photo attachment: It seems it’s working ok on some phones, since MMAPI support is so crappy everywhere I doubt there’s much I can do.
  • Preview of some files on the browser, specially pictures: Working on this…
  • Resize before send when sending images: Will be done.
  • Record from the mic and attach: Not gonna happen ever, most phones just encode on pcm or amr formats and for mobile uploading a wav is insane and AMR is a crappy proprietary format that doesn’t deserve to be supported.
  • Search support: Sadly the output of the api call is on ATOM and it’s not as trivial to add as the others, will do it but not as soon as I thought

Tags: No Comments.

MobBrainbird 1.5

September 6th, 2010 by Carlos Perilla
Respond

Well, I decided to bump the version of MobBrainbird:

This includes two new tabs one for StatusNet Groups and other for Tags.

I will be adding support for Search soon.

Tags: No Comments.

Neutral Good Human Wizard

September 4th, 2010 by Carlos Perilla
Respond

I Am A: Neutral Good Human Wizard (4th Level)

Ability Scores:
Strength-11
Dexterity-16
Constitution-14
Intelligence-17
Wisdom-16
Charisma-16

Alignment:
Neutral Good A neutral good character does the best that a good person can do. He is devoted to helping others. He works with kings and magistrates but does not feel beholden to them. Neutral good is the best alignment you can be because it means doing what is good without bias for or against order. However, neutral good can be a dangerous alignment because it advances mediocrity by limiting the actions of the truly capable.

Race:
Humans are the most adaptable of the common races. Short generations and a penchant for migration and conquest have made them physically diverse as well. Humans are often unorthodox in their dress, sporting unusual hairstyles, fanciful clothes, tattoos, and the like.

Class:
Wizards are arcane spellcasters who depend on intensive study to create their magic. To wizards, magic is not a talent but a difficult, rewarding art. When they are prepared for battle, wizards can use their spells to devastating effect. When caught by surprise, they are vulnerable. The wizard’s strength is her spells, everything else is secondary. She learns new spells as she experiments and grows in experience, and she can also learn them from other wizards. In addition, over time a wizard learns to manipulate her spells so they go farther, work better, or are improved in some other way. A wizard can call a familiar- a small, magical, animal companion that serves her. With a high Intelligence, wizards are capable of casting very high levels of spells.

Find out What Kind of Dungeons and Dragons Character Would You Be?, courtesy of Easydamus (e-mail)

Tags: No Comments.

MobBrainbird

August 30th, 2010 by Carlos Perilla
Respond

After more than year of neglecting this blog, here’s some update.

It has been a rough first year without “Linda”, in her memory we adopted a mutt we called “Nina” and she’s growing awesomely.

Nina

I use a couple of phones a Black Berry Pearl and recently I acquired an LG Neon GT350 that from the beginning I planned to use to update my Brainbird account. A few months ago I was forced to acquire a Mobile Internet Plan from Tigo.

The Huawei USB modem that comes with the Tigo Internet Plan, works great with Linux ( you might require usb_modeswitch), it registers an serial port that you use with pppd with the proper config (I might attach the config to this post in the future) and there you go.

Now, the LG Neon is a fair phone that was pretty cheap, a main requirement for me. Used it while I was at Baltimore and when I came back to Colombia I wanted to use it here so I had to unlock. Used an IMEI unlock-code, it was pretty quick but these code dealers business looks fishy, so beware.

This phone permits me only standard J2ME apps to run. Android is sucking up all the open-source development force and I don’t blame them; J2ME is crap and Android offers a much richer library to play with. This leaves J2ME with very few and outdated choices for software to use. I didn’t need much, just a Brainbird client and a xmpp client to use from time to time.

For XMPP I’m using Lampiro, which is the best J2ME xmpp client I have used and I tried a lot of them. They offer the source of it but so far I’ve been busy with MobBrainbird and I haven’t started to hack it.

Now for identi.ca and status.net there’s Mobidentica, which was fine but it only could take 140 characters at a time and on the LG it wasn’t flipping when the slider is open, and that was driving me crazy. So against my nature I picked up Java, WTK, Netbeans and started learning the dark of developing J2ME apps.

The phone(and J2ME ) have this “feature” that asks permission to the user when an app wants to use some of the restricted permissions. This have been abused in my LG Neon and apps that are not signed with a root certificated that comes with the phone and will keep asking for permission every call they do. This was specially annoying when using xmpp. Finally figured a workaround against this by chance, since I was researching on how to get the damn apps to flip, Opera Mini flipped ok but a lot of others didn’t, so I downloaded the LG J2ME SDK(Had to install java,quicktime, and other stuff in wine to get it working) and discovered that I could sign my apps with a developer certificate that comes with it. After doing this my apps could get enhanced permission and finally remove the permission nag.

Banner

After a week or so of hacking and basically improving Mobidentica I figured that to make an app flip I just needed to add something to the .jad file and install the app using it. Now I have flipping lampiro, MobBrainbird and any app I want, also with my developer signing I can remove the permission nag to any app I want.

  1. MIDlet-Screen-Mode: both

In the process I forked Mobidentica and “refactored” it to be named MobBrainbird, or just Brainbird. It’s fully branded now and the unsigned version it’s available here:

Brainbird.jad
Brainbird.jar

It features several things that the original Mobidentica doesn’t have, I’m still considering releasing the code. For the time being I’m not required to do so.

Timeline

MobBrainbird exclusive features, at this moment.

  • Forced Landscape mode, I developed this on my quest for automatic flip, I’m leaving it just in case someone finds it handy
  • Gzip compression: If the server is capable MobBrainbird will use gzip compression for the request this speeds up a lot the app since it reduce the data transfer. (A Friend with $/kb plan requested it). This product includes TinyLine software developed by Andrew Girow (http://www.tinyline.com/).
  • File attachment: Attach any file on your device to the notice you’re sending. Works great attaching photos. Could be better I know but it’s better than nothing right?
  • Broken: Direct Photo Attachment: I’m working on this, but It should let you directly take a photo from your phone and attach it to the notice

Menu

What I’m adding/fixing in the future:

  • Fix the x time ago message
  • Fix the photo attachment
  • Preview of some files on the browser, specially pictures
  • Resize before send when sending images
  • Record from the mic and attach

About

If you have suggestions or nag me, you know where to find me.

Tags: 2 Comments

R.I.P Linda

October 9th, 2009 by Carlos Perilla
Respond

R.I.P Linda

Tags: 3 Comments

Brainbird’s cleanup maid for laconica

August 20th, 2009 by Carlos Perilla
Respond

Well this is a pretty small script written in python to break realtionships in identi.ca, brainbird.co.cc or any other laconi.ca instance by blocking/unblocking users that have been inactive a number of months at discretion of the user.

USAGE:

  1. ./maid.py https://instance/api username months [break/ask]
  • First argument is the laconica instance api url, ie http://identi.ca/api
  • Your username on that instance
  • A floating point number representing the number of months that a user needs to be inactive to qualify for cleanup.

Last argument is optional if ommited the script will only print the users who qualify for cleanup.

  • ask: Will ask if you want to break connection for every user in the cleanup list
  • break: Will do the cleanup without asking.

You can get the maid and get your account clean.

WARNING: This comes without ANY warranty use it at your own risk, also probably only will work on a python 2.6 install, but it can be modified to run in python 2.4.

Tags: No Comments.

Polipo and Adblock Filters for Uzbl

August 20th, 2009 by Carlos Perilla
Respond

Well this is a micro post about polipo and how do you setup it with adblock filters. First adblockplus is capable of mangling the rendered hmtl to remove adds and that makes it better to anything we can achieve with polipo, but what we get with polipo filtering it’s good enough at least fo me.

You need to find an AdblockPlus filter file, there are lots and a quick google will get you one, then you need the adblock2polipo.sh that’s found here:

Adblock2polipo.sh

Then you need to convert every . in \., ? in \? and | in \|.

Finally cut out the mangling filters, usually the block filters are clustered on the top of the file and once you see a mangling rule everything down there should be cut out from the filter file.

That’s all, put the resulting file in ~/.polipo-forbidden and hope everything went fine.

Good luck

Tags: 3 Comments

Brainbird current features

August 12th, 2009 by Carlos Perilla
Respond

Well Brainbird is my own laconica instance where I hack around the code from time to time,
I have added few modifications to the current 0.8.x branch of laconica, you can see them here.

While right now they are exclusive from brainbird there’s nothing stopping anyone to grab my changes and use them as they see fit, and that is some of the beauty behind using free software, you can have the features you want, whenever you want. If you’re lucky you can do the hacking yourself, but you can always find someone to do the hacking for you, it might cost you few bucks. That’s the point behind sygn.

If you’re considering moving to brainbird due to my current changes, I have few things to say that might help you:

  • Brainbird runs experimental code and I plan to stick with git checkouts
  • Expect breaks
  • Expect features early also expect bugs early
  • Laconica is intended to be federated
  • Groups are not yet federated
  • You have to follow the people you want, again, one at a time, by hand
  • Same goes for your followers, but you never know if they are going to subscribe to your new account
  • Brainbird current user count is very low
  • Your data is on my hands, so is my data and while I care a lot about my data and I respect your privacy/freedom. There’s no warranty

After this small list, I say, do it, on brainbird or any other laconica instance. Federation is good, it’s cool and prevent’s you from being caught on other people’s problems. Even better, host your own laconica instance with your own changes, while it’s not easy, the freedom to tailor it to your taste is priceless.

Well now a brief list of what’s on brainbird right now that haven’t been merged on laconica:

  • 300 Character limit, it will cut down to 140 characters for twitter, omb and sms emails, adding a link to the full notice at the end
  • Avatar images and conversation link for xmpp, it only works if your xmpp client renders html messages correctly
  • Redent command for xmpp, rd nick, will redent that user last notice
  • Join/drop group from xmpp
  • Custom theme, I don’t think this will ever get merged on laconica
  • Autocompletion plugin enabled, well this is on laconica, I just have it enabled
  • Stats Plugin enabled.

Well this is how my gajim session looks for Brainbird

gajim screenshot

The linked # you see at every message is the link to the conversation, it doesn’t traverse servers, it’s just the conversation thread on brainbird. Problems like this is the reason why I suggest using a federate account, it really needs testing and users get a feeling of the shortcomings and give feedback to developers.

I have few patches for gajim, one is the character counter that helps a bit, the second is the @nick completion, it uses a FOAF url to populate the link and then autocomplete @nicks as gajim does for MUC chatrooms, the code is here, I merge frequently from official, but you can extract patches from my repo and apply as you wish. Gajim with MB patches

Well, enjoy!
EOP

Tags: No Comments.

It’s time, Sygn

August 8th, 2009 by Carlos Perilla
Respond

Every now and then I see some sort of professional that’s completely bored about windows, and the entrapment he has been put by all the restricting software vendors; but then when he tries the few, if existing at all, free software tools alternatives for his specific area he realize that the tool is incomplete or doesn’t provide the performance he needs to complete his tasks. And then we get all other professionals who are married with certain tool telling us every other tools is wrong and his choice shine for it’s perfection.

This is the situation, while there are some vendors who charge a fixed one time license for their tools there’s a huge number of vendors for professional tools that charge us a ever recurring year by year licensing fee, and probably for everyone who does some real work with those tools that price is probably fair. Then we get the vendors who not only charges your usage of the tool but also royalties for every production piece where their tool is used, and now again probably when you’re doing some serious work the price is fair and all that.

In the end all what we get is permission to use certain tool, we don’t get the tool at all and that tool can be taken from us anytime they want, and we on the place I work have been through that a fair number of times, after all our job is to provide solutions to large industry issues.

Well, now I think it’s time for all of us who want to break free of the restricting software vendors to handout the cash. Seriously sponsor the development of our tools, with our professional time and our hard earned money. The amount of money we have to pay in electronics for our tools is by no means small and the cost to develop professional tools is huge; it would take a lot of time for free software to reach today’s quality of restricting software but we can speed up the process.

Remember the money you invest on free software is never lost in the end you get to own the tool by investing at most the same amount of money you’re investing on using someone else tool. Most of the time people forget about this basic freedom they have, they can improve existing tools by doing it themselves or paying someone who can to scratch your itch, it really works and as an anecdotal reference It has worked for us in the place I work.

A discussion around this with Sam Kleinmann (Tychoish), led to what’s being called Sygn which is a proposal of the infrastructure that could build a network that could help in the achievement of this idea.

With Syng I would be able to search for someone with correct profile when I need/want to sponsor someone to develop a new project or a given feature for an existing feature, for projects to look new contributors and new developers to find stuff to work on. It’s just a part of what Syng could be capable of, see Sam’s Wiki entry about Syng,
there is a very enlightening example.

I’d write more about Syng, but it certainly deserves a post on it’s own.

Tags: No Comments.