iRihttp://www.jerf.org/iri/Tagline pending.en-usThu, 08 Dec 2011 02:17:45 -0000 (A not-quite twitterable bug report for @Netflixhelps:) Setting family controls on the XBox 360 (system-level ... http://www.jerf.org/iri/post/2913 <p>(A not-quite twitterable bug report for <a href='http://twitter.com/#!/Netflixhelps'>@Netflixhelps</a>:) Setting family controls on the XBox 360 (system-level preference) to G correctly causes unrated content or content rated higher than G to display the locked-out icon. In the previous version, navigating to one of them and pressing A would prompt for the family password, then unlock all the covers. You'd have to enter the family code again to watch. In this version, if you navigate to a locked folder and press A, you get the family code entry, but upon successful entry you immediately begin watching the selected video. There appears to be no way to unlock the covers. Combined with the new delay before showing the name of the video at the bottom of the screen and it has become very frustrating to navigate.</p> <p>As a proper bug report:</p> <ol><li>On a running XBox, press the XBox button on the controller to bring up the 5-pane menu (that has not changed in this update). Press right twice to get to "Settings" and enter Family Settings.</li><li>Turn Content Controls "On".</li><li>Create a passcode on this screen.</li><li>In Ratings and Content, set the Movie and TV rating to PG and TV-PG.</li><li>Save and Exit</li><li>Go to the Netflix Application.</li><li>Find a cover that is locked out and select it. (There should be plenty around.)</li><li>Press A and enter the family code correctly.</li></ol> <p>Expected result: All locked-out covers unlock and become visible, no videos start. Family code entry still required to begin a video (though I would not be upset if that was no longer necessary).</p> <p>Actual result: The chosen video begins playing immediately.</p> <p>You can email me at jerf@jerf.org if you need more information, though I don't check that very often.</p> jerf@jerf.org (jerf)Thu, 08 Dec 2011 02:17:45 -0000http://www.jerf.org/iri/post/2913Administrative On Leadership http://www.jerf.org/iri/post/2912 <p>When I was younger, I thought leadership was oversold, and what really mattered were the people on the team.</p> <p>I have recanted this belief.</p> <p>I still don't entirely understand why leadership is so important, but the experience I've collected over the years is pretty clear on the matter. My best guesses are that it is some combination of the following:</p> <ol><li>It is true that the performance of a team is bounded on top by both the quality of the team and the quality of the leadership, but people tend to badly underestimate how much quality and talent there is in the world. The average person is above average in some significant way. I would agree world-class results require a world-class team, but for a given team, it's a rare time when the biggest problem the team has is a true lack of talent. I'm sure it happens, but I've never witnessed it in 15 years, whereas I've witnessed many teams failing to live up to their obvious potential because of bad leadership. So, in a sense it is true that neither leadership nor team talent is more important, but in practice, since team talent is generally a given the leadership will be the most important determining factor between failure and success.</li> <li>It is true the team is who provides the day-to-day progress on a problem, but it's generally the leadership making a lot of little decisions that add up over time; little words that affect morale, small key decisions that affect efficiency by a few percent, that little bit of vision-from-experience that avoids blowing a few days on a bad path, the careful selection of problems to personally take on. It adds up to a lot, and especially when the leadership is blowing these little calls consistently, no team is good enough to undo the damage... especially when the leadership actively prevents the repairs!</li></ol> <p>I do agree that it's important not to fetishize leadership and never to forget the team gets credit too, but over the years my estimation of the importance of true leadership has been going consistently up, not down.</p> <p><small>A fixed up version of <a href='http://news.ycombinator.com/item?id=2724946'>this post of mine</a>.</small></p> jerf@jerf.org (jerf)Mon, 04 Jul 2011 01:17:48 -0000http://www.jerf.org/iri/post/2912Bloviation It&#39;s time for gas stations to drop that nine tenths of a cent off their ... http://www.jerf.org/iri/post/2911 <p>It's time for gas stations to drop that nine tenths of a cent off their signs.</p> jerf@jerf.org (jerf)Fri, 29 Apr 2011 19:17:21 -0000http://www.jerf.org/iri/post/2911Bloviation Review: Learn You a Haskell for Great Good! http://www.jerf.org/iri/post/2910 <p><a href='http://nostarch.com/lyah.htm'>Learn You a Haskell for Great Good! (A Beginner's Guide)</a> by Miran Lipovača, published by <a href='http://nostarch.com/'>No Starch Press</a> (2011). No Starch was kind enough to send me an advance copy for review.</p> <p>Haskell books for "real programmers" are still thin on the ground, being limited at the moment to Real World Haskell (2008) and possibly Programming in Haskell (2007). As its introduction states, this book is aimed at existing programmers who are currently fluent in something like Java, C++, or Python, and would like to learn Haskell.</p> <p>I put my take on the traditional discussion of <a href='http://www.jerf.org/iri/post/2908'>why you should consider learning Haskell</a> in another blog post, so we can get on with the review here.</p> <p>The hardest thing about learning Haskell with no previous functional experience is bootstrapping the strong foundation that you've long since taken for granted in your imperative language. If you don't have this strong grasp of the fundamentals, then every line of code is an invitation to get stuck on some subtle issue, and you'll never have the fluency that great work requires until you have that foundation.</p> <p>This book is the best way I know to obtain the Haskell foundation you need for fluency.</p> <p><a href="http://www.jerf.org/iri/post/2910">Read the rest...</a></p> jerf@jerf.org (jerf)Thu, 21 Apr 2011 01:33:53 -0000http://www.jerf.org/iri/post/2910ProgrammingReviews About Jeremy Bowers http://www.jerf.org/iri/post/2909 <p>jerf.org is a website where I partition off the part of my life that makes for boring real-life conversation. In real life, you can go a very long time without hearing me ramble about politics or the other things I go on about on this website. Going on about those things is the entire <i>purpose</i> of this website, whereas my music, TV, work life, and family life are saved for real life. (Though my wife has started a <a href='http://heather.jerf.org/'>family blog</a>.)</p> <p>But as long as you're here, you ought to be given some context about who I am.</p> <div class='StorySubsection'>Personal/Identity</div> <p>My name is Jeremy Bowers, I was born in 1978, and am a Michigan native in all but fact; born in Kentucky but moved to Michigan when I was two and remember nothing else. I obtained my Bachelor's and Master's degree in Computer Science from Michigan State University, and have been working in the computer industry since the end of my freshman year. I'm married, have two young boys, and am currently employed as a software engineer at Barracuda Networks.</p> <p>I am:</p> <ul><li><a href='mailto:jerf@jerf.org'>jerf@jerf.org for email</a> (though I tend to check only every few days)</li> <li><a href='http://news.ycombinator.com/user?id=jerf'>jerf on Hacker News</a></li> <li><a href='http://www.reddit.com/user/jerf/'>jerf on reddit.com</a></li> <li><a href='http://slashdot.org/~jerf'>jerf on Slashdot</a>, though I rarely do anything there anymore</li> <li>My real name on a number of blog posts, but only when I link to http://jerf.org/iri as my homepage.</li></ul> <p>Github hopefully coming soon (nothing to show yet). </p> <p>Anything else may or may not be me. I am not jerf.com, jeremybowers.com, or any other top-level domain, nor am I the only Jeremy Bowers on the Internet, or even the only programmer with that name. I am also not on Facebook or any other social site.</p> <div class='StorySubsection'>Computers</div> <p>I've known ever since I was very young that I was going to go into computing. In the early 1980s, my father read the tea leaves correctly and believed that computers were going to be an important part of the future. That may seem obvious now, but even computer professionals of the time would not have believed how it turned out; I think he scored pretty well for the time. He bought a Commodore 64 and a magazine subscription to <a href='http://en.wikipedia.org/wiki/COMPUTE!%27s_Gazette'>COMPUTE!'s Gazette</a>, and I was eventually hooked, not only on the game playing (as some of my peers were) but on the actual computer itself. I typed programs in from the back of the magazine, even wrote some dinky BASIC programs of my own.</p> <p>What follows is pretty much the standard computer geek story, terminating in the aforementioned Bachelor's and Master's degrees, and several programming jobs. For a (necessarily abbreviated) skills list, consult my <a href='http://jerf.org/me/resume.html'>resume</a>, which by the time you read this is almost certainly out of date yet again; I'm one of those people who tends to pick up skills on a whim. The latest acquisition has been Haskell, which I hope to re-implement this website in over the next few months.</p> <p>I have learned that I am a pretty good holistic software engineer. I can be handed a very large task (i.e., on the order of years) and in reasonable periods of time put together an architecture and implementation that solves the problem very well, and I've found I have a well-above-average ability to predict what the problems will be before they occur and solve them in the design phase. I am also fairly good at refactoring my way into a solution if at all possible, rather than rewriting from scratch. There are people faster than me on a defined task, there are those who are more detail oriented, there are those who can hold more information in their head at once than me, but I have found my skills as a software "architect", who is also implementing the design, are relatively strong.</p> <p>I believe this arises from the fact that I have always straddled the border between "theory" and "practice", the two major branches of the computer world, and I've been able to put this fact into extremely practical use in my jobs. Neither of the two really reach their full power until married to the other.</p> <p>Here are all my <a href='http://www.jerf.org/iri/categories/Programming/'>programming posts</a>.</p> <div class='StorySubsection'>Interest in the Law and the Internet</div> <p>This blog actually started in January 2000 as "iRights", a blog focused on the intersection of the law and the Internet. It is likely that this is technically one of the first 100 blogs in the world, though it might have been a close thing.</p> <p>Like most people, I was virtually oblivious to the intellectual property, free-speech, censorship, and other assorted controversies swirling around the internet (other then a small high-school paper on the topic, predating my actual access to the Internet), until one day I met a now-defunct program called Third Voice. Third Voice allowed users to leave "notes" on any web page that other Third Voice users could access. If you didn't use Third Voice, you would never know these "notes" were attached to the page. My initial reaction to the software was one of cautious approval. . . the idea certainly has a certain kind of "stick-it-to-the-man" appeal to it, which was the motivation for its creation.</p> <p>But my approval quickly soured as I started digging a little deeper into the program. At the time, I was working for Michigan State University's Human Resources department, and just that day had been working on a system that contained potentially sensitive information like Social Security numbers and work attendance patterns. I had just finished working with some moderately complicated client-side Javascript (do you know how hard it was to write Javascript that works in Netscape 3.0, 4.0, and Internet Explorer 4+? IE6 is a paragon of the browser form by comparison to either of those... but I digress...), and I was well aware of the capabilities of Javascript in the browser Third Voice was running in. Third Voice had closed the most obvious security flaws (by forbidding users to embed &lt;SCRIPT&gt; tags in their comments), but there were some slightly less obvious holes that I was able to exploit to cause arbitrary script codes to execute, which would allow nearly arbitrary capturing of information entered on the web if people clicked on a "poisoned" note. Which people would and did, as another group who independently discovered another hole found out. (See the Wired article <a href='http://www.wired.com/news/technology/1,1282,20636,00.html'>Third Voice Rips Holes in the Web</a>.)</p> <p>That discovery made me take a second look at the program, and as a result I got my first <i>practical</i> introduction to the issues surrounding the Internet. As I learned about things like copyright law to further refine my opinion about Third Voice, my interest expanded to include the impact of law on all aspects of the Internet. . . and the eventual inevitable impact of the Internet on the law.</p> <p>That's why I started iRights. iRights was meant to track news, identify trends, theorize about what's happening, and it even spun off into a bit of research on ways to communicate on the Internet, when I developed a program somewhat similar to what would eventually become Trackbacks, though my approach had several flaws that precluded it ever succeeding on the Internet at large.</p> <p>While I still care about these issues, I have stopped writing about them extensively for two reasons. First, I started iRights right at the beginning of the popularization of weblogs, and there were no weblogs tracking those issues. While I'm still not aware of a weblog dedicated to such issues, there are many weblogs where the author takes an interest and it is no longer an uncovered field.</p> <p>Second, I wrote an <a href='http://www.jerf.org/iri/blogbook/communication_ethics'>essay detailing my conclusions about the ethics of communications in the Internet age</a>. This essay turned out to be pretty much everything I have to say about the topic. It was published in 2003, and while I have been tempted to go back and take a pass at simply improving the writing and updating the examples, I have not seen any need to change the conclusions themselves. I think that actually says a lot about the quality of the idea, if perhaps not the presentation.</p> <div class='StorySubsection'>Blog</div> <p>My weblog posting frequency is now pretty low. This has partially been life circumstances making it hard to post, and partially been because I really don't like simply repeating myself over and over. And, let's be honest, isn't that what a lot of blogging is? In fact one of the primary purposes of this website is to put stuff up here I keep repeating. I post as I have things to say.</p> <p>On a technical level, the archives get to be a bit of a mess as you go back in time as I have used three distinct web log software packages: Manila from Userland Software, PyDS, and my own home-grown package in Django, which I expect to follow up with my own home-grown package in Haskell soon. At that point I intend to go clean things up.</p> jerf@jerf.org (jerf)Fri, 15 Apr 2011 18:55:52 -0000http://www.jerf.org/iri/post/2909Administrative