Tag Archives: Tech

Rotating Banners

Now on every page you'll get a different banner. Every single photo is taken by me (to the best of my knowledge — if you took it that will teach you to borrow my camera!) hand picked out of my gallery and then cropped and edited by me too to fit. I used iPhoto to crop the photos to get the aspect ratio (quick and easy) and then wrote a quick script to resize everything to fit.

find . –type f –exec convert {} –resize 970×140 {}.970x140.jpg \;

And that resized everything. I wrote a quick rand with a sprintf to generate the url. It's not automatic — it wont detect new photos but I can take the time to edit the range the next time I take the time to edit hundreds of photos.

The real joy was finding a 97×14 swash of image I wanted to show. I'm not being sarcastic either. Everything looks different when put though constraints. It highlights parts of the photo that would otherwise be lost. Street signs stick out the most, I'll have large photo of trees and I'll have picked out a swash of photo I want to show and the street sign will be sticking up off to the side, but it stands way out where I didn't even know it was there before. There is even one photo where I took two swashes out of, there were two different photos I wanted to show.

Enjoy =)

Social Graph(ing)

I've been missing writing again. I haven't been getting good sleep lately which kills my creative thinking processes. Didn't even get good sleep last night, but I did the night before so I'm up to the task.

Social Graphs

Last night over dinner I was given an idea about graphing social graphs. I'm not sharing that with you here yet.
Wait, what?
Thanks to all the new interest in Social Networks, i.e. Facebook, MySpace (which is evil and must be destroyed), LinkedIn and even flickr there's been some interesting developments.

All those sites in one way or another are considered Social Networks they provide a way to link people to other people either by friendship, admiration (of their photography for example), business relationships or any other idea they deem relevant. These connections are called your "Social Graph". And while ever site differs on what exactly links two people they all deal with managing and using your graph for both your benefit and theirs.

People are starting to take this idea a little further by displaying their social graphs on their own blogs (akin to blogrolls or just linking to friend's websites) by using microformats (a way to put info on a website so it is both human and machine readable) such as XFN (The Xhtml Friends Network) which can be considered an improvement because it puts them in direct control over their graph, they can take it down, delete it, share as little or as much as they want and use that information anywhere they want. They can also share things about trust, which can go a long way but is a topic for another discussion. A problem is that most social networking websites do not allow you to take your graph and leave them. If you quit you usually don't get to take any of your data with you. And they don't usually delete everything either.

Facebook decided to take your data, the social graph, and allow you to share it with made for facebook applications. They do a reasonable job at protecting your privacy while still allowing apps full access to who your friends are, where your photos are, what groups are you in, and more. Most things are shared not by name but by an id number, and while anyone who runs an app can still keep a copy of every one of your photos on fb if they wanted to I have to tell you your personal photos aren't that interesting while the applications can be interesting even though most are not.

Google being the benevolent overlords that they are created something called Open Social. Which is a set of API's that allow websites to talk to each other. Facebook release their api's so people could make applications for facebook, open social isn't for google, it's for everyone to use. So I could make an application and have it work on many different social websites. Google's real plans are a lot more complicated, they're doing something their excellent RSS reader which allows you to share RSS feed items with the click of a mouse. A few of my close friends are using this and it's cool. They're leveraging the google reader to be the core of google's own social networking platform whatever it may be. (Though, I'd argue, that Gmail, Gtalk, and google reader are already a fine social networking platform. Buddy lists and address books are not so different from "social graphs") The more people who use open social the more access they'll have to information.

I've shared a lot so far and you're probably not still with me. Let me share two more links.
The coining of the term social graphs which is the post that caused most of what I've talked about to happen, and a nice easy to follow write up about Social Graph's Concepts and Issues by ReadWriteWeb.

So what's the point of me sharing all this? Besides this being an interesting new direction technology is leading us to, it's allowing me to play with Graph Theories and I like learning new stuff and making cool things with it.

More later!

–Francis

Well who knew? RAM persists!

God dammed Princeton kids! They broke everything!

Cold boot attacks on Encryption Keys

The best fix I could think of would be to wipe the key from memory (overwrite actually) immediately after you're done using it. Also maybe keep it scrambled, but that wouldn't be fool proof. Another idea would be to try to put the encryption key where it would be overwritten by the dump program. But you can't rely on that either, you could easily transfer the ram into another computer where it wouldn't be the only ram.

This doesn't make disk encryption useless, its just something to be aware of. As long as you turn off your computer (and now you know to wait a minute for the ram to clear) your data should be ok.If you're computer is unlocked when it gets stolen, then you're screwed anyway. This research just found out that the lock closes a little slower then we thought.

It's also very cool.

–Francis

Virtual Computers (that exist nowhere except inside computers)

I'm currently in the market for a new desktop. There are a few things I want to do with it, and they range from pretty simple requirements that barely need mentioning, to some pretty complex ideas.

  1. Large amount of protected storage. Raid 5
  2. Ability to play somewhat recent games. I don't play often but the occasional title catches my eye and I'd like to be able to try it out.
  3. Large amount of protected storage. Raid 5, having a single disk, actually bothers the hell out of me.
  4. I want to be able to play movies over the network from my server. Yes that's a requirement. Though by now it should be filled

