<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0IDQng-eSp7ImA9WhdTEU0.&quot;"><id>tag:blogger.com,1999:blog-3571671935741904346</id><updated>2011-07-08T00:19:33.651-07:00</updated><category term="newsbeuter rss feed reader younata michael brindle" /><category term="apple developer 3.3.1 sdk terms of service" /><category term="python email script" /><category term="I am" /><category term="philosophy leibniz" /><category term="linux unix freebsd firefox michael younata brindle file permissions" /><category term="p38 drone uav unmanned aerial vehicle android g1 dev phone 1" /><category term="mafia bot irc younata google lightning drone computer science C python" /><category term="michael brindle you younata intruder twitter door broken circuit prototype hack project" /><title>Younata's Blog</title><subtitle type="html">C, Linux, BSD, Apple, and others.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://younata.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://younata.blogspot.com/" /><author><name>Michael "You" Brindle</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Younata" /><feedburner:info uri="younata" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DEAAQHcyfCp7ImA9Wx5REU4.&quot;"><id>tag:blogger.com,1999:blog-3571671935741904346.post-2360778492427411191</id><published>2010-08-18T05:42:00.000-07:00</published><updated>2010-08-18T06:05:41.994-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-18T06:05:41.994-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python email script" /><title>Passing classes with a python script</title><content type="html">So, it's the beginning of the semester at my university, and, as a freshman, I have to take some pretty bs classes. One of these classes is called "University Experience". In UE, ~40% of my grade is divided more or less evenly amongst the following three items:&lt;br /&gt; * showing up to class&lt;br /&gt; * joining an organization&lt;br /&gt; * emailing the instructor once a week&lt;br /&gt;&lt;br /&gt;That's a fairly bs class, I pretty much already have 13% of my grade, just by joining orgs. However, that third item, emailing the instructor, is interesting. It can be of any length, however simply sending "Hi, checking in to get my points" won't work. The instructor never said anything about not being allowed to use a script to send email every week.&lt;br /&gt;&lt;br /&gt;That got me thinking, I can use a python script to get that 13% of my grade. So I did.&lt;br /&gt;Here's the script, edited to remove email addresses: &lt;a href="http://mafianode.com/~you/mail_script.py"&gt;script&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There's code in it that allows me to send from more than one person. Why do I have that? Because, when I was talking to others about this, and mentioned that I was going to set up a script to send the email for me, they expressed desire for me to set one up for them as well.&lt;br /&gt;&lt;br /&gt;As it stands, the code goes through a list of names and email addresses, then pulls up a text file which has an email written by them that will be sent once a week. After sending the email, it will wait a random interval between one minute and one hour. I do this so as to keep the fact that this is automated discrete. I also randomly choose from the list of names not yet sent from, so as to not have every week be in the exact same order.&lt;br /&gt;&lt;br /&gt;All that was left to do was set up a crontab to call the script every saturday at 9 am or so. Which I haven't done yet, because I'll wait until friday to set that one up, I want at least 5 names in the list before I have it set up to be called.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3571671935741904346-2360778492427411191?l=younata.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Younata/~4/JeXiIdjkD6U" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/2360778492427411191?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/2360778492427411191?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Younata/~3/JeXiIdjkD6U/passing-classes-with-python-script.html" title="Passing classes with a python script" /><author><name>Michael "You" Brindle</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://younata.blogspot.com/2010/08/passing-classes-with-python-script.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8FR3c5eSp7ImA9WxFWEkw.&quot;"><id>tag:blogger.com,1999:blog-3571671935741904346.post-8136377413437138774</id><published>2010-05-30T03:47:00.000-07:00</published><updated>2010-05-30T04:26:56.921-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-30T04:26:56.921-07:00</app:edited><title>The web doesn't need embracing</title><content type="html">This &lt;a href="http://www.osnews.com/story/23378/Will_Apple_Embrace_the_Web_No"&gt;piece by Kroc Camen&lt;/a&gt; was posted on &lt;a href="http://news.ycombinator.com/"&gt;Hacker News&lt;/a&gt; earlier this morning. Here is my response.&lt;br /&gt;&lt;br /&gt;The web does not need to be embraced. Camen's main point is that "the web" will not be embraced by Apple. The web he refers to is the type of internet where everything is accessed through a "web browser", or program used to view files sent over the hypertext transfer protocol, or, in most cases, files sent using the file transfer protocol. This is obviously not the web where I can create my own protocol if I so wished, or use one of &lt;a href="http://en.wikipedia.org/wiki/Internet_Relay_Chat"&gt;many&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Xmpp"&gt;different&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Smtp"&gt;protocols&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Imap"&gt;that&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Pop3"&gt;have been&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/IP_over_Avian_Carriers"&gt;published.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The web has, and will continue to be embraced by Apple. Maybe not through the use of a browser to view anything and everything, but certainly through various applications that access the web. Right now, if I so wanted to*, I could use Colloquy to chat over IRC with some friends, or I could use some instant messaging app to chat with my friends on our xmpp server.&lt;br /&gt;&lt;br /&gt;Camen holds up two examples of current technologies that Apple can easily stifle. These technologies are:&lt;br /&gt;1. Google's pNaCl (Portable Native Client).&lt;br /&gt;2. W3C Device API's&lt;br /&gt;&lt;br /&gt;Essentially, Google's technology enables me to play non-flash games on my browser. Incredibly innovative, I'm sure, however, this isn't of use. PNaCl revolves around the idea that you can have native speeds, without downloading the application. I'm sorry, but that's complete bullshit. The only time I've had close to native speeds on an application with the web between me and the host computer is when I'm telnetting into some other server from that host - even a simple text-based irc client such as &lt;a href="http://www.irssi.org/"&gt;irssi&lt;/a&gt; gives me noticeable lag.&lt;br /&gt;This is not because I have a slow connection. This is all about the fact that it takes light a certain amount of time to move from one place to another. At the distances sometimes covered over the internet, this time is significant, even the human brain can sense 50 milliseconds in lag.&lt;br /&gt;So, I'm sorry Google, but, until you figure out how to send information faster than the speed of light, you can't compete with native clients, unless you're an mmorpg, in which case what are you trying to label yourself as?&lt;br /&gt;&lt;br /&gt;The second example Camen brings up is the W3C device APIs. This is a technology that gives control of something like a webcam or a microphone to the browser. Never mind the fact that the majority of internet video watched today is uploaded after having been through at least some amount of time in an editing program (or room). This technology is actually useful, but not something I'd see the average user using - definitely not something I'd want on my iphone*. The cases for this being on the iphone is edge-case at best, and should therefore be relinquished to a non-web browser application.&lt;br /&gt;Therefore, while the W3C Device API technology is somewhat worthwhile, it is edge-case at best. Most video is uploaded not-live, after having spent some time in the editing room. The live video can be used through a third-party application.&lt;br /&gt;&lt;br /&gt;Therefore, Camen's examples aren't worthwhile. His entire point is wrong. Centralizing the web around the browser is a Bad Thing. Apple is following the Unix Philosophy - it is far better to have several programs that do one thing well than to have one program that does multiple things mediocrely.&lt;br /&gt;&lt;br /&gt;tl;dr:&lt;br /&gt;I'm an Apple fanboy.&lt;br /&gt;&lt;br /&gt;* I don't have an iphone or ipod touch, it was just an example.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3571671935741904346-8136377413437138774?l=younata.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Younata/~4/xopcKapEWY8" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/8136377413437138774?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/8136377413437138774?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Younata/~3/xopcKapEWY8/web-doesnt-need-embracing.html" title="The web doesn't need embracing" /><author><name>Michael "You" Brindle</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://younata.blogspot.com/2010/05/web-doesnt-need-embracing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQGRX4ycCp7ImA9WxFXGEg.&quot;"><id>tag:blogger.com,1999:blog-3571671935741904346.post-971945350749933291</id><published>2010-05-25T22:53:00.000-07:00</published><updated>2010-05-25T22:55:24.098-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-25T22:55:24.098-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="philosophy leibniz" /><title>On Leibniz's Philosophy</title><content type="html">Note: The following is taken from an English paper I had to write, I think it's hilarious.&lt;br /&gt;----------------------&lt;br /&gt;        Gottfried Wilhelm Leibniz, one of the inventors of calculus, was a genius. While Leibniz was a genius for his mathematical and scientific accomplishment. Leibniz, however, was an idiot for his philosophical beliefs.&lt;br /&gt;&lt;br /&gt; Leibniz was famous for the idea of monads, and his philosophy of optimism. Monads are the fundamental unit of the metaphysical world. This means that they are basically atoms, only better. Monads have no mass at all, and the are completely and mutually independent from other monads. Meaning, it would be impossible to detect a monad interacting with another monad, because it couldn't possibly happen. Each monad has it's own program, so that it may know what to do at each moment. Because of this, each monad can act as it's own mini-universe. To further confuse people, monads need not be small. For example, God would be considered a monad, and therefore, the existance of this all powerful being can be inferred by the “harmony” in the other monads. Even in Leibniz's day, the idea of monads was considered eccentric.&lt;br /&gt;&lt;br /&gt; Leibniz's idea of optimism is summarized by the idea of “the world must be the best possible, and the most balanced because it was created by an all powerful and all knowing God.” However, this entire argument is based on the idea that “God” created the world, and not logical conjecture based on overwhelming observable evidence. In fact, it is a known fact that a flying spaghetti monster created the world, everything that one sees and touches has, at one point or another, been touched by His Noodly Appendage. However, this is no all powerful and all knowing God, there are several flying spaghetti monsters, each communicating superluminally in order to create the appearance that logical conjecture based on overwhelming observable evidence is correct. Therefore, because these flying spaghetti monster are the true creators of the world, and not some all powerful and all knowing God, Leibniz was incorrect.&lt;br /&gt;&lt;br /&gt; Gottfried Leibniz was famous for monadology, and optimism. He was wrong on both accounts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3571671935741904346-971945350749933291?l=younata.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Younata/~4/NiONMTj05Yc" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/971945350749933291?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/971945350749933291?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Younata/~3/NiONMTj05Yc/on-leibnizs-philosophy.html" title="On Leibniz's Philosophy" /><author><name>Michael "You" Brindle</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://younata.blogspot.com/2010/05/on-leibnizs-philosophy.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkADSXg8eyp7ImA9WxFQF08.&quot;"><id>tag:blogger.com,1999:blog-3571671935741904346.post-2144804506386748685</id><published>2010-05-12T21:58:00.000-07:00</published><updated>2010-05-12T22:32:58.673-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-12T22:32:58.673-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mafia bot irc younata google lightning drone computer science C python" /><title>On Mafiabot.</title><content type="html">Right now, if you were to &lt;a href="http://www.google.com/search?q=younata"&gt;search google for "younata"&lt;/a&gt;, you would get one of two different results. The first has refers to me in eight of the ten front page results, the second directly refers to me in eight of the ten front page results, however, it indirectly refers to me in one result as well - namely, to &lt;a href="http://www.mibbit.com/networks/foonetic/channels.html"&gt;a topic in an irc channel&lt;/a&gt;, where younata is an irc bot I wrote last summer to play the game &lt;a href="http://en.wikipedia.org/wiki/Mafia_(party_game)"&gt;mafia&lt;/a&gt;. (I am going to get so many links from people wanting help with the "Mafia Wars" game on facebook for writing this article...).&lt;br /&gt;&lt;br /&gt;It is this irc bot that I am going to write about.&lt;br /&gt;Younata, as I called it (I use the nick "You" whenever it's available, which is not that often), was an attempt to create a bot that could pass a turing test - at least in reference to the game mafia. What Younata proved, mostly, was that the channel we played in had become so very formulaic that it was possible to make a bot that could more or less pass the turing test - in theory. Younata has never worked as expected.&lt;br /&gt;&lt;br /&gt;The most interesting point here is that, while several people ridiculed younata's instability, no one ever pointed out that Younata proved that the way we played mafia had become so stale that it was possible for a High School Junior* to write a python script to play mafia with us. Looking back, this is rather sad that no one realized what what I (and several others, though I was the one who initiated it) was doing meant in relation to the future of &lt;a href="irc://irc.foonetic.net/#mafia"&gt;#mafia&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;I also want to point out that I'm currently working on a rewrite of Younata, named Youtsuba. Youtsuba, however, will not have the mafia-module written until after I have learned enough computer science to be able to make a serious attempt at it. Until then, Youtsuba will just be a generic irc bot written completely in C. The difference between Youtsuba and Younata is that Youtsuba will be able to play with people who have no idea what a "mass claim" is.&lt;br /&gt;&lt;br /&gt;Also, &lt;a href="http://younata.blogspot.com/2010/03/drone.html"&gt;Lightning&lt;/a&gt;, the name I decided to give the drone, is not being worked on until I have money/parts to build a physical prototype, which will be sometime after I start college. Going to Florida Tech.&lt;br /&gt;&lt;br /&gt; * Note that this was the summer between my junior and senior years of high school, I had no prior experience with most of the computer science topics I now know that I would need to have in order to succeed in writing younata.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3571671935741904346-2144804506386748685?l=younata.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Younata/~4/EXIr5Jw1hXQ" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/2144804506386748685?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/2144804506386748685?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Younata/~3/EXIr5Jw1hXQ/on-mafiabot.html" title="On Mafiabot." /><author><name>Michael "You" Brindle</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://younata.blogspot.com/2010/05/on-mafiabot.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQEQHw5eyp7ImA9WxFQEkU.&quot;"><id>tag:blogger.com,1999:blog-3571671935741904346.post-3541989293959520235</id><published>2010-05-07T18:41:00.000-07:00</published><updated>2010-05-07T18:48:21.223-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-07T18:48:21.223-07:00</app:edited><title>On High School Student Films</title><content type="html">Note: This is also an article in an upcoming issue of my high school's paper, so it's addressed for that audience.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     Many of us have had class projects where you have to make a video or perform a skit. There's always one person in the class whose group will always have a hilarious video. For example, the senior class has [NAME OMITTED]. However, while these videos are hilarious, they suck more than the average vacuum cleaner.&lt;br /&gt;&lt;br /&gt;     What gives me the right to say that your video sucks? Well I get payed to film events, such as weddings, plays, and performances. I earn a nice amount, and is how I'll be financing college for the next few years. You could say I'm good. In addition to doing event videography, I've also written several scripts, and directed a film. I'm a jack of all filmmaking trades. [NAME OMITTED], my editor, is more than slightly envious of me. However, how will this help you?&lt;br /&gt;&lt;br /&gt;     To make a good movie, you need four things: A good script, good actors, a good director and a good editor. If you want a great movie, then you need more, but that's beyond the scope of this article. Only four elements are needed because, if your cast and crew is small enough, then the director will have triple rolls – director of photography, audio guy, and director. Director of photography is just a fancy title for the cameraman, the guy in charge of making sure you have good shots. Most people think that the director of photography is most important job, second only to the director. However, most people are wrong. A movie is half visual and half auditory. The director of photography shares importance with the audio guy, the guy responsible for making sure actors and other sounds are heard, and are at good levels. It's not enjoyable when what looks like yelling sounds like whispers.&lt;br /&gt;&lt;br /&gt;     In terms of scripts, most students tend to do good enough. Good enough means that it's enough to ensure a good grade, but, would definitely not get a contract from any major filmmaking studio. However, what I've noticed from helping with multiple projects are that student scripts have no where near the level of detail required for a good outcome. The saying “90% of everything is planning” applies to filmmaking, and without a well thought out and detailed script – meaning thorough description of the scene, what the actors say, and how the actors say their lines. However, this does not mean to restrict actors and crew members from having some creative license. It's a fine line to balance between being too vague and being too controlling, and is very hard to do. All this means, however, is that, if it is done correct, your script will be so much better than most of the other crap students make.&lt;br /&gt;&lt;br /&gt;     Finally, editing. If 90% of filmmaking is the script, then 9% of filmmaking is editing. Yes, the actual shoot isn't that important. Shooting is just executing the plan. Editing is where the execution is fit to the vision of the script as best as possible. Editing is the most creative part of the art of filmmaking – writing the script is just creative writing. Being the most creative part of filmmaking means that it is not ok to just pull your favorite song from iTunes and put it in the film. It detracts from quality of the film immensely. Instead, learn to either put music that fits with the pace of the film, or fit the pace of the film to the music, or, forgo music altogether, and instead focus on having good sound effects. The third option is called “foley sound”. A major example of foley sound is a woman walking in stilettos. If I were to just film that scene “as-is”, and hope the sound I had captured was good enough, then there's a ton of swampland that I'm interested in buying. Instead, the foley-editor would have a microphone close up to a pair of stilettos, and make the familiar “clacking” sound that stilettos are famous for. While a seamingly large amount of work, it's not. For example, I've produced the sound of a toilet flushing by just filming a toilet being flushed. It's used in a blacked-out scene in my film, Ash, located at &lt;a href="http://www.youtube.com/watch?v=xhfuBkgeNb4"&gt;http://www.youtube.com/watch?v=xhfuBkgeNb4&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;     In conclusion, your video doesn't have to suck. Either get a good cameraman, or learn how to be a good cameraman, then just put in the extra time to make your video not suck. It's honestly not that hard to do.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3571671935741904346-3541989293959520235?l=younata.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Younata/~4/qVopAHxCLZo" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/3541989293959520235?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/3541989293959520235?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Younata/~3/qVopAHxCLZo/on-high-school-student-films.html" title="On High School Student Films" /><author><name>Michael "You" Brindle</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://younata.blogspot.com/2010/05/on-high-school-student-films.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcHR3s7cCp7ImA9WxFQEU8.&quot;"><id>tag:blogger.com,1999:blog-3571671935741904346.post-1157274451937874240</id><published>2010-05-05T22:16:00.000-07:00</published><updated>2010-05-05T22:17:16.508-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-05T22:17:16.508-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="newsbeuter rss feed reader younata michael brindle" /><title>100 is the maximum you need to keep</title><content type="html">For those of us who use rss readers, google reader is pretty much king. For me, that's not true. I have used google reader in the past, and left it for several reasons. The main reason I stopped using it was because I wanted a fast application that allowed me to store articles on my hard drive. I currently use &lt;a href=”http://newsbeuter.org/”&gt;newsbeuter&lt;/a&gt; as my feed reader, and it works wonderfully. Until I decided I wanted to remove a lot of feeds – about 3 or 4 months worth of &lt;a href=”http://news.ycombinator.com”&gt;hacker news&lt;/a&gt; feeds – a little bit under 4000 articles (it's a news aggregation site, what do you expect?).&lt;br /&gt;It was at this point that I discovered that I could simply set a limit of about 100 articles per feed, and I'd be fine.&lt;br /&gt;Looking at my other feeds, I noticed that my non-news aggregation feeds – the ones I actually read – were at about 20-30 articles each. Extrapolating to the future, whenever any of these feeds reaches 100 articles, I highly doubt I'd actually care enough about it to still want it stored in newsbeuter's sqlite database. Even if I did like an article enough to want to keep it, I can simply use newsbeuter's save command to save the article to a .txt file in ~/Articles.&lt;br /&gt;So, while completely arbitrary, I find that keeping 100 articles works very well. Your mileage may vary, of course, but I don't expect it'll be below 100.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3571671935741904346-1157274451937874240?l=younata.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Younata/~4/VhtQAFqF2bw" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/1157274451937874240?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/1157274451937874240?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Younata/~3/VhtQAFqF2bw/100-is-maximum-you-need-to-keep.html" title="100 is the maximum you need to keep" /><author><name>Michael "You" Brindle</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://younata.blogspot.com/2010/05/100-is-maximum-you-need-to-keep.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQHQXY4eip7ImA9WxFSFkg.&quot;"><id>tag:blogger.com,1999:blog-3571671935741904346.post-2988365213240213407</id><published>2010-04-16T18:28:00.000-07:00</published><updated>2010-04-18T22:02:10.832-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-18T22:02:10.832-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="apple developer 3.3.1 sdk terms of service" /><title>On Apple's new developer ToS.</title><content type="html">Of those of us who care about how Apple is saying "thou shalt not use any language other than C, C++, or Objective-C in the presence of the iPhone", most of the people complaining are the people who are DOING IT WRONG.&lt;br /&gt;I'm sorry, but flash is retarded. Yes, there is a lot of content on the web that relies on flash, however, it is possible to surf the web without flash installed. For example, I do it all the time. If someone links me to a youtube video, there is a nice &lt;a href="http://bitbucket.org/rg3/youtube-dl/"&gt;python script&lt;/a&gt; that'll download it for you, to watch on your own time, using a non-crap interface. If someone links me to a flash game that "I have to play", I tell them "no, I have better things to do with my time", because, honestly, there are about 3 original flash games out there, and all of them have iphone/ipod touch versions available. The remaining 90% of flash content on the web are ads, which means that not running flash gives better results than having ad-block.&lt;br /&gt;Of the other languages out there, it is completely possible to set up a web page with, say, perl as a back-end that does everything your app would possibly need to do. It's a free way of programming on the iphone that enables you to bypass all of Apple's censorship.&lt;br /&gt;Now, on the topic of "I don't care, it's the principle of the matter". If you honestly feel that way, then the iPhone is not the phone you want. Go get a Nexus One, it's open source, you can use whatever language you want - so long as it's java, and you won't have this problem.&lt;br /&gt;&lt;br /&gt;Also, as &lt;a href="http://daringfireball.net/2010/04/why_apple_changed_section_331"&gt;Daring Fireball&lt;/a&gt; has already pointed out, the best iphone apps are written in C/C++/Objective-C. This is because they are native and not some crap cross-platform sdk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3571671935741904346-2988365213240213407?l=younata.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Younata/~4/PRr5gWDLpLk" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/2988365213240213407?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/2988365213240213407?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Younata/~3/PRr5gWDLpLk/on-apples-new-developer-tos.html" title="On Apple's new developer ToS." /><author><name>Michael "You" Brindle</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://younata.blogspot.com/2010/04/on-apples-new-developer-tos.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IESXY6fyp7ImA9WxFTFE4.&quot;"><id>tag:blogger.com,1999:blog-3571671935741904346.post-5286965145087394775</id><published>2010-04-04T20:48:00.001-07:00</published><updated>2010-04-04T20:51:48.817-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-04T20:51:48.817-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="I am" /><title>I am</title><content type="html">I am a unix sysadmin.&lt;br /&gt;I am root.&lt;br /&gt;I am a programmer.&lt;br /&gt;I am god.&lt;br /&gt;I am a filmmaker.&lt;br /&gt;I am the creator.&lt;br /&gt;I am a builder.&lt;br /&gt;I am the maker.&lt;br /&gt;I am a student.&lt;br /&gt;I am a learner.&lt;br /&gt;I am many things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3571671935741904346-5286965145087394775?l=younata.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Younata/~4/Yf9POKqDfLY" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/5286965145087394775?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/5286965145087394775?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Younata/~3/Yf9POKqDfLY/i-am.html" title="I am" /><author><name>Michael "You" Brindle</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://younata.blogspot.com/2010/04/i-am.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcNSXkyfip7ImA9WxBUFUQ.&quot;"><id>tag:blogger.com,1999:blog-3571671935741904346.post-8830864697635871867</id><published>2010-03-02T21:06:00.000-08:00</published><updated>2010-03-02T21:28:18.796-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-02T21:28:18.796-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="p38 drone uav unmanned aerial vehicle android g1 dev phone 1" /><title>The Drone</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZkuJXEypmcg/S43vPPEel_I/AAAAAAAAAI8/H9bA2WkP5qA/s1600-h/render.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 191px;" src="http://2.bp.blogspot.com/_ZkuJXEypmcg/S43vPPEel_I/AAAAAAAAAI8/H9bA2WkP5qA/s320/render.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444270569583187954" /&gt;&lt;/a&gt;&lt;br /&gt;For the past month or so, I've been designing a drone.&lt;br /&gt;This past week, I completed the design for the plane, run it by an aerospace engineer friend - who approved of the design, said it will fly -, and have shown off the 3d rendering to people. That's it on the side.&lt;br /&gt;&lt;br /&gt;If it isn't obvious, the design is heavily influenced by the &lt;a href="http://en.wikipedia.org/wiki/p38_lightning"&gt;P38 lightning&lt;/a&gt;, so I only really need a rudimentary design, I already know that it should fly.&lt;br /&gt;&lt;br /&gt;Now, for the brains.&lt;br /&gt;I plan on purchasing an Android dev phone 1 soon, because I need a new phone (current one is 4 years old), and it's the sexiest Android phone on the market, in my opinion. The droid isn't sexy, sorry.&lt;br /&gt;Also, the dev phone is fully open, meaning I will have no moral problem with running my own version of android, which will contain a native app that will serve as the brains to my drone.&lt;br /&gt;&lt;br /&gt;I don't have much details on the actual software. I just know that, for the first version, I plan on the drone just being remote controlled.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3571671935741904346-8830864697635871867?l=younata.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Younata/~4/NZ17lqZPw4w" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/8830864697635871867?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/8830864697635871867?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Younata/~3/NZ17lqZPw4w/drone.html" title="The Drone" /><author><name>Michael "You" Brindle</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ZkuJXEypmcg/S43vPPEel_I/AAAAAAAAAI8/H9bA2WkP5qA/s72-c/render.png" height="72" width="72" /><feedburner:origLink>http://younata.blogspot.com/2010/03/drone.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4MRnY-fSp7ImA9WxBRGEg.&quot;"><id>tag:blogger.com,1999:blog-3571671935741904346.post-6435306593554725419</id><published>2010-01-06T23:43:00.001-08:00</published><updated>2010-01-06T23:56:27.855-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-06T23:56:27.855-08:00</app:edited><title>Case for the Function Comment</title><content type="html">So, first things first, I started work on a command line email client. It will be covered later.&lt;br /&gt;&lt;br /&gt;Now, I have an argument for the "Function Comment", the comment given, right after a declaration of a function in order to explain what that function does.&lt;br /&gt;&lt;br /&gt;I find that the function comment helps to remind me what a function does. It's useful in both writing, and editing the code, because it helps to keep me from straying from what the function is supposed to do, and it helps to remind me why I wrote that function.&lt;br /&gt;&lt;br /&gt;For example, this is from the function I'm writing right now (It's not even in the svn, it's so new):&lt;br /&gt;&lt;code&gt;struct message_info(char** folders, char* folder, int message)&lt;br /&gt;{ &lt;br /&gt;    /* ok. this will go read a message, and it'll return:&lt;br /&gt;        date recieved&lt;br /&gt;        read/unread&lt;br /&gt;        sender&lt;br /&gt;        subject&lt;br /&gt;        amount of lines&lt;br /&gt;    */&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;That's it. That's all I have for that function at the moment. But it's enough, so that when I decide to go in and finish that function, I don't have to look at my "TODO" file (which has that exact same information, only it requires me to have another terminal open so that I can be looking at it).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3571671935741904346-6435306593554725419?l=younata.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Younata/~4/LrTS-2jrkrk" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/6435306593554725419?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/6435306593554725419?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Younata/~3/LrTS-2jrkrk/case-for-function-comment.html" title="Case for the Function Comment" /><author><name>Michael "You" Brindle</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://younata.blogspot.com/2010/01/case-for-function-comment.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIHQn44cSp7ImA9WxJVF00.&quot;"><id>tag:blogger.com,1999:blog-3571671935741904346.post-7965386163389465391</id><published>2009-07-04T01:48:00.000-07:00</published><updated>2009-07-04T04:22:13.039-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-04T04:22:13.039-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux unix freebsd firefox michael younata brindle file permissions" /><title>Always check your file permissions</title><content type="html">Firefox 3.5 came out recently. I've had disagreements with people over when, but within the past 48 hours is pretty much accepted (as of July 4th, 2009, at 1:20 am PST). This is the first release of any software since Mac OS X 10.4 Tiger that I've been "excited" about. Mainly because of the inclusion of the html 5 video tag. As a web developer (meaning I can design and create websites, though I do not do this professionally), and a videographer, this excites me because I don't have to rely on a proprietary format in order to display video within a webpage.&lt;br /&gt;&lt;br /&gt;Hearing that firefox 3.5 included support for the html 5 video tag, I was excited enough to go and download it from mozilla's website, instead of waiting for debian (as is recommended, either written or unwritten) to update &lt;a href="http://en.wikipedia.org/wiki/Iceweasel"&gt;iceweasel&lt;/a&gt;. Looking at the firefox logo after... pretty much a year and 3-4 months of not seeing it (about the time I switched from opensuse linux to debian linux), was... pleasant.&lt;br /&gt;&lt;br /&gt;After using the latest firefox for about... half an hour or so, I decided that my freebsd machine should get firefox 3.5. I've had problems with running firefox on that machine for quite a bit, so the default graphical browser that I use is &lt;a href="http://www.twotoasts.de/index.php?/pages/midori_summary.html"&gt;midori&lt;/a&gt;. When I go to install firefox, it tells me that I need to update my installed ports (expected, I had just updated them, but had not installed). After waiting for that to finish (because it installs from source, which is just easier to manage packages if they are installed from source), I go to install firefox. It took quite a while to compile (hey that rhymes!). Then when I go to use it, nothing happens. I try to start it from the command line, nothing happens (really, it just takes about half a second, and doesn't display anything). So, I decide "eh, whatever", and deinstall it. An hour later, I decide that I ought to try again. I wait forever, nothing happens, then I deinstall it.&lt;br /&gt;Then I did research on the internet about why. Turns out if I were to run it as root, it would have (probably) run just fine. Which would mean that it's a file permissions problem in a file that firefox depends on.&lt;br /&gt;So, now, it's about 1 am, july 4th, and I decide to try and install it again, so I can test that theory.&lt;br /&gt;&lt;br /&gt;UPDATE&lt;br /&gt;forgot to properly end it.&lt;br /&gt;&lt;br /&gt;So, after staying up and letting firefox 3.5 build from source, I have ran it as root, just briefly, because running any application as root when it doesn't need root privileges. It did run, brought up a browser window. That was enough to tell me that it was a file permission problem that caused it to not run.&lt;br /&gt;&lt;br /&gt;So, the moral of the story? If it doesn't run under normal circumstances, run it as root. If it runs, then go and check make sure that there are no file permission problems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3571671935741904346-7965386163389465391?l=younata.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Younata/~4/Eo9-mnOx5Pc" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/7965386163389465391?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/7965386163389465391?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Younata/~3/Eo9-mnOx5Pc/always-check-your-file-permissions.html" title="Always check your file permissions" /><author><name>Michael "You" Brindle</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://younata.blogspot.com/2009/07/always-check-your-file-permissions.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMFR38zeSp7ImA9WxJXFE4.&quot;"><id>tag:blogger.com,1999:blog-3571671935741904346.post-1215011012471261253</id><published>2009-05-18T20:03:00.000-07:00</published><updated>2009-06-07T21:13:36.181-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-07T21:13:36.181-07:00</app:edited><title>XMMS2 controlled by a wiimote.</title><content type="html">For quite some time, I've been wanting to be able to use a wiimote to control my audio program.&lt;br /&gt;Well, after finishing &lt;a href="http://younata.blogspot.com/2009/05/you-presents-intruder-twitter.html"&gt;this&lt;/a&gt;, I spent a few days figuring out what I next wanted to do, before remembering "hey, I can use it to control &lt;a href="http://wiki.xmms2.xmms.se/wiki/Main_Page"&gt;XMMS2&lt;/a&gt;!" Then I spent a few hours coding it up. However, I could not compile or test it until today (18 May 2009) because the computer I would run it on (the one with built in bluetooth) was busy doing an &lt;a href="http://www.freebsd.org/releases/7.2R/announce.html"&gt;update&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;However, once it finished it's update today, I was able to test my xxms2Wiimote program. After a bit of tweaking and debugging, I was able to get it running in a way that I like it to.&lt;br /&gt;&lt;br /&gt;You can find the source code &lt;a href="http://pastebin.com/f4a81f88f"&gt;here&lt;/a&gt; [pastebin.com].&lt;br /&gt;&lt;br /&gt;It should be noted that this program relies on the &lt;a href="http://wiiuse.net/"&gt;wiiuse&lt;/a&gt; library, and it uses the xmms2 program for the main music stuff, as well as &lt;a href="http://espeak.sourceforge.net/"&gt;espeak&lt;/a&gt; for reading out status events (such as battery level, the usage, and I think that's it)&lt;br /&gt;&lt;br /&gt;This code is more or less cross-platform, with the only thing that does not work on windows being the increment/decrement volume (which requires aumix to be installed). Wiiuse and espeak are not currently available on osx, so it will not work on a mac, though Wiiuse is in the process of porting to osx, and once that happens, I can easily port this to the mac using the say command instead of espeak.&lt;br /&gt;&lt;br /&gt;This program uses both the xmms2 daemon and the command line client. I could probably make it lighter by dealing directly with the daemon, but it was easier to deal with the daemon through the command line client. That said, I will probably get around to changing the code to deal with the daemon sometime this summer, if I don't just say "**** it, it's good enough as is" and leave it be, because it probably won't make that much of a difference in performance.&lt;br /&gt;&lt;br /&gt;The controls are as follows:&lt;br /&gt;&lt;br /&gt;up: skip ahead 1 second&lt;br /&gt;down: go back 1 second&lt;br /&gt;right: next song in playlist&lt;br /&gt;left: previous song in playlist&lt;br /&gt;B: play/pause&lt;br /&gt;A: stop music&lt;br /&gt;plus: increment volume LINUX ONLY&lt;br /&gt;minus: decrement volume LINUX ONLY&lt;br /&gt;home: read out battery status&lt;br /&gt;1: change to playlist given in first command line argument (e.g. "./xmms2Wiimote playlist" and hitting the 1 button would change the current playlist to "playlist")&lt;br /&gt;2: change to playlist given in second command line argument (e.g. "./xmms2Wiimote playlist1 playlist2" and hitting the 2 button would change the current playlist to "playlist2")&lt;br /&gt;&lt;br /&gt;Note: does not require any command line arguments, but no more than two playlists will be accepted.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3571671935741904346-1215011012471261253?l=younata.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Younata/~4/RjaipnttfAs" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/1215011012471261253?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/1215011012471261253?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Younata/~3/RjaipnttfAs/xmms2-controlled-by-wiimote.html" title="XMMS2 controlled by a wiimote." /><author><name>Michael "You" Brindle</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://younata.blogspot.com/2009/05/xmms2-controlled-by-wiimote.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIGRnk8fyp7ImA9WxBVFkw.&quot;"><id>tag:blogger.com,1999:blog-3571671935741904346.post-6241464670903574394</id><published>2009-05-13T15:20:00.000-07:00</published><updated>2010-02-19T12:48:47.777-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-19T12:48:47.777-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="michael brindle you younata intruder twitter door broken circuit prototype hack project" /><title>You presents Intruder Twitter.</title><content type="html">I wanted to do something involving a wiimote and/or an arduino, because I had bought an arduino about 2 months before starting and wanted to do some kind of project with it. I am also a rather security conscious individual, so I figured I could install something to let me know when someone's in my room without my permission (or, at least, when my door is opened without my permission).&lt;br /&gt;So, what this does is, an arduino is wired up to the door, so that one wire, connected to the 5v power is touching the door lock when the door is closed, while the other one, which is hooked up to pin 8, is touching the door lock, but in a separate place, so that I don't get a false reading (Which, someone wanting surreptitious entry, could probably just move the wires so they are touching, or put a jumper wire on them, but this IS a prototype, I'll work out the hardware bugs later).&lt;br /&gt;However, if the door is opened (meaning the circuit is broken), then the arduino will send a signal back to the computer, which basically is "hey, uh, something's wrong." (actually, it sends "1" to the computer, but "hey, uh, something's wrong." sounds better).&lt;br /&gt;I have a program, written in C, which will monitor the file the arduino will be writing to (/dev/ttyUSB0; I run linux), and, if there is stuff written to /dev/ttyUSB0, then it will tweet, using the users account (command line argument given when the program is run, which would be ./intruder email twitter-password) "Unauthorized room entry at (asciitime)", unless the program receives a &lt;a href="http://en.wikipedia.org/wiki/Konami_code"&gt;special code&lt;/a&gt; from the wiimote (of course, adjusted for a &lt;a href="http://lh3.ggpht.com/_ZkuJXEypmcg/SgUC0xXGTVI/AAAAAAAAAHk/pT-gNX1dQbI/s640/dscn2216.jpg"&gt;wiimote held using two hands&lt;/a&gt;, which, on second thought, probably isn't the most secure thing to do. However, it is definitely the most awesome thing to do.) Once the program receives the special code from the user, it will then terminate and the arduino will have no one to report to.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3571671935741904346-6241464670903574394?l=younata.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Younata/~4/XDmFuiUVH-U" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/6241464670903574394?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3571671935741904346/posts/default/6241464670903574394?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Younata/~3/XDmFuiUVH-U/you-presents-intruder-twitter.html" title="You presents Intruder Twitter." /><author><name>Michael "You" Brindle</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://younata.blogspot.com/2009/05/you-presents-intruder-twitter.html</feedburner:origLink></entry></feed>

