Monday, November 19, 2007

Nerd Time issue 12 - Android, Social Ads, Hardware, Networking

I owe you a beer
I'm not sure how many of you heard of Twittering by now, but Twitter is like...microblogging. You say what you're doing or just quips over your cell phone in 144 char or less, and your friends can get updates from you on what you're doing on their phone. If any of you use facebook, it's much like the status update feature. Most people find Twittering useless and inane on one hand, but lots of people seem to use it the world over. They also released an API, which someone took advantage of with Foamee, which is why this is even on here. Foamee records who you owe beers to, and keeps track of that. So even on a seemingly inane platform, I thought the use of foamee for that end is actually pretty creative.

Google's Android Platform
Submitted: Metlis
As most of you probably heard, Google released its mobile OS platform, not an actual phone, as rumored. I took a moderately deep look into it. It's a full stack that runs on linux. It compiles Java (rather, a flavor of Java) into their own Java Virtual Machine, named Dalvik. I think with JRuby and Jython around it should be a matter of time to get Ruby and Python on there. The way they've decided to organize the application lifecycle is simple to understand and organized. The UI uses xml to declare the view, rather than to connect it together in code, like in Swing. Outside of standard UI components like text fields, they also have mapviews. You can do interprocess communication by broadcasting an "intent", and it'll pick the application best suited to fulfill that intent. So if your app need to pick a photo, it sends out an intent to pick a photo, and the photo gallery will respond. The user picks a photo, and that's what gets returned to your app. The API isn't done in full. Some of it isn't completely implemented yet, and an actual android phone isn't due out til mid to late 2008, I think. So we'll see if this all pans out, but it'd be exciting if it does.

Facebook's new Ad platform
Last week, on the 5th, Facebook released its new ad platform. The new ad platform uses what people do when interacting with their friends to advertise. Most of us don't make buying decisions independently. We ask our friends about what to buy, especially if we don't know much about the domain. Facebook will allow companies to sell their wares on it, and if you buy say...Nike shoes on it, it'll show your friends on their news feeds that you brought shoes. IBM did a paper on advertising, as we know it, will start to fade out. Advertising isn't "advertising" when it's targeted and relevant.

Seiko comes out with thin ebook reader
It's a prototype, but all the same, pretty impressive. I can't way until eBook readers become more popular.

Intel releases Penryn Processor
I don't know too much about this topic, other than, "Nick would know more". Got any light to shine on this one?

Nokia comes out with a tacile touchscreen
This should be of interest to hardware nerds like Mike. Nokia came out with a touch screen that feels like you're typing at a keyboard. What they do is put an array of pizoelectrics behind the screen to move it, and then time it correctly to fool your senses. That way, it feels like you're actually clickity-clacking away on the keyboard on a touchscreen.

Amazon comes out with an eBook reader
I totally didn't see this coming, but it makes sense in hindsight. The coolest thing about it is the device can download directly off wireless cellular internet, and the subscription to the IP service is included with the price of the device.

Giggling Robot becomes one of the kids
I've always thought that intelligence was partly social. A Qurio robot does enough to fool toddlers into thinking that it's one of them. Eventually, I think we'll have the same type of stuff for adults, but fool us into thinking about them as pets with utility, rather than as equals.

Lets you control a real person in real life
Submitted: Howard
Lots of people are experimenting with connecting the real world with the virtual. I think we'll probably see more and more of this type of stuff as mobile phones become more powerful and connected.

Where am I? Firefox extension
Things have been brewing in the mobile world, with iPhone and Android making waves. One thing is for sure: people will want web browsers on their mobile phones. I think I remember firefox wanting to move to mobile platforms. Anyway, we'll probably eventually see geo-location aware browsers. Here's a neat firefox extension that helps patch that need for now.

Just an interesting tidbig on cracking MD5
Usually MD5 hashes are used to encrypt a string. The resulting hash you get is suppose to be hard to "reverse" so you can't tell what the original string is. This guy used google to search for the MD5 hash to get the original string. Let that be a lesson for you. Always salt your passwords!

A New way to look at Networking
I imagine most of you don't ever watch the lectures. But I only list the good ones! This is a pretty good lecture taking you through the history of networking from telephony all the way to the present day TCP/IP and its problems. The proposal Van Jacobson makes is to request data by name to the network rather than by source. So instead of asking for, which you assume the content is the nytimes, you'd ask the network "give me the new york times", and you don't care where on the network it comes from. Think bittorrent for smaller files without the existence of a tracker. "Change your point of view to focus on the data, not where the data lives, because it doesn't have to live anywhere" That means that nodes will cache content it receives and gives it to anyone that asks for it. Of course, updating that distributed content will be tougher, as well as how to implement security for content provider. If you want to skip to the meat, start at 40:00.

Shared Memory Must Die
It seems like programmers will have to figure out how to program more concurrency models outside of locks. I've already mentioned this when I talked about Erlang before.

Pattern matching method dispatch and DSL
Ian asks me, "Have you heard of Lua?", to which I said, "It was in nerd time a couple issues back!" Lua apparently makes it easy to embed custom languages in your applications--what people call DSLs. Ruby has been pretty good at doing it too. This is ruby envying functional programming languages and their weird features like pattern matching method dispatch and lisp's s-expressions. A guy uses pattern matching to write a DSL to parse Logo, the turtle drawing program. This wouldn't have been a way I'd ever think to solve this problem, so it opened up my eyes a bit.

No comments:

Post a Comment