Scratch that. I've got some thoughts on my computing setup in total. First off, what I currently have.

  • A Macbook Pro, 2.33 GHz Intel Core 2 Duo with 3 gigs of ram and a 200 Gig hd. I back this up to a 300 gig external every so often. It's my primary machine by far. I program and do unixy things on it mostly. I constantly wish it had more hd space mainly because it houses my 60 gig music collection too. Leopard and XP in bootcamp and via Parallels (Even though I own VMware and I trust it more. Also XP has 20 gigs of hd.)
  • A recently deceased Intel P4 with 2 gigs of ram and two hard drives 80 and 120 gig, running windows xp. It was old enough not to play new games. (No bioshock, but Portals ran just fine.) Lately I mostly used it to play movies and be a synergy server for my laptop (keyboard and mouse sharing).
  • A low end AMD server with some ram (512?) and a 1.5TB raid 5. It runs uTorrent, tversity (to stream movies to an xbox 360 which isn't mine) and does it all in Windows 2003 server. I had a plan to host offsite backups that required windows 2003 server, but I've long since abandoned that stupid idea. It wasn't worth it. Now because of the windows domain the server is in my mac wont smb mount it's massive data storage reliably and I'm using ftp/http for file transfer.
  • The router is an even lower powered amd box with some ram and an underused 80 gig hard drive running IPcop. It works as a router just fine. It's also a caching transparent squid proxy with logging disabled to protect the guilty users who use it (sorta — not from authorities but from my other roommates). It's got shit vpn capabilities and it doesn't do anything else, but it doesn't need to.

Some things I'd like to do.

  • Run a lamp/svn stack at home not on my laptop and with a decent amount of storage available.
  • Have a vpn that I can connect to on my mac and on windows with no extra software. And little fuss.
  • Have my movies mountable on my mac. The fact that they are all sitting on a 1.5 TB raid formatted NTFS that's almost full makes portability tough.
  • Still stream movies to the xbox, that is a wonderful feature.
  • Not spend hours and days of my life dealing with the nitty gritty of linux.

I haven't tried ubuntu, It's supposed to be a lot better then linux was 5 years ago during my debian days. Five years seems like a long time too, but I for some reason refuse to believe anything has changed. I need to go get a live cd. OSX lets me run apache, mysql, and php. I can compile anything I want fairly easily, and it's pretty. Long ago it replaced linux in my life.

But linux might come back. I'm attracted to keeping things partitioned. I've had a lot of servers hacked and learned I don't want to be a security expert. It's tough and nothing is impossible to break into. You just have to keep backups, keep things separate, and have a few layers between you and anything else. There's a limit to the defense in depth in my opinion. If you're letting packets into a program, regardless of how firewalled it is. If it's exploited it's exploited. I'm a little too paranoid to run public services from home anyway.

Back to partitioning. I'm attracted to virtual machines, which while they run on the same hardware they are separate (enough). And you can run more then one at once. It used to be that virtual machines were slow and slowed everything else down. They sucked a lot. Now they've got built into hardware instructions on how to operate at a virtual level, while looking like you're working at a normal level. Long story short, You can boot up an operating system on it's own, or inside another operating system and it wont be the wiser.

I'm still learning exactly what that means. How do two os's use hardware? Sound cards? Video cards? Obviously somethings need to be put on hold, or switched between OS's. Also they got something they call Paravirtualization, which instead of the OS running on your hardware totaly, it runs on some virtual hardware (sorta like what VMware does with the graphics hardware). With that you can get near native speeds and reduce a lot of the overhead involved in running a virtual os.

I would like to be able to take care of some of my wants and needs by using virtualization, but I'm not sure if the technology is mature enough for me to play with it. (by all means, this stuff works, and it is being used a lot) It's got to be easy and I got to be able to play my games. I also don't want to invest hundreds of hours into it.

In the end I'll probably just dual boot. For gaming virtualization is stupid. I'd want it for multiple dev environments. But honestly I'd want it for multiple servers mostly.

Grr… I guess I just talked myself out of playing with Xen for my desktop machine. I still got to figure out a way to migrate my server to linux.

Hope Some of that is useful to somebody.

Electric Lady Land

Like the album this post is named after I found these 3 things to be of interest this week.

The Buddylinks service (read: Virus) swarmed the nation last night. Sending unsolicited IM's with links to trick people into installing the program that sends out the IM's. Apparently it also leaves computers open to run any software buddylinks wishes you to run. Bad news I say. (Link goes to slashdot post on buddy links not the actual buddylinks it's self.)

The wonders of technology has brought us Self powered LEDs that light up when you tap them. These babies can be put in/on/near anything and will light up when moved. The Company that produced them say they look cool when put in water and swirled around. I'd like to note that kids would think everything from books to backpacks with LED's is cool, and that we're going to see a lot of these.

And lastly my favorite childhood game GoldenEye for the N64 had a major development today. After 6 years someone found something new in the game. A hidden and incomplete level that nobody has ever seen before. Its cool looking imho but its quite unplayable. I loved that game, I battled many of my friends in front of it too. Perfect Dark (not a sequel but a succedent game) was fun too but the blurry graphics made multiplayer a headache imho.