<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Caleb Cushing's Blog</title><link>/</link><description>Recent content on Caleb Cushing's Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Copyright © 2008-2021 Caleb Cushing. This work is licensed under a [Creative Commons Attribution-NonCommercial 4.0 International License](https://creativecommons.org/licenses/by-nc/4.0/)</copyright><lastBuildDate>Thu, 28 May 2020 13:22:49 -0500</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml"/><xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item><title>Gradle With Gdub</title><link>/post/gradle-with-gdub/</link><pubDate>Thu, 28 May 2020 13:22:49 -0500</pubDate><guid>/post/gradle-with-gdub/</guid><description>So I found this cool tool the other day when researching how to do Gradle multi-module (monorepo). The tool is called gdub and what it does, is it behaves more or less like git, instead of having to be in the directory with ./gradlew all you have to do is be in the directory, or a sub directory, and it will fall back to gradle on the path if ./gradlew isn&amp;rsquo;t present.</description></item><item><title>Beware of SQL injection with Spring Boot and Flyway</title><link>/post/sql-injection-with-spring-boot-and-flyway/</link><pubDate>Mon, 01 May 2017 00:00:00 +0000</pubDate><guid>/post/sql-injection-with-spring-boot-and-flyway/</guid><description>So this is a hard to accomplish exploit, and is really only accomplishable by first exploiting another exploit first, or by an employee with some level of trusted access, though this employee might not normally have actual database access. I do believe you should be aware of it, as it leaves open an avenue you may not be thinking of.
A sample application So the first thing we need is an application that uses Flyway, let&amp;rsquo;s just use the Spring Boot Flyway Sample.</description></item><item><title>From Perl to Java</title><link>/post/from-perl-to-java/</link><pubDate>Thu, 30 Mar 2017 00:00:00 +0000</pubDate><guid>/post/from-perl-to-java/</guid><description>What&amp;rsquo;s next This is my last post that targets IronMan. So if you want to keep reading my blog, which will probably argely be a mix of security, and java with occasional dev ops, please subscribe directly. If you have suggestions for what categories I should collect things under fee free to comment. Currently the only for sure category is Security.
Why not Perl? This post is 3 years in the making.</description></item><item><title>Goodbye blogger, migrating this weekend</title><link>/post/goodbye-blogger-migrating-this-weekend/</link><pubDate>Fri, 17 Mar 2017 08:41:41 -0500</pubDate><guid>/post/goodbye-blogger-migrating-this-weekend/</guid><description>Well it&amp;rsquo;s the end of a decade of blogging with blogger for me. Though you&amp;rsquo;ve probably noticed I haven&amp;rsquo;t really been blogging for the last 2 years. I hope that&amp;rsquo;s a combination of these 2 things, but no promises.
writing a tech blog with blogger is incredibly painful when I switched from Perl to Java I wasn&amp;rsquo;t an expert, and had little to contribute So I&amp;rsquo;m sure you&amp;rsquo;re wondering what I&amp;rsquo;ve switched to?</description></item><item><title>Log (CRLF) Injection with SLF4J</title><link>/post/log-crlf-injection-with-slf4j/</link><pubDate>Mon, 27 Feb 2017 04:00:00 +0000</pubDate><guid>/post/log-crlf-injection-with-slf4j/</guid><description>At my job we have a CIO installed policy of remediating issues found by a static analysis tool and what it finds are most targeted at finding security issues. Currently this tool is Veracode, and I don&amp;rsquo;t recommend it, it misses more problems than it finds, and what it finds, including this issue, are often false positives. Our most common issue, is CRLF (Carriage Return Line Feed) or other log injection, which we have mitigated in a custom log appender (which Veracode doesn&amp;rsquo;t recognize).</description></item><item><title>Falsehoods programmers believe about versions</title><link>/post/falsehoods-programmers-believe-about-versions/</link><pubDate>Tue, 04 Aug 2015 10:40:00 +0000</pubDate><guid>/post/falsehoods-programmers-believe-about-versions/</guid><description>given Jeff Atwoods recent blog post and an inspiration today for me to write a &amp;ldquo;falsehoods&amp;rdquo; about versions.
If you&amp;rsquo;d like to contribute yours please feel free to send me a pull request, it&amp;rsquo;d be greatly appreciated.
versions always increase versions are numbers versions are strings versions are semantic versions are decimals a major number of 1 or above means stable api versions with the same major number will have the same api versions have numbers, periods, and maybe a preceding v semantic is always the best way to go versions are consistent within a project semantic versions will never see double digits or triple digits within dots at least if you&amp;rsquo;re using a semantic version people can compare it correctly versions will be consistent amongst projects in a given language or community semantic versioning cannot be represented as number or decimal as long as the versions increase the length of the version doesn&amp;rsquo;t matter if versions have the same number they are equivalent in a given archive all code will have the same version semantic versions can only have 3 positions dates are bad for versions versions always increase by exactly one</description></item><item><title>Single Repository, one Aggregate</title><link>/post/single-repository-one-aggregate/</link><pubDate>Thu, 02 Jul 2015 02:00:00 +0000</pubDate><guid>/post/single-repository-one-aggregate/</guid><description>A Repository as defined in Domain Driven Design manages a single Aggregate. An aggregate may contain many entities, and value objects, but will have a single object as its root. Many of the Dao and even now some of the Repository implementations I see do not follow this, they are more likely to have a Repository per entity, than a Repository per aggregate, and of course in some cases this is required for various reasons.</description></item><item><title>Continuous Integration with Wercker and Maven</title><link>/post/continuous-integration-with-wercker-and-maven/</link><pubDate>Sat, 20 Jun 2015 14:40:00 +0000</pubDate><guid>/post/continuous-integration-with-wercker-and-maven/</guid><description>I&amp;rsquo;m going to walk you through getting mvn test running in wercker, on the new docker based api.
First let&amp;rsquo;s talk about what Wercker is and why you&amp;rsquo;d want to use it. Wercker a continuous integration and deployment web application. It will all you to run any language or stack. It currently is free for both private and public repositories; I am hopeful that once it comes out of beta it will maintain reasonable pricing for small personal private projects (Most CI&amp;rsquo;s are ridiculously priced for hobby projects).</description></item><item><title>Abandoning all Perl modules</title><link>/post/abandoning-all-perl-modules/</link><pubDate>Sun, 03 May 2015 15:26:00 +0000</pubDate><guid>/post/abandoning-all-perl-modules/</guid><description>As of today I have decided to remove myself as maintainer/co-maintainer of all my Perl modules. Feel free to adopt them</description></item><item><title>Premature optimization is not evil</title><link>/post/premature-optimization-is-not-evil/</link><pubDate>Wed, 07 Jan 2015 20:46:00 +0000</pubDate><guid>/post/premature-optimization-is-not-evil/</guid><description>Or rather people should stop saying this because most of the people that say it don&amp;rsquo;t actually seem to actually know what is meant by &amp;ldquo;Premature Optimization&amp;rdquo; or how to determine when it is evil. I&amp;rsquo;ve heard people say premature optimization is evil to asking. &amp;ldquo;Is there a 3rd party library that does this more efficiently?&amp;rdquo; (knowing if there are better options is premature optimization?), &amp;ldquo;Thinking about architecting your app for horizontal scalability is premature optimization&amp;rdquo; (it is if the design is significantly more complex, but if it&amp;rsquo;s just between using REST and ensuring stateless (which is about the same complexity up front, but it&amp;rsquo;d be harder to convert later)), &amp;ldquo;wanting to do Dependency Injection is.</description></item><item><title>10 ways of implementing Polymorphism</title><link>/post/10-ways-of-implementing-polymorphism/</link><pubDate>Tue, 07 Oct 2014 04:00:00 +0000</pubDate><guid>/post/10-ways-of-implementing-polymorphism/</guid><description>Firstly what is Polymorphism and why is it so important? Polymorphism is the ability to have a many implementations of a behavior that conform to a single interface. Put in perhaps slightly better, pragmatic terms, you have one implementations of a caller, that can operate on many implementations of a &amp;ldquo;parameter&amp;rdquo;, without conditionals, or changing the callers code. For instance the following, pseudo?, Perl 6-ism method handler( $obj ) { $obj.</description></item><item><title>Celebrity nude scandal, on security, an analogy</title><link>/post/celebrity-nude-scandal-on-security-an-analogy/</link><pubDate>Sat, 20 Sep 2014 11:25:00 +0000</pubDate><guid>/post/celebrity-nude-scandal-on-security-an-analogy/</guid><description>Though I won&amp;rsquo;t say they aren&amp;rsquo;t victims of a crime&amp;hellip; What the victims did is fundamentally the equivalent of using skeleton keys in the modern day. What apple did or rather didn&amp;rsquo;t do, is prevent that. Apple could have used a tool like cracklib, and said at the time of password creation, this is too short, this is not random enough, we are refusing to allow you to put this skeleton key lock on your front door.</description></item><item><title>Using Spring to create a full REST API in less than 60 lines of code</title><link>/post/using-spring-to-create-a-full-rest-api-in-less-than-60-lines-of-code/</link><pubDate>Tue, 02 Sep 2014 22:42:00 +0000</pubDate><guid>/post/using-spring-to-create-a-full-rest-api-in-less-than-60-lines-of-code/</guid><description>&lt;p&gt;Spring with Spring Data is awesome. Seriously, I&amp;rsquo;ve never been able to throw up a full HATEOAS REST web service this
fast. To start, I&amp;rsquo;ll admit my headliner lie, I&amp;rsquo;m not counting the &lt;code&gt;pom.xml&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Writing deprecation notices in perl, optionally with Moose</title><link>/post/writing-deprecation-notices-in-perl-optionally-with-moose/</link><pubDate>Tue, 01 Jul 2014 08:49:00 +0000</pubDate><guid>/post/writing-deprecation-notices-in-perl-optionally-with-moose/</guid><description>&lt;p&gt;Sometimes you want to remove behavior from your code in a future version, here&amp;rsquo;s the right way to do it.&lt;/p&gt;</description></item><item><title>Java Privacy, broken by design</title><link>/post/java-privacy-broken-by-design/</link><pubDate>Tue, 03 Jun 2014 04:00:00 +0000</pubDate><guid>/post/java-privacy-broken-by-design/</guid><description>It is worth noting that none of the following arguments apply to anything using the keyword static which makes things more procedural (or in some cases functional, than Object Oriented.
The suggestion in Java is to give the least required permission, but this, in my humble opinion, violates the Open-Closed Principle. Java has four privacy levels. Giving something the least permission required to function is fine in a Security context, privacy in programming however is simply there to discourage developers from doing stupid things.</description></item><item><title>Two Hundred Posts</title><link>/post/two-hundred-posts/</link><pubDate>Tue, 06 May 2014 04:00:00 +0000</pubDate><guid>/post/two-hundred-posts/</guid><description>My blog is 6 years old and 200 posts, and over 120k hits, Probably my first interesting post is when decided I was switching to git from svn, and it&amp;rsquo;s not very interesting, and I think much more poorly written than I write things now. Since then I&amp;rsquo;ve re-skinned the blog to new templates at least twice. I now list books that I recommend on the right side of my blog, and I&amp;rsquo;ve ensured that all content is clearly licensed under the creative commons.</description></item><item><title>REST, ROA, and HATEOAS often leads to bad webservice design</title><link>/post/rest-roa-and-hateoas-often-leads-to-bad-webservice-design/</link><pubDate>Wed, 02 Apr 2014 04:00:00 +0000</pubDate><guid>/post/rest-roa-and-hateoas-often-leads-to-bad-webservice-design/</guid><description>This is not to say that they are bad, but I find that all too frequently the resulting API&amp;rsquo;s are poorly designed due to forgetting one thing, RPC (Remote Procedure Call) is expensive. Now by RPC, I do not mean custom messaging formats such as SOAP, or XML-RPC, I mean calling a method on a remote server. Do not think that just because you are using HTTP as the message format with something like XML or JSON, that calling GET /resource, is significantly all that different from calling get_resource in a SOAP call.</description></item><item><title>Matching Hex characters in a Regex</title><link>/post/matching-hex-characters-in-a-regex/</link><pubDate>Thu, 13 Mar 2014 15:41:00 +0000</pubDate><guid>/post/matching-hex-characters-in-a-regex/</guid><description>I&amp;rsquo;ve noticed a common problem with regular expressions and Hex Characters, so I thought I&amp;rsquo;d blog about it. The most common way to regex a UUID, or SHA1 or some other hex encoded binary value is this (and I&amp;rsquo;ve seen this in Perl libraries and StackOverflow answers).
[a-f0-9] or [A-F0-9]
Neither of these are correct as Hex is case insensitive and both of these regex&amp;rsquo;s are. Hex is most commonly lowercase (unless you&amp;rsquo;re Data::UUID), but that&amp;rsquo;s an aesthetic, not a requirement.</description></item><item><title>The ShareDir Problem</title><link>/post/the-sharedir-problem/</link><pubDate>Thu, 27 Feb 2014 15:47:00 +0000</pubDate><guid>/post/the-sharedir-problem/</guid><description>Some of you may have noticed a while back that converted Pod::Spell to the use of File::ShareDir::ProjectDistDir instead of keeping the wordlist in Pod::Wordlist::__DATA__. This move was made in conjunction with making Pod::Wordlist an Object, and in preparation for a time when you&amp;rsquo;ll be able to specify your own wordlist file. It was also made so that non technical contributors could more easily update the wordlist without going near anything that looked like code.</description></item><item><title>Advent, good idea, but problematic execution</title><link>/post/advent-good-idea-but-problematic-execution/</link><pubDate>Sun, 01 Dec 2013 15:00:00 +0000</pubDate><guid>/post/advent-good-idea-but-problematic-execution/</guid><description>So advent is 24 days of high quality tutorials, and it&amp;rsquo;s great, and ++ too all the people who make articles. But I&amp;rsquo;ve got a problem&amp;hellip; it never shows up in my feed that I read in Feedly (formerly read in Google reader). This is compounded by the fact that there are many advents, each with there own yearly feed&amp;hellip; so each year I have to poke around at the various projects to see if they&amp;rsquo;re doing advent, and if so to subscribe to the feed.</description></item><item><title>Would You Miss Autoderef in 5.20? solutions in search of a problem</title><link>/post/would-you-miss-autoderef-in-5.20-solutions-in-search-of-a-problem/</link><pubDate>Sat, 02 Nov 2013 02:13:00 +0000</pubDate><guid>/post/would-you-miss-autoderef-in-5.20-solutions-in-search-of-a-problem/</guid><description>This is a response to Chromatics blog post Would You Miss Autoderef in 5.20?, because I can&amp;rsquo;t ever get comments to work on his MT for something like a year (500, or some blogger openid incompat).
In all honesty I don&amp;rsquo;t find either particularly interesting. I&amp;rsquo;ve too often been targeting 5.8 or 5.10 for syntax&amp;hellip; @{ $foo } is really the most I&amp;rsquo;ve ever needed,@$foo is nicer, but beyond that don&amp;rsquo;t need it.</description></item><item><title>Providing with Providers and Bread::Board</title><link>/post/providing-with-providers-and-breadboard/</link><pubDate>Wed, 23 Oct 2013 05:56:00 +0000</pubDate><guid>/post/providing-with-providers-and-breadboard/</guid><description>So when I started using Dependency Injection the following problem happened, how do I Inject this dependency when the container is not accessible at this point. Ok, that sentence even confused me a little bit, so what do I mean. Let&amp;rsquo;s say I have a Repository for Products that is injected into my controller. Each Product stored has one or more ProductVariants that is part of it&amp;rsquo;s aggregate, which itself has Nested Categories.</description></item><item><title>Thinking of presenting at YAPC::NA 2014</title><link>/post/thinking-of-presenting-at-yapcna-2014/</link><pubDate>Mon, 02 Sep 2013 04:40:00 +0000</pubDate><guid>/post/thinking-of-presenting-at-yapcna-2014/</guid><description>So I&amp;rsquo;m thinking of proposing some talks for YAPC::NA Orlando, and/or maybe do some training. Here&amp;rsquo;s my thought on what I could do that would be a contribution and different from other talks. For Training it might just be a combination of all of the concepts I could do as individual talks. Basically the idea is &amp;ldquo;I&amp;rsquo;ve learned Perl and Moo[se], now how do I build a large application&amp;rdquo;.
UML SOLID Object Oriented Design Design Patterns Domain Driven Design Patterns of Application Architecture Service Oriented Architectures, REST, ROA, RPC (including RESTful RPC and Resource Oriented RPC), and Pub/Sub ORM Patterns ( Active Record / Data Mapper / Transaction Script ) MVC Layered Architecture Ports and Adapters Dependency Injection ( with Bread::Board ) Let me know your thoughts.</description></item><item><title>Pod::Spell maintained but could use more hands</title><link>/post/podspell-maintained-but-could-use-more-hands/</link><pubDate>Mon, 05 Aug 2013 04:00:00 +0000</pubDate><guid>/post/podspell-maintained-but-could-use-more-hands/</guid><description>Just before my abrupt departure from my former employer, I took over maintaintership of Pod::Spell. I have started working to clean up the code, add modern and more tests, and improve the wordlist. There is much to be done on this front. More tests are needed yet, to ensure no accidental breakage. There&amp;rsquo;s possibly a unicode bug lurking within Pod::Spell. More words are needed for the wordlist. Patches are welcome as I don&amp;rsquo;t have all the time in the world to work on it.</description></item><item><title>Changing default behavior of File::chmod</title><link>/post/changing-default-behavior-of-filechmod/</link><pubDate>Sat, 06 Jul 2013 06:03:00 +0000</pubDate><guid>/post/changing-default-behavior-of-filechmod/</guid><description>File::chmod has been around for a long time, and is really stable, and really hasn&amp;rsquo;t changed since 1999. It is far more user friendly than thechmod() in core Perl. I recently used it for an interview test. It took me a few times to get right however because it&amp;rsquo;s default behavior in symchmod() mode is to use the systems umask. I find this to be very confusing behavior. I actually thought it was a bug at first, and asked for comaint since it hadn&amp;rsquo;t been updated in so long.</description></item><item><title>Moose Interface Pattern with parameter enforcement</title><link>/post/moose-interface-pattern-with-parameter-enforcement/</link><pubDate>Sat, 25 May 2013 13:29:00 +0000</pubDate><guid>/post/moose-interface-pattern-with-parameter-enforcement/</guid><description>Moose interfaces are problematic, for 2 reasons.
They are compile time, but runtime features such as attribute delegation could provide the interface (role ordering is the real problem here) They don&amp;rsquo;t ensure anything other than the method name. I think this problem can be solved better by using around instead of requires
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package Interface::Create; use Moose::Role; use Type::Params qw( compile ); use Types::Standard qw( slurpy HashRef); around create =&amp;gt; sub { my $orig = shift; my $self = shift; state $check = compile( slurpy HashRef ); my ( $obj_args ) = $check-&amp;gt;( @_ ); return $self-&amp;gt;$orig( $obj_args ); }; 1; Ordering of course still matters here as you can have multiple around modifiers on a method.</description></item><item><title>Inversion of Control Principle</title><link>/post/inversion-of-control-principle/</link><pubDate>Thu, 03 Jan 2013 21:00:00 +0000</pubDate><guid>/post/inversion-of-control-principle/</guid><description>If you&amp;rsquo;re not familiar with the term &amp;ldquo;Inversion of Control&amp;rdquo;( IoC ) or &amp;ldquo;Dependency Injection&amp;rdquo; ( DI )you may wish to start with Martin Fowler&amp;rsquo;s post on the subject. If you&amp;rsquo;re looking for a way to do it with Perl, Bread::Board is the way to go. This post however is about the theory behind it, and a path to grokitude if you&amp;rsquo;re finding the concepts challenging. I should advise that I am not yet a buddha on implementation.</description></item><item><title>Override DNS on a Linux system without root</title><link>/post/override-dns-on-a-linux-system-without-root/</link><pubDate>Thu, 06 Dec 2012 21:00:00 +0000</pubDate><guid>/post/override-dns-on-a-linux-system-without-root/</guid><description>I had this problem for a long time, and no one ever proposed a good solution. Recently I got a new answer on my, almost 2 year old, Unix and Linux StackExchange question. This information seems very obscure and so I thought I&amp;rsquo;d share it, if you too have had this problem and were unable to find this, or at least found finding it hard, consider upvoting the answer.
Problem You&amp;rsquo;re using a Linux system that you don&amp;rsquo;t have root on, you need to override the DNS of the system.</description></item><item><title>Business::CyberSource API is stabilizing as of 0.7.x</title><link>/post/businesscybersource-api-is-stabilizing-as-of-0.7.x/</link><pubDate>Wed, 07 Nov 2012 21:15:00 +0000</pubDate><guid>/post/businesscybersource-api-is-stabilizing-as-of-0.7.x/</guid><description></description></item><item><title>Interface Driven Design</title><link>/post/interface-driven-design/</link><pubDate>Sat, 03 Nov 2012 05:37:00 +0000</pubDate><guid>/post/interface-driven-design/</guid><description>What is Interface Driven Design? Interface Driven Design simply means that you should design your software around a flexible, easy to use, easy to understand interface. This is easy to achieve if your objects are of SOLID design. There is a simple table and reference link if you&amp;rsquo;re not familiar with the principles.
My Work is SOLID already Then you&amp;rsquo;re on the right track but it&amp;rsquo;s not enough if you don&amp;rsquo;t fully marry the concept to best practices.</description></item><item><title>UML Tools</title><link>/post/uml-tools/</link><pubDate>Wed, 05 Sep 2012 06:00:00 +0000</pubDate><guid>/post/uml-tools/</guid><description>Why UML? Many people appear to think that modelling is only for academic textbooks and school. Several months ago I worked on a project that failed, for numerous reasons, but some of the reasons were mine. So I set out to figure what it was that I didn&amp;rsquo;t know, that would have allowed me to build this system I had been asked to.
After reading Patterns of Enterprise Application Architecture, Domain-Driven Design: Tackling Complexity in the Heart of Software, and Design Patterns: Elements of Reusable Object-Oriented Software and realizing that all of the great books used UML.</description></item><item><title>Where's 5.16.1?</title><link>/post/wheres-5.16.1/</link><pubDate>Tue, 24 Jul 2012 11:58:00 +0000</pubDate><guid>/post/wheres-5.16.1/</guid><description>Per the 5.12 release announcement
This release cycle marks a change to a time-based release process. Beginning with version 5.11.0, we make a new development release of Perl available on the 20th of each month. Each spring, we will release a new stable version of Perl. One month later, we will make a minor update to deal with any issues discovered after the initial &amp;ldquo;.0&amp;rdquo; release. Future releases in the stable series will follow quarterly.</description></item><item><title>Perl Core Syntax Wishlist: Role Support</title><link>/post/perl-core-syntax-wishlist-role-support/</link><pubDate>Mon, 11 Jun 2012 06:00:00 +0000</pubDate><guid>/post/perl-core-syntax-wishlist-role-support/</guid><description>I want to see Role&amp;rsquo;s added, even PHP got Traits before Perl. It doesn&amp;rsquo;t have to be a huge thing, in fact all I want is the composition aspect. Let me do this:
1 2 3 4 5 6 7 8 9 package MyRole { sub foo { return &amp;#39;test&amp;#39; } } package MyClass { with &amp;#39;MyRole&amp;#39;; ... } MyClass-&amp;gt;new-&amp;gt;foo; I don&amp;rsquo;t really want or need anything else right now, just that would be fine.</description></item><item><title>New Module: MooseX::RemoteHelper (RFC)</title><link>/post/new-module-moosexremotehelper-rfc/</link><pubDate>Mon, 04 Jun 2012 06:00:00 +0000</pubDate><guid>/post/new-module-moosexremotehelper-rfc/</guid><description></description></item><item><title>Perl Core Syntax Wishlist: Class support</title><link>/post/perl-core-syntax-wishlist-class-support/</link><pubDate>Mon, 28 May 2012 06:00:00 +0000</pubDate><guid>/post/perl-core-syntax-wishlist-class-support/</guid><description>I would like to see the classkeyword become part of Perl, but unlike some I don&amp;rsquo;t want it simply because it&amp;rsquo;s nicer syntax. I&amp;rsquo;d like it to behave differently from package. I&amp;rsquo;d basically like to see this class MyClass {method foo { return $self-&amp;gt;{foo} }method info { return load_class(&amp;lsquo;Class::Info&amp;rsquo;)-&amp;gt;new }}to be the equivalent of {use strict;use warnings;use utf8; # so our class can be named with utf8package MyClass {use namespace::autoclean;use Scalar::Util qw( blessed );# use Class::Load qw( load_class );# or similar for a feature that I&amp;rsquo;m hoping will be in Class::Load in the future# for now I&amp;rsquo;ll show with requiresub new { # or something better, point is that there&amp;rsquo;s a default simple constructormy $class = shift;my $self = ref $[0] eq &amp;lsquo;HASH&amp;rsquo; ?</description></item><item><title>Better Exceptions with Exception::Base</title><link>/post/better-exceptions-with-exceptionbase/</link><pubDate>Mon, 21 May 2012 06:00:00 +0000</pubDate><guid>/post/better-exceptions-with-exceptionbase/</guid><description>So I&amp;rsquo;ve done some complaining and explaining about what I&amp;rsquo;d like to see in regards to Exceptions in Perl. I Mostly explained what I wanted for catching Exceptions, and a little on throwing Exception objects, but not really how those objects should behave. I&amp;rsquo;ve looked at and tried various exception modules, including croak, confess, and Throwable. I basically spent time one day reading the manuals of most of the exception objects on CPAN.</description></item><item><title>Perl Core Syntax Wishlist: die should die</title><link>/post/perl-core-syntax-wishlist-die-should-die/</link><pubDate>Mon, 14 May 2012 06:00:00 +0000</pubDate><guid>/post/perl-core-syntax-wishlist-die-should-die/</guid><description>I hate die it is, in my humble opinion, one of the worst parts of perl. I really wish it would be deprecated, and removed, or at least replaced with something that would tell you were the code that was die-ing was being called. Replace its implementation with that of Carp&amp;rsquo;s croak or confess and I&amp;rsquo;d be happy. Better yet, let&amp;rsquo;s just get real exception support and deprecate die (even if that&amp;rsquo;s never removed deprecation just make that real big on its pod).</description></item><item><title>Perl Core Syntax Wishlist: an Exception Stack</title><link>/post/perl-core-syntax-wishlist-an-exception-stack/</link><pubDate>Mon, 07 May 2012 22:30:00 +0000</pubDate><guid>/post/perl-core-syntax-wishlist-an-exception-stack/</guid><description>I have come to wish many things were part of Perl syntax that are not, and no using external modules is not enough for me. I think it&amp;rsquo;s time Perl got the features as part of the language itself (and yes I suppose I could settle for feature.pm, and no I&amp;rsquo;m probably not going to write them myself, I&amp;rsquo;m not smart enough yet). The first of these is a proper exception stack.</description></item><item><title>Adventures with SOAP using Perl: Part 2 ( SOAP::Data::Builder )</title><link>/post/adventures-with-soap-using-perl-part-2-soapdatabuilder-/</link><pubDate>Sun, 11 Mar 2012 16:59:00 +0000</pubDate><guid>/post/adventures-with-soap-using-perl-part-2-soapdatabuilder-/</guid><description></description></item><item><title>Simple scripting CLI with Expect.pm</title><link>/post/simple-scripting-cli-with-expect.pm/</link><pubDate>Sun, 04 Mar 2012 02:04:00 +0000</pubDate><guid>/post/simple-scripting-cli-with-expect.pm/</guid><description></description></item><item><title>Adventures with SOAP using Perl: Part 1 ( SOAP::Lite )</title><link>/post/adventures-with-soap-using-perl-part-1-soaplite-/</link><pubDate>Sat, 22 Oct 2011 15:00:00 +0000</pubDate><guid>/post/adventures-with-soap-using-perl-part-1-soaplite-/</guid><description>The most prevalent of SOAP libraries for Perl is SOAP::Lite it is the oldest and most documented. Though for all of its documentation it can be quite painful to figure out how to use it.
First make sure you&amp;rsquo;ve read Part 0 to set up the server. Once that&amp;rsquo;s done let&amp;rsquo;s look at the most simple way to interface with this server.
In our first example we need to send a request to getCountries, which is a method provided by the API.</description></item><item><title>Adventures with SOAP using Perl: Part 0 ( prelude )</title><link>/post/adventures-with-soap-using-perl-part-0-prelude-/</link><pubDate>Sat, 15 Oct 2011 15:00:00 +0000</pubDate><guid>/post/adventures-with-soap-using-perl-part-0-prelude-/</guid><description>This is a prelude to a series on working with SOAP Requests using Perl. For the past 3 months I have been working on a Perl API for CyberSource&amp;rsquo;s Simple Order API which uses SOAP (I should note, that although I believe most of the API is now stable some area&amp;rsquo;s still need work, and thus I don&amp;rsquo;t expect it to reach 1.0.0 anytime soon).
First I used SOAP::Lite to do my requests, but I found it confusing to construct the requests that I needed to make.</description></item><item><title>Experience with having a non Dist::Zilla user contribute to a Dist::Zilla project (it's not hard for them or me)</title><link>/post/experience-with-having-a-non-distzilla-user-contribute-to-a-distzilla-project-its-not-hard-for-them-or-me/</link><pubDate>Tue, 05 Jul 2011 02:02:00 +0000</pubDate><guid>/post/experience-with-having-a-non-distzilla-user-contribute-to-a-distzilla-project-its-not-hard-for-them-or-me/</guid><description>I&amp;rsquo;ve heard many times that Dist::Zillamakes it harder for people to contribute to the project. This is not true, it is either unfortunately either ignorance or FUD (much like saying Linux is harder to use than Windows). Truly, there are things that some dzil users do that canmake it harder, but it doesn&amp;rsquo;t have to be that way. Michael Schwern recently contributed to one of my dzil projects without ever realizing I was using dzil, until I told him.</description></item><item><title>My solution to not using PluginBundle:AUTHOR for dzil is git</title><link>/post/my-solution-to-not-using-pluginbundleauthor-for-dzil-is-git/</link><pubDate>Sun, 05 Jun 2011 15:24:00 +0000</pubDate><guid>/post/my-solution-to-not-using-pluginbundleauthor-for-dzil-is-git/</guid><description>I am now tired of updating my dist.ini&amp;rsquo;s for my Dist::Zillaprojects. For many people this is when they start using a PluginBundle with their authorname. I discussed why you shouldn&amp;rsquo;t do this a year ago. Now that I&amp;rsquo;m tired of managing my dist.ini&amp;rsquo;s on an individual basis I&amp;rsquo;m going to show you how I&amp;rsquo;m going to solve the same problem everyone else is, which is getting tired of updating your dzil configuration for all of your projects.</description></item><item><title>Regen2 accounts transferred</title><link>/post/regen2-accounts-transferred/</link><pubDate>Sun, 05 Jun 2011 12:56:00 +0000</pubDate><guid>/post/regen2-accounts-transferred/</guid><description>I killed regen2 about 2 years ago. Today I was contacted by Rafal Kupiec asking about the project. Since it&amp;rsquo;s dead he asked if he could take over the project. I have transfered the github account, and freenode channel #regen2 to him. The google groups are remaining archived. At some point in the future there should be a site at asiotec.orgI have no idea what he plans on doing with it.</description></item><item><title>Test::Version under maintenance again</title><link>/post/testversion-under-maintenance-again/</link><pubDate>Wed, 01 Jun 2011 09:50:00 +0000</pubDate><guid>/post/testversion-under-maintenance-again/</guid><description>About 4 months ago russoz (Alexei Znamensky)sent me a message about quoting the versions generated by Dist::Zilla::Plugin::OurPkgVersion. I was a bit skeptical at first about needing it, and the suggestion seemed to have more to do with style anyways. But after digging a little I found to my horror that OurPkgVersion was generating completely invalid multipart version strings, e.g:our VERSION = 0.1.0;Which doesn&amp;rsquo;t work. I was shocked because I was using Test::HasVersion.</description></item><item><title>New beginnings</title><link>/post/new-beginnings/</link><pubDate>Tue, 31 May 2011 23:48:00 +0000</pubDate><guid>/post/new-beginnings/</guid><description>Since I truly last posted a lot has changed. I moved to Houston, TX, USA (from MI) for a position as a Linux System Administrator. As of this week I&amp;rsquo;ve been moved to the programming department in my company, coding Perl. I&amp;rsquo;m also an elected moderator on StackExchange&amp;rsquo;s Unix &amp;amp; Linux. Of course there&amp;rsquo;s always updates to my CPAN dists.</description></item><item><title>Adding and Deleting subdomains with Plesk on the Command Line</title><link>/post/adding-and-deleting-subdomains-with-plesk-on-the-command-line/</link><pubDate>Fri, 29 Apr 2011 07:31:00 +0000</pubDate><guid>/post/adding-and-deleting-subdomains-with-plesk-on-the-command-line/</guid><description>Plesk has the disadvantage that everything is done through thedatabase. So we can&amp;rsquo;t just modify Bind&amp;rsquo;s Zone files.To add an A record of a subdomain you have to do the following:/usr/local/psa/bin/dns -a domain.tld -a subdomain -ip 127.0.0.1the first -a is for add to zone which is why it must specify the toplevel domen, the second is for A record, and must not contain the fulldomain only the subdomain. If you use the full domainsubdomain.</description></item><item><title>Writing a simple Dist::Zilla::Tester test</title><link>/post/writing-a-simple-distzillatester-test/</link><pubDate>Wed, 10 Nov 2010 08:59:00 +0000</pubDate><guid>/post/writing-a-simple-distzillatester-test/</guid><description>Hopefully, someone will use the blog post to write an actual doc patch, seeing as how this is undocumented.
I finally wrote A test for DZP::OurPkgVersion with the help of CJM. So I figure it&amp;rsquo;s best to share the knowledge imparted upon me to all those who are writing plugins without tests.
Before we get started I&amp;rsquo;m going to advise that this test will only check the output that dzil built, if you need it to test anything more sophisticated, you&amp;rsquo;ll have to learn more.</description></item><item><title>Making Secure Recoverable Passwords ( part 3 )</title><link>/post/making-secure-recoverable-passwords-part-3-/</link><pubDate>Wed, 03 Nov 2010 08:12:00 +0000</pubDate><guid>/post/making-secure-recoverable-passwords-part-3-/</guid><description>If you haven&amp;rsquo;t read Part 1please do so.Although the criticism of Part 2should be taken with a grain of XKCD Salt, and even the primary plaintiff admitted that it would take him 2 months to crack the final salted sha512. Usually your attacker shouldn&amp;rsquo;t have your shadow file, and having stored them as anything less is just plain not secure. I will acknowledge it has some merit.Doing a base64 transformation on hex only digits is a bad, idea, and does not have nearly enough possible combinations.</description></item><item><title>Ubuntu isn't Linux, What's a Beginner anyways?</title><link>/post/ubuntu-isnt-linux-whats-a-beginner-anyways/</link><pubDate>Thu, 02 Sep 2010 16:45:00 +0000</pubDate><guid>/post/ubuntu-isnt-linux-whats-a-beginner-anyways/</guid><description>Today Joel Spolsky announced The resultsof the pollof whether ubuntu SEand unix SEwould be merged, they won&amp;rsquo;t. In short the Unix community was in favor of it but the Ubuntu community was not. Joel had this to say: So, Ubuntu, Linux, I get it, it’s clearly not the same thing. If you love Ubuntu, we have a site for you. If you love Linux and Unix, we have a site for you.</description></item><item><title>I need a new favorite OSI license or Why I don't like the GPL anymore</title><link>/post/i-need-a-new-favorite-osi-license-or-why-i-dont-like-the-gpl-anymore/</link><pubDate>Fri, 06 Aug 2010 03:11:00 +0000</pubDate><guid>/post/i-need-a-new-favorite-osi-license-or-why-i-dont-like-the-gpl-anymore/</guid><description>I don&amp;rsquo;t like the GPL anymore after the WordPressThemefiasco. I don&amp;rsquo;t like the idea that a theme, plugin, addon, extension, whatever is &amp;lsquo;derived&amp;rsquo; from the thing it&amp;rsquo;s adding on to and thus must also be GPL.If I build a deck onto the back of my house is that deck derived from my house? No! if I take the blueprints of my house and build another one that&amp;rsquo;s 80% like it is that house derived from my house?</description></item><item><title>Some Stack Exchange site's I'd like to see come to fruition</title><link>/post/some-stack-exchange-sites-id-like-to-see-come-to-fruition/</link><pubDate>Tue, 03 Aug 2010 12:20:00 +0000</pubDate><guid>/post/some-stack-exchange-sites-id-like-to-see-come-to-fruition/</guid><description></description></item><item><title>If you can't beat them, join them</title><link>/post/if-you-cant-beat-them-join-them/</link><pubDate>Mon, 02 Aug 2010 12:53:00 +0000</pubDate><guid>/post/if-you-cant-beat-them-join-them/</guid><description>I have been heavily criticized for criticizing, critiquing, and complaining about lack of quality in open source projects. I have done these things because I care, generally because I care about that specific project, or Open Source (or whatever I&amp;rsquo;m talking about) in general. I&amp;rsquo;ve been attacked, insulted, and sworn at. I&amp;rsquo;ve recently come to the realization that the community support that behavior, to the point that they won&amp;rsquo;t stand up against those doing it.</description></item><item><title>Creating new projects with dzil new and templates</title><link>/post/creating-new-projects-with-dzil-new-and-templates/</link><pubDate>Fri, 30 Jul 2010 18:00:00 +0000</pubDate><guid>/post/creating-new-projects-with-dzil-new-and-templates/</guid><description>Here I talked about creating a new catalyst project using a minting profile for Dist::Zilla. If you don&amp;rsquo;t know how to create a minting profile read that first. I&amp;rsquo;m sure once you&amp;rsquo;ve tried that you&amp;rsquo;ll agree that having a little bit more than the basics in a newly minted dist would be a good thing.
first we need to create our profile.ini correctly
1 2 3 [GatherDir::Template] root = repo include_dotfiles = 1 (note: if you&amp;rsquo;ve got [DistINI] plugin loaded you&amp;rsquo;ll probably want to remove it) Now you can put any file in the subdirectory repo of your profile (if you leave out include_dotfiles = 1 then anything beginning with a .</description></item><item><title>Don't Use Big Words</title><link>/post/dont-use-big-words/</link><pubDate>Mon, 26 Jul 2010 16:54:00 +0000</pubDate><guid>/post/dont-use-big-words/</guid><description>Next time, in promulgating your esoteric cogitations, or articulating your superficial sentimentalities and amicable, philosophical or psychological observations, beware of platitudinous ponderosity. Let your conversational communications possess a clarified conciseness, a compacted comprehensibleness, coalescent consistency, and a concatenated cogency. Eschew all conglomerations of flatulent garrulity, jejune babblement, and asinine affectations.
Let your extemporaneous descantings and unpremeditated expatiations have intelligibility and veracious vivacity, without rodomontade or thrasonical bombast. Sedulously avoid all polysyllabic profundity, pompous prolixity, psittaceous vacuity ventriloquial verbosity, and vaniloquent vapidity.</description></item><item><title>Making re.pl usable</title><link>/post/making-re.pl-usable/</link><pubDate>Sun, 25 Jul 2010 18:00:00 +0000</pubDate><guid>/post/making-re.pl-usable/</guid><description>For starters I&amp;rsquo;m not a super fan of interactive shell&amp;rsquo;s for non-system shells. I don&amp;rsquo;t see the point as much. When I first tried Devel::REPL I didn&amp;rsquo;t like it at all, compared to every other interactive shell I&amp;rsquo;ve used (with the notable exception of Oracle&amp;rsquo;s SQLPLUS, which is the worst shell ever) it was an unfriendly toy not worthy of mention. I couldn&amp;rsquo;t go up in history, there was no tab completion, and all in all the default output was ugly no colors or formatting.</description></item><item><title>Making secure recoverable Passwords (Part 2)</title><link>/post/making-secure-recoverable-passwords-part-2/</link><pubDate>Fri, 23 Jul 2010 21:32:00 +0000</pubDate><guid>/post/making-secure-recoverable-passwords-part-2/</guid><description>This has been prompted by Dave Jacoby&amp;rsquo;s post on generating passwordsand the fact that I&amp;rsquo;ve learned a new trick since my my first article in 2008; which you should read first (it&amp;rsquo;s a prereq).Some might point out that using a hex digest limits the characters that will be generated too much, do this then.echo -n &amp;ldquo;date&amp;rdquo; | sum | base64So let&amp;rsquo;s say you have to change your password every month. Pick a day, let&amp;rsquo;s say the second Tuesday of the month.</description></item><item><title>Annoucing Template::Plugin::Haml</title><link>/post/annoucing-templatepluginhaml/</link><pubDate>Wed, 21 Jul 2010 08:10:00 +0000</pubDate><guid>/post/annoucing-templatepluginhaml/</guid><description>A few months ago we had an assignment in Web Server Admin to create a CGI page, of course the perl was just to print text not actually do anything more, but I decided to use CGI.pmjust because I never had. The whole thing was nothing more than hello world.#!/usr/bin/env perluse 5.012;use CGI qw(:standard);say header,start_html(&amp;lsquo;hello world&amp;rsquo;),h1(&amp;lsquo;hello world&amp;rsquo;),end_html;and I thought, wow I can write all that html with just that? why can&amp;rsquo;t I use that syntax as a templating language.</description></item><item><title>A page for Perl WebHosts?</title><link>/post/a-page-for-perl-webhosts/</link><pubDate>Fri, 16 Jul 2010 00:09:00 +0000</pubDate><guid>/post/a-page-for-perl-webhosts/</guid><description>We need a page linked from Perl.org that says &amp;lsquo;Get Hosted&amp;rsquo; (or something like that). The page will have a list of the top 10 Perl friendly web hosts on it. The top 10 will be determined by people with CPAN ID&amp;rsquo;s voting it up or down (the use of CPAN ID&amp;rsquo;s should prevent spammers from gaming the system like digg get&amp;rsquo;s gamed). It could have in the listing, rank, # of positive votes, business name, site uri, technologies supported (e.</description></item><item><title>I wish my would go away</title><link>/post/i-wish-my-would-go-away/</link><pubDate>Sat, 10 Jul 2010 21:53:00 +0000</pubDate><guid>/post/i-wish-my-would-go-away/</guid><description>I been thinking about it for a few days, and of course consider I know nothing about grammar parsing or how any of this works. I wish the my $var; syntax would go away&amp;hellip; or at least be less necessary. In almost all cases you want a lexical variable and use strict; doesn&amp;rsquo;t allow you to use $var anyways. So what&amp;rsquo;d I&amp;rsquo;d like to see is my become a mostly unnecessary reserved word, make $var a lexical variable by default, e.</description></item><item><title>git workflows</title><link>/post/git-workflows/</link><pubDate>Fri, 02 Jul 2010 08:29:00 +0000</pubDate><guid>/post/git-workflows/</guid><description>If you use git and you&amp;rsquo;re past the tutorialand using it for an actual project, I suggest you take a look at the workflowsmanpage as well. It will give you ideas on how to branch, merge, rebase and cherry-pick.This has been a public service announcement, that is all.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>Announcing Dist::Zilla::Plugin::Catalyst</title><link>/post/announcing-distzillaplugincatalyst/</link><pubDate>Sun, 27 Jun 2010 21:37:00 +0000</pubDate><guid>/post/announcing-distzillaplugincatalyst/</guid><description>So I just recently finished reading Restful Web Services and decided I wanted to go back and play with Catalyst and REST some.
The original way to create a Catalyst skeleton is to run catalyst.pl. This creates a lot of nice files to get you started. dzil new basically does the same thing for a generic cpan module. Honestly, without any plugins dzil new isn&amp;rsquo;t that useful. However, once you add Git::Init , you remove several steps from the creation of a new module and repository.</description></item><item><title>Solving code generation problems in dzil</title><link>/post/solving-code-generation-problems-in-dzil/</link><pubDate>Sat, 26 Jun 2010 06:16:00 +0000</pubDate><guid>/post/solving-code-generation-problems-in-dzil/</guid><description>Firstly I want to clarify a bit on my opinions of PluginBundle::USERNAME modules, as some comments there have inspired this post. I don&amp;rsquo;t think you should use them because it makes it harder to disableplugins, and I think Robin Smidsrød put it best:
Mostly it is because the Dist::Zilla::PluginBundle::USERNAME doesn&amp;rsquo;t actually say anything about its intention. It only says use Dist::Zilla as this person does, but what does that actually mean?</description></item><item><title>please don't use Dist::Zilla::PluginBundle::USERNAME</title><link>/post/please-dont-use-distzillapluginbundleusername/</link><pubDate>Sat, 19 Jun 2010 02:05:00 +0000</pubDate><guid>/post/please-dont-use-distzillapluginbundleusername/</guid><description>or create them. Here&amp;rsquo;s the problem&amp;hellip;. (short version is Don&amp;rsquo;t put PodSpellingTests in them)normally you&amp;rsquo;d have[pluginA][pluginB][pluginC][pluginXTests][pluginYTests][pluginZTests]and one of them doesn&amp;rsquo;t work on your system (for whatever reason), well you can just do this.[pluginA][pluginB][pluginC];[pluginXTests][pluginYTests][pluginZTests]the ;is a comment in ini, now dzil won&amp;rsquo;t use that plugin. But people will say well you don&amp;rsquo;t want to do that of course I want that plugin enabled. Here&amp;rsquo;s why you may not temporarily. Casual user X has a bug in /your/ module that&amp;rsquo;s using dzil, they code up a patch, and they want to run your test suite.</description></item><item><title>RT git workflow</title><link>/post/rt-git-workflow/</link><pubDate>Thu, 17 Jun 2010 20:16:00 +0000</pubDate><guid>/post/rt-git-workflow/</guid><description>git was designed to be very flexible in its workflow. One of the things it was designed to do was handle email patches, since there are a lot of patches sent to and from the mailing list. This is a good thing, even if you don&amp;rsquo;t have a mailing list, or you have your own bug tracker (in addition to RT), you can use RT to receive email patches from git.</description></item><item><title>Test Perl 5.12 on Arch Linux</title><link>/post/test-perl-5.12-on-arch-linux/</link><pubDate>Wed, 16 Jun 2010 04:23:00 +0000</pubDate><guid>/post/test-perl-5.12-on-arch-linux/</guid><description>Perl 5.12 has been languishing in the testing repo for a while, there are now several packages that have been rebuilt in testing and community testing. All of the rebuilds I reported have been fixed. If you use arch please make sure you&amp;rsquo;re using their rebuilt packages (and not one you rebuilt because it took like 2 months to do this) if you have any problems file a bug. If you aren&amp;rsquo;t sure which package is really the problem feel free to drop me a line and I&amp;rsquo;ll see if I can help you tack it down.</description></item><item><title>github renders POD</title><link>/post/github-renders-pod/</link><pubDate>Mon, 14 Jun 2010 02:33:00 +0000</pubDate><guid>/post/github-renders-pod/</guid><description>Not much to say here, but if you didn&amp;rsquo;t know it if you put a file.pod in your github repo it will be parsed and formatted, here&amp;rsquo;s an example:=pod=head1 HELLOworld=cutUnfortunately you have to actually visit the GISTto see it rendered.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>Semver.org probably not compat with all downstream</title><link>/post/semver.org-probably-not-compat-with-all-downstream/</link><pubDate>Sun, 13 Jun 2010 17:57:00 +0000</pubDate><guid>/post/semver.org-probably-not-compat-with-all-downstream/</guid><description>For those that don&amp;rsquo;t know I currently create packages for AUR, and I used to work on Funtoo, as well as a fork of it Regen2 (which died by my hand). So I&amp;rsquo;ve got some experience working with BSD-ish style distro&amp;rsquo;s. I can&amp;rsquo;t comment on the Debians or Red Hats of the world, other than REPO HELL DRIVES ME NUTS. Now to the topic. Semverseems sane except for 1 thing that it doesn&amp;rsquo;t mention and an example that encourages it.</description></item><item><title>Selling Open Source Software (specifically games)</title><link>/post/selling-open-source-software-specifically-games/</link><pubDate>Sun, 13 Jun 2010 01:13:00 +0000</pubDate><guid>/post/selling-open-source-software-specifically-games/</guid><description>This is a pseudo reply to Jason Calacanis for what he said about using an Open Source game engine to build a game in This Week in Startups #54, Ask Jason segment. I believe Jason is implying that you can&amp;rsquo;t make money with open source software(that&amp;rsquo;s not a support contract variant) directly, but it&amp;rsquo;s a good resume builder. True there aren&amp;rsquo;t any big billion dollar open source companies, and companies like Red Hat make money off support, but I don&amp;rsquo;t believe he&amp;rsquo;s correct.</description></item><item><title>I am a $explicitive, or Formal Apology to RJBS</title><link>/post/i-am-a-explicitive-or-formal-apology-to-rjbs/</link><pubDate>Fri, 11 Jun 2010 16:23:00 +0000</pubDate><guid>/post/i-am-a-explicitive-or-formal-apology-to-rjbs/</guid><description>A lot of people think I&amp;rsquo;m a $explicative (insert your favorite one there). I&amp;rsquo;ve said some things that I shouldn&amp;rsquo;t have because I was pissed at the Person(s) at the moment. I would like to formally apologize to RJBS for the negative things that I said, about him. He&amp;rsquo;s been nothing but kind to me and is a great contributor to the perl community (and maybe others?). I greatly disrespected RJBS and I actually do regret it.</description></item><item><title>Using ref to fix 5 year old bug</title><link>/post/using-ref-to-fix-5-year-old-bug/</link><pubDate>Fri, 04 Jun 2010 12:00:00 +0000</pubDate><guid>/post/using-ref-to-fix-5-year-old-bug/</guid><description>So I haven&amp;rsquo;t been hacking perl for 5 (or more) years but I forked Template::ShowStartStop from Template::Timer which is that old. since I forked it this test has bugged me since I didn&amp;rsquo;t really understand the test, the section of code it referred to or the actual problem.
This is an approximation of the error you&amp;rsquo;d get.
Couldn&amp;rsquo;t render template &amp;ldquo;undef error - Can&amp;rsquo;t call method &amp;ldquo;name&amp;rdquo; on unblessed reference at /usr/lib/perl5/site_perl/5.</description></item><item><title>Testing TT Template's</title><link>/post/testing-tt-templates/</link><pubDate>Thu, 03 Jun 2010 21:18:00 +0000</pubDate><guid>/post/testing-tt-templates/</guid><description>So the poorly made patch the other day converted my Test::More test to use Template::Testwhich removed quite a bit of code from the test itself. I hadn&amp;rsquo;t seen Template::Test beforehand.Here&amp;rsquo;s a very simple example of a test you could write to make sure a template is being output ok.#!perluse strict;use warnings;use Template::Test;my $tt = Template-&amp;gt;new();my $vars = {var =&amp;gt; &amp;lsquo;world&amp;rsquo;,};test_expect(*DATA, $tt, $vars);DATA&amp;ndash;test&amp;ndash;hello [% var %]&amp;ndash;expect&amp;ndash;hello worldIf you want more examples I now have quite a few for Template::ShowStartStopwhich you can see in the Test directory of the master branch.</description></item><item><title>Submitting Patches is better than "Patches Welcome"</title><link>/post/submittingpatches-is-better-than-patches-welcome/</link><pubDate>Fri, 28 May 2010 18:47:00 +0000</pubDate><guid>/post/submittingpatches-is-better-than-patches-welcome/</guid><description>So I received my first patch for Perl code a week ago. Amazingly I didn&amp;rsquo;t have to tell the person patches were welcome, they must have assumed so because my project was licensed under an OSI approved license. Also amazingly I&amp;rsquo;ve applied the patch even though it didn&amp;rsquo;t meet my quality standards. I figure that&amp;rsquo;s my fault though because no where did I document what those were.Back when I forked Regen2 from Funtoo one of the first things I did (and a reason for the fork) was create a policy for patch submission.</description></item><item><title>That's not what I'm saying</title><link>/post/thats-not-what-im-saying/</link><pubDate>Fri, 21 May 2010 02:11:00 +0000</pubDate><guid>/post/thats-not-what-im-saying/</guid><description>people seem to think that I&amp;rsquo;m saying support should be a #1 priority. will someone please cite where I said that? yes I said it should be a priority, I said you should do it. I did not say where on the list it should fall. Even if you&amp;rsquo;re an employee at a company making $100k a year, if you&amp;rsquo;re wife is dying, your priority is that, hopefully your children come before said company in most cases too.</description></item><item><title>Warranties, what do they have to do with anything?</title><link>/post/warranties-what-do-they-have-to-do-with-anything/</link><pubDate>Fri, 21 May 2010 02:11:00 +0000</pubDate><guid>/post/warranties-what-do-they-have-to-do-with-anything/</guid><description>so the whole &amp;lsquo;open source&amp;rsquo; has no warranty thing keeps coming up as a defensible reason that I&amp;rsquo;m wrong.Microsoft offers a 90 day limited warranty that the software will work to some degree or another as advertised or some such. If you really want to consider what they&amp;rsquo;re saying&amp;hellip; it should work if it doesn&amp;rsquo;t we can send you another disk or you can return for refund. which really is what you could have done at the store anyways.</description></item><item><title>of Volunteers and Work</title><link>/post/of-volunteers-and-work/</link><pubDate>Wed, 19 May 2010 22:23:00 +0000</pubDate><guid>/post/of-volunteers-and-work/</guid><description>So, I&amp;rsquo;m heavily criticized for my unpopular opinion that open source volunteering is a job. I would like to point out the definitions of Volunteer and Work from answers.comI have removed a few irrelevant definitions, like those of &amp;lsquo;botany&amp;rsquo;.volunteern.A person who performs or offers to perform a service voluntarily: an information booth staffed by volunteers; hospital volunteers.Law.A person who renders aid, performs a service, or assumes an obligation voluntarily.v., -teered, -teer·ing, -teers.</description></item><item><title>Google trashed my Google Site's Content</title><link>/post/google-trashed-my-google-sites-content/</link><pubDate>Tue, 18 May 2010 01:50:00 +0000</pubDate><guid>/post/google-trashed-my-google-sites-content/</guid><description>When I forked Regen2 from Funtoo over a year ago I created a web page for it on sites.google.com. The hosting and uptime were both right for what I needed. The dns has long expired but I went to sites today to find a public link to the content, only to find that at some point they upgraded sites and completely trashed all the content I had put on there. Sure they have a revision control on there now&amp;hellip; but it doesn&amp;rsquo;t contain ANY of the content I had left.</description></item><item><title>GPL 3 and Artistic 2.0 Software::License</title><link>/post/gpl-3-and-artistic-2.0-softwarelicense/</link><pubDate>Mon, 10 May 2010 14:34:00 +0000</pubDate><guid>/post/gpl-3-and-artistic-2.0-softwarelicense/</guid><description>As of right now Software::Licensehas no way to combine licenses on the fly. To be honest this deficiency might not be a bug in SL, it could be in Pod::Weaveror Dist::Zillathis is a know deficiency and RJBS plans on fixing it at some point. In the mean time we can implement dual licenses (and multi-licenses) in much the same way the Perl5 license is implemented.I was probably in legal violation (I am not a lawyer) with Template::ShowStartStopversion 0.</description></item><item><title>Documentation! it should be TDDD</title><link>/post/documentation-it-should-be-tddd/</link><pubDate>Sun, 09 May 2010 22:21:00 +0000</pubDate><guid>/post/documentation-it-should-be-tddd/</guid><description>UPDATE: I shouldn&amp;rsquo;t have said what I said about RJBS and have apologized publicly
Test Driven Development should be Test and Documentation Driven Development. I don&amp;rsquo;t want to read your code to figure out how to use it. I don&amp;rsquo;t really care if you write the Test, documentation, or the feature first. But you should do all three before moving on to the next one.
I&amp;rsquo;m gonna pick on Dist::Zilla this seems like a very good tool.</description></item><item><title>Don't Say "Patches Welcome"</title><link>/post/dont-say-patches-welcome/</link><pubDate>Wed, 05 May 2010 13:24:00 +0000</pubDate><guid>/post/dont-say-patches-welcome/</guid><description>Don&amp;rsquo;t say &amp;ldquo;patches welcome&amp;rdquo; it does more harm to your community than good. Why? It&amp;rsquo;s a polite way of saying &amp;ldquo;I don&amp;rsquo;t care. Fuck you. Fix it yourself. End of discussion&amp;rdquo;.
1.) Not a Developer The person you are saying this to is not developer. They don&amp;rsquo;t know how to do it. Period. At this point you are refusing to help them. This person may now have the opinion that your community isn&amp;rsquo;t helpful.</description></item><item><title>Teaching Perl - Week 3 - Textual Data</title><link>/post/teaching-perl-week-3-textual-data/</link><pubDate>Mon, 03 May 2010 06:44:00 +0000</pubDate><guid>/post/teaching-perl-week-3-textual-data/</guid><description>So lastweekyou should have covered variables, conditionals, flow control statements, calling functions, stdin/out/err, and using new perl features.This week we&amp;rsquo;re covering text processing, scalars, external libraries, and reinforcing what we learned last week. Text Processing is one of Perl&amp;rsquo;s specialty&amp;rsquo;s, mostly due to it&amp;rsquo;s powerful regular expression engine.First install LWP with cpan. cpanp -i Bundle::LWPwill do it.#!/usr/bin/perluse strict;use warnings;use LWP::Simple;getprint(&amp;ldquo;http://aur.archlinux.org/packages/modern-perl/modern-perl/PKGBUILD");So this is almost completely new&amp;hellip; what does it do? and what does it have to do with text?</description></item><item><title>Teaching Perl - Week 3 - Prelude Commentary</title><link>/post/teaching-perl-week-3-prelude-commentary/</link><pubDate>Sun, 02 May 2010 13:22:00 +0000</pubDate><guid>/post/teaching-perl-week-3-prelude-commentary/</guid><description>So I think that Head First Programming: A Learner's Guide to Programming Using the Python Languageis a great guideline to teach any programming course, esp a 10 week course as it has 10 chapters. We&amp;rsquo;re one week behind. Arguably you could merge week 2 into week 1 and I may do just that in a rewrite of this series. In fact I&amp;rsquo;d suggest you do just that. But for now I&amp;rsquo;m going to continue on and we&amp;rsquo;ll see what people think once I reach the end.</description></item><item><title>Dist::Zilla vs xenoterracide</title><link>/post/distzilla-vs-xenoterracide/</link><pubDate>Wed, 28 Apr 2010 21:32:00 +0000</pubDate><guid>/post/distzilla-vs-xenoterracide/</guid><description>Yes, I am invincible! I solved my problemwith Dist::Zilla. If you agree with me that you should be able to install from your git repository, without requiring your users to have Dist::Zilla installed here&amp;rsquo;s one way of doing it.First install Dist::Zilla::Plugin::CopyTo. Now Edit your dist.ini. Most people probably use one of the Dist::Zilla bundles. Assuming you use Basic here&amp;rsquo;s what you do.; remove GatherDir from basic so we can specify it seperately[@Filter]bundle = @Basicremove = GatherDir; specify the where your ungenerated source lives[GatherDir]root = src; specify where you want the generated source to live[CopyTo]dir = .</description></item><item><title>My new Love/Hate Relationship with Dist::Zilla</title><link>/post/my-new-lovehate-relationship-with-distzilla/</link><pubDate>Tue, 27 Apr 2010 08:30:00 +0000</pubDate><guid>/post/my-new-lovehate-relationship-with-distzilla/</guid><description>Dist::Zillais a great release tool, code generator, and it just plain takes the boring part of doing a release away from you.That having been said, it does, imo, horrible things to your source repository. &amp;ldquo;But, Caleb, it cleans up your source repository you can remove a lot of excess stuff you don&amp;rsquo;t really need to be storing there&amp;rdquo;. Well&amp;hellip; I disagree, to the point that I&amp;rsquo;ve used every explicative in the book to express my displeasure.</description></item><item><title>cat that displays tabs at 4 spaces</title><link>/post/cat-that-displays-tabs-at-4-spaces/</link><pubDate>Sun, 25 Apr 2010 20:26:00 +0000</pubDate><guid>/post/cat-that-displays-tabs-at-4-spaces/</guid><description>So in the tabs vs spaces war I&amp;rsquo;m squarely on the side of use tabs. tabs have meaning. tabs allow people to set there editor&amp;rsquo;s to whatever space display width their eyes are comfortable with as opposed to what yours are (e.g. you like 2 spaces I like 4). However, I&amp;rsquo;ve heard the argument what about when you cat the file, etc. Well it is actually a bit annoying&amp;hellip; so let&amp;rsquo;s fix it.</description></item><item><title>Teaching Perl - Week 2 ( part2 )</title><link>/post/teaching-perl-week-2-part2-/</link><pubDate>Sun, 25 Apr 2010 18:41:00 +0000</pubDate><guid>/post/teaching-perl-week-2-part2-/</guid><description>This part2 was prompted by Chromatic&amp;rsquo;s post on state. I&amp;rsquo;d never heard of state before, and it&amp;rsquo;s documentation is poor. Let&amp;rsquo;s take a look at how state could affect our game.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #!/usr/bin/env perl # guess a number game use strict; use warnings; use feature qw( say state switch ); say &amp;#39;welcome&amp;#39;; # generate the winning number between 1 and 10 # see perlfaq4 for algorithm details my $winning_num = 1 + int( rand( (10-1)+1 ) ); until ( $winning_num == state $guess ) { say &amp;#39;Guess a number between 1 and 10: &amp;#39;; $guess = readline(*STDIN); # check to see if we have a winner, or the guess is to high, or low.</description></item><item><title>Teaching Perl - Week 2</title><link>/post/teaching-perl-week-2/</link><pubDate>Sun, 18 Apr 2010 22:15:00 +0000</pubDate><guid>/post/teaching-perl-week-2/</guid><description></description></item><item><title>Teaching Perl - Week 1 - ( Part2 )</title><link>/post/teaching-perl-week-1-part2-/</link><pubDate>Sun, 18 Apr 2010 05:29:00 +0000</pubDate><guid>/post/teaching-perl-week-1-part2-/</guid><description></description></item><item><title>Teaching Perl - Week 1 - ( Part1 )</title><link>/post/teaching-perl-week-1-part1-/</link><pubDate>Tue, 13 Apr 2010 18:13:00 +0000</pubDate><guid>/post/teaching-perl-week-1-part1-/</guid><description>Make sure you&amp;rsquo;ve read Part 0first.As I said before Baker provides a Linux server for the perl class. However, none of the students have had a unix class. So I advise touching on it and giving them a link to these tutorialsif they want to use it, and a helping hand. The book also talks about ActiveState but this isn&amp;rsquo;t the recommended way to do perl on windows anymore. Avoiding crux will prevent you from wasting a week or more on unix which is not what the class is about (my instructor failed horribly at this, and at knowing unix (or perl for that matter) well enough to cover it).</description></item><item><title>Teaching Perl - Part 0 - Preface</title><link>/post/teaching-perl-part-0-preface/</link><pubDate>Tue, 13 Apr 2010 16:10:00 +0000</pubDate><guid>/post/teaching-perl-part-0-preface/</guid><description>This is my 2 cents on how perl should be getting taught at my school. My school&amp;rsquo;s curriculum sucks in general across the board. But assuming I can&amp;rsquo;t change what classes are taught, when and what prerequisites this is how I would teach perl given the current computer science curriculum.Since people reading this are probably not familiar with the Fail that is Baker College(I would not choose Baker if I had to start again but credits don&amp;rsquo;t transfer easily, so it was easier to continue on with it).</description></item><item><title>Unpaid volunteer work is a job</title><link>/post/unpaid-volunteer-work-is-a-job/</link><pubDate>Tue, 30 Mar 2010 13:49:00 +0000</pubDate><guid>/post/unpaid-volunteer-work-is-a-job/</guid><description>So the common misconception in the open source community is, &amp;ldquo;I don&amp;rsquo;t get paid, I don&amp;rsquo;t have to do it&amp;rdquo;. Actually, it&amp;rsquo;s not a misconception, you&amp;rsquo;re absolutely right, you don&amp;rsquo;t have to, you can stop, leave, go away. It&amp;rsquo;s also well know that FOSS software is without warranty or guaranteed support. But by the vary nature of being a volunteer you are offering to do a job for free. No? have you tried working for a volunteer organization and telling your boss there &amp;ldquo;I don&amp;rsquo;t have to do it because I&amp;rsquo;m not paid&amp;rdquo;.</description></item><item><title>Say Perl</title><link>/post/say-perl/</link><pubDate>Sat, 27 Mar 2010 02:08:00 +0000</pubDate><guid>/post/say-perl/</guid><description>SayPerllaunched yesterday. It&amp;rsquo;s essentially aggregated perl blogs translated through google&amp;rsquo;s translation service into english. Very awesome. 3 things could make it better.1) An atom/rss feed 2) instead of clicking on &amp;lsquo;spanish&amp;rsquo; and listing all the feeds that were written in spanish&amp;hellip; click on spanish (or make it espanol) and have it show all the feeds translated into spanish.3) It&amp;rsquo;s newest post is a while ago&amp;hellip; so it&amp;rsquo;s update speed could be a bit better.</description></item><item><title>Perl Blogger annoyances</title><link>/post/perl-blogger-annoyances/</link><pubDate>Thu, 25 Mar 2010 16:00:00 +0000</pubDate><guid>/post/perl-blogger-annoyances/</guid><description>So I love Iron Man and people who blog perl. But I&amp;rsquo;ve got some complaints.
No Language Specific Feeds. I&amp;rsquo;m not discriminating against people of foreign languages I want a Russian only feed as much as an English only. I just can&amp;rsquo;t read it, and I&amp;rsquo;d rather not have it in my feed. So I&amp;rsquo;m using Dagolden&amp;rsquo;s English only Feed. This feed doesn&amp;rsquo;t work 100% right however, see next.</description></item><item><title>Bad Customer Service from T-Mobile</title><link>/post/bad-customer-service-from-t-mobile/</link><pubDate>Thu, 25 Mar 2010 12:55:00 +0000</pubDate><guid>/post/bad-customer-service-from-t-mobile/</guid><description>So about 2 months ago I got fed up with Sprint (they suck for different reasons) and I already knew that they had better service coverage than Verizon in my area. My friend suggested T-Mobile, so I went and got setup with them for a 14 day trial period. I took the phone made some calls tried the web browser, I didn&amp;rsquo;t like the blackberry itself, but that&amp;rsquo;s besides the point.</description></item><item><title>my git remote</title><link>/post/my-git-remote/</link><pubDate>Wed, 24 Mar 2010 03:12:00 +0000</pubDate><guid>/post/my-git-remote/</guid><description>So occasionally I like to fork a project on GitHubwell the proper way to do it is to use GitHub&amp;rsquo;s fork button which then clone&amp;rsquo;s the repo into your account. this is great! I can than clone that locally develop it an push to it. Usually I do this push with git push origin. I can then ask the owner of the original repo that I forked from to &amp;lsquo;pull&amp;rsquo; my changes in.</description></item><item><title>Managing CPAN on Arch Linux</title><link>/post/managing-cpan-on-arch-linux/</link><pubDate>Sun, 14 Mar 2010 00:45:00 +0000</pubDate><guid>/post/managing-cpan-on-arch-linux/</guid><description>So if you&amp;rsquo;re running Arch Linux and want to install a bunch of packages from CPAN the best way is NOT to use the official cpan client, or even the new cpanminus. No your best bet is to use AUR or lacking AUR packages, create your own, and I&amp;rsquo;m gonna walk you through how I do it. The really nice thing about installing packages with Pacman is that unlike cpan there is a utility to uninstall them.</description></item><item><title>Iron Man and introductions</title><link>/post/iron-man-and-introductions/</link><pubDate>Sat, 13 Mar 2010 21:59:00 +0000</pubDate><guid>/post/iron-man-and-introductions/</guid><description>So I&amp;rsquo;ve decided to &amp;ldquo;compete&amp;rdquo; in the Iron Man competition.My name is Caleb Cushing, I&amp;rsquo;m a 25 year old, unemployed, student, living in the Greater Lansing, MI, USA, area. I&amp;rsquo;ve been programming perl for approximately 6 months. This includes a lot of off time, time to relearn the language from the class I took a couple years ago (and learn modern perl), learning Catalyst and DBIC, all of which is an ongoing process.</description></item><item><title>How not to ask for help</title><link>/post/how-not-to-ask-for-help/</link><pubDate>Thu, 11 Mar 2010 00:22:00 +0000</pubDate><guid>/post/how-not-to-ask-for-help/</guid><description>This is the story of my friends problem today.
I got one for ya. Field like field
so of course I&amp;rsquo;m like: &amp;ldquo;? is that a question? he had given me no prelude, no premise. response
I tried field like &amp;lsquo;%&amp;rsquo; + field2 + &amp;lsquo;%&amp;rsquo; No good though
So I explained that % is a wildcard. He still hadn&amp;rsquo;t explained what his problem is or what he was trying to do.</description></item><item><title>You should have hired me! ( just a vent )</title><link>/post/you-should-have-hired-me-just-a-vent-/</link><pubDate>Wed, 10 Mar 2010 13:30:00 +0000</pubDate><guid>/post/you-should-have-hired-me-just-a-vent-/</guid><description>So this is about the 10th time my friend has asked me for help on a SQL (w/ SQL Server) problem. I Actually interviewed with his company at one point and they elected not to hire me. Why? because I have never found windows errors useful, have therefore never used its logging facility, and was unable to answer questions about it. I&amp;rsquo;m was UNIX guy then and am now. But I&amp;rsquo;m still better at figuring out problems on software I&amp;rsquo;ve never even used, with only about 1/10th of the information that I need.</description></item><item><title>bash and konsole</title><link>/post/bash-and-konsole/</link><pubDate>Tue, 16 Feb 2010 23:06:00 +0000</pubDate><guid>/post/bash-and-konsole/</guid><description>So I&amp;rsquo;ve had lots of problems using a multi-tab xterminal, for the casual user I&amp;rsquo;m sure they&amp;rsquo;d not even notice them, or think I&amp;rsquo;m silly, but when you spend all day in a shell they become less so. Historyone of the big problems I&amp;rsquo;ve had is with history. see when you close a shell then it writes the history. well if you have 5 tabs open each with with a super long history they&amp;rsquo;ll write those histories out in the order they close in.</description></item><item><title>Can't Find Google's OpenID</title><link>/post/cant-find-googles-openid/</link><pubDate>Sun, 14 Feb 2010 12:48:00 +0000</pubDate><guid>/post/cant-find-googles-openid/</guid><description>I think that Google&amp;rsquo;s (not Blogger&amp;rsquo;s) OpenID is a failure. It&amp;rsquo;s not memorable and you can&amp;rsquo;t find it. I&amp;rsquo;ve been trying to figure out where google has my OpenID listed for 30 minutes now. This is not the first time I&amp;rsquo;ve had to do this. I usually use Blogger&amp;rsquo;s because it uses my blog&amp;rsquo;s url, but it&amp;rsquo;s currently error-ing with a typepad blog. Why can&amp;rsquo;t google use something like google.com/username ?</description></item><item><title>KDE 4 is finally ready for users</title><link>/post/kde-4-is-finally-ready-for-users/</link><pubDate>Thu, 11 Feb 2010 14:21:00 +0000</pubDate><guid>/post/kde-4-is-finally-ready-for-users/</guid><description>I just installed KDE SC 4.4 last night and I can say that I feel that it&amp;rsquo;s finally general user ready. The last bug that I felt would prevent average use is now gone. What was that bug? when you pressed print screen nothing would happen. There was a workaround to make print screen work but it didn&amp;rsquo;t work out of the box. I feel that there are some things that should just work and that&amp;rsquo;s one of them.</description></item><item><title>empty() function for postgresql in sql</title><link>/post/empty-function-for-postgresql-in-sql/</link><pubDate>Wed, 20 Jan 2010 13:00:00 +0000</pubDate><guid>/post/empty-function-for-postgresql-in-sql/</guid><description>In PostgreSQL the ASCII NUL or empty string \0 is seen as NOT NULL. This is because postgres developers consider any characters data. I know there are better discussions on it but I can&amp;rsquo;t find them right now. Unfortunately the programming language you are using probably doesn&amp;rsquo;t see it the same way. There&amp;rsquo;s a good chance that initialized variables are set to \0 and so when you try to insert from your language to a NOT NULL field with variables that are seen as undefined in your language, postgres accepts it, and now you have fields that you probably consider to have no data but are NOT NULL.</description></item><item><title>PostgreSQL initial setup (authentication) Part 2</title><link>/post/postgresql-initial-setup-authentication-part-2/</link><pubDate>Tue, 19 Jan 2010 11:37:00 +0000</pubDate><guid>/post/postgresql-initial-setup-authentication-part-2/</guid><description>I ran into so problems and lack of information with my last post on this topic. Firstly my syntax for
local all all to local all all ident devel doesn&amp;rsquo;t seem to work in my current setup. It&amp;rsquo;s possible that it has something to do with the configuration of the Debian/Ubuntu server I was basing that against, and now my targets are Arch Linux and Slackware.
So our goal here will be to provide an alternate user that can log in as postgres via ident.</description></item><item><title>Bypassing disabled accounts with KDM</title><link>/post/bypassing-disabled-accounts-with-kdm/</link><pubDate>Mon, 16 Nov 2009 19:06:00 +0000</pubDate><guid>/post/bypassing-disabled-accounts-with-kdm/</guid><description>So the most common way of disabling an account in a unix system is changing the users shell in /etc/passwd to /bin/false or /sbin/nologin. However, I&amp;rsquo;ve discovered on Arch Linux that if I do this only shell login&amp;rsquo;s are disabled, I was still able to log the user in with gui via kdm. I also tried using usermod &amp;ndash;expiredate 1. this was not effective either however. the only way I found to lock the account from kdm login was to do a passwd -l accountname, which only locks password authentication.</description></item><item><title>Difference Between a Database and a Database Instance</title><link>/post/difference-between-a-database-and-a-database-instance/</link><pubDate>Tue, 10 Nov 2009 15:00:00 +0000</pubDate><guid>/post/difference-between-a-database-and-a-database-instance/</guid><description>I was prowling StackOverflowtoday and the questionwas asked when you would use 2 databases. I&amp;rsquo;m amazed at the number of answers of replication and sharding (some under the guise of some other description). The only answer I can think of to be correct is Different Applications/Services (shared hosting probably falls under those 2 in a weird way). I&amp;rsquo;m going to explain why a replicated database and/or a sharded database are not multiple databases.</description></item><item><title>Port forwarding in OpenWRT</title><link>/post/port-forwarding-in-openwrt/</link><pubDate>Sat, 03 Oct 2009 19:34:00 +0000</pubDate><guid>/post/port-forwarding-in-openwrt/</guid><description>So you need the outside world to have access to some box&amp;rsquo;s on your internal network. first you should use Static DHCPto tell static the IP&amp;rsquo;s of the computer you&amp;rsquo;re routing to. Then you of course need to know the inbound from the outside world and the port on the computer you are forwarding too. For this example we&amp;rsquo;ll forward WAN (Wide Area Network (or (probably) the Internet)) port 8080 to a local dev box running Apache on httpd (we assume you know how to set apache up and make sure it&amp;rsquo;s working on the LAN(Local Area Network)).</description></item><item><title>Quick sha1sum with Crypto++</title><link>/post/quick-sha1sum-with-crypto/</link><pubDate>Tue, 22 Sep 2009 01:59:00 +0000</pubDate><guid>/post/quick-sha1sum-with-crypto/</guid><description>I&amp;rsquo;ve been working on Korama. I was originally planning on hashing each music file and using the sha1 for the track primary key. However, after benchmarking an actual implementation. I&amp;rsquo;ve decided that it&amp;rsquo;s too slow, 20 minutes for 3k+ tracks, also my program was about 5 minutes slower than find &amp;hellip; -exec sha1sumnot sure on the reason why. However, since I had problems figuring out how to do it I figure I&amp;rsquo;ll post a basic sha1sum program that I made with the help of people on the Crypto++Mailing List.</description></item><item><title>FSDaily security fail (see image)</title><link>/post/fsdaily-security-fail-see-image/</link><pubDate>Sat, 05 Sep 2009 17:01:00 +0000</pubDate><guid>/post/fsdaily-security-fail-see-image/</guid><description>&amp;lt;img style=&amp;ldquo;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 334px;&amp;rdquo; src=&amp;ldquo;http://2.bp.blogspot.com/_3oPDnpvYrb4/SqLUMaJclwI/AAAAAAAAABY/o-xV9JVASss/s400/fs_daily_fail2.png" border=&amp;ldquo;0&amp;rdquo; alt=&amp;ldquo;&amp;ldquo;id=&amp;ldquo;BLOGGER_PHOTO_ID_5378094214676256514&amp;rdquo; /&amp;gt;Hint, Hint! FSDaily don&amp;rsquo;t access your db with the root account. and definitely make sure that, that error page doesn&amp;rsquo;t show that to users.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>PostgreSQL initial setup (authentication)</title><link>/post/postgresql-initial-setup-authentication/</link><pubDate>Mon, 24 Aug 2009 01:00:00 +0000</pubDate><guid>/post/postgresql-initial-setup-authentication/</guid><description>If you followed my last initial setuppost on creating users and are running a default install of postgres you currently should be able to access the database on your cli. However, many distributions do not install postgres in a default manner. A great many distributions make the default authentication for sockets ident sameuser. This is technically much more secure than trustwhich is the default. However, you may find yourself locked out of your database on the local cli if you make the database name different.</description></item><item><title>Adding a new group to an open shell without logging in and out</title><link>/post/adding-a-new-group-to-an-open-shell-without-logging-in-and-out/</link><pubDate>Sun, 23 Aug 2009 01:00:00 +0000</pubDate><guid>/post/adding-a-new-group-to-an-open-shell-without-logging-in-and-out/</guid><description>Most Unix users believe it&amp;rsquo;s impossible to add a group that was recently added to your user account without logging in and logging out. If you&amp;rsquo;re running X and need to give your gui new permissions (like dolphin/konqueoror) this may be true, for the most part. I don&amp;rsquo;t know how to change it for those processes. However, if you need to change it for a shell prompt it&amp;rsquo;s easy. You merely execute the command newgrp &amp;lt;newgroupname&amp;gt; in an open shell prompt and that prompt will now be loaded with the new group.</description></item><item><title>More Security = Better. Wrong!</title><link>/post/more-security-better.-wrong/</link><pubDate>Sat, 22 Aug 2009 19:54:00 +0000</pubDate><guid>/post/more-security-better.-wrong/</guid><description>So I just had a discussion on #ubuntu-server on freenode about why my not having a password to connect to postgresql via a socket (read local cli) is insecure. So I asked them, how exactly is it that someone is going to get this access? The answer &amp;ldquo;there are bad people on the Internet&amp;rdquo;. I&amp;rsquo;m sure many people right now are agreeing with them and thinking I&amp;rsquo;m crazy. Let&amp;rsquo;s discuss my setup though shall we.</description></item><item><title>OpenWRT static DHCP</title><link>/post/openwrt-static-dhcp/</link><pubDate>Mon, 06 Jul 2009 02:47:00 +0000</pubDate><guid>/post/openwrt-static-dhcp/</guid><description>I use OpenWRT on my Linksys WRT54GL, all shell, no web interface. My basic problem is that both me and my roomate need ports forwarded from the internet to our systems. This means NAT, for nat you need to know the IP address that you&amp;rsquo;re forwarding too. I could just &amp;lsquo;static&amp;rsquo; the IP on our boxes and then set up the NAT. This is not the correct way to do things, as it would be much more difficult to keep track of who uses what IP and make sure that dnsmasq doesn&amp;rsquo;t give out our static-ed IP&amp;rsquo;s.</description></item><item><title>To pointer, or not to pointer: That is the question</title><link>/post/to-pointer-or-not-to-pointer-that-is-the-question/</link><pubDate>Sat, 27 Jun 2009 17:53:00 +0000</pubDate><guid>/post/to-pointer-or-not-to-pointer-that-is-the-question/</guid><description>For a very long time now I&amp;rsquo;ve been looking for good explanations of pointers, and how the varying kinds differ.I&amp;rsquo;ve finally found a book that does a good job of explaining what they are and how they differ. The book is by Bjarne Stroustrup (the creator of C++) it&amp;rsquo;s called Programming: Principles and Practice Using C++. The book is supposed to teach you how to program (become a good programmer) using C++ not teach the C++ language.</description></item><item><title>iptables browsing samba shares</title><link>/post/iptables-browsing-samba-shares/</link><pubDate>Sat, 16 May 2009 00:37:00 +0000</pubDate><guid>/post/iptables-browsing-samba-shares/</guid><description>NOTE: this assumes that you&amp;rsquo;ve read my previous post on basic iptables setup on the desktopSo I just spent the longest time trying to determine what ports I needed to browse and use samba shares. The sad answer is it&amp;rsquo;s just one.iptables -A INPUT -p udp &amp;ndash;sport 137 -j ACCEPTthe catch with all the information I found with google was that most of it was for samba servers. I didn&amp;rsquo;t want that.</description></item><item><title>Git Presentation</title><link>/post/git-presentation/</link><pubDate>Mon, 11 May 2009 16:27:00 +0000</pubDate><guid>/post/git-presentation/</guid><description>I&amp;rsquo;m doing a git presentation and the Lansing Coldfusion User Grouptomorrow night. Anyone who wants to is welcome to comeBelow are the slides for the presentation.EDIT: I don&amp;rsquo;t know why but google doesn&amp;rsquo;t show all slides formatted right in mini mode. It&amp;rsquo;s cut off some of the text and overlapped some things.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>Jeff Atwood fails at password security</title><link>/post/jeff-atwood-fails-at-password-security/</link><pubDate>Wed, 06 May 2009 19:10:00 +0000</pubDate><guid>/post/jeff-atwood-fails-at-password-security/</guid><description>This was originally written for a class assignment and as that has not been modified (much) for the web. Jeff Atwood&amp;rsquo;s password was compromised, the following includes a summary of how it happened, and how better security policies could have avoided it. This was written for Advanced Report Writing at Baker College.Summary of ArticleOn May 3, 2009, Jeff Atwood reports that his Stack Overflow password was compromised an that he received an email explaining the details.</description></item><item><title>Regen2. don't care anymore</title><link>/post/regen2.-dont-care-anymore/</link><pubDate>Tue, 05 May 2009 01:53:00 +0000</pubDate><guid>/post/regen2.-dont-care-anymore/</guid><description>Yep, I don&amp;rsquo;t really care anymore. So much work needs to be done, I can&amp;rsquo;t do it alone, but neither Gentoo, Funtoo, Sabayon, or Exherbo, are going down the right path to the salvation of the &amp;lsquo;gentoo way&amp;rsquo;. Without help or regular feedback I lost the will to work on it. Will regen2 ever be revived? I don&amp;rsquo;t know.if you want go to Funtoo, it should be easy enough to dogit remote add funtoo git://github.</description></item><item><title>Arch, Funtoo, and Regen2's future</title><link>/post/arch-funtoo-and-regen2s-future/</link><pubDate>Thu, 30 Apr 2009 11:52:00 +0000</pubDate><guid>/post/arch-funtoo-and-regen2s-future/</guid><description>as I&amp;rsquo;ve been saying here recently I&amp;rsquo;m burned out, on so many angles it&amp;rsquo;s not funny. I&amp;rsquo;m apathetic, I&amp;rsquo;m not really sure I care anymore. I&amp;rsquo;m actually playing with arch at the moment to see if it&amp;rsquo;s a better fit. I also here debian sid might work. I don&amp;rsquo;t want to maintain the tree 7 days a week anymore, and I&amp;rsquo;d like an up to date system.
I&amp;rsquo;ve been talking with Daniel Robbins lately about the possibility of a common tree with Funtoo, I&amp;rsquo;m not sure he wants to do it the same way I do, which is unfortunate.</description></item><item><title>Regen2 0.9.1.0 Released</title><link>/post/regen2-0.9.1.0-released/</link><pubDate>Wed, 22 Apr 2009 00:45:00 +0000</pubDate><guid>/post/regen2-0.9.1.0-released/</guid><description>Release Highlights
vanilla-sources-2.6.28.9 gcc-4.3.3 glibc-2.9_20081201-r2 openrc-0.4.3-r1 baselayout-2.0.0-r2 git-1.6.2.3 perl-5.10.0 bash-4.0_p17 app-sh/dash is now included in the tarball, in the next major release I hope to make it /bin/sh please test and report any bugs with doing this. apache2 and mysql are known to have issues. openrc works fine, the average desktop system should work.
Known Issues emerge --sync will not clone the tree if it does not exist in portage 2.</description></item><item><title>Looking for tree maintainers</title><link>/post/looking-for-tree-maintainers/</link><pubDate>Tue, 21 Apr 2009 20:01:00 +0000</pubDate><guid>/post/looking-for-tree-maintainers/</guid><description>I&amp;rsquo;d like to see multiple people merging the tree, with best case scenario being that it happens more than once a day. worst case status quo. I&amp;rsquo;m willing to write the scripts and teach anyone how to do it. I just ask that you can read an ebuild (to some degree) and have good judgement, or at least not too embarrassed to ask. Most ebuild merges are IUSE, KEYWORDS, and cvs line.</description></item><item><title>Regen2 0.9.1.0</title><link>/post/regen2-0.9.1.0/</link><pubDate>Tue, 14 Apr 2009 23:54:00 +0000</pubDate><guid>/post/regen2-0.9.1.0/</guid><description>I haven&amp;rsquo;t forgotten about it. I seem to lack all motivation on Spring Break. Nothing to procrastinate on. Now that school has started I&amp;rsquo;m working in full swing, I&amp;rsquo;ve been learning metro the past few days. I should have the tarballs ready by the end of the week. I&amp;rsquo;m not sure on mirrors right now. Have at least one volunteer mirror, and I will be torrent-ing them. I&amp;rsquo;ve been seriously procrastinating on finding out how to get on the Uni mirror ring.</description></item><item><title>~arch will be testing again not stable</title><link>/post/arch-will-be-testing-again-not-stable/</link><pubDate>Tue, 24 Mar 2009 05:29:00 +0000</pubDate><guid>/post/arch-will-be-testing-again-not-stable/</guid><description>I think the idea of a meta distro on top of a stable base is the way to go, let people choose just what they want on bleeding edge. I like my kernel, gcc, and perl solid, sometimes I want firefox&amp;rsquo;s beta&amp;rsquo;s but that doesn&amp;rsquo;t mean I want the rest of the system like that. At some point gentoo&amp;rsquo;s ~arch became more stable that stable, this needs to end. Even if it means making stable a bit more unstable.</description></item><item><title>Regen2 0.9.1.0 soon</title><link>/post/regen2-0.9.1.0-soon/</link><pubDate>Mon, 23 Mar 2009 02:44:00 +0000</pubDate><guid>/post/regen2-0.9.1.0-soon/</guid><description>Last night I decided I&amp;rsquo;d be rolling out the first release of Regen2 in the first week of April.So as I&amp;rsquo;m sure everyone knows version are arbitrary they mean nothing&amp;hellip; well ours are going to mean something. The first 2 numbers are the year, so 20(0.9).1.0. the Third number is the quarter, we are going to be mass stabilizing system once per quarter. I&amp;rsquo;m not sure that this will include new profiles.</description></item><item><title>postgresql initial setup (users and databases)</title><link>/post/postgresql-initial-setup-users-and-databases/</link><pubDate>Wed, 18 Mar 2009 05:22:00 +0000</pubDate><guid>/post/postgresql-initial-setup-users-and-databases/</guid><description>This guide assumes that you&amp;rsquo;ve managed to install and start the postgres server. I&amp;rsquo;m ignoring these because they are well documented in several places, probably including your distribution, however, what to do next isn&amp;rsquo;t.
First you need to connect to the Postgres database with psql as postgres, on gentoo* distributions you must be in the Postgres group to do this. In the event this doesn&amp;rsquo;t work you may have to su to the postgres unix user account somehow and run psql from there.</description></item><item><title>Tree hasn't been updated - why</title><link>/post/tree-hasnt-been-updated-why/</link><pubDate>Thu, 12 Mar 2009 12:54:00 +0000</pubDate><guid>/post/tree-hasnt-been-updated-why/</guid><description>So 2 days ago, when I went to sync to gentoo I didn&amp;rsquo;t get any updates. I&amp;rsquo;m not really sure why as the process seemed to go alright. It could have something to do with the next bit.My System appeared to have been compromised. Syslog-ng was disabled and all logs post dec 30 2008 were removed. So i&amp;rsquo;ve spent the better part of yesterday/today reinstalling my system. Tree should be synced and merged tonight.</description></item><item><title>SYNC_METHOD</title><link>/post/sync_method/</link><pubDate>Sat, 07 Mar 2009 20:18:00 +0000</pubDate><guid>/post/sync_method/</guid><description>I&amp;rsquo;m going to be pushing out an new feature to portage today, since testing has gone well.SYNC_METHOD is a new portage variable, I&amp;rsquo;ve also gone to the trouble of defining it in make.globals. The default for Regen2. is git, however, rsync and cvs have also been defined although not tested.the main benefit of SYNC_METHOD is to use one way of detecting the program you should use to detect the tree. previous variations were problematic, as rsync does not have a directory like .</description></item><item><title>to Gentoo dev or not to Gentoo dev</title><link>/post/to-gentoo-dev-or-not-to-gentoo-dev/</link><pubDate>Wed, 04 Mar 2009 18:15:00 +0000</pubDate><guid>/post/to-gentoo-dev-or-not-to-gentoo-dev/</guid><description>So after a little post about Regen2 on the Gentoo-dev mailing list. I&amp;rsquo;ve been offered mentoring to become an official gentoo dev. I&amp;rsquo;m conflicted, my main reason for saying yes would be to learn stuff that I can&amp;rsquo;t learn on my own. But I&amp;rsquo;m not sure I really want to be a gentoo-dev this means doing these other time consuming things, and I wouldn&amp;rsquo;t be able to do nearly enough from the inside.</description></item><item><title>regen2 maintaining it's own openrc</title><link>/post/regen2-maintaining-its-own-openrc/</link><pubDate>Sun, 22 Feb 2009 20:50:00 +0000</pubDate><guid>/post/regen2-maintaining-its-own-openrc/</guid><description>So openrc was updated recently, and I noticed it, I decided it was time to find out why drobbins had created his own version. so I viewed them, ultimately I decided that drobbins had made too many changes but the gentoo ebuild had its own issues. So I modified the Gentoo ebuild to use EAPI 2, removed all of the live ebuild code that shouldn&amp;rsquo;t be in it, updated the branding, and we&amp;rsquo;re ready to rock.</description></item><item><title>split package.mask</title><link>/post/split-package.mask/</link><pubDate>Sat, 21 Feb 2009 23:30:00 +0000</pubDate><guid>/post/split-package.mask/</guid><description>There&amp;rsquo;s been a problem with ${PORTDIR}/profiles/package.mask since I added sunrise, I didn&amp;rsquo;t realize at the time the problem wouldn&amp;rsquo;t be adding atoms, it would be keeping track of when they should be removed. I&amp;rsquo;ve decided that the best way to do it is to use portages &amp;lsquo;directory concatenation&amp;rsquo; feature, I turned package.mask into a directory, it now contains a file for each overlay that has a package.mask, and one for gentoo.</description></item><item><title>merged java-overlay</title><link>/post/merged-java-overlay/</link><pubDate>Sat, 21 Feb 2009 23:24:00 +0000</pubDate><guid>/post/merged-java-overlay/</guid><description>Java in Gentoo is horribly out of date, and from what I&amp;rsquo;ve seen of the java overlay, it doesn&amp;rsquo;t improve the situation much, but it&amp;rsquo;s still better than without it. I&amp;rsquo;ve merged it into regen2.org, since this was I think the most painful merge since the first I ever did, I may have made mistakes on some ebuilds, let me know if you experience problems.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.</description></item><item><title>USE="experimental-git" sys-apps/portage</title><link>/post/useexperimental-git-sys-appsportage/</link><pubDate>Thu, 19 Feb 2009 23:14:00 +0000</pubDate><guid>/post/useexperimental-git-sys-appsportage/</guid><description>drobbins recent tipmade me think, that maybe I should point out that his solution to the problem is an annoying work around. I had this problem for a while, it was caused by my having autocrlf = input in my .gitconfig settings. Several people have told me that they have this problem without changing their crlf settings for git. After a while I decided that Funtoo/Gentoo&amp;rsquo;s git handling patches were incomplete at best and unfriendly at worst.</description></item><item><title>Heritage Paper - Cultural Diversity</title><link>/post/heritage-paper-cultural-diversity/</link><pubDate>Thu, 19 Feb 2009 14:34:00 +0000</pubDate><guid>/post/heritage-paper-cultural-diversity/</guid><description>This blog entry is a test of Google Docs blog publish feature. I thought some might be interested in this paper I wrote for my Cultural Diversity class that I&amp;rsquo;m currently attending at Baker College of Auburn Hills, MI.My name is Caleb William Cushing, born Caleb Lee Rogers. I was born on October 21, 1984 in Lansing, Michigan, USA. I&amp;rsquo;m German / Norwegian by birth and German / English by law.</description></item><item><title>Banned from #funtoo</title><link>/post/banned-from-funtoo/</link><pubDate>Mon, 16 Feb 2009 09:25:00 +0000</pubDate><guid>/post/banned-from-funtoo/</guid><description></description></item><item><title>open letter to Dan Robbins - merge regen2</title><link>/post/open-letter-to-dan-robbins-merge-regen2/</link><pubDate>Wed, 11 Feb 2009 06:15:00 +0000</pubDate><guid>/post/open-letter-to-dan-robbins-merge-regen2/</guid><description>I had an interesting conversation with thewtex on #funtoo yesterday. My conclusion is, this divergence of tree&amp;rsquo;s is stupid. We should be working on a common base, at least common enough that users could relatively easily merge our tree&amp;rsquo;s. My tree is currently ahead of yours in content by 3 sunrise merges, 1 mpd, and the 2 merges of the python overlay. Your users can&amp;rsquo;t easily get these updates.Due to the fact that we have irreconcilable views on what patches we allow, the fork must remain.</description></item><item><title>tag builds</title><link>/post/tag-builds/</link><pubDate>Sun, 08 Feb 2009 01:18:00 +0000</pubDate><guid>/post/tag-builds/</guid><description>This is just a feature concept. May or may not ever happen. Live builds for portage usually run off the trunk/master branch of a scm tool. This is a great idea, but why couldn&amp;rsquo;t we take this a step further, usually people who use scm&amp;rsquo;s &amp;lsquo;tag&amp;rsquo; there releases, so why couldn&amp;rsquo;t the same &amp;lsquo;live&amp;rsquo; build have an option for using a tag instead of trunk. This would allow releases to roll out much faster too.</description></item><item><title>a snake in regen2</title><link>/post/a-snake-in-regen2/</link><pubDate>Fri, 30 Jan 2009 07:01:00 +0000</pubDate><guid>/post/a-snake-in-regen2/</guid><description>I&amp;rsquo;m sure you&amp;rsquo;re thinking I&amp;rsquo;m talking about me ;) nope first order of business, add more stuff which should be in gentoo.
I&amp;rsquo;m pleased to announce that I&amp;rsquo;ve added py3k also know as Python 3.0 to Regen2. It will remain hardmasked as unmasking could create stability issues on a gentoo based system given it&amp;rsquo;s reliance on python.</description></item><item><title>Forking Funtoo - Regen2 project born</title><link>/post/forking-funtoo-regen2-project-born/</link><pubDate>Thu, 29 Jan 2009 02:39:00 +0000</pubDate><guid>/post/forking-funtoo-regen2-project-born/</guid><description>So, I won&amp;rsquo;t be the Tree Maintainer for Funtoo anymore. In light of the new situation I&amp;rsquo;m forking Funtoo. I&amp;rsquo;m not going into details why I&amp;rsquo;m not the tree maintainer anymore on this blog, except to point out how Regen2 will differ.I&amp;rsquo;ll be continuing to maintain a tree with all the overlays I had added and more to come. you can get a copy of my version of portage at git://github.</description></item><item><title>Funtoo News</title><link>/post/funtoo-news/</link><pubDate>Fri, 23 Jan 2009 14:18:00 +0000</pubDate><guid>/post/funtoo-news/</guid><description>I&amp;rsquo;ve decided I&amp;rsquo;m going to start posting a sort of weekly newsletter (I&amp;rsquo;m not committing to weekly though) merely to document anything I feel important that happened, or is about to, but isn&amp;rsquo;t quite important enough for it&amp;rsquo;s own post.RA(ra&amp;ndash; on #funtoo) or r_a@lavabit.comsubmitted quite a few patches this week including 1 that fixes many of my major borkage on non-latin1 changelog breaks. He&amp;rsquo;s become a regular contributor and I&amp;rsquo;d like to thank him.</description></item><item><title>mpd overlay</title><link>/post/mpd-overlay/</link><pubDate>Sun, 18 Jan 2009 10:42:00 +0000</pubDate><guid>/post/mpd-overlay/</guid><description>I&amp;rsquo;m adding the MPD overlay courtesy of Rullzer who&amp;rsquo;s kind enough to merge and maintain it in tree. Nothing big here, just some more up to date ebuilds, and more clients for MPD.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>Funtoo gets the new Perl</title><link>/post/funtoo-gets-the-new-perl/</link><pubDate>Fri, 09 Jan 2009 08:45:00 +0000</pubDate><guid>/post/funtoo-gets-the-new-perl/</guid><description>Soon, Dan Robbins will be merging my perl-experimental branch which contains the perl-experimental overlay. This overlay contains a handful of packages, the most important of which is perl-5.10.0 which has been out for about a year now and Gentoo still hasn&amp;rsquo;t put in portage. One nuisance of the perl-experimental overlay is they don&amp;rsquo;t use changelogs which means if you want to know what&amp;rsquo;s going on with a package from this you&amp;rsquo;ll have to check out git log as well as the changelog.</description></item><item><title>Sunrise's over Funtoo</title><link>/post/sunrises-over-funtoo/</link><pubDate>Tue, 06 Jan 2009 14:49:00 +0000</pubDate><guid>/post/sunrises-over-funtoo/</guid><description>Sunrisea Gentoooverlayis being added to Funtoo. So if you&amp;rsquo;ve got layman tracking sunrise and you&amp;rsquo;re using funtoo you&amp;rsquo;ll be able to delete sunrise from your overlays as I&amp;rsquo;ll be merging sunrise&amp;rsquo;s reviewed ebuilds daily.The hardest part of the whole process was merging package.mask, use.local.desc and categories. Since this is new be on the lookout for bugs or problems.Want to add an overlay to funtoo yourself? First, it&amp;rsquo;ll have to be a git or svn overlay.</description></item><item><title>Recovering from a deleted /etc</title><link>/post/recovering-from-a-deleted-etc/</link><pubDate>Tue, 30 Dec 2008 15:59:00 +0000</pubDate><guid>/post/recovering-from-a-deleted-etc/</guid><description>Last night I inadvertently deleted /etc and had to recover my system which was still running, and for my own sanity avoid downtime. Everything was still running when I realized what had happened so without logging out most things would continue to if I didn&amp;rsquo;t stop them.I run a mix of stable and unstable. If you are on one or the other you will probably be able to simply extract /etc from a recent tarball, I tried doing this from drobbins builds but it was ineffective.</description></item><item><title>sync target support</title><link>/post/sync-target-support/</link><pubDate>Sun, 21 Dec 2008 17:40:00 +0000</pubDate><guid>/post/sync-target-support/</guid><description>HereI explain why emerge &amp;ndash;sync should return to it&amp;rsquo;s original sync form.I think emerge sync should have the ability to have a target. Currently emerge &amp;ndash;sync has a target of the SYNC variable in make.conf or the default hardcoded. However, git support is being added to portage. git is a very powerful tool, and the Funtooproject uses it to manage it&amp;rsquo;s full portage tree. git doesn&amp;rsquo;t work like rsync, it&amp;rsquo;s not so straight forward as rsync uri, which is effectively what emerge sync is doing.</description></item><item><title>--sync should be sync</title><link>/post/-sync-should-be-sync/</link><pubDate>Sun, 21 Dec 2008 15:32:00 +0000</pubDate><guid>/post/-sync-should-be-sync/</guid><description>emerge sync never should have become emerge --sync, of course 2 years ago I thought it was the right thing, it isn&amp;rsquo;t though, live and learn. sync is currently an argument with the syntax of an option.
What&amp;rsquo;s the difference?
An argument is what the command, or executable operates on. Some examples
cp file0 file1 copies file0 to file1. ls list the current working directory ls dir0 lists directory dir0 Right, so how is --sync an argument and not an option?</description></item><item><title>types of use flags</title><link>/post/types-of-use-flags/</link><pubDate>Fri, 19 Dec 2008 15:03:00 +0000</pubDate><guid>/post/types-of-use-flags/</guid><description>Ok so I have yet another idea for portage and other portage like package managers. actually this is probably more aimed at EAPI. Different types of USE flags. The 2 I&amp;rsquo;m thinking of off the top of my head could be described as volatile and non-volatile. Basically a use flag marked volatile means a package needs to be recompiled if it gets changed one marked non-volatile most likely just pulls in another dependency or copies files such as documentation.</description></item><item><title>Download Book, The Ruining of a Good Feature</title><link>/post/download-book-the-ruining-of-a-good-feature/</link><pubDate>Fri, 12 Dec 2008 13:57:00 +0000</pubDate><guid>/post/download-book-the-ruining-of-a-good-feature/</guid><description>1-3 Months ago Safari Booksfinally started allowing you to download full books in pdf. It used to be that you had to download chapters of books in pdf. This was annoying even if you had tokens to do it. Tokens are Safari Books way of making sure we aren&amp;rsquo;t pirating en masse, you get 5 tokens a month and can only keep 3 months worth. So now we can download full books how nice?</description></item><item><title>Regen2 development has officially begun</title><link>/post/regen2-development-has-officially-begun/</link><pubDate>Thu, 11 Dec 2008 04:30:00 +0000</pubDate><guid>/post/regen2-development-has-officially-begun/</guid><description>That&amp;rsquo;s right I&amp;rsquo;m putting my money where my mouth is. It&amp;rsquo;s small but the first 2 packages when into the regen2 treethis morning. They are MySQL 5.1.30 which was added because the gentoo maintainer refused to add it do to instability. I agree that it is unstable, but we have ~M Hard Masked packages for that reason. It has been added as ~M. The other app added is qsynergy, the ebuild was already on portage and I know it to be good so I added it to the tree, I&amp;rsquo;ll probably stabilize it in a few weeks.</description></item><item><title>PostgreSQL \edit and Syntax Highlighting</title><link>/post/postgresql-edit-and-syntax-highlighting/</link><pubDate>Sat, 29 Nov 2008 10:35:00 +0000</pubDate><guid>/post/postgresql-edit-and-syntax-highlighting/</guid><description>If you&amp;rsquo;ve ever used \edit with PostgreSQL you&amp;rsquo;ve probably noticed that it&amp;rsquo;s not using syntax highlighting that your favorite editor most likely supports. I&amp;rsquo;ve wondered why this is for a while, Postgres uses vim on my system which supports robust highlighting among other things.
I had a few things suggested to me, such as setting putting settings in my .vimrc, most of which would have forced filetype=sql on files that weren&amp;rsquo;t sql, and would have been active outside of psql.</description></item><item><title>Finally Linux gets something first</title><link>/post/finally-linux-gets-something-first/</link><pubDate>Mon, 17 Nov 2008 12:56:00 +0000</pubDate><guid>/post/finally-linux-gets-something-first/</guid><description>&amp;hellip; and it&amp;rsquo;s something we didn&amp;rsquo;t build. We get lots of things first but we usually build them. We never get proprietary software first. At best we get proprietary software the same day. Generally we get it months later. However, today linux takes another giant step towards being the dominant next OS, we are the first to receive 64-bit flash from adobe. Windows isn&amp;rsquo;t getting it, Mac OS X isn&amp;rsquo;t getting it, we are.</description></item><item><title>The Motherboard I want doesn't exist</title><link>/post/the-motherboard-i-want-doesnt-exist/</link><pubDate>Sat, 08 Nov 2008 05:04:00 +0000</pubDate><guid>/post/the-motherboard-i-want-doesnt-exist/</guid><description>My Desktop is dieing and needs to be replaced. So I&amp;rsquo;m working on researching the parts I&amp;rsquo;d need to replace it. As any good IT person knows, the motherboard is the most important decision to make when building a computer. Theirs a good chance that someone reading this will cry out I&amp;rsquo;m wrong. The reason the Motherboard is the most important decision is it dictates the potential of the whole computer.</description></item><item><title>accept input from stdin</title><link>/post/accept-input-from-stdin/</link><pubDate>Thu, 30 Oct 2008 02:11:00 +0000</pubDate><guid>/post/accept-input-from-stdin/</guid><description>if possible emerge-ng should be able to accept input from &amp;lt;STDIN&amp;gt;, e.g. cat packagelist | emergeng, thus far neither portage nore pkgcore have this capability.</description></item><item><title>minimum permissions and privilegdges</title><link>/post/minimum-permissions-and-privilegdges/</link><pubDate>Wed, 29 Oct 2008 00:53:00 +0000</pubDate><guid>/post/minimum-permissions-and-privilegdges/</guid><description>I like security&amp;hellip; which means I should be able to run portage as portage (user) and have the umask be 077, or perhaps 027. Unfortunately the last time I checked portage could handle these restrictive permissions (I forget if it was these exactly) except for one set&amp;hellip; java. In a perfect ebuild world all ebuilds would be able to be installed under a very restrictive umask.Should regen2 ever come to fruition this should be fixed.</description></item><item><title>pkgcore the victor</title><link>/post/pkgcore-the-victor/</link><pubDate>Tue, 28 Oct 2008 01:22:00 +0000</pubDate><guid>/post/pkgcore-the-victor/</guid><description>pkgcore is my pick for the next portage and codebase for emerge-ng. I admit I haven&amp;rsquo;t let paludis have a chance (yet).Why haven&amp;rsquo;t I let paludis have it&amp;rsquo;s chance?The reasons are quite simple. Everytime I have tried paludis prior to this it has required extra configuration (meaning it doesn&amp;rsquo;t work out of the box). I believe this was fixed recently. However,paludis@1208029212: [WARNING] Use of Portage configuration files will lead to sub-optimal performance and loss of functionality.</description></item><item><title>Graphical Package Manager</title><link>/post/graphical-package-manager/</link><pubDate>Sun, 26 Oct 2008 00:51:00 +0000</pubDate><guid>/post/graphical-package-manager/</guid><description>Anyone that knows how I work in linux, knows that I&amp;quot;m comfortable with the cli, and prefer it to a gui. I know that not everyone is or should have to be. Sometimes a gui can make management easier. Even a die hard cli person like me realizes that. However, you should never have to do things the gui way, they are just front ends. emerge-ng needs to support having a gui even if the development of such a project is not directly part of the emerge-ng project.</description></item><item><title>Why not Sabayon?</title><link>/post/why-not-sabayon/</link><pubDate>Sat, 25 Oct 2008 22:12:00 +0000</pubDate><guid>/post/why-not-sabayon/</guid><description>I&amp;rsquo;m going to be short and sweet on this. The last time I checked, Sabayon made you run ~arch, upgrading would break your system, and it was all about bleeding edge gui&amp;rsquo;s. Sabayon is good for the last. But stay away from it if you want or need stability, or gentoo upgrades.</description></item><item><title>More than 3 levels of stable</title><link>/post/more-than-3-levels-of-stable/</link><pubDate>Fri, 24 Oct 2008 11:17:00 +0000</pubDate><guid>/post/more-than-3-levels-of-stable/</guid><description>Currently Gentoo has arch, ~arch, and ~M ( - if not available ).One of the main things people want are security patches only updates. I tend to agree with this, although they should be between arch and ~arch, maybe +arch. Technically a security patch can break things which is why they shouldn&amp;rsquo;t be considered stable.Regen2 should also have strict rules about what&amp;rsquo;s what. Alpha products should always be ~M, beta&amp;rsquo;s and rc&amp;rsquo;s should be ~arch.</description></item><item><title>versioned /etc</title><link>/post/versioned-etc/</link><pubDate>Wed, 22 Oct 2008 10:27:00 +0000</pubDate><guid>/post/versioned-etc/</guid><description>regen2 should support an /etc that&amp;rsquo;s under version control. something like etckeepercould/should work. Or we could just build our own tool for use with an existing vcs.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>Dan Robbins Tarballs</title><link>/post/dan-robbins-tarballs/</link><pubDate>Tue, 21 Oct 2008 11:17:00 +0000</pubDate><guid>/post/dan-robbins-tarballs/</guid><description>I think having weekly tarballs is a great idea. But I&amp;rsquo;m less concerned about the release schedule of such things for regen2 and more concerned about the system packages that tarballs contain. A new tarball should be released, 1 week after a new glibc or gcc is updated, for sure, but any system package should be enough. Why 1 week? well once they stabilize they will hit a lot more people who are likely to have bugs, and that gives time for bugs to be fixed before tar-ing it.</description></item><item><title>no more stabalizing rx one after another</title><link>/post/no-more-stabalizing-rx-one-after-another/</link><pubDate>Mon, 20 Oct 2008 20:06:00 +0000</pubDate><guid>/post/no-more-stabalizing-rx-one-after-another/</guid><description>so yesterday gentoo stabilized. gentoo-sources 2.6.24-r3 today they are stabilizing 2.6.24-r4. Come on people? I just built the damn kernel didn&amp;rsquo;t you test long enough before releasing? well here goes building another kernel.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>buildpkg</title><link>/post/buildpkg/</link><pubDate>Sun, 19 Oct 2008 06:31:00 +0000</pubDate><guid>/post/buildpkg/</guid><description>emerge-ng should be able to build rpms, and debs. regen2 should be the distro that builds other distro&amp;rsquo;s, not only should it be good at that (gentoo is now) it should be designed for it.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>kde-overlay (svn) now requires paludis</title><link>/post/kde-overlay-svn-now-requires-paludis/</link><pubDate>Sat, 18 Oct 2008 17:58:00 +0000</pubDate><guid>/post/kde-overlay-svn-now-requires-paludis/</guid><description>details are hereso apparently the folks running the kde overlay have decided to discontinue portage compatibility. I suppose I can&amp;rsquo;t blame them, on the other hand I don&amp;rsquo;t approve. Even though I haven&amp;rsquo;t started testing paludis yet. I am still firmly against it as it is as gentoo&amp;rsquo;s next package manager. I won&amp;rsquo;t be regen2&amp;rsquo;s without heavy modification. Including some re-writes. I do intend to investigate the possibility of using paludis code in emerge-ng.</description></item><item><title>pkgcore &amp; paludis</title><link>/post/pkgcore-paludis/</link><pubDate>Fri, 17 Oct 2008 17:35:00 +0000</pubDate><guid>/post/pkgcore-paludis/</guid><description>So I figure it isn&amp;rsquo;t fair to judge them without using them for a bit (even though they miss the mark of being drop in). Over then next few days I will be testing them to see how they work.</description></item><item><title>emerge-ng multiple trees</title><link>/post/emerge-ng-multiple-trees/</link><pubDate>Tue, 14 Oct 2008 23:29:00 +0000</pubDate><guid>/post/emerge-ng-multiple-trees/</guid><description>first I hate repositories, but it is unlikely they will go away. So we must strive to make sure that they are only needed for truly rare things. from my perspective the sunrise repo shouldn&amp;rsquo;t exist. and vcs builds should be in the tree. regen2 should strive to have everything possible in the tree. when it can&amp;rsquo;t an overlay should have all the capabilities of the main tree. meaning that an overlay shouldn&amp;rsquo;t automagically be considered less stable and require the keywording of all the ebuilds in it.</description></item><item><title>emerge-ng and vcs builds</title><link>/post/emerge-ng-and-vcs-builds/</link><pubDate>Tue, 14 Oct 2008 01:22:00 +0000</pubDate><guid>/post/emerge-ng-and-vcs-builds/</guid><description>gentoo is a source based distribution, and this is a good thing. why then has the ability to have trunk builds (which has been added to many overlay&amp;rsquo;s) seem like such a hack? all non-binary program ebuilds in the tree should have a &amp;lsquo;trunk&amp;rsquo; version option. emerge &amp;ndash;sync should then be able to find out whether trunk has been updated so you can correctly rebuild programs as needed with emerge &amp;ndash;ask &amp;ndash;verbose &amp;ndash;update &amp;ndash;deep &amp;ndash;newuse world&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.</description></item><item><title>what is regen2 linux?</title><link>/post/what-is-regen2-linux/</link><pubDate>Fri, 10 Oct 2008 19:35:00 +0000</pubDate><guid>/post/what-is-regen2-linux/</guid><description>In short a concept aimed at forking Gentoo Linux. First some history and my own experiences.Gentoo is a sick adolescent who refuses to acknowledge his illness. Because he refuses to acknowledge the illness he can&amp;rsquo;t be helped. There are many who have ideas about how to help him. Some of those are wrong.Gentoo&amp;rsquo;s biggest problem? Democracy. Making it actually work is not easy. Most of the really successful, open source, projects have one or two people at the top.</description></item><item><title>emerge-ng</title><link>/post/emerge-ng/</link><pubDate>Thu, 09 Oct 2008 16:45:00 +0000</pubDate><guid>/post/emerge-ng/</guid><description>at the time of this writing. a concept for software with a name that may not be it&amp;rsquo;s final, and it may never get done.emerge-ng should ultimately be a drop in replacement for the portage package (the main package manager) in gentoo linux.for clarity I will be referring to portage as the software and if I mean to refer to portage&amp;rsquo;s tree (basically one giant software repository), I will refer to it that way.</description></item><item><title>TCO Windows vs Linux (Part 1: a Linux Professonal)</title><link>/post/tco-windows-vs-linux-part-1-a-linux-professonal/</link><pubDate>Sun, 20 Jul 2008 20:10:00 +0000</pubDate><guid>/post/tco-windows-vs-linux-part-1-a-linux-professonal/</guid><description>Today fsdaily posted an forum threadasking why they should use linux but not using certain reasons. However, some of the reasons they said can&amp;rsquo;t be used are part of the TCO (Total Cost of Ownership) of a computer.What is TCO? Here&amp;rsquo;s some of what Wikipediasays about it.A TCO assessment ideally offers a final statement reflecting not only the cost of purchase but all aspects in the further use and maintenance of the equipment, device, or system considered.</description></item><item><title>The real problem with windows is not windows</title><link>/post/the-real-problem-with-windows-is-not-windows/</link><pubDate>Sat, 05 Jul 2008 12:39:00 +0000</pubDate><guid>/post/the-real-problem-with-windows-is-not-windows/</guid><description>(note: this was originally intended as a reply to Why Is So Hard for Windows Users to Understand That Linux Is Not Windows, but it got so long I felt it should be it&amp;rsquo;s own post. I&amp;rsquo;m not sure the title is good, but it&amp;rsquo;s close enough)(note: I use the term users in this blog to mean people who use computers that do not, develop, administrate, repair, or are other wise considered power users, and professional computer users.</description></item><item><title>Debian and OpenSSL blunder - goodbye debian?</title><link>/post/debian-and-openssl-blunder-goodbye-debian/</link><pubDate>Thu, 22 May 2008 23:41:00 +0000</pubDate><guid>/post/debian-and-openssl-blunder-goodbye-debian/</guid><description>I&amp;rsquo;m sure you&amp;rsquo;ve read about Debian&amp;rsquo;s OpenSSL blunder. If not here&amp;rsquo;s a recap on Linux.com.
I&amp;rsquo;m just wondering&amp;hellip; is it possible that the pain will be so great for admins that the great stable debian will be discontinued from production server use? I would (but I don&amp;rsquo;t use debian based systems for anything but livecds), seriously this is a hugely idiotic mistake, the pain of which is only beginning. This may in fact be the biggest security blunder I have ever heard of in open source.</description></item><item><title>dvorak vs manufacturer's</title><link>/post/dvorak-vs-manufacturers/</link><pubDate>Mon, 12 May 2008 21:44:00 +0000</pubDate><guid>/post/dvorak-vs-manufacturers/</guid><description>The DvorakKeyboard is supposedly better than the qwertykeyboard.Theoritically all you have to do is change the keyboard layout in your OS and then pop the keys off your keyboard and re-arrange them (technically the second step isn&amp;rsquo;t required but nicer). However all the keyboards I&amp;rsquo;ve seen attache the F and the J differently (they also have the home row bumps). Why do they attach them differently? why does it matter to them?</description></item><item><title>can't reach google.com for at least 4 hours</title><link>/post/cant-reach-google.com-for-at-least-4-hours/</link><pubDate>Tue, 06 May 2008 23:56:00 +0000</pubDate><guid>/post/cant-reach-google.com-for-at-least-4-hours/</guid><description>no it isn&amp;rsquo;t my browser, no it isn&amp;rsquo;t my computer, and no it isn&amp;rsquo;t my network. It could be my isp&amp;rsquo;s network I don&amp;rsquo;t really know.I can&amp;rsquo;t contact google&amp;hellip; tried mailing webmaster, but guess what.Thank you for writing to Google. We&amp;rsquo;d like to assist you, but we onlyrespond to messages submitted through our online contact form. Pleasevisit http://www.google.com/support/ to submit your message, and we&amp;rsquo;ll getback to you soon. We apologize for any inconvenience, and we look forwardto hearing from you.</description></item><item><title>ext3 defaults update and grub breaks</title><link>/post/ext3-defaults-update-and-grub-breaks/</link><pubDate>Thu, 01 May 2008 17:20:00 +0000</pubDate><guid>/post/ext3-defaults-update-and-grub-breaks/</guid><description>GRUB vs. the Inodes: Who Needs a Bootable System, Anyway?So apparently ext3 decided to bump the default inode size to 256 however grub 0.97 can&amp;rsquo;t boot this and grub people aren&amp;rsquo;t about to fix it because they are working on grub 2. Yeah that sounds about right&amp;hellip; don&amp;rsquo;t maintain your existing code base even though your next product isn&amp;rsquo;t out yet.Amarok is doing this too, it&amp;rsquo;s quite annoying, and very poor develompment practice.</description></item><item><title>recipe for success</title><link>/post/recipe-for-success/</link><pubDate>Tue, 29 Apr 2008 13:13:00 +0000</pubDate><guid>/post/recipe-for-success/</guid><description>Example 1In 2003, an Internet meme known as &amp;ldquo;How You Remind Me of Someday&amp;rdquo;, or &amp;ldquo;Nickelback to Back&amp;rdquo;, was created to illustrate the similarities between the songs &amp;ldquo;How You Remind Me&amp;rdquo; and &amp;ldquo;Someday&amp;rdquo;.In response, bass player Mike Kroeger said &amp;ldquo;I think that&amp;rsquo;s remarkable for someone to notice that there is a hit quality. If all hits sound the same, then sorry. When you are a band that has a distinct style such as us or AC/DC, that happens.</description></item><item><title>Making secure recoverable passwords</title><link>/post/making-secure-recoverable-passwords/</link><pubDate>Sun, 27 Apr 2008 14:08:00 +0000</pubDate><guid>/post/making-secure-recoverable-passwords/</guid><description>Update: I would suggest using a password manager like LastPass, or a long passphrase before this method now.
For the basic you need a calculator with a decimal to hex function. Your OS should have one built in (scientific mode), many calculator&amp;rsquo;s do to. For advanced you&amp;rsquo;ll need special hashing software, suggestions for it can be found below.
Windows: HashCalc Macintosh MacHash Linux/(*nix) Gnu Coreutils Now that we have the software we need.</description></item><item><title>Tracking your home directory with a VCS</title><link>/post/tracking-your-home-directory-with-a-vcs/</link><pubDate>Sat, 26 Apr 2008 19:00:00 +0000</pubDate><guid>/post/tracking-your-home-directory-with-a-vcs/</guid><description>Josh Carter has done some interesting benchmarkingin this area.His tests include Subversion, Mercurial, Git, and Bazaar&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>More Advice to a Young Developer</title><link>/post/more-advice-to-a-young-developer/</link><pubDate>Fri, 25 Apr 2008 15:39:00 +0000</pubDate><guid>/post/more-advice-to-a-young-developer/</guid><description>More Advice to a Young DeveloperI think most of it applies to IT In general or even the world at large.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>Poor Support - READ WHAT I SAID</title><link>/post/poor-support-read-what-i-said/</link><pubDate>Fri, 25 Apr 2008 10:20:00 +0000</pubDate><guid>/post/poor-support-read-what-i-said/</guid><description>For Starters I&amp;rsquo;m annoyed and ranting. I&amp;rsquo;m going to pick on some particular companies, but this problem applies to the WHOLE support industry.Stop using generic scripted answers for problems where they obviously don&amp;rsquo;t apply. I&amp;rsquo;ve used them myself in the support industry, but where they apply.Examples are paraphrasedExample1: Amazon.com and there poorly worded emailsMe&amp;gt; I received an email saying that I had recently bought or viewed lawnmowers, I haven&amp;rsquo;t. Has my account been compromised?</description></item><item><title>firefox 3 beta5</title><link>/post/firefox-3-beta5/</link><pubDate>Wed, 23 Apr 2008 09:18:00 +0000</pubDate><guid>/post/firefox-3-beta5/</guid><description>I installed firefox 3 beta5 the other day. I&amp;rsquo;t really fast and has some really cool new features. Unfortunately it&amp;rsquo;s still too buggy for me. I&amp;rsquo;m downgrading back to 2.0 I&amp;rsquo;ll see firefox 3 when it&amp;rsquo;s stable.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>busybox vi</title><link>/post/busybox-vi/</link><pubDate>Tue, 22 Apr 2008 09:07:00 +0000</pubDate><guid>/post/busybox-vi/</guid><description>although there isn&amp;rsquo;t much to say about it, it&amp;rsquo;s even more limited than the original vi. If you are like me and have been using a vi clone for so long that other editor&amp;rsquo;s are unimaginable. I suggest trying busybox vion your *nix cli. At least until you can install vi(m).&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>Seagate Kills Linux Support</title><link>/post/seagate-kills-linux-support/</link><pubDate>Sun, 20 Apr 2008 20:20:00 +0000</pubDate><guid>/post/seagate-kills-linux-support/</guid><description>This was on Mad Penguin(wish he had cited it). I guess my next new hard drive won&amp;rsquo;t be a seagate. I&amp;rsquo;ll Stick with Western Digital and Maxtor (I&amp;rsquo;ve never had problems with maxtor&amp;rsquo;s going bad before 3 years. Mine have lived ~5 maybe more).&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>Open Source it or not?</title><link>/post/open-source-it-or-not/</link><pubDate>Fri, 18 Apr 2008 19:34:00 +0000</pubDate><guid>/post/open-source-it-or-not/</guid><description>When building a new web service should you open source it or not? if you do open source it, it may make it harder to have a revenue.I am of course building my product on a LAMP stack, and I&amp;rsquo;m a huge open source proponent. But if the majority of the revenue model is based around people using my site, wouldn&amp;rsquo;t it hurt me to allow others to basically rebuild my site on there own?</description></item><item><title>rss/atom bulk</title><link>/post/rssatom-bulk/</link><pubDate>Fri, 18 Apr 2008 19:02:00 +0000</pubDate><guid>/post/rssatom-bulk/</guid><description>I&amp;rsquo;ve noticed recently that some of the feeds I&amp;rsquo;ve subscribed to are including a lot of stuff I don&amp;rsquo;t care about, I&amp;rsquo;m wondering if it would be possible to have a bayesian filter for rss/atom like I do for email.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>What's wrong with Open Source Developers</title><link>/post/whats-wrong-with-open-source-developers/</link><pubDate>Mon, 14 Apr 2008 23:36:00 +0000</pubDate><guid>/post/whats-wrong-with-open-source-developers/</guid><description>I was going to write something up about what&amp;rsquo;s wrong with open source developers. But Beranger beat me to it by explaining why Open Source is not about love.I agree with him on everything except what he says about kde (and even that&amp;rsquo;s not wrong kde4 just isn&amp;rsquo;t ready to be judged yet).I have one thing to say in addition to it though.There are 4 kinds of open source developers1.) The insulting arrogant loud mouth2.</description></item><item><title>Maintainance Problem</title><link>/post/maintainance-problem/</link><pubDate>Sun, 13 Apr 2008 00:18:00 +0000</pubDate><guid>/post/maintainance-problem/</guid><description>Although open source means worse case scenario you can grab the source and maintain it yourself often this doesn&amp;rsquo;t happen. Many awesome projects just go into obscurity and I&amp;rsquo;m sure many people aren&amp;rsquo;t even aware they are no longer maintained. There was no announcement, no project closing, no call for help. The developers just stopped coding, maybe they died, who knows.I&amp;rsquo;m starting a blog called Maintenance Required(maybe I&amp;rsquo;ll do more later) to list software that needs someone to take care of it.</description></item><item><title>Would you steal a buck? How about a can of soda?</title><link>/post/would-you-steal-a-buck-how-about-a-can-of-soda/</link><pubDate>Sat, 12 Apr 2008 21:22:00 +0000</pubDate><guid>/post/would-you-steal-a-buck-how-about-a-can-of-soda/</guid><description>Would you steal a buck? How about a can of soda?
An interesting article questioning why people make predictably irrational decisions.</description></item><item><title>msysgit shouldn't be used</title><link>/post/msysgit-shouldnt-be-used/</link><pubDate>Fri, 11 Apr 2008 23:49:00 +0000</pubDate><guid>/post/msysgit-shouldnt-be-used/</guid><description>Unfortunately the developers of this project are the kind that I don&amp;rsquo;t want to deal with. Their documentation is below average, and the average documentation is already sad. Instead of plugging in to msys, they require you to use their fork of msys. I call it a fork because it isn&amp;rsquo;t a 1:1 copy, they add and removing things as they see fit. Their primary installer doesn&amp;rsquo;t include msys.bat (apparently other installers do) this makes launching the msys bash environment easy.</description></item><item><title>iptables for the average desktop user</title><link>/post/iptables-for-the-average-desktop-user/</link><pubDate>Tue, 08 Apr 2008 23:20:00 +0000</pubDate><guid>/post/iptables-for-the-average-desktop-user/</guid><description>The Best guide for learning the basics of iptables is here Linux 2.4 Stateful firewall design for the most part it continues to apply to the 2.6 kernel. The only things that won&amp;rsquo;t apply to your linux system will be: emerge if you aren&amp;rsquo;t on gentoo, and the kernel options which have changed since 2.4 and even a couple of times during 2.6.
I&amp;rsquo;m not going to cover those here. If you need help building your kernel or installing iptables I suggest that you consult with either the iptables home page or even better your distribution.</description></item><item><title>Tagged - A site that doesn't get it right</title><link>/post/tagged-a-site-that-doesnt-get-it-right/</link><pubDate>Fri, 04 Apr 2008 19:07:00 +0000</pubDate><guid>/post/tagged-a-site-that-doesnt-get-it-right/</guid><description>Taggedyet another Social Networking site. I don&amp;rsquo;t mind that these sites want to connect to my email and check for contacts&amp;hellip; but always ALWAYS allow me to skip that section. I find it poor security to enter my password just because something asks for it. Fortunately I was smart enough to stop entering data, and click a link in the &amp;lsquo;welcome to&amp;rsquo; email to go straight to my profile. I&amp;rsquo;m adding them to the hall of shame for being a security risk.</description></item><item><title>msys - native *nix on windows</title><link>/post/msys-native-nix-on-windows/</link><pubDate>Wed, 02 Apr 2008 21:55:00 +0000</pubDate><guid>/post/msys-native-nix-on-windows/</guid><description>msys homeThis is not a virtual machine, not an emulator, and technically not linux. This is a native linux like environment on windows, including BASH, the coreutils, vim and more. Brought to you by the wonderful people who brought us mingw. If you are a *nix person and HAVE to use windows I highly suggest you install this. With this Firefox, Opera, Pidgin, and many more cross platform apps you will start to feel to home in windows.</description></item><item><title>really nice</title><link>/post/really-nice/</link><pubDate>Wed, 02 Apr 2008 09:36:00 +0000</pubDate><guid>/post/really-nice/</guid><description>if you are using the cfq io scheduler in linux you can use ionice to nice your io. so to really nice something you would do nice -n 19 ionice -c 3 programname. This may not be the best idea on all programs but it works. If a program is beating your hd and cpu and you don&amp;rsquo;t want it to run this when starting it.</description></item><item><title>what hack to do first?</title><link>/post/what-hack-to-do-first/</link><pubDate>Wed, 02 Apr 2008 08:59:00 +0000</pubDate><guid>/post/what-hack-to-do-first/</guid><description>Lets see, I could work on the ipset init script bug (meaning write the init script) for gentoo. I could start digging into amarok 2&amp;rsquo;s sql.I have to figure out my Linksys WRT54GL and whether I want openwrt or ddwrt or just to leave it as is. I could be hacking my web app, or regen2. So many choices, so little time.I don&amp;rsquo;t really feel like doing the router now. So that&amp;rsquo;s out.</description></item><item><title>Perl by Example not on O'Reilly's Safari</title><link>/post/perl-by-example-not-on-oreillys-safari/</link><pubDate>Tue, 01 Apr 2008 18:38:00 +0000</pubDate><guid>/post/perl-by-example-not-on-oreillys-safari/</guid><description>I like Safari. It&amp;rsquo;s a great product that I pay ~$500 a year for. I just started a Perl class and the book is Perl by Example. Guess what it isn&amp;rsquo;t on safari or at least searching for the exact title doesn&amp;rsquo;t find it. I&amp;rsquo;ve queried the O&amp;rsquo;reilly and Prentice Hall people. I pay $500 a year, all the rest of the &amp;lsquo;By Example&amp;rsquo; Books are there, I want my book.</description></item><item><title>Just answer the question!</title><link>/post/just-answer-the-question/</link><pubDate>Tue, 01 Apr 2008 13:38:00 +0000</pubDate><guid>/post/just-answer-the-question/</guid><description>I don&amp;rsquo;t mind when people offer additional advice. But when a question about package Y is asked don&amp;rsquo;t suggest package X (unless you have to say not possible in Y but it is in X). I mean when I ask how do I fix this dependency blocker in portage don&amp;rsquo;t suggest paludis. The blocker would still exist.If I ask which files are my config files so I can migrate them. don&amp;rsquo;t say move all of your files.</description></item><item><title>Blogger needs better contact info</title><link>/post/blogger-needs-better-contact-info/</link><pubDate>Mon, 31 Mar 2008 09:41:00 +0000</pubDate><guid>/post/blogger-needs-better-contact-info/</guid><description>I have 4 Instant messenger addresses, and freenode (irc) hacked into my &amp;lsquo;about me&amp;rsquo; why is it that blogger thinks one will be enough? maybe someday. But that day is not yet here. Blogger should allow for customizable profiles more like it does with our blogs.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>wiped out svn</title><link>/post/wiped-out-svn/</link><pubDate>Mon, 31 Mar 2008 04:26:00 +0000</pubDate><guid>/post/wiped-out-svn/</guid><description>So I&amp;rsquo;m sitting at my computer running out of space on /var and I think ok I need to move my svn repositories to /srv which is on ext3 and part of /. so I go to move them there&amp;hellip; it says file exits. I ls /srv/svn sure enough there they are. I&amp;rsquo;ve already moved them great rm -r /var/svn (gentoo doesn&amp;rsquo;t enable -i by default) it deletes everything. I shortly realize that /srv/svn was a symlink to /var/svn.</description></item><item><title>How to disagree</title><link>/post/how-to-disagree/</link><pubDate>Fri, 28 Mar 2008 22:57:00 +0000</pubDate><guid>/post/how-to-disagree/</guid><description>I recently stumbled upon Paul Graham. He wrote this article on How to Disagreerecently. All of his essays/articles are well written.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>what's in my name (xenoterracide)</title><link>/post/whats-in-my-name-xenoterracide/</link><pubDate>Thu, 27 Mar 2008 01:00:00 +0000</pubDate><guid>/post/whats-in-my-name-xenoterracide/</guid><description>So 2 days in a row I&amp;rsquo;ve had developers discussing the root of my handle.
so here we go.
xeno is greek, normal definitions aside in science fiction it is often used when referring to alien life forms.
terra is latin, it means earth.
is english (with latin roots), means killer or killing.
loosely translated it meant to me &amp;lsquo;alien earthling killer&amp;rsquo;, but that was when I was 16. Now, it&amp;rsquo;s just my handle and has no other meaning to me other than it&amp;rsquo;s unique and a part of my history.</description></item><item><title>ReGen2 Linux</title><link>/post/regen2-linux/</link><pubDate>Wed, 26 Mar 2008 22:33:00 +0000</pubDate><guid>/post/regen2-linux/</guid><description>I&amp;rsquo;m starting a blog for my thoughts on forking Gentoo Linux here&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>New version of SELinux released</title><link>/post/new-version-of-selinux-released/</link><pubDate>Tue, 25 Mar 2008 18:20:00 +0000</pubDate><guid>/post/new-version-of-selinux-released/</guid><description>also see the selinux home/news page http://www.nsa.gov/selinux/news.cfm&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>Unix Toolbox</title><link>/post/unix-toolbox/</link><pubDate>Mon, 24 Mar 2008 17:49:00 +0000</pubDate><guid>/post/unix-toolbox/</guid><description>Found this Unix Toolboxon Diggtoday. Most complete list of commands for Linux/BSD/UNIX that I&amp;rsquo;ve ever seen. I could only think of one missing off the top of my head. ionice.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>USA's Secuity is at risk... from itself</title><link>/post/usas-secuity-is-at-risk...-from-itself/</link><pubDate>Fri, 21 Mar 2008 17:43:00 +0000</pubDate><guid>/post/usas-secuity-is-at-risk...-from-itself/</guid><description>Yes, yes, one again the USA has made a fool of itself. This time by sending emails out with a return address of &amp;lsquo;donotreply.com&amp;rsquo;. the guys blog is funny, look at all the corporate fools.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>Favorites</title><link>/post/favorites/</link><pubDate>Tue, 18 Mar 2008 20:01:00 +0000</pubDate><guid>/post/favorites/</guid><description>Just a thought&amp;hellip; blogger should add a &amp;lsquo;Favorite Videogames&amp;rsquo; to our profiles. I believe that videogames are similar enough to music/movies/books that they should get their own area. Or perhaps just games.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>Dawn of War: Soulstorm</title><link>/post/dawn-of-war-soulstorm/</link><pubDate>Wed, 12 Mar 2008 20:30:00 +0000</pubDate><guid>/post/dawn-of-war-soulstorm/</guid><description>To start I just got this game so I will be expanding this review throughout the next few days.First the Bad.The intro movie (to the game) feels more cartoony than the previous ones, I don&amp;rsquo;t like the style. I don&amp;rsquo;t feel that it is on par with Relic&amp;rsquo;s previous movies. This is a trivial complaint and perhaps merely artistic preference.There doesn&amp;rsquo;t seem to be a race intro movie like there was in Dark Crusade.</description></item><item><title>10,000 B.C</title><link>/post/10000-b.c/</link><pubDate>Sun, 09 Mar 2008 14:33:00 +0000</pubDate><guid>/post/10000-b.c/</guid><description>First, I enjoyed this movie. I&amp;rsquo;d give it a B grade as far as movies go. However, it can&amp;rsquo;t possibly survive it&amp;rsquo;s own hype. The CGI in the movie is awesome. The story is so, so. Historically it&amp;rsquo;s wildly inaccurate, but you should have known that from the trailer. I won&amp;rsquo;t be buying this one, nore probably watching it again. However, I think it is worth seeing at least once, and probably on the big screen just for the graphics.</description></item><item><title>What Open Source Operating System's still need</title><link>/post/what-open-source-operating-systems-still-need/</link><pubDate>Fri, 07 Mar 2008 15:25:00 +0000</pubDate><guid>/post/what-open-source-operating-systems-still-need/</guid><description>I&amp;rsquo;m not going to mention things that are beyond the control of open source such as drivers and multimedia. These things are the fault of the corporations that control them.The first thing I think these systems need is a unified password manager. Instead both gnome and kde have there own password storage system and so do a million other apps. I think OpenBSD should lead the pack on this one given there reputation for security.</description></item><item><title>The Eye (movie)</title><link>/post/the-eye-movie/</link><pubDate>Tue, 26 Feb 2008 12:36:00 +0000</pubDate><guid>/post/the-eye-movie/</guid><description>imdb entryI went to see this the other night. Because NCGwas having problem&amp;rsquo;s with Cloverfield&amp;hellip; and we were already there.I didn&amp;rsquo;t find it scary at all. A little creepy. The blurry vision and screaming death shadows were just annoying.I did think that it might be an interesting concept for a Mage Awakening in Mage the Awakening RPG. Not as is of course.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.</description></item><item><title>Anti-depressants no better than Placebo</title><link>/post/anti-depressants-no-better-than-placebo/</link><pubDate>Tue, 26 Feb 2008 11:43:00 +0000</pubDate><guid>/post/anti-depressants-no-better-than-placebo/</guid><description>Article.Well apparently some research has been done, on non-published studies done, that shows for the most part anti-depressants aren&amp;rsquo;t better than placebo&amp;rsquo;s. Say it ain&amp;rsquo;t so&amp;hellip; the drug companies wouldn&amp;rsquo;t not tell us if they knew that you could get the same effect without buying their drugs at $100 a bottle would they?saw this article first on slashdot&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>I have an account?</title><link>/post/i-have-an-account/</link><pubDate>Fri, 22 Feb 2008 18:12:00 +0000</pubDate><guid>/post/i-have-an-account/</guid><description>Most people complain, &amp;ldquo;I don&amp;rsquo;t know what my username and password for site x is&amp;rdquo;. I don&amp;rsquo;t have that problem, because I use the username xenoterracide almost everywhere, except for anal places that provide me with usernames, like my bank or school, or don&amp;rsquo;t allow that many characters in the username.My problem is I can&amp;rsquo;t remember all the places I have an account.I was looking at flickr last night, needed an account to look at something.</description></item><item><title>Participation Points</title><link>/post/participation-points/</link><pubDate>Wed, 20 Feb 2008 19:51:00 +0000</pubDate><guid>/post/participation-points/</guid><description>At Baker College they don&amp;rsquo;t allow teachers to grade based on attendance. I&amp;rsquo;m sure this policy is common with most schools. So what do the teacher&amp;rsquo;s do? they grade based on participation. This is crap as to be able to participate you must attend the class. What the teacher&amp;rsquo;s are actually doing is re-labeling attendance points as participation. Because it doesn&amp;rsquo;t matter whether you take part in a class conversation. All you have to do is show up.</description></item><item><title>Jumper (movie)</title><link>/post/jumper-movie/</link><pubDate>Fri, 15 Feb 2008 16:35:00 +0000</pubDate><guid>/post/jumper-movie/</guid><description>IMDB entry)Saw this movie yesterday. It was Ok. It wasn&amp;rsquo;t great, it wasn&amp;rsquo;t horrible. I can&amp;rsquo;t really say anything, good about it. But I can&amp;rsquo;t say anything bad either. I enjoyed it, I won&amp;rsquo;t be buying it, or seeing it again though.&amp;ndash;This workby Caleb Cushingis licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</description></item><item><title>Modern Bigotry - Black History Month</title><link>/post/modern-bigotry-black-history-month/</link><pubDate>Fri, 15 Feb 2008 16:12:00 +0000</pubDate><guid>/post/modern-bigotry-black-history-month/</guid><description>First off, I&amp;rsquo;m not racist, I&amp;rsquo;d like to think I&amp;rsquo;m not bigoted in any way.But I&amp;rsquo;m tired of all these equality rants from blacks and females.WE WERE SLAVES. So? so what? every race under the sun has had slaves and been enslaved at some point during the history of humans. Why are you special?Why don&amp;rsquo;t we have a white history month? A Jewish history month? A Latino history month? etc, etc.</description></item></channel></rss>