<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Technology on zacharyc</title>
    <link>https://www.zacharyc.com/categories/technology/</link>
    <description>Recent content in Technology on zacharyc</description>
    <image>
      <title>zacharyc</title>
      <url>https://www.zacharyc.com/papermod-cover.png</url>
      <link>https://www.zacharyc.com/</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Mon, 30 Jan 2023 15:27:02 -0500</lastBuildDate>
    <atom:link href="https://www.zacharyc.com/categories/technology/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Documentation Formats</title>
      <link>https://www.zacharyc.com/2023/01/30/documentation-formats/</link>
      <pubDate>Mon, 30 Jan 2023 15:27:02 -0500</pubDate>
      <guid>https://www.zacharyc.com/2023/01/30/documentation-formats/</guid>
      <description>&lt;p&gt;Life is full of things to catalog, especially for someone like me. Someone who loves organization in data and looking for patterns. Someone who is convinced that the random things in my life will probably come together someday like the unification theory. But how? How does one sort, contain, and search data?&lt;/p&gt;
&lt;p&gt;The first step is recording the data. There are many ways to do this. Databases have traditionally been a great way. NoSQL databases with their loose document format are interesting. The second brain methodology uses documents or notes to contain the same thing. And while these documents can be formatted in things like Markdown and have front matter for categorization, much of the data is contained in the raw text which means a human has to parse and read it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Life is full of things to catalog, especially for someone like me. Someone who loves organization in data and looking for patterns. Someone who is convinced that the random things in my life will probably come together someday like the unification theory. But how? How does one sort, contain, and search data?</p>
<p>The first step is recording the data. There are many ways to do this. Databases have traditionally been a great way. NoSQL databases with their loose document format are interesting. The second brain methodology uses documents or notes to contain the same thing. And while these documents can be formatted in things like Markdown and have front matter for categorization, much of the data is contained in the raw text which means a human has to parse and read it.</p>
<p>Before you expect this post to come to some epic realization, tl;dr; I still don’t have one. This post is about the methods out there I’m considering for sorting my life.</p>
<h4 id="option-1-sql">Option 1: SQL</h4>
<p>I’m not a fan of no SQL databases. From my point of view, if you are going to create data to exist in a place that is typed, loose document formats make comparing and reading things hard. So structured data is better, hence SQL.</p>
<p><strong>Pros:</strong></p>
<ul>
<li>The data is structured from the start</li>
<li>There are many different options for which SQL platform to use and many of them are interchangeable so there are options.</li>
<li>Things like normalization define best practices for working with something like this, so you don’t have to develop them yourself.</li>
</ul>
<p><strong>Cons:</strong></p>
<ul>
<li>You need to run a server somewhere.</li>
<li>It is not easily human decodable.</li>
<li>You need to learn to use SQL to really be successful and joins are fun (and hard).</li>
<li>Because structure is required you have to define it up front.</li>
</ul>
<h4 id="option-2-markdown">Option 2: Markdown</h4>
<p>This is honestly what I’m currently using in my second brain with Obsidian. This may be the best of all worlds. It has the notion of storing structured data in front matter, and throughout the document with special tags. Much of the document remains readable in sentences, but it is in loose format and you have to create and maintain your own formatting standards.</p>
<p><strong>Pros:</strong></p>
<ul>
<li>Format is loose so you don’t need to stress about it.</li>
<li>Much of the notes are human-readable.</li>
<li>There are many tools to convert markdown to the web for sharing.</li>
<li>Cost of starting is very low.</li>
</ul>
<p><strong>Cons:</strong></p>
<ul>
<li>Because the format is loose, the responsibility lies on the creator to maintain the structure desired.</li>
<li>The organization of individual documents is also important.</li>
<li>Search is only as good as you are at searching and remembering.</li>
<li>It’s easy to end up with a mess of documents.</li>
</ul>
<p><strong>Option 3: Stricter document format</strong></p>
<p>This category contains things similar to markdown but with more structure. This category fits things like JSON, YAML, and TOML. This is following the Pragramtic Programmer guideline of storing things in the text but putting some structure behind it. Some of these formats are more readable than others.</p>
<p><strong>Pros:</strong></p>
<ul>
<li>Easily computer parsable.</li>
<li>More human-readable than a SQL database</li>
</ul>
<p><strong>Cons:</strong></p>
<ul>
<li>No official typing.</li>
<li>Need to use a validator to confirm you have a valid document.</li>
<li>Nothing requires the structure like a SQL Table so searching could be difficult.</li>
</ul>
<h2 id="summation">Summation</h2>
<p>I don’t have a conclusion. I’m still thinking, but these are interesting options of how to start really putting the data together. Our lives are full of data, it’s a shame when it gets lost or mislabeled or put in a place where we can’t find it. Hopefully, I’ll start putting together something more useful.</p>
]]></content:encoded>
    </item>
    <item>
      <title>WordPress and the Future</title>
      <link>https://www.zacharyc.com/2022/12/22/wordpress-and-the-future/</link>
      <pubDate>Thu, 22 Dec 2022 21:33:39 -0500</pubDate>
      <guid>https://www.zacharyc.com/2022/12/22/wordpress-and-the-future/</guid>
      <description>&lt;p&gt;This site is &lt;strong&gt;currently&lt;/strong&gt; hosted on a WordPress backend. I’ve been using wordpress for hosting many of my sites since around 2005. I’ve used several different providers and hosted a bunch of sites that are around and some that have gone away. WordPress has been a consistent tool across that process.&lt;/p&gt;
&lt;p&gt;The problem: WordPress is heavy handed. It has morphed from a blogging platform to a full Content Management System (CMS). It has pluggins and extensions for pretty much everything. You can do so much with a wordpress site, but there in lies the problem. WordPress does everything, which means it is complicateed. Modifying and extending wordpress takes a bit of knowledge and as the system grows so does knowledge required to modify and work with it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This site is <strong>currently</strong> hosted on a WordPress backend. I’ve been using wordpress for hosting many of my sites since around 2005. I’ve used several different providers and hosted a bunch of sites that are around and some that have gone away. WordPress has been a consistent tool across that process.</p>
<p>The problem: WordPress is heavy handed. It has morphed from a blogging platform to a full Content Management System (CMS). It has pluggins and extensions for pretty much everything. You can do so much with a wordpress site, but there in lies the problem. WordPress does everything, which means it is complicateed. Modifying and extending wordpress takes a bit of knowledge and as the system grows so does knowledge required to modify and work with it.</p>
<p>This site is hosted on a custom template version that I have modified without really understanding how all of it works. I get bits and pieces. I have added my own fonts and put in some of my own styles here and there. When it comes to big customizations there are pieces of this site that I don’t like. One of them is the person icon at the top of the page. When you hover over it, shows a white background and messes with page. I’m honestly afraid to spend the time to figure out how to fix it.</p>
<p>The technology behind wordpress is also getting a bit dated. It still works, but wordpress is built on PHP. PHP was great back in the day. In college I was part of a team that built an entire database project in PHP. But the technology is old and there are some newer technologies that are a little more fun to learn. So instead of investing in learning an older technology. I’m looking at some newer.</p>
<p>I would not be surprised if this site moves in the next year. I’m currently playing with <a href="https://gohugo.io">Hugo</a>, and I’ve looked at <a href="https://11ty.dev">11ty</a>, and of course the standard <a href="https://jekyllrb.com">Jekyll</a>. The truth is that all of these are pretty similar. It just about which one you want to invest the time in learning and building. Hugo is written in Go. 11ty is Javascript, and Jekyll is Ruby.</p>
<p>Why choose Hugo? Why Move. I want more control. I don’t want my system to have the control. I want to be in the driver seat. The reason behind Hugo is a little bit silly. I want to learn to Go. There is this technology called Bubble Tea which is like NCurses on steriods for the Go programming language and I’d like to do some stuff there.</p>
<p>So here is learning go. Learning Hugo. Making better, more customizable sites, and getting my thoguhts out there with a technology that I enjoy.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Thinking About Themes</title>
      <link>https://www.zacharyc.com/2022/08/17/thinking-about-themes/</link>
      <pubDate>Wed, 17 Aug 2022 20:16:30 -0400</pubDate>
      <guid>https://www.zacharyc.com/2022/08/17/thinking-about-themes/</guid>
      <description>&lt;p&gt;I’m not a visual designer, but I do like pretty things.&lt;/p&gt;
&lt;p&gt;On the top of my mind recently has been the idea of my Purple Owl Theme. It comes from the “Night Owl” theme on &lt;a href=&#34;https://www.monolisa.dev&#34;&gt;MonoLisa’s website&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Blue background with a big purple highlight. Light gray as a text color. I love the theme, and I’ve tried to make a version of it for &lt;a href=&#34;https://obsidian.md&#34;&gt;Obsidian&lt;/a&gt;. In doing so, I realized that actually figuring out what colors goes where is confusing. Colors that make sense on the MonoLisa site don’t make sense in my Obsidian theme. There are also a bunch of additional color and syntax settings for something like my Obsidian notes that aren’t really matched to any of the theme values from the MonoLisa site.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I’m not a visual designer, but I do like pretty things.</p>
<p>On the top of my mind recently has been the idea of my Purple Owl Theme. It comes from the “Night Owl” theme on <a href="https://www.monolisa.dev">MonoLisa’s website</a>.</p>
<p>Blue background with a big purple highlight. Light gray as a text color. I love the theme, and I’ve tried to make a version of it for <a href="https://obsidian.md">Obsidian</a>. In doing so, I realized that actually figuring out what colors goes where is confusing. Colors that make sense on the MonoLisa site don’t make sense in my Obsidian theme. There are also a bunch of additional color and syntax settings for something like my Obsidian notes that aren’t really matched to any of the theme values from the MonoLisa site.</p>
<p>I look at some other themes like <a href="https://monokai.pro">Monokia Pro</a> and see that they are using mostly 6 colors and backgrounds.</p>
<p>There has to be a better solution to theming. Having to write themes for everything, customizing for each individual application. As we do themes at <a href="https://www.airkit.com">Airkit</a>, the same thing applies. We have things like “Brand-Primary” and “Brand-Tint1” and various other colors defined within our apps.</p>
<p>After talking to a VERY smart coworker he turned me on to Design Tokens. Design tokens are the elements of style that Salesforce uses in their Lightning Design System (LDS). They define a set of tokens that are then used throughout their various different products. They use tools to take these defined tokens and send them out to SASS out for web products and p-lists for iOS, etc.</p>
<p>After looking at <a href="https://www.lightningdesignsystem.com/design-tokens/">LDS Design Tokens</a>, there are a bunch of things on there that aren’t exactly what I’m looking for. I’m looking for a way to define a few select attributes and have a tool interpret it into a full theme that is usable in many different applications. Looking at <a href="https://github.com/altercation/solarized/tree/master/adobe-swatches-solarized">Solarized</a> they only have 16 defined colors.</p>
<p>Anyway, I’m not done with anything yet. I’m just starting to think through this project.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Zacharyc Consulting</title>
      <link>https://www.zacharyc.com/2022/07/06/zacharyc-consulting/</link>
      <pubDate>Wed, 06 Jul 2022 13:56:46 -0400</pubDate>
      <guid>https://www.zacharyc.com/2022/07/06/zacharyc-consulting/</guid>
      <description>&lt;p&gt;Last week I started two new companies. One of them is pretty straightforward and so I’m announcing it here today. I started &lt;strong&gt;&lt;a href=&#34;https://www.zacharyc-consulting.com&#34;&gt;zacharyc consulting&lt;/a&gt;&lt;/strong&gt; which is a technology consulting business. There are many times I’ll be in a conversation with someone about technology and they are looking for guidance. With years in the field of tech I have a diverse background in the field. My goal in this business is to help advise businesses with their technology decisions. From making a website to social media, there are many technical questions that I can help answer.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last week I started two new companies. One of them is pretty straightforward and so I’m announcing it here today. I started <strong><a href="https://www.zacharyc-consulting.com">zacharyc consulting</a></strong> which is a technology consulting business. There are many times I’ll be in a conversation with someone about technology and they are looking for guidance. With years in the field of tech I have a diverse background in the field. My goal in this business is to help advise businesses with their technology decisions. From making a website to social media, there are many technical questions that I can help answer.</p>
<p>This is not a replacement for my day job, and I’m probably not going to take on any project that is too significantly large. The goal is to provide guidance to those who need it and help people avoid investing in the wrong solution.</p>
]]></content:encoded>
    </item>
    <item>
      <title>12 Tips for People New To Software Engineering</title>
      <link>https://www.zacharyc.com/2021/08/25/11-tips-for-people-new-to-software-engineering/</link>
      <pubDate>Wed, 25 Aug 2021 00:26:23 -0400</pubDate>
      <guid>https://www.zacharyc.com/2021/08/25/11-tips-for-people-new-to-software-engineering/</guid>
      <description>&lt;p&gt;I’ve been working in the field of software for over 16 years now. I’ve worked for small companies, and I’ve worked for large companies. I have recommendations of books to read (though I really should start a database of books). I gave a small talk a couple of days ago, and I shared some points to start with. Here are the points that I advocated:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Learn Version Control Software&lt;/strong&gt; – This was something that was mentioned in college, but not really harped on. In the real software world, everything is done with version control. It allows you to track changes and see how the software is made. Learn it! Git is the most common, but there are plenty of alternatives.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Read Books Often&lt;/strong&gt; – It actually doesn’t have to be books, it can be blogs and various other things. Find stuff to read and stay up to date as best you can. Software is continually evolving. As people are writing software, they are evolving the practice of software engineering. New stuff will make your life better and easier.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Understand Computer Architecture&lt;/strong&gt; – At some point in your career, understanding how a computer works will help you. I have a story about a buffer overflow in Swift that wasn’t pushed back to ObjC that took me days to debug, and I was only able to solve by realizing the one device we were working on was a 32 bit device. Understanding architecture will help you with understanding performance trade-offs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Everything boils down to text&lt;/strong&gt; – Everything is text, somehow. Packets going over the internet are really just text in disguise. Websites are mde in text. Everything is text. Even images are really bytes, which is text for computers. If you spend enough time, you can understand pretty much anything. It’s all a matter of time, usually not a technical limitation of understanding a problem.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Have a website&lt;/strong&gt; – This is advice from &lt;a href=&#34;https://www.amazon.com/Being-Geek-Software-Developers-Handbook/dp/0596155409/ref=sr_1_2?dchild=1&amp;amp;keywords=being&amp;#43;geek&amp;amp;qid=1629835073&amp;amp;sr=8-2&#34;&gt;Being Geek&lt;/a&gt; from Michael Lopp. Create a website. It’s not super hard to do and will look good on your resume. It’s a great way to show potential employers what you have done.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Do side projects&lt;/strong&gt; – They don’t need to production level projects, but doing side projects is a great way to play with technology and learn about various different things. Notice a trend here, keep learning if you want to be successful.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Learn as many langauges as possible&lt;/strong&gt; – You don’t need to be an expert in all of them, but understanding the basics in many different langauges will help you. Being able to understand the advantages of one language over another is super helpful. Picking up a second langague can be hard, but if you have many languages under your belt, picking up a new one isn’t super hard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Learn people skills and start networking&lt;/strong&gt; – Even though writing software is a skill, most projects are too complicated for any one person to do. You will need to work with others. Learning to do this effectively will help your career. It might also allow you to find different opportunites that might peak your interest.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Learn the command line&lt;/strong&gt; – I don’t care what system you are on, there is a command line under it. Learning the command line will help you be efficient and work on many different environments. Remember, everything is text.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Keep notes and records&lt;/strong&gt; – You will forget what you wrote in less than 3 months. Notes and records will be your best resource for remembering what you are thinking. Plus you remember more of what you write down. So write things down in a way you will be able to look back on them in the future.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Become a power user of your software&lt;/strong&gt; – You will spend your days using development software. Learn the keyboard shortcuts and all the tricks you can to be more effective in your software. It will help you save time, and that time will add up. It will allow you to spend more time thinking about the “what” of software.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Learn about testing&lt;/strong&gt; – saving one of the best for last. Testing can be your best friend. It can help you from breaking something you already had working and ensuring your objects behave the way you expect them to. I’ve worked for companies that have done too much testing (way too much UI testing can slow down development), but if you have a question, you probably don’t have enough.&lt;/li&gt;
&lt;/ul&gt;</description>
      <content:encoded><![CDATA[<p>I’ve been working in the field of software for over 16 years now. I’ve worked for small companies, and I’ve worked for large companies. I have recommendations of books to read (though I really should start a database of books). I gave a small talk a couple of days ago, and I shared some points to start with. Here are the points that I advocated:</p>
<ul>
<li><strong>Learn Version Control Software</strong> – This was something that was mentioned in college, but not really harped on. In the real software world, everything is done with version control. It allows you to track changes and see how the software is made. Learn it! Git is the most common, but there are plenty of alternatives.</li>
<li><strong>Read Books Often</strong> – It actually doesn’t have to be books, it can be blogs and various other things. Find stuff to read and stay up to date as best you can. Software is continually evolving. As people are writing software, they are evolving the practice of software engineering. New stuff will make your life better and easier.</li>
<li><strong>Understand Computer Architecture</strong> – At some point in your career, understanding how a computer works will help you. I have a story about a buffer overflow in Swift that wasn’t pushed back to ObjC that took me days to debug, and I was only able to solve by realizing the one device we were working on was a 32 bit device. Understanding architecture will help you with understanding performance trade-offs.</li>
<li><strong>Everything boils down to text</strong> – Everything is text, somehow. Packets going over the internet are really just text in disguise. Websites are mde in text. Everything is text. Even images are really bytes, which is text for computers. If you spend enough time, you can understand pretty much anything. It’s all a matter of time, usually not a technical limitation of understanding a problem.</li>
<li><strong>Have a website</strong> – This is advice from <a href="https://www.amazon.com/Being-Geek-Software-Developers-Handbook/dp/0596155409/ref=sr_1_2?dchild=1&amp;keywords=being&#43;geek&amp;qid=1629835073&amp;sr=8-2">Being Geek</a> from Michael Lopp. Create a website. It’s not super hard to do and will look good on your resume. It’s a great way to show potential employers what you have done.</li>
<li><strong>Do side projects</strong> – They don’t need to production level projects, but doing side projects is a great way to play with technology and learn about various different things. Notice a trend here, keep learning if you want to be successful.</li>
<li><strong>Learn as many langauges as possible</strong> – You don’t need to be an expert in all of them, but understanding the basics in many different langauges will help you. Being able to understand the advantages of one language over another is super helpful. Picking up a second langague can be hard, but if you have many languages under your belt, picking up a new one isn’t super hard.</li>
<li><strong>Learn people skills and start networking</strong> – Even though writing software is a skill, most projects are too complicated for any one person to do. You will need to work with others. Learning to do this effectively will help your career. It might also allow you to find different opportunites that might peak your interest.</li>
<li><strong>Learn the command line</strong> – I don’t care what system you are on, there is a command line under it. Learning the command line will help you be efficient and work on many different environments. Remember, everything is text.</li>
<li><strong>Keep notes and records</strong> – You will forget what you wrote in less than 3 months. Notes and records will be your best resource for remembering what you are thinking. Plus you remember more of what you write down. So write things down in a way you will be able to look back on them in the future.</li>
<li><strong>Become a power user of your software</strong> – You will spend your days using development software. Learn the keyboard shortcuts and all the tricks you can to be more effective in your software. It will help you save time, and that time will add up. It will allow you to spend more time thinking about the “what” of software.</li>
<li><strong>Learn about testing</strong> – saving one of the best for last. Testing can be your best friend. It can help you from breaking something you already had working and ensuring your objects behave the way you expect them to. I’ve worked for companies that have done too much testing (way too much UI testing can slow down development), but if you have a question, you probably don’t have enough.</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Starting a Career in Software</title>
      <link>https://www.zacharyc.com/2021/08/10/starting-a-career-in-software/</link>
      <pubDate>Tue, 10 Aug 2021 21:37:06 -0400</pubDate>
      <guid>https://www.zacharyc.com/2021/08/10/starting-a-career-in-software/</guid>
      <description>&lt;p&gt;I’ve written some blog posts on getting into the business of software development before. Specifically this list of &lt;a href=&#34;https://zacharyc.com/2008/01/03/computer-book-reading-list/&#34;&gt;books on programming&lt;/a&gt;, yet I had a conversation with a young engineer the other week and it made me wonder what else I could do to people get into the field. Luckily for me, this young engineer has friends who are also in college and also looking to get some information on the field.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I’ve written some blog posts on getting into the business of software development before. Specifically this list of <a href="https://zacharyc.com/2008/01/03/computer-book-reading-list/">books on programming</a>, yet I had a conversation with a young engineer the other week and it made me wonder what else I could do to people get into the field. Luckily for me, this young engineer has friends who are also in college and also looking to get some information on the field.</p>
<p>Now, I’m famous for saying, “I’m a Zack of all trades, master of some (really few).” The truth is, when it comes to software, I’m not a super-strong master of many. I get the conceptual idea of a bunch of it, and I’m really just an expert at seeing a problem and understanding the solution. What I’m good at is finding resources to help me and understanding what the resources tell me and translating that into solutions.</p>
<p>Still, when I was starting, I wish there were a bunch of things people had told me. I wish I had known that literally, anything is possible in the world of computer programming if you are willing to dig deep enough to figure out what is going on. I wish I had been told some good places to start learning. I wish I had been told that it’s okay to ask any question once, but it’s really bad to ask the same question over and over again. That it is disrespectful to go to someone with more knowledge than you without even doing a google search and bringing something to the discussion.</p>
<p>Anyway, these are some of the things I learned. I’m curious what the knowledge gap is between those of us in the industry and those just finishing college. To that end, I’m hosting a zoom call on Thursday, August 19th at 8 PM eastern. I’ll probably have some slides prepared, but I’m hoping that most of the session is about Q&amp;A with questions people bring. All you need to do is join the <a href="https://airkit.zoom.us/j/98548265813?pwd%3DaVppQzBYNDFqUklmM0xzZzZSYjZiQT09&amp;sa=D&amp;source=calendar&amp;ust=1629055577069490&amp;usg=AOvVaw1Vh37YWwsw4q8KCPF8XMiW">zoom</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Pensive Ruminations about Thinking</title>
      <link>https://www.zacharyc.com/2021/07/21/pensive-ruminations-about-thinking/</link>
      <pubDate>Wed, 21 Jul 2021 13:53:35 -0400</pubDate>
      <guid>https://www.zacharyc.com/2021/07/21/pensive-ruminations-about-thinking/</guid>
      <description>&lt;p&gt;A few weeks ago a coworker implanted an idea in my brain about this concept of &lt;a href=&#34;https://fortelabs.co/blog/basboverview/&#34;&gt;Second Brain&lt;/a&gt;. The notion is that the brain is being used in ways it wasn’t designed for and we have a ton of tools at the ready to do more than ever. The notion that we are bound by the limits of our brains is somewhat false. Knowledge and ability goes beyond the our bodies now. With the internet and the use of other information, it is possible to accomplish a bunch even without being able to remember everything.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A few weeks ago a coworker implanted an idea in my brain about this concept of <a href="https://fortelabs.co/blog/basboverview/">Second Brain</a>. The notion is that the brain is being used in ways it wasn’t designed for and we have a ton of tools at the ready to do more than ever. The notion that we are bound by the limits of our brains is somewhat false. Knowledge and ability goes beyond the our bodies now. With the internet and the use of other information, it is possible to accomplish a bunch even without being able to remember everything.</p>
<p>The link above is for a specific methodology of coming to a second brain. The truth is there is more than one way to do it, and the person who is teaching that class’s big claim to fame is that class. Is organizing how to teach others to organize really success? I’m skeptical. The class that he is offering is in the multiple thousand dollar range and fills up, but I’m not willing to spend that much to learn to figure out my life.</p>
<p>Instead I’ve decided to start reading and figuring out things for myself. I’ve started with a book called <a href="https://anniemurphypaul.com/books/the-extended-mind/">The Extended Mind</a>. I’m still working my way through it, but already I’m enraptured with the ideas in it. The notion that our brain does not end at the organ in our heads. The fact that our brain is an organ and a muscle like we’ve all been taught. These are all compelling notions. Taking this further than the book has so far, the mind extends to all of the knowledge that is available to us. This includes all the people we know. Our knowledge then is a shared knowledge. It makes me wonder if by the definition of the book, are humans really just one brain working together? I’m not yet finished with the book (really just starting), so these are all unfinished thoughts. I don’t have a full answer to what I think about the book and this notion yet.</p>
<p>What I do have a thought on is the new program that I found with a little bit of searching. It’s called <a href="https://obsidian.md">Obsidian</a>. Basically it’s what I’ve been looking for but without knowing I was looking for. It is a visual representation of the notes on your computer formed in markdown. It can sync between multiple devices (though you do have to remember to save, which is annoying). You can easily link between notes and jump to other notes. You can see the notes in a graph view and see the ones that are connected. It was created as a way to foster connection between thoughts and allow for more of this second brain stuff to exist. It stores all the data in Markdown files on disk so it is accessible at any time.</p>
<p>I’m definitely not using it as efficiently as I could be and there definitely is a lot of work for me to do get the organization the way I need it to be, but I’m loving it so far. Unlike Bear, it allows for complete stylesheet customization. This allows you to shoot yourself in the foot or create some cool additional features if you want. There are a whole list of external plugins as well, because it is just javascript under the hood. This is my tool. Now I just need to figure out how to get all of my old notes from Day One over and start making things better.</p>
<p>Also of note, because it lets me override styles, I am using my favorite MonoLisa, which allows me to do very cool arrows and various other ligatures that I really like.</p>
<p>Unknown how the use of this program will help me in the long run, but maybe this will allow me to create more than just my own thoughts. Maybe someday I will be able to pass on my second brain to my family and anyone else who wants it. Pretty excited about figuring all of this out.</p>
]]></content:encoded>
    </item>
    <item>
      <title>WebDriverJs and Chromedriver</title>
      <link>https://www.zacharyc.com/2012/06/25/webdriverjs-and-chromedriver/</link>
      <pubDate>Mon, 25 Jun 2012 18:20:59 -0400</pubDate>
      <guid>https://www.zacharyc.com/2012/06/25/webdriverjs-and-chromedriver/</guid>
      <description>&lt;p&gt;If you’re not familiar with &lt;a href=&#34;http://seleniumhq.org/projects/webdriver/&#34;&gt;WebDriver&lt;/a&gt;, perhaps you should be (if you’re a programmer). It’s a tool used for performing user tests on websites. I’ve been working on a project for testing some websites with Chromedriver, the chrome implementation of WebDriver. Once you have the driver up and running you need a way to send it commands to get it to do user actions. Chromedriver responds to simple REST requests, which, of course can be issued through JavaScript. This leads to &lt;a href=&#34;http://code.google.com/p/selenium/wiki/WebDriverJs&#34;&gt;WebDriverJS&lt;/a&gt;, a simple implementation of the REST protocol for WebDriver. You can use it server side, with something like node. Or you can use it client side, within the browser.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>If you’re not familiar with <a href="http://seleniumhq.org/projects/webdriver/">WebDriver</a>, perhaps you should be (if you’re a programmer). It’s a tool used for performing user tests on websites. I’ve been working on a project for testing some websites with Chromedriver, the chrome implementation of WebDriver. Once you have the driver up and running you need a way to send it commands to get it to do user actions. Chromedriver responds to simple REST requests, which, of course can be issued through JavaScript. This leads to <a href="http://code.google.com/p/selenium/wiki/WebDriverJs">WebDriverJS</a>, a simple implementation of the REST protocol for WebDriver. You can use it server side, with something like node. Or you can use it client side, within the browser.</p>
<p>Here’s where the plot thickened for me. Normally I used to start chromedriver directly:<br>
<a href="https://gist.github.com/2885890.js?file=old_way.sh">https://gist.github.com/2885890.js?file=old_way.sh</a></p>
<p>Once I had the server up and running I wanted to test<br>
<a href="https://gist.github.com/2885890.js?file=run-driver%28wrong%29.js">https://gist.github.com/2885890.js?file=run-driver(wrong).js</a><br>
with the html:<br>
<a href="https://gist.github.com/2885890.js?file=wd_test.html">https://gist.github.com/2885890.js?file=wd_test.html</a></p>
<p>I spent several days trying to get this to work. I had no success. I searched the interwebs, and came up with nothing. The solution is simple, but was not apparent. You need to run chromedriver through the webdriver shell.</p>
<p>Here’s the command line:<br>
<a href="https://gist.github.com/2885890.js?file=with_selenium.sh">https://gist.github.com/2885890.js?file=with_selenium.sh</a></p>
<p>You also have to modify the connection javascript, the run-driver.js should how look the following:<br>
<a href="https://gist.github.com/2885890.js?file=run-driver.js">https://gist.github.com/2885890.js?file=run-driver.js</a></p>
<p>These pieces put together should allow you to control your chromedriver.</p>
]]></content:encoded>
    </item>
    <item>
      <title>GoodBye GoDaddy</title>
      <link>https://www.zacharyc.com/2012/01/04/goodbye-godaddy/</link>
      <pubDate>Wed, 04 Jan 2012 16:55:04 -0500</pubDate>
      <guid>https://www.zacharyc.com/2012/01/04/goodbye-godaddy/</guid>
      <description>&lt;p&gt;After the whole SOPA debacle, I decided I was done with &lt;a href=&#34;http://www.godaddy.com&#34;&gt;GoDaddy&lt;/a&gt;. Their site has always been crap. It’s hard to use and figuring stuff out sometimes takes a call to their tech support. On top of that, they had been starting to raise their prices. They used to be one of the cheapest registrars on the internet, now they were charging significantly more than other registrars.&lt;/p&gt;
&lt;p&gt;I have been using &lt;a href=&#34;http://www.dynadot.com&#34;&gt;Dynadot&lt;/a&gt; for a bit as they were about a dollar cheaper than GoDaddy and &lt;a href=&#34;http://brooksreview.net/&#34;&gt;The Brooks Review&lt;/a&gt; recommended them.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>After the whole SOPA debacle, I decided I was done with <a href="http://www.godaddy.com">GoDaddy</a>. Their site has always been crap. It’s hard to use and figuring stuff out sometimes takes a call to their tech support. On top of that, they had been starting to raise their prices. They used to be one of the cheapest registrars on the internet, now they were charging significantly more than other registrars.</p>
<p>I have been using <a href="http://www.dynadot.com">Dynadot</a> for a bit as they were about a dollar cheaper than GoDaddy and <a href="http://brooksreview.net/">The Brooks Review</a> recommended them.</p>
<p>As of today it is official. All my domains are gone from GoDaddy. For various reasons that I hope to explain over the next year, I have 25 or so domains. The 21 that were at GoDaddy have now been moved to Dynadot. I’m looking forward to having an easier time administering them, and spending less on them in general.</p>
]]></content:encoded>
    </item>
    <item>
      <title>iPhone 4S Setup, a post Steve Apple</title>
      <link>https://www.zacharyc.com/2011/10/27/iphone-4s-setup-a-post-steve-apple/</link>
      <pubDate>Thu, 27 Oct 2011 05:40:55 -0400</pubDate>
      <guid>https://www.zacharyc.com/2011/10/27/iphone-4s-setup-a-post-steve-apple/</guid>
      <description>&lt;p&gt;I’m sad to say that the whole process of upgrading to an iPhone 4S (or 4 Steve as some crazy analysts have been calling it), has been more difficult than I would have expected. I’ll admit that I didn’t take the most conventional route to set this phone up, but my experience has not been pleasant. I feel this is a bad sign for a post Steve Apple.&lt;/p&gt;
&lt;p&gt;Here’s my situation. I’ve been running an original Edge based iPhone 16 GB for the past 3+ years. I was waiting for the next new iPhone to come out so I could grab one. I was very excited for the announcement of the iPhone 4S, and unlike everyone in the media, I was not disappointed. I liked the design of the 4, and was happy that they were keeping it a little longer. I really have been wanting some more storage space. I like to have a lot of data on my phone, between my huge photo library and some videos to watch while commuting. So, all in all I was really excited about the new iPhone.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I’m sad to say that the whole process of upgrading to an iPhone 4S (or 4 Steve as some crazy analysts have been calling it), has been more difficult than I would have expected. I’ll admit that I didn’t take the most conventional route to set this phone up, but my experience has not been pleasant. I feel this is a bad sign for a post Steve Apple.</p>
<p>Here’s my situation. I’ve been running an original Edge based iPhone 16 GB for the past 3+ years. I was waiting for the next new iPhone to come out so I could grab one. I was very excited for the announcement of the iPhone 4S, and unlike everyone in the media, I was not disappointed. I liked the design of the 4, and was happy that they were keeping it a little longer. I really have been wanting some more storage space. I like to have a lot of data on my phone, between my huge photo library and some videos to watch while commuting. So, all in all I was really excited about the new iPhone.</p>
<p>Fast forward, I decide not to rush out and grab it on day one because I wanted to make sure I could get my employee discount, seeing as I work for a company that has a close relationship with AT&amp;T. I ordered it on Sunday. That translated to roughly a week and half delay from when they first started shipping. Still, not a huge deal. It would have been nicer to know when to expect the phone instead of having to check the AT&amp;T website everyday to see if my items had arrived and shipped. To be fair, they sent me an email after the items shipped, but not until I had already been on their website and seen the tracking number.</p>
<p>So the phone arrives last night.</p>
<p>Since I ordered it from the AT&amp;T store, I don’t have AppleCare+, because they didn’t have it when I ordered it. So I stopped by an Apple store on the way home, but they don’t carry +, so they advised me to call. I did, but they were closed by 8, despite the fact that a gentleman on the phone said they would be open until 9 PM PST (The representative I talked to on the phone this morning confirmed this). I tried back twice because I didn’t believe them, still closed. The guy at the store tells me that it’s not going to be an issue if I open my phone tonight, though (he was right about this part).</p>
<p>So I go home and unpack the phone and start setting it up. I’ve been reading on the web that there have been a few issues setting up a new phone based off an existing phones backup. To try and avoid these concerns, I initially decided to try and load my iPhone as a new device. I set it up, and got it running. Was playing around for a bit and then realized that I have tons of data on my phone, like SMS messages and other information.</p>
<p>I woke up early this morning and decided I’d try do it the other way. I went through the process of restoring the iPhone as my old phone. This process only took about 15 minutes and looked to be working pretty well, until I tried to use Siri to set a reminder. It said it couldn’t.</p>
<p>I had to call in this morning to AppleCare to get my AppleCare+ thing taken care of, so I figured I’d ask them about it. It seemed to be related to my iCloud settings. Couldn’t figure out exactly what it was, figured Apple would be a good option in finding an answer. Nope.</p>
<p>I first called in with my serial and before I could even say that I was calling to buy AppleCare+, the representative was on it, and said that I was eligible. I told her that was why I was calling, and she took my credit card information. I didn’t think of it until after, but she never stated how much she was going to charge me. I asked afterward, she said the product was $99, and there might be tax and it could be up to $5.25, but she didn’t think there was. She was VERY polite and kind, but not knowing what you are charging me does not seem right to me. I digress.</p>
<p>I told her I was having issues with iCloud. She walked me through the basic steps of setting up the backup and I kept getting an error message. She put me on hold several times throughout this process and was still unable to help me resolve my issues. Again, she was VERY polite, but did not seem to be able to help.</p>
<p>Finally she gives up and schedules me to talk to an iCloud specialist. Not a huge deal, but the first thing she tells me is that the specialist is going to call me, but when I ask her when, she tells me she doesn’t know. She put me on hold, again, and comes back several minutes later saying that I need to call a specialist. I say, that’s fine, what’s the number and when should I call? She puts me on hold again, only to come back and say that the system was down and she will have to call me back.</p>
<div class="jetpack-video-wrapper"><span class="embed-youtube" style="text-align:center; display: block;"><iframe allowfullscreen="true" class="youtube-player" height="315" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation" src="https://www.youtube.com/embed/8BDdcDTzXkE?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent" style="border:0;" width="560"></iframe></span></div>When I speak to the specialist, he was very kind, but did not seem to understand the problem I was having. We went through several phone calls, as he required me to have WiFi, but I was out and so did not have access to a WiFi connection.
<p>In the end I spent some time debugging it. It was clear that reminders wouldn’t work if they were turned on in iCloud, but they would work just fine if iCloud sync was off. I went to go look at my calendars and that wasn’t working correctly either. When I went to my .mac account on my phone, asked me for my password. Once I entered that and turned on cloud syncing everything started working.</p>
<p>Also of note, Syncing with iCloud and backing up to iCloud are two very different things. Syncing means having your contacts and mail and calendar on the iCloud server. Backing up is a full device backup. A better explanation of that would have been helpful.</p>
<p>In the end I feel like there was just too much confusion with the setup. Most Apple products have been very plug and play. This device required some serious setup to get it the way I wanted, and it was not clear how to get there. I’m troubled because I’m pretty sure Steve would have taken some peoples jobs over how bad this process is and I’m not convinced Tim Cook has the same mentality.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Initial Kindle Experience</title>
      <link>https://www.zacharyc.com/2011/04/27/initial-kindle-experience/</link>
      <pubDate>Wed, 27 Apr 2011 18:37:04 -0400</pubDate>
      <guid>https://www.zacharyc.com/2011/04/27/initial-kindle-experience/</guid>
      <description>&lt;p&gt;My family gave me a Kindle for my birthday, and while I haven’t used it too much, it is starting to become a device I use more and more.&lt;/p&gt;
&lt;p&gt;The big problem for me is the cost of digital books. I have a huge library. I’ve spent lots of money on books over the years. Mostly tech books. These books were expensive to buy for stacks of paper, roughly $30 a piece (some more, some less). The problem is that I don’t get a digital copy of the material when I purchase the book, so if I want to read the same book on my kindle I have to buy it again (usually spending another $30).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>My family gave me a Kindle for my birthday, and while I haven’t used it too much, it is starting to become a device I use more and more.</p>
<p>The big problem for me is the cost of digital books. I have a huge library. I’ve spent lots of money on books over the years. Mostly tech books. These books were expensive to buy for stacks of paper, roughly $30 a piece (some more, some less). The problem is that I don’t get a digital copy of the material when I purchase the book, so if I want to read the same book on my kindle I have to buy it again (usually spending another $30).</p>
<p>My largest gripe at the moment is that some tech books cost more digitally then they do for physical copies mailed to my house. Here’s an example:</p>
<p><a href="https://www.zacharyc.com/assets/img/2011/04/overpricekindleedition.png?ssl=1"><img loading="lazy" src="https://www.zacharyc.com/assets/img/2011/04/overpricekindleedition.png?resize=424%2C261&ssl=1" title="OverpriceKindleEdition"></a></p>
<p>Other than demand setting price, I see no reason for this. How can a book cost more than $3 dollars more for the digital copy? The costs are so much cheaper with digital copy.</p>
<table>
  <thead>
      <tr>
          <th>Physical Cost</th>
          <th>Digital Cost</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Paper</td>
          <td>Formatting</td>
      </tr>
      <tr>
          <td>Printing</td>
          <td>Network Bandwidth</td>
      </tr>
      <tr>
          <td>Binding</td>
          <td></td>
      </tr>
      <tr>
          <td>Shipping</td>
          <td></td>
      </tr>
      <tr>
          <td>Storage</td>
          <td></td>
      </tr>
  </tbody>
</table>
<p>The digital costs aren’t completely invisible, but they seem to far undercut the physical costs. It makes no sense to me why the kindle edition would cost more.</p>
<p>My other major concern with the kindle is that I could not find any easy way to read the web content I wanted to read on my device. That was until I found the <a href="http://www.instapaper.com/">Instapaper App</a>. Converting HTML to mobi is not the easiest thing in the world, and the kindle at the moment has a very interesting way of reading web content. Saving a link with Instapaper and transferring it to the kindle makes it incredibly readable. Problem solved.</p>
<p>I think the kindle has been quite successful for Amazon, and I think it is useful. I think it would be better if there was a better way to get started. Apple does this well with their products and I think Amazon is just a step behind. The Kindle has a ton of potential, but it is just shy of that stickiness factor that products like the iPad have.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Sleeping your Mac with a Microsoft Ergo 4000 Keyboard</title>
      <link>https://www.zacharyc.com/2010/10/25/sleeping-your-mac-with-a-microsoft-ergo-4000-keyboard/</link>
      <pubDate>Mon, 25 Oct 2010 21:27:04 -0400</pubDate>
      <guid>https://www.zacharyc.com/2010/10/25/sleeping-your-mac-with-a-microsoft-ergo-4000-keyboard/</guid>
      <description>&lt;p&gt;One of my friends, who will remain nameless for the purpose of this discussion, convinced me start playing around with a &lt;a href=&#34;http://www.amazon.com/gp/product/B000A6PPOK?ie=UTF8&amp;amp;tag=zacharycohen-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B000A6PPOK&#34;&gt;Microsoft Natural Ergo Keyboard 4000&lt;/a&gt;&lt;img loading=&#34;lazy&#34; src=&#34;http://www.assoc-amazon.com/e/ir?t=zacharycohen-20&amp;l=as2&amp;o=1&amp;a=B000A6PPOK&#34;&gt;. I got one at work, then I bought one for the home and I’ve been pretty happy with it. There are just a couple of things missing from my standard mac keyboard.&lt;/p&gt;
&lt;p&gt;Firstly, on my old computer, I used to be able to hit the a keyboard combination to get my machine to sleep. I believe it was something like Cmd – Shft – Eject. Well, the Microsoft keyboard doesn’t have Eject. So I’m out of luck there. It does, however, have a set of buttons reserved for favorites. So I decided to code up a little AppleScript and bind it to one of these keys. Here’s the script, and I just saved it as an editable application. Then you can go into the preference pane for the keyboard and assign the whichever key you want to this script. Good luck.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>One of my friends, who will remain nameless for the purpose of this discussion, convinced me start playing around with a <a href="http://www.amazon.com/gp/product/B000A6PPOK?ie=UTF8&amp;tag=zacharycohen-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B000A6PPOK">Microsoft Natural Ergo Keyboard 4000</a><img loading="lazy" src="http://www.assoc-amazon.com/e/ir?t=zacharycohen-20&l=as2&o=1&a=B000A6PPOK">. I got one at work, then I bought one for the home and I’ve been pretty happy with it. There are just a couple of things missing from my standard mac keyboard.</p>
<p>Firstly, on my old computer, I used to be able to hit the a keyboard combination to get my machine to sleep. I believe it was something like Cmd – Shft – Eject. Well, the Microsoft keyboard doesn’t have Eject. So I’m out of luck there. It does, however, have a set of buttons reserved for favorites. So I decided to code up a little AppleScript and bind it to one of these keys. Here’s the script, and I just saved it as an editable application. Then you can go into the preference pane for the keyboard and assign the whichever key you want to this script. Good luck.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">tell application &#34;finder&#34; sleep
</span></span><span class="line"><span class="cl">end tell
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Kathy Sierra At Business of Software 2009</title>
      <link>https://www.zacharyc.com/2010/07/01/kathy-sierra-at-business-of-software-2009/</link>
      <pubDate>Thu, 01 Jul 2010 01:07:46 -0400</pubDate>
      <guid>https://www.zacharyc.com/2010/07/01/kathy-sierra-at-business-of-software-2009/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://blip.tv/play/AYHNtX0C&#34;&gt;http://blip.tv/play/AYHNtX0C&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a great presentation about how to get users excited about your product. I saw it on &lt;a href=&#34;http://www.ignorethecode.net&#34;&gt;Ignore The Code&lt;/a&gt; and it really is worth the hour to watch.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://blip.tv/play/AYHNtX0C">http://blip.tv/play/AYHNtX0C</a></p>
<p>This is a great presentation about how to get users excited about your product. I saw it on <a href="http://www.ignorethecode.net">Ignore The Code</a> and it really is worth the hour to watch.</p>
]]></content:encoded>
    </item>
    <item>
      <title>OmniFocus vs. Things (continued)</title>
      <link>https://www.zacharyc.com/2010/06/02/omnifocus-vs-things-continued/</link>
      <pubDate>Wed, 02 Jun 2010 17:14:57 -0400</pubDate>
      <guid>https://www.zacharyc.com/2010/06/02/omnifocus-vs-things-continued/</guid>
      <description>&lt;p&gt;A while ago I wrote &lt;a href=&#34;https://zacharyc.com/2008/01/09/battle-of-the-gtd-apps/&#34;&gt;a post&lt;/a&gt; about my switch from &lt;a href=&#34;http://www.omnigroup.com/products/omnifocus/&#34;&gt;OmniFocus&lt;/a&gt; from Omnigroup to &lt;a href=&#34;http://culturedcode.com/things/&#34;&gt;Things&lt;/a&gt; by Cultured Code. Both do pretty much the same thing: allow you to make lists of tasks so you can keep track of what you need to get done. Each has their own feature sets. I originally bought OmniFocus, but after some time switched to Things. It’s a great App, and they have an iPhone version that is pretty handy. I work on a PC during the day, so it makes it a little hard to use Things as my primary means of tasks, but I use it for my secondary items.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A while ago I wrote <a href="https://zacharyc.com/2008/01/09/battle-of-the-gtd-apps/">a post</a> about my switch from <a href="http://www.omnigroup.com/products/omnifocus/">OmniFocus</a> from Omnigroup to <a href="http://culturedcode.com/things/">Things</a> by Cultured Code. Both do pretty much the same thing: allow you to make lists of tasks so you can keep track of what you need to get done. Each has their own feature sets. I originally bought OmniFocus, but after some time switched to Things. It’s a great App, and they have an iPhone version that is pretty handy. I work on a PC during the day, so it makes it a little hard to use Things as my primary means of tasks, but I use it for my secondary items.</p>
<p>The real motivation by this revisit is to mention how the Apps have been coming along. Things is the primary product of Cultured Code, whereas OmniFocus is one of several Apps produced by OmniGroup. This has lead to a more rapid development and, in my opinion, a more refined product. Things for iPad was released on the same day the iPad was. OmniFocus for iPad is still in developmental stages. Now, I don’t yet own an iPad, but I’ve looked at the online videos for both OmniFocus and Things and I’m a little disappointed in OmniFocus. I feel like their icons aren’t at the same quality level as Things. Their App feels less refined and it doesn’t feel like they are using all the screen space to it’s fullest ability.</p>
<p>As a little tangent, I’d like to mention that OmniGroup used to be my favorite company. I <strong>LOVED</strong> OmniGraffle when I was in college. I used it for most of my projects. The new version of OmniGraffle just doesn’t feel right. There are too many features and it is hard to find what I’m looking for. The interface doesn’t really make sense to me. I had this issue the other day when I was trying to set the background color of a canvas. It was not intuitive. I’m very interested to play with OmniGraffle for the iPad and see if the reduced screen and processing power has gotten the company to focus more on a core set of features, thus making the App easier to use.</p>
<p>In conclusion, I’m getting Things when I get my iPad, and I don’t know how much of a market OmniFocus will have.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Suggestions for Building a Successful Business Website</title>
      <link>https://www.zacharyc.com/2010/03/29/suggestions-for-building-a-successful-business-website/</link>
      <pubDate>Mon, 29 Mar 2010 15:36:19 -0400</pubDate>
      <guid>https://www.zacharyc.com/2010/03/29/suggestions-for-building-a-successful-business-website/</guid>
      <description>&lt;p&gt;Per usual, I’ve been surfing the web. Here are some frustrations I have with some business sites:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Items Are Out of Date.&lt;/strong&gt; Sometimes when browsing a site I will see information about events that have long since expired. This information is not pertinent, and tells the user that you don’t keep your information up to date. What does that say about your business? If you aren’t detail oriented in your website, how are you when it comes to making your products or fulfilling your services? It might also be harder to see upcoming events if there are bunch of past events in the way. I don’t care about the last six months of wine tastings, I care about the next three weeks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Your site is missing information.&lt;/strong&gt; Quick! I need your phone number! Wait, I’m driving to your office, but I forget your exact address. You’d be surprised how many times I have looked for the address of business and been unable to find on their website. Sometimes Google Maps will be able to help me, but not always. The most important and common questions should be the easiest to find. If you are a consumer facing business, you should have your address and phone number in the footer of every page on your site. You should also have a contact page, containing the same information.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;You assume a level of interest/knowledge I don’t possess.&lt;/strong&gt; You are most successful Fencing gym in the bay area when it comes to split match foil saber fighting. One problem, I’m new to fencing, and I just want to learn. I have no idea what split match foil saber fighting is (t’s made up for the purpose of this post). Yeah, it’s nice that you are the best at it, but what I really want to know is how to get started. What classes are appropriate for me? Your claim is a little like boasting, and not relevant to me. If you HAVE to use technical vocabulary put references to the terms so I can understand it. Along those lines:&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Relevant information is hidden.&lt;/strong&gt; When putting together your web site, spend some time considering the user classes that will visit your site. If you are looking for new business, listing your products and services and how people can buy them should be the first thing on your page. If you are creating a site for people that are already a part of your business, then maybe technical terms are okay. If you are trying to get both, optimize for new people coming to your business. Once people are convinced you are amazing, they will spend the time click another link to get to their content.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;There are still pages under construction.&lt;/strong&gt; One of my favorite companies is guilty of this. I swear by my &lt;a href=&#34;https://www.zacharyc.com/&#34;&gt;Field Notes&lt;/a&gt;, but their website has a page called &lt;a href=&#34;http://fieldnotesbrand.com/sheet-team/&#34;&gt;“The Sheet Team”&lt;/a&gt; which has been in a state of non-completion for as long as the site has been up. If the page isn’t ready, don’t post it. Don’t put in a place holder, don’t leave more clutter on the site. You might get one chance at your users’ attention, capitalize on it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This isn’t the end all list to designing a business website, but is a list of some concerns I have with a lot of sites I visit. Even if you are successful with your website, you might be more successful by fixing the problems above. Remember, your competitors are always trying to improve, you should too. In this world where technology is only expanding, making sure your website is up to snuff is an important part of running a successful business.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Per usual, I’ve been surfing the web. Here are some frustrations I have with some business sites:</p>
<ul>
<li><strong>Items Are Out of Date.</strong> Sometimes when browsing a site I will see information about events that have long since expired. This information is not pertinent, and tells the user that you don’t keep your information up to date. What does that say about your business? If you aren’t detail oriented in your website, how are you when it comes to making your products or fulfilling your services? It might also be harder to see upcoming events if there are bunch of past events in the way. I don’t care about the last six months of wine tastings, I care about the next three weeks.</li>
<li><strong>Your site is missing information.</strong> Quick! I need your phone number! Wait, I’m driving to your office, but I forget your exact address. You’d be surprised how many times I have looked for the address of business and been unable to find on their website. Sometimes Google Maps will be able to help me, but not always. The most important and common questions should be the easiest to find. If you are a consumer facing business, you should have your address and phone number in the footer of every page on your site. You should also have a contact page, containing the same information.</li>
<li><strong>You assume a level of interest/knowledge I don’t possess.</strong> You are most successful Fencing gym in the bay area when it comes to split match foil saber fighting. One problem, I’m new to fencing, and I just want to learn. I have no idea what split match foil saber fighting is (t’s made up for the purpose of this post). Yeah, it’s nice that you are the best at it, but what I really want to know is how to get started. What classes are appropriate for me? Your claim is a little like boasting, and not relevant to me. If you HAVE to use technical vocabulary put references to the terms so I can understand it. Along those lines:</li>
<li><strong>Relevant information is hidden.</strong> When putting together your web site, spend some time considering the user classes that will visit your site. If you are looking for new business, listing your products and services and how people can buy them should be the first thing on your page. If you are creating a site for people that are already a part of your business, then maybe technical terms are okay. If you are trying to get both, optimize for new people coming to your business. Once people are convinced you are amazing, they will spend the time click another link to get to their content.</li>
<li><strong>There are still pages under construction.</strong> One of my favorite companies is guilty of this. I swear by my <a href="https://www.zacharyc.com/">Field Notes</a>, but their website has a page called <a href="http://fieldnotesbrand.com/sheet-team/">“The Sheet Team”</a> which has been in a state of non-completion for as long as the site has been up. If the page isn’t ready, don’t post it. Don’t put in a place holder, don’t leave more clutter on the site. You might get one chance at your users’ attention, capitalize on it.</li>
</ul>
<p>This isn’t the end all list to designing a business website, but is a list of some concerns I have with a lot of sites I visit. Even if you are successful with your website, you might be more successful by fixing the problems above. Remember, your competitors are always trying to improve, you should too. In this world where technology is only expanding, making sure your website is up to snuff is an important part of running a successful business.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Best Payment Form I&#39;ve Seen</title>
      <link>https://www.zacharyc.com/2010/03/09/best-payment-form-ive-seen/</link>
      <pubDate>Tue, 09 Mar 2010 22:45:05 -0500</pubDate>
      <guid>https://www.zacharyc.com/2010/03/09/best-payment-form-ive-seen/</guid>
      <description>&lt;p&gt;I purchased the MacHeist bundle today. If you’re not familiar with it, its a collection of Mac Apps that this group puts together and sells rediculously cheap. I spent 20 bucks, only for one app that I really wanted (&lt;a href=&#34;http://extendmac.com/flow/&#34;&gt;Flow&lt;/a&gt; by Extend Mac).&lt;/p&gt;
&lt;p&gt;Regardless, this post is not about that bundle. It’s about my checkout experience. It was amazing. Textbook UI for checkout. Here’s a screenshot of the payment section:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I purchased the MacHeist bundle today. If you’re not familiar with it, its a collection of Mac Apps that this group puts together and sells rediculously cheap. I spent 20 bucks, only for one app that I really wanted (<a href="http://extendmac.com/flow/">Flow</a> by Extend Mac).</p>
<p>Regardless, this post is not about that bundle. It’s about my checkout experience. It was amazing. Textbook UI for checkout. Here’s a screenshot of the payment section:</p>
<p><a href="https://www.zacharyc.com/assets/img/2010/03/creditcard_checkout.png?ssl=1"><img loading="lazy" src="https://www.zacharyc.com/assets/img/2010/03/creditcard_checkout.png?resize=479%2C428&ssl=1" title="creditcard_checkout"></a></p>
<p>Lets talk about what they did right here. Firstly, they allow you to pick between Credit Card and Paypal. Note, they don’t make you select which type of credit card you are using. They only support Visa and Mastercard, and they can use the digits of the card to determine which you are using, so they don’t need you to provide that information.</p>
<p>Next two fields are standard, “Name on Card” is easy is enough to figure out and if you don’t you know where to find your credit card number, you’ve got bigger problems.</p>
<p>Next is the expiration date. Lets talk about what makes this field so great. Firstly, they list both the month number and the name. This is very clear. It shows you that you are talking about months and displays the context in relation to the month number. The key here is that they number is first. This means that if your browser supports it, you can start typing with the field selected and get straight to the month number. Also note how this field is a two digit number? Add clarity as the numbers will align in the pull down.</p>
<p>Next is the security code, they have a little credit card graphic to indicate where to find your code. Very helpful.</p>
<p>Next you move on to the address information. There is a clear separation between the Credit Card info and the address info. Breaking forms up makes them easier to parse. None of this information is overly hard, but large blocks of form fields can be intimidating.</p>
<p>All in all, this is the best online checkout experience I’ve had for some time.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Percentage of Mac Use by University of Virginia Students</title>
      <link>https://www.zacharyc.com/2009/06/10/percentage-of-mac-use-by-university-of-virginia-students/</link>
      <pubDate>Wed, 10 Jun 2009 17:37:03 -0400</pubDate>
      <guid>https://www.zacharyc.com/2009/06/10/percentage-of-mac-use-by-university-of-virginia-students/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.daringfireball.net&#34;&gt;Daring Fireball&lt;/a&gt; has a link to the a study of the computer statistics for the student body of the University of Virginia. You can find the article &lt;a href=&#34;http://itc.virginia.edu/students/inventory/compare/&#34;&gt;here&lt;/a&gt;. The most interesting chart for me is the last one about the number of Macintosh users versus Windows users. The table is interesting, but I would also like to see the percentage of user population, not just the hard numbers. So here is the same data put in percentage of user base using Mac OS and Windows.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.daringfireball.net">Daring Fireball</a> has a link to the a study of the computer statistics for the student body of the University of Virginia. You can find the article <a href="http://itc.virginia.edu/students/inventory/compare/">here</a>. The most interesting chart for me is the last one about the number of Macintosh users versus Windows users. The table is interesting, but I would also like to see the percentage of user population, not just the hard numbers. So here is the same data put in percentage of user base using Mac OS and Windows.</p>
<table>
  <thead>
      <tr>
          <th>Year</th>
          <th>Percentage Windows</th>
          <th>Percentage Mac</th>
          <th>Percentage Other</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>1997</td>
          <td>92.51</td>
          <td>6.60</td>
          <td>0.89</td>
      </tr>
      <tr>
          <td>1998</td>
          <td>94.26</td>
          <td>3.22</td>
          <td>2.52</td>
      </tr>
      <tr>
          <td>1999</td>
          <td>94.96</td>
          <td>3.51</td>
          <td>1.53</td>
      </tr>
      <tr>
          <td>2000</td>
          <td>96.39</td>
          <td>2.80</td>
          <td>0.81</td>
      </tr>
      <tr>
          <td>2001</td>
          <td>96.24</td>
          <td>2.85</td>
          <td>0.91</td>
      </tr>
      <tr>
          <td>2002</td>
          <td>94.86</td>
          <td>3.55</td>
          <td>1.59</td>
      </tr>
      <tr>
          <td>2003</td>
          <td>95.68</td>
          <td>4.03</td>
          <td>2.90</td>
      </tr>
      <tr>
          <td>2004</td>
          <td>89.20</td>
          <td>8.26</td>
          <td>2.53</td>
      </tr>
      <tr>
          <td>2005</td>
          <td>86.38</td>
          <td>12.97</td>
          <td>0.65</td>
      </tr>
      <tr>
          <td>2006</td>
          <td>80.28</td>
          <td>19.59</td>
          <td>0.13</td>
      </tr>
      <tr>
          <td>2007</td>
          <td>73.05</td>
          <td>26.66</td>
          <td>0.29</td>
      </tr>
      <tr>
          <td>2008</td>
          <td>62.28</td>
          <td>37.46</td>
          <td>0.26</td>
      </tr>
  </tbody>
</table>
<p>While the table is interesting its hard to really see the trends. The Bar charts at the original site are useful, but I found a line chart much more conclusive. It cleary shows the trend of macintosh percentage as it climbs. If you’re a fan of Windows, this might be a little disheartening as it very clearly demonstrates that while Macintosh use is on the rise, Windows use is on a significant downturn.</p>
<p><a href="https://www.zacharyc.com/assets/img/2009/06/macvswindowsusersatuva.png?ssl=1"><img alt="Windows and Mac Percentage at UVA" loading="lazy" src="https://www.zacharyc.com/assets/img/2009/06/macvswindowsusersatuva.png?w=600&ssl=1" title="Windows and Mac Percentage at UVA"></a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Facebook Is Losing It&#39;s Fun</title>
      <link>https://www.zacharyc.com/2009/04/03/facebook-is-losing-its-fun/</link>
      <pubDate>Fri, 03 Apr 2009 17:04:07 -0400</pubDate>
      <guid>https://www.zacharyc.com/2009/04/03/facebook-is-losing-its-fun/</guid>
      <description>&lt;p&gt;Today I decided to create a Facebook account as woodside’s cheerleading coach. The benefit of this account is that it keeps its distance from my personal Facebook network, but still allows me to create events and groups for Woodside cheerleading. Anyway, I wanted my name to “Coach Zack”. Facebook rejected the name. So I tried to create ‘Zachary “Coach” Cohen’, again, Facebook automatically rejected it.&lt;/p&gt;
&lt;p&gt;Now I have been a big Facebook fan in the past, but of recent, I’m more dissapointed with them. I feel like they have started to remove the “fun” aspect of the application. Facebook used to be more about the network, and it is has turned into almost a twitter status message board. I’ve gone from checking Facebook twice a day, to checkign it once a week, if I get an email.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today I decided to create a Facebook account as woodside’s cheerleading coach. The benefit of this account is that it keeps its distance from my personal Facebook network, but still allows me to create events and groups for Woodside cheerleading. Anyway, I wanted my name to “Coach Zack”. Facebook rejected the name. So I tried to create ‘Zachary “Coach” Cohen’, again, Facebook automatically rejected it.</p>
<p>Now I have been a big Facebook fan in the past, but of recent, I’m more dissapointed with them. I feel like they have started to remove the “fun” aspect of the application. Facebook used to be more about the network, and it is has turned into almost a twitter status message board. I’ve gone from checking Facebook twice a day, to checkign it once a week, if I get an email.</p>
<p>Please Facebook, bring the fun back.</p>
<p><a href="https://www.zacharyc.com/assets/img/2009/04/funlessfacebook.png?ssl=1"><img alt="funlessfacebook" loading="lazy" src="https://www.zacharyc.com/assets/img/2009/04/funlessfacebook.png?resize=300%2C202&ssl=1" title="funlessfacebook"></a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Apple&#39;s iLife is TOO Good</title>
      <link>https://www.zacharyc.com/2009/03/03/apples-ilife-is-too-good/</link>
      <pubDate>Tue, 03 Mar 2009 21:22:16 -0500</pubDate>
      <guid>https://www.zacharyc.com/2009/03/03/apples-ilife-is-too-good/</guid>
      <description>&lt;p&gt;In an amazing post on &lt;a href=&#34;http://daringfireball.net/linked/2009/03/03/ilife-education&#34;&gt;Daring Fireball&lt;/a&gt; John Gruber quotes the technology directory for a public school in Massachusetts:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;However, even iLife has its drawbacks in an educational setting. It simply hands so much to the students that they struggle with software (whether Windows, Linux, or even pro-level software on the Mac) that isn’t so brilliantly plug and play. Yes, iLife rocks in many ways, but the level of spoonfeeding it encourages actually makes me think twice about using it widely, especially at the high school level.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In an amazing post on <a href="http://daringfireball.net/linked/2009/03/03/ilife-education">Daring Fireball</a> John Gruber quotes the technology directory for a public school in Massachusetts:</p>
<blockquote>
<p>However, even iLife has its drawbacks in an educational setting. It simply hands so much to the students that they struggle with software (whether Windows, Linux, or even pro-level software on the Mac) that isn’t so brilliantly plug and play. Yes, iLife rocks in many ways, but the level of spoonfeeding it encourages actually makes me think twice about using it widely, especially at the high school level.</p></blockquote>
<p>To which Gruber responds</p>
<blockquote>
<p>So the problem with Apple’s iLife apps is that they’re too good, and kids never learn that they need to struggle with technical issues before using software to express themselves creatively.</p></blockquote>
<p>I agree with Gruber. However, I don’t think we should limit the discussion to just creative Apps. Modern day software is built on complexity. A consultant at my company once said that if we made the software too easy to use, then the consultants would be out of work; our product wouldn’t sell because it would to be too easy to use. I don’t necessarily agree with the argument, but the fear is common, and not unique to my current company.</p>
<p>Would easier software put people out of work?</p>
<p>I don’t think so. I think it would change the focus. If we started designing our software with a greater attention to user experience, the access time could be spent on further improving that experience, instead of support calls. Apple’s iLife wasn’t easy to create. Each of the apps has had millions of reviews, UI meetings, discussions, arguments and refinements. This wondrous amount of work has lead to an incredibly intuitive suite of tools. It would be fantastic if we could switch our focus (as an industry), from simply providing more tools, to providing better tools. Perhaps than our software will “too easy” for them to teach in school.</p>
]]></content:encoded>
    </item>
    <item>
      <title>How is Palm Going to Mess up the Palm Pre?</title>
      <link>https://www.zacharyc.com/2009/01/26/how-is-palm-going-to-mess-up-the-palm-pre/</link>
      <pubDate>Mon, 26 Jan 2009 23:59:21 -0500</pubDate>
      <guid>https://www.zacharyc.com/2009/01/26/how-is-palm-going-to-mess-up-the-palm-pre/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.palm.com/us/&#34;&gt;Palm&lt;/a&gt; has recently announced its first really new product in years, the Palm &lt;a href=&#34;http://ww.palm.com/us/products/phones/pre/&#34;&gt;Pre&lt;/a&gt;. To be fair, the product is actually quite compelling. It runs a on its webOS, a cool new operating system that allows you to use a bunch of different applications at once.&lt;/p&gt;
&lt;p&gt;[… the history …]&lt;/p&gt;
&lt;p&gt;My father is a business guy. He has been in retail since before I was born. When I was a young child he carried around a Filofax with hundreds of business cards, This (almost) little booklet was my father’s life. He couldn’t survive without it. Wherever he went, the Filofax went. As technology improved my dad found the Palm. I believe his first Palm Pilot was a Palm III. Overnight he converted his Filofax to the Palm Pilot. As the years wore on I became a fan. I bought a &lt;a href=&#34;http://en.wikipedia.org/wiki/Handspring_%28company%29&#34;&gt;Handspring Visor&lt;/a&gt;, and used it to keep my contacts organized, tried to keep a calendar, and maybe played the occasional game.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.palm.com/us/">Palm</a> has recently announced its first really new product in years, the Palm <a href="http://ww.palm.com/us/products/phones/pre/">Pre</a>. To be fair, the product is actually quite compelling. It runs a on its webOS, a cool new operating system that allows you to use a bunch of different applications at once.</p>
<p>[… the history …]</p>
<p>My father is a business guy. He has been in retail since before I was born. When I was a young child he carried around a Filofax with hundreds of business cards, This (almost) little booklet was my father’s life. He couldn’t survive without it. Wherever he went, the Filofax went. As technology improved my dad found the Palm. I believe his first Palm Pilot was a Palm III. Overnight he converted his Filofax to the Palm Pilot. As the years wore on I became a fan. I bought a <a href="http://en.wikipedia.org/wiki/Handspring_%28company%29">Handspring Visor</a>, and used it to keep my contacts organized, tried to keep a calendar, and maybe played the occasional game.</p>
<p>Then I got frustrated with Palm. They began to cease innovation. The Palm V, might have been the best palm over. Over the years we have heard rumors of a new Palm OS. One built on Linux, but the promises kept coming, without any products. The applications for the Palm became outdated. I moved away from the Palm, even trying the <a href="http://en.wikipedia.org/wiki/Sharp_Zaurus">Sharp Zaurus</a>, a Linux based PDA that promised easier development and a better product.</p>
<p>None of them really got me hooked. They were too big, too bulky, too much for me carry around on the average day. My PDA was a toy that I’d take with me if I felt like it.</p>
<p>Enter the mobile phone. Even before the Filofax my father had a cell phone. As technology got smaller, PDAs began to morph with mobile phones. There have been a bunch of operating systems for these phones: Palm OS, Windows Mobile, Symbian, Sony Erickson, etc. Finally I could get by with one device. The first phone that really allowed me to do this was my T-Mobile Sidekick. Yeah, it was big, but it wasn’t overly expensive and it allowed me to do everything I really wanted/needed to do, minus playing MP3s.</p>
<p>[… Back to the (almost) present …]</p>
<p>A few years ago Apple announced the iPhone, and the players in the market were pretty sure that Apple was not going to be a major player in the mobile phone space. Mostly, I refer to this <a href="http://daringfireball.net/2006/11/colligan_head_stuck">Daring Fireball article</a>. They were a little taken back with the amount of demand for the iPhone when it came it. Still, Apple kept very rigid control over the applications on the device, and many thought that Apple wouldn’t allow developers to mess with their device. Over time, Apple rolled out a development platform, and the App Store. Now there are thousands of additional applications for the iPhone and it the <a href="http://www.electronista.com/articles/08/12/02/needham.on.iphone.share/">second most popular handset</a> in the market.</p>
<p>Welcome to today. Palm is finally announcing their next OS, along with a new phone. The comical part for me is that the new Palm OS looks surprisingly similar to the iPhone OS, with gestures and other iPhone innovations. There are a couple of Palm innovations that look appealing:</p>
<ul>
<li>Cards allow you to have multiple instances of the same Application running at the same time instead of “Save as Draft and come back later” mentality of the iPhone</li>
<li>Better integration with Facebook and other web partners, allowing you get personal photos from their partners</li>
<li>Multiple Calendar systems: Google Calendar and my personal calendar on one device, and allowing you to block out time in each</li>
</ul>
<p>Despite the interesting features of the Pre, I still think it isn’t going to work. One of the lines in their introduction video is “We Developed the Pre for the developers” (paraphrased). See, I’m really excited about the Pre from a developers perspective. How many typical users have 3 different calendaring systems? How many professionals use Facebook for contact photos? The thing that Apple does well is design a product for the consumers. Remember, while developers might buy your phone, they aren’t going to develop just for other developers. The money is in the consumer market.</p>
<p>With all this in mind, I’m still excited to see what the Pre can deliver. I’m keeping my hope in check, because I’ve seen Palm falter in the past.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Support Pastie</title>
      <link>https://www.zacharyc.com/2009/01/02/support-pastie/</link>
      <pubDate>Fri, 02 Jan 2009 16:06:58 -0500</pubDate>
      <guid>https://www.zacharyc.com/2009/01/02/support-pastie/</guid>
      <description>&lt;p&gt;One of the best web apps I’ve ever used: &lt;a href=&#34;http://pastie.org/pastes/new&#34;&gt;Pastie&lt;/a&gt; is doing a casual donation. I’m going into the new year and am trying to really conserve my spending, but if you can afford to toss a few bucks this way, it’s a great cause&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>One of the best web apps I’ve ever used: <a href="http://pastie.org/pastes/new">Pastie</a> is doing a casual donation. I’m going into the new year and am trying to really conserve my spending, but if you can afford to toss a few bucks this way, it’s a great cause</p>
]]></content:encoded>
    </item>
    <item>
      <title>Yahoo&#39;s Not Dead Yet: Start Wearing Purple</title>
      <link>https://www.zacharyc.com/2008/11/25/yahoos-not-dead-yet-start-wearing-purple/</link>
      <pubDate>Tue, 25 Nov 2008 13:45:48 -0500</pubDate>
      <guid>https://www.zacharyc.com/2008/11/25/yahoos-not-dead-yet-start-wearing-purple/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.yahoo.com&#34;&gt;Yahoo!&lt;/a&gt; just launched a new advertising campaign, &lt;a href=&#34;http://www.startwearingpurple.com&#34;&gt;Start Wearing Purple&lt;/a&gt;. I have to admit that, while I’m not normally swayed by “go visit this web page” advertising, I was very eager to check it out, and I wasn’t disappointed. Its a flash based web page that talks about the color that has been with Yahoo since is original foundation. It talks about the story behind the company, why purple is so important and lists ton of facts, such as which star wars character’s light saber was purple.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://www.yahoo.com">Yahoo!</a> just launched a new advertising campaign, <a href="http://www.startwearingpurple.com">Start Wearing Purple</a>. I have to admit that, while I’m not normally swayed by “go visit this web page” advertising, I was very eager to check it out, and I wasn’t disappointed. Its a flash based web page that talks about the color that has been with Yahoo since is original foundation. It talks about the story behind the company, why purple is so important and lists ton of facts, such as which star wars character’s light saber was purple.</p>
<p>This advertising campaign is a very interesting. It is effective because it is fun, simple, energetic and personal. If you check out the commercial it is full of people ordinary people (who I assume work for Yahoo) singing along to an energetic song. Its new and exciting. Other Ad campaigns like Apple, or the new <a href="http://daringfireball.net/linked/2008/09/18/msft-im-a-pc">Microsoft Ads</a>, are either getting redudent or simply unenergetic.</p>
<p>Now I am an Apple fan, but even I will admit that running the same <a href="http://www.apple.com/getamac/ads/">Ad campaign</a> for 3 years doesn’t always work. The jokes are new, but the premise is the same, and honestly, I would like to see them change the format a bit.</p>
<p>Yahoos Ad seems fresh, and I think it is a good <em>idea</em> for a good campaign, with a simple premise: start wearing purple. Now, they aren’t saying that everyone wearing purple is a Yahoo person, but that Yahoo people wear purple. <a href="http://en.wikipedia.org/wiki/Purple">Purple</a> is a very powerful color. In ancient times Purple was a sign of royalty or divinity, due to the fact that it was one of the most expensive dies to find. Now, by quirk of fate, Yahoo ended up with Purple walls instead of Gray walls (you can read about this at their site).</p>
<p>The <a href="http://en.wikipedia.org/wiki/Purple">nobility and history</a> of the color aside, the premise for the campaign is simple. It doesn’t take too much effort to wear purple. Not everyone has a purple shirt, so it is somewhat unique. Obtaining a purple shirt isn’t overly difficult either. Again, the notion is simple. People respond to simple.</p>
<p>Yahoo’s problem is that they aren’t keeping with the simple mentality of their campaign. They are moving too quickly, and bundling too much unrelated marketing with the simple, yet wonderful premise of wearing purple. Along with the launch of the start wearing purple campaign, they have started working “Purple Pedals”, a project which follows the life of a bike by taking geo tagged images and uploading them to flickr. Interesting concept, but what exactly does it have to do with purple? The bike is purple? That’s not enough for me. The connection is too weak.</p>
<p>Yahoo, of recent, has not been producing the greatest technology. Their search has fallen behind Google; their ad program was trumped by Google; their groups, once popular, need a major UI uplift. I’m not ready to give up on Yahoo yet, they have one weapon. They are <strong><em>extremely</em></strong> good at acquiring companies with amazing products. <a href="http://www.hotjobs.com">HotJobs</a> is by far the most easy to use job website out there. It’s not overly cluttered, the searches make sense. Usability is key on that site, which is good because people hunting for jobs are normally either pretty stressed or hunting on their free time. <a href="http://www.flickr.com">Flickr</a> is another powerful product. It’s a simple app for sharing photos. I use it, many of my friends use it, and I tend to log in from time to time to see what my friends are shooting. These are both powerful products that were developed outside of Yahoo and then brought in.</p>
<p>Yahoo needs to recognize what makes these products great, and pass it on to their internal developers. Their CEO just stepped down, and there are continued rumors of a Microsoft buyout, but even in that event, Yahoo needs a better plan on how to unite their products, and make things work. Now, simplicity for users does not mean simplicity for developers. They have their work cut out for them, but if they can see the great talent in these external products, I see no reason they can’t apply to their internal products as well.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Sun Fishworks vs. Apple iPhone</title>
      <link>https://www.zacharyc.com/2008/11/14/sun-fishworks-vs-apple-iphone/</link>
      <pubDate>Fri, 14 Nov 2008 00:56:25 -0500</pubDate>
      <guid>https://www.zacharyc.com/2008/11/14/sun-fishworks-vs-apple-iphone/</guid>
      <description>&lt;p&gt;I’m a big apple fan. Everyone knows that. What everyone might not know is that I’m also a Sun fan. When I was younger I worked for an ISP that used Sun boxes. I worked on a few of them in college. I’m not an expert on a Sun box, but I always liked the company and what they stood for, and had no complaints with the systems I used.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I’m a big apple fan. Everyone knows that. What everyone might not know is that I’m also a Sun fan. When I was younger I worked for an ISP that used Sun boxes. I worked on a few of them in college. I’m not an expert on a Sun box, but I always liked the company and what they stood for, and had no complaints with the systems I used.</p>
<p><a href="http://www.sun.com">Sun</a> has been having a hard time recently. Their stock isn’t doing too well, and they haven’t really released anything too significant or market changing. In a world that was once dominated by the Sun OS, companies like <a href="http://www.google.com">Google</a> have come along and produced massive success using nothing but linux pizza box machines. Sun is in charge of Java, but I’m not sure how they are developing a large enough revenue stream to support their previous infrastructure.</p>
<p>Sun recently released <a href="http://blogs.sun.com/bmc/entry/fishworks_now_it_can_be">Fishworks</a>, a product designed to be an integrated hardware and software platform. They used this platform to develop an integrated network storage solution. This post explains how they went from the end product idea to the platform design, through product implementation.</p>
<p>I’m not fully aware of what exactly Fishworks is (Network storage isn’t my area of expertise at the moment), but I just thought it was interesting the difference in approach between Fishworks and the iPhone.</p>
<p>These products are completely different. One is a network storage device, the other is a piece of consumer electronics. There are some important similarities:</p>
<ul>
<li>Both Are Major Engineering Projects</li>
<li>Both Are Championed By Computer Companies</li>
<li>Both Are Intended to Be Sold to Clients</li>
<li>Both Are Considered To, Potentially, Be the Future Of Their Company</li>
</ul>
<p>Within these similarities it is interesting to note how Sun and Apple differ in their product design cycles. Sun releases a product with a bunch of back end architecture, they announce the product, and don’t keep the design a secret. They share a ton of the technical details, open up the design process for anyone to read on the Internet. It is evident that the focus of the product development cycle, that Sun is not just focused on the end product, but also very heavily on the path and technology used to get there.</p>
<p>Apple releases the iPhone, talks about the functionality, and maybe a very high level overview of how the phone is built, but they keep it simple. Only after it is released do they start to think about developers and extensions. Their primary focus is getting the phone right. In contrast to Sun’s focus, their focus is on the end user, not necessarily the path to get there. Their hesitation on developing an iPhone SDK might have somewhat hindered their initial sales.</p>
<p>This is not say that the iPhone is a better built product than the Fishworks machines. I wouldn’t know, I don’t have experience with Fishworks (or anything else in its product class, either). It is just interesting how different companies present their products and focus. I have several <em>semi-random</em> thoughts:</p>
<ol>
<li><strong>Apple is growing into a new product space.</strong> In the recent past Apple has been mostly a consumer product manufacturer, making relatively the same line of products since its inception. The change from Apple Computer to Apple Inc. carries more than just a name change, but a more global product shift. In this new area, Apple is young, Sun is old. Maybe Sun has learned the lesson about the importance of the technology behind a product.</li>
<li><strong>Sun might be too focused on the technology and not enough on their end users.</strong> Sun has been spending much of its time working on products like Java and <a href="http://www.openoffice.org/">OpenOffice</a>. These projects are important, they help proliferate the name of Sun Microsystems, but they are both open source. They don’t provided direct revenue for Sun. Perhaps Fishworks will be different, maybe it will follow the same path.</li>
<li><strong>There will always be a place in this world for new hardware design.</strong> When I graduated college I was convinced that the future would be software based. Hardware would become irrelevant and software would be where the real innovation would happen. Both of the products I’m talking about here are a marriage of fantastic hardware and great software. While the hardware that I used in college is dying, new hardware products are emerging.</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>Why I like the iPhone App Store Model</title>
      <link>https://www.zacharyc.com/2008/10/23/why-i-like-the-iphone-app-store-model/</link>
      <pubDate>Thu, 23 Oct 2008 18:23:39 -0400</pubDate>
      <guid>https://www.zacharyc.com/2008/10/23/why-i-like-the-iphone-app-store-model/</guid>
      <description>&lt;p&gt;Much of the popular media these days is dubbing the iPhone App store and Apple’s process as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.scripting.com/stories/2008/09/13/whyIphoneIsAnUreliablePlat.html&#34;&gt;Unreliable&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://technologizer.com/2008/09/13/apple-to-iphone-developers-dont-compete-with-us/&#34;&gt;Close Minded&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://bits.blogs.nytimes.com/2008/09/16/apples-capricious-app-policy/&#34;&gt;Capricious&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.mikeash.com/?page=pyblog/the-iphone-development-story.html&#34;&gt;Rejection Filled&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After thinking about this for a couple of days, I think that the people writing these claims have some valid points, but I’m actually really in favor of the model Apple has set up with their store. I feel that many of these complaints aren’t actually with the process or the store, but really with the execution of the process.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Much of the popular media these days is dubbing the iPhone App store and Apple’s process as:</p>
<ul>
<li><a href="http://www.scripting.com/stories/2008/09/13/whyIphoneIsAnUreliablePlat.html">Unreliable</a></li>
<li><a href="http://technologizer.com/2008/09/13/apple-to-iphone-developers-dont-compete-with-us/">Close Minded</a></li>
<li><a href="http://bits.blogs.nytimes.com/2008/09/16/apples-capricious-app-policy/">Capricious</a></li>
<li><a href="http://www.mikeash.com/?page=pyblog/the-iphone-development-story.html">Rejection Filled</a></li>
</ul>
<p>After thinking about this for a couple of days, I think that the people writing these claims have some valid points, but I’m actually really in favor of the model Apple has set up with their store. I feel that many of these complaints aren’t actually with the process or the store, but really with the execution of the process.</p>
<p>The process that you must follow to develop for the iPhone is more demanding that most developers are used to. You have to come up with an idea, submit it to Apple, be approved, develop an application and then submit the application to be reviewed by Apple. During any point in this process Apple can choose to reject your application for any arbitrary reason.</p>
<p>Why would Apple require such a process?</p>
<p>Lets start with Apple’s brand image. In 1984, during the Superbowl, Apple introduced the Macintosh with a commercial that said “we are against complete control over, we are the company of rebels.” In an age where big companies were completely dominating the market, Apple was trying to change things up. That is what they did the Macintosh. The message presented in that commercial has resonated through the halls of Apple from that day to today. Joel Spolsky mentions this in his book: <a href="https://zacharyc.com/2008/10/01/books-smart-gets-things-done/">Smart &amp; Gets Things Done</a>.</p>
<p>The App Store for the iPhone go against this. They require developers to submit their designs and have them approved before they can start selling them to clients. Apple can look at the code, design or any other aspect of the application and decide to deny them the right to sell their App to the public. Apple is taking control over their device, the opposite message of their original premise with the Macintosh.</p>
<p>But the iPhone isn’t the Macintosh. The Macintosh is a computer that sits on your desk and does a bunch of computing, using custom applications and manipulating data in any way choose. You have the freedom to build your own Apps, customize the machine in any way you want to make it work better for you, with a small set of limitations from Apple.</p>
<ol>
<li>You buy Apple hardware to use Apple software</li>
<li>Certain components of the operating system are protected from developer manipulation</li>
<li>There is no 3rd rule</li>
</ol>
<p>That is a large amount of freedom, but if your computer breaks, there is usually someone you call for assistance, either Apple, or the guys who made the software you are having a problem with.</p>
<p>The iPhone is a completely different product. Its a phone replacement. Phones are important, they allow us to communicate. Also the standard for using them is different than a computer. Computers have crashed since the day they were created. It is somewhat expected that the computer you are using will crash and you will have to restart it. You hope you remember to save every once in a while, so not too much of your data is lost (I’m saving this post right now), but crashing is a fact of computing. When was the last time your touch-tone phone crashed?</p>
<p>The expected level of performance for a phone is significantly higher. People use phones to call their family, or the hospital. The process of navigating a phone menu can be tedious and annoying if forced to do it several times. Now cell phones, loose reception, and that is something that a cell carrier has to worry about, but if a phone in the middle of an important phone call needs to restart, we have a concern.</p>
<p>When the team at Apple started to develop the iPhone, I’m nearly positive that one of their top priorities was reliability of the device. Apples goal was to build that phone. As the demand for the iPhone out stripped the supply when it was released, I’m pretty sure Apple itself was surprised by the success this phone made. When people started calling for the ability to produce software for the device, Apple had to rush to put something together. Their first answer was web page based. This solved the initial problem of letting people develop for the phone, but not the bigger issue. Developers wanted to put their Apps on the phone, use the phone information, like contact info, location, other pieces of info that weren’t available to web clients.</p>
<p>So Apple made the SDK, and started building out ways for developers to write software for the iPhone, but they still had to be concerned with the reliability of the device. Again, we can’t have this phone crashing because people install bad software. So, Apple created the process: You submit the App, we review it and test, and make sure it fits with our concerns and then we’ll let you sell it. Heck, we’ll even help you market it through our store. Reliability is now mediated by Apple itself.</p>
<p>Here’s where the problem gets sticky. How does Apple decide which Apps should be allowed through? It needs a process, with a team of people reviewing these Apps, making sure they are safe, and then notifying developers of this process. Okay, so that was one sentence, but it is actually a lot more complicated than that. Many eyes need to see his App before it gets approved or released. That is a ton of work on the part of Apple. This is where the breakdown happened.</p>
<p>My guess, and this is just a <em>guess</em>, is that the amount of people working on this project is: 1) not enough for the amount of apps coming through the door; and 2) too large for people to keep up on which other apps are being approved. That is why some apps that seem to be replicating functionality of other approved apps are rejected. Also, because there are so many Apps coming through the doors to this organization, I would guess that default choice is to reject the Apps for anything small, even has a way to reduce the amount of code the reviewers have look through.</p>
<p>The App Store is still young, though. My guess is that Apple is beginning to see the problem and starting to take steps to mitigate it. It won’t happen over night, and those of you expecting this are dreaming, but in time, I believe it will work out. In the mean time, I’ve a got a portable phone with a high reliability factor.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Calling People from a Text Message on the iPhone</title>
      <link>https://www.zacharyc.com/2008/10/07/calling-people-from-a-text-message-on-the-iphone/</link>
      <pubDate>Tue, 07 Oct 2008 00:05:29 -0400</pubDate>
      <guid>https://www.zacharyc.com/2008/10/07/calling-people-from-a-text-message-on-the-iphone/</guid>
      <description>&lt;p&gt;Have you ever been using your iPhone, in the middle of sending a text message to a friend when you realize it would just be easier to call them and talk it out? With the current interface you have to leave the SMS application, navigate to your contacts using either Phone or Contacts, find the number and tap it. Not the end of the world if only happened rarely, but I find myself going through this pain quite often.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Have you ever been using your iPhone, in the middle of sending a text message to a friend when you realize it would just be easier to call them and talk it out? With the current interface you have to leave the SMS application, navigate to your contacts using either Phone or Contacts, find the number and tap it. Not the end of the world if only happened rarely, but I find myself going through this pain quite often.</p>
<p>It would be really great if we could find a way to make the call from the text message. I’ll leave the exact design and implementation up to the people at Apple, but this feature would totally improve my testing experiences.</p>
]]></content:encoded>
    </item>
    <item>
      <title>How long does a Keyboard last?</title>
      <link>https://www.zacharyc.com/2008/09/20/how-long-does-a-keyboard-last/</link>
      <pubDate>Sat, 20 Sep 2008 15:27:55 -0400</pubDate>
      <guid>https://www.zacharyc.com/2008/09/20/how-long-does-a-keyboard-last/</guid>
      <description>&lt;p&gt;I have an older generation &lt;a href=&#34;http://en.wikipedia.org/wiki/Image:Apple_Pro_Keyboard_%28open_top%29.jpg&#34;&gt;Apple Keyboard&lt;/a&gt; (this one is german, mine is standard US, but the design is the same and I don’t feel like taking a picture). The problem is, my spacebar key is starting to crap out on me (or I’m losing thumb strength and can no longer hit it as hard). I’ve had said keyboard for probably 3 years or so. Is it reasonable to be expected to go out and buy a new one?&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I have an older generation <a href="http://en.wikipedia.org/wiki/Image:Apple_Pro_Keyboard_%28open_top%29.jpg">Apple Keyboard</a> (this one is german, mine is standard US, but the design is the same and I don’t feel like taking a picture). The problem is, my spacebar key is starting to crap out on me (or I’m losing thumb strength and can no longer hit it as hard). I’ve had said keyboard for probably 3 years or so. Is it reasonable to be expected to go out and buy a new one?</p>
]]></content:encoded>
    </item>
    <item>
      <title>Bloomberg Releases Jobs&#39; Obituary</title>
      <link>https://www.zacharyc.com/2008/08/28/bloomberg-releases-jobs-obituary/</link>
      <pubDate>Thu, 28 Aug 2008 18:27:13 -0400</pubDate>
      <guid>https://www.zacharyc.com/2008/08/28/bloomberg-releases-jobs-obituary/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://gawker.com/5042795/steve-jobss-obituary-as-run-by-bloomberg&#34;&gt;Steve Jobs’ obituary&lt;/a&gt; was mistakenly released by &lt;a href=&#34;http://www.bloomberg.com&#34;&gt;Bloomberg News&lt;/a&gt; today. Bloomberg is a company that strives not to take a position on the market, but in this case, they actually caused the stock to take a sharp dip. They have since retracted the article and stated that they have no non-public information on the health of Steve Jobs.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://gawker.com/5042795/steve-jobss-obituary-as-run-by-bloomberg">Steve Jobs’ obituary</a> was mistakenly released by <a href="http://www.bloomberg.com">Bloomberg News</a> today. Bloomberg is a company that strives not to take a position on the market, but in this case, they actually caused the stock to take a sharp dip. They have since retracted the article and stated that they have no non-public information on the health of Steve Jobs.</p>
]]></content:encoded>
    </item>
    <item>
      <title>A Flaw in Apple</title>
      <link>https://www.zacharyc.com/2008/08/19/a-flaw-in-apple/</link>
      <pubDate>Tue, 19 Aug 2008 19:29:54 -0400</pubDate>
      <guid>https://www.zacharyc.com/2008/08/19/a-flaw-in-apple/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://daringfireball.net/linked/2008/08/19/engst&#34;&gt;John Gruber nails it&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Apple’s biggest problem isn’t with its product quality (which, overall, remains very high), but with its communication to customers.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If your reading this blog, you probably know that I’m a big Apple fan. I will stand up for Apple all over the place, but I have been increasingly frustrated with their communication, this needs to change.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://daringfireball.net/linked/2008/08/19/engst">John Gruber nails it</a>:</p>
<blockquote>
<p>Apple’s biggest problem isn’t with its product quality (which, overall, remains very high), but with its communication to customers.</p></blockquote>
<p>If your reading this blog, you probably know that I’m a big Apple fan. I will stand up for Apple all over the place, but I have been increasingly frustrated with their communication, this needs to change.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Wil Shipley on the Mojave Experiment</title>
      <link>https://www.zacharyc.com/2008/08/11/wil-shipley-on-the-mojave-experiment/</link>
      <pubDate>Mon, 11 Aug 2008 15:50:19 -0400</pubDate>
      <guid>https://www.zacharyc.com/2008/08/11/wil-shipley-on-the-mojave-experiment/</guid>
      <description>&lt;p&gt;Wil Shipley wrote a &lt;a href=&#34;http://wilshipley.com/blog/2008/07/mojave-experiment-bad-science-bad.html&#34;&gt;blog post&lt;/a&gt; on the Mojave Experiment whereby Microsoft “proved” that Vista is a great operation system. I think Wil makes a couple of really powerful points in his article, but there is one that I feel he leaves out. These people were shown what they thought to be the NEXT version of Windows. I think there is probably some tolerance built in for people looking at what they believe to be the next version. Something like, “If this OS was ready, they’d be shipping it already, so this probably just some sort of prototype.” If they said you had to use this OS, starting today until the end of time, I’m sure they would have had more questions and perhaps formed a very different view on the whole situation.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Wil Shipley wrote a <a href="http://wilshipley.com/blog/2008/07/mojave-experiment-bad-science-bad.html">blog post</a> on the Mojave Experiment whereby Microsoft “proved” that Vista is a great operation system. I think Wil makes a couple of really powerful points in his article, but there is one that I feel he leaves out. These people were shown what they thought to be the NEXT version of Windows. I think there is probably some tolerance built in for people looking at what they believe to be the next version. Something like, “If this OS was ready, they’d be shipping it already, so this probably just some sort of prototype.” If they said you had to use this OS, starting today until the end of time, I’m sure they would have had more questions and perhaps formed a very different view on the whole situation.</p>
]]></content:encoded>
    </item>
    <item>
      <title>TOC on all Books Please</title>
      <link>https://www.zacharyc.com/2008/06/15/toc-on-all-books-please/</link>
      <pubDate>Sun, 15 Jun 2008 01:09:56 -0400</pubDate>
      <guid>https://www.zacharyc.com/2008/06/15/toc-on-all-books-please/</guid>
      <description>&lt;p&gt;I shop for mostly non-fiction books. Most of these books tend to be on new and emerging technologies. When I’m purchasing a book on a technology, I really want to know the content of the book before I purchase it. What I really want is a table of contents. Just a list of the chapter lists and maybe even a more detailed list of the topics covered in each chapter, but at least some form of the table of contents would be very helpful in my purchasing decision.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I shop for mostly non-fiction books. Most of these books tend to be on new and emerging technologies. When I’m purchasing a book on a technology, I really want to know the content of the book before I purchase it. What I really want is a table of contents. Just a list of the chapter lists and maybe even a more detailed list of the topics covered in each chapter, but at least some form of the table of contents would be very helpful in my purchasing decision.</p>
<p>The sad thing is, not many of these books actually publish a table of contents online. At the time when I was first searching for books, one of the notable series that didn’t publish this was <a href="http://headfirstlabs.com/">Head First Labs</a>. They have since changed their ways and publish a PDF version of each books TOC on the individual book page. Another good example is the new <a href="http://bignerdranch.com/products.shtml">Hillegass book</a>. While this is a great book, and I was going to buy it, with, or without a look at the TOC it would still be great to see the TOC, so I knew what I was purchasing.</p>
<p>There is another one that really drove me up the edge. I purchased the first edition of <a href="http://simplebits.com/publications/bulletproof/">Bullet Proof Web Design</a>, and thought it was a GREAT book. While Dan’s site now has an updated TOC, it didn’t when the book first came out, and the <a href="http://www.peachpit.com/store/product.aspx?isbn=0321509021">publishers book page</a> does not list the table of contents, even though they will give you chapter 1 for review. The other problem with this book, is that even at the time of this post, there is no real mention about what has been updated in the second edition of this book. Now, I definitely see the cause for someone new web design to buy this book, but why should “I”, a reader of the previous edition shell out another $25 for this one?</p>
<p>This is just another instance of not giving the customers what they need. How hard is it to publish your TOC? It is a simple list element on your webpage. You aren’t giving out anything that special, just giving your customers an idea of what they will be purchasing. That is rule number 1 in sales: <em><strong>give the customers what they want.</strong></em></p>
]]></content:encoded>
    </item>
    <item>
      <title>WWDC After Parties, One Step Closer to Attending</title>
      <link>https://www.zacharyc.com/2008/06/11/wwdc-after-parties-one-step-closer-to-attending/</link>
      <pubDate>Wed, 11 Jun 2008 20:33:01 -0400</pubDate>
      <guid>https://www.zacharyc.com/2008/06/11/wwdc-after-parties-one-step-closer-to-attending/</guid>
      <description>&lt;p&gt;Last Night I went to a few WWDC after parties. This being my first year in the SF bay area, I wanted to make an effort to meet more Apple people, and while I couldn’t quite afford attending WWDC, I wanted to make it down there to meet some of the people.&lt;/p&gt;
&lt;p&gt;Mike was planning on attending the &lt;a href=&#34;http:&#34; title=&#34;http://webkit.org/&#34;&gt;Webkit&lt;/a&gt; Party yesterday, but as the day wore on, he was less and less definite about his attendance, as he was already tired from a wild Monday night. So that left me with no one to go with. Now, I’m not overly shy, but I always like having a starting point in a crowd. Without Mike, I felt it would have been difficult to find that point (He works for Apple and therefore knows a bunch of people at webkit).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last Night I went to a few WWDC after parties. This being my first year in the SF bay area, I wanted to make an effort to meet more Apple people, and while I couldn’t quite afford attending WWDC, I wanted to make it down there to meet some of the people.</p>
<p>Mike was planning on attending the <a href="http:" title="http://webkit.org/">Webkit</a> Party yesterday, but as the day wore on, he was less and less definite about his attendance, as he was already tired from a wild Monday night. So that left me with no one to go with. Now, I’m not overly shy, but I always like having a starting point in a crowd. Without Mike, I felt it would have been difficult to find that point (He works for Apple and therefore knows a bunch of people at webkit).</p>
<p>With Mike heading back, I saw yet another WWDC slipping away from me. I remember when I was really young and my grandfather took me to a MacWorld in Boston. That was the last Apple event I had attended, and I remember thinking how wonderful it was, but wanting to find more developers. WWDC was my next mission. I was about to miss the whole boat once again.</p>
<p>I had given up all hope, and committed to myself that I would try harder next year, when Kyle arrived. Kyle is a relocated employee at my company, who had just finished the drive across country. While my trip took about 7 days, his had taken only 4. He decided to make it into work early (why?). Well, turns out he is a Mac User, and with a little prodding was easily convinced to come attend the aforementioned Webkit party.</p>
<p>So we went, and it was amazing. I ran into a bunch of web guys who worked for the NY Times. They were really cool, and one of them even went to college with a high school buddy of mine, re-affirming my belief that we really do live in a very small world.</p>
<p>I also got to run into some cool Apple people, including <a href="http://www.mikematas.com/">Mike Matas</a>. All in all, it was a rather fantastic experience.</p>
<p>One last important note, while getting Subway on the way home we ran into this other gentleman, wearing what had to be the best shirt I saw there, “WYSIWTF” with an Internet Explorer logo. I have never seen a more true shirt :-D.</p>
<p>Hopefully next year I will be able to attend WWDC, not just an after party.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Review of Head Rush AJAX</title>
      <link>https://www.zacharyc.com/2008/01/18/review-of-head-rush-ajax/</link>
      <pubDate>Fri, 18 Jan 2008 16:03:56 -0500</pubDate>
      <guid>https://www.zacharyc.com/2008/01/18/review-of-head-rush-ajax/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://zacharyc.com/?attachment_id=45&#34; title=&#34;Head Rush AJAX&#34;&gt;&lt;img alt=&#34;Head Rush AJAX&#34; loading=&#34;lazy&#34; src=&#34;https://www.zacharyc.com/assets/img/2008/01/head_rush.thumbnail.jpg?w=1100&amp;ssl=1&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I recently finished reading &lt;a href=&#34;http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FHead-Rush-Ajax-First%2Fdp%2F0596102259%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1200668319%26sr%3D8-1&amp;amp;tag=zacharycohen-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325&#34;&gt;Head Rush AJAX&lt;/a&gt;&lt;img loading=&#34;lazy&#34; src=&#34;http://www.assoc-amazon.com/e/ir?t=zacharycohen-20&amp;l=ur2&amp;o=1&#34;&gt; and would like to share my comments on the book.&lt;/p&gt;
&lt;p&gt;This book is written by &lt;a href=&#34;http://www.headfirstlabs.com/&#34;&gt;Head First Labs&lt;/a&gt; and is the first of the series I have read. I picked it up because of a recommendation from a friend. I remember looking with disdain at the books in the series when I had seen them on the shelf. I remember thinking, “They look so elementary, we don’t need another ‘For Dummies’ series”. I, like most computer people, have picked up and read a “For Dummies” book, but after you get through your second, they really loose their allure. My first three technology books were from that series, and I have never committed to reading another one.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://zacharyc.com/?attachment_id=45" title="Head Rush AJAX"><img alt="Head Rush AJAX" loading="lazy" src="https://www.zacharyc.com/assets/img/2008/01/head_rush.thumbnail.jpg?w=1100&ssl=1"></a></p>
<p>I recently finished reading <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FHead-Rush-Ajax-First%2Fdp%2F0596102259%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1200668319%26sr%3D8-1&amp;tag=zacharycohen-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Head Rush AJAX</a><img loading="lazy" src="http://www.assoc-amazon.com/e/ir?t=zacharycohen-20&l=ur2&o=1"> and would like to share my comments on the book.</p>
<p>This book is written by <a href="http://www.headfirstlabs.com/">Head First Labs</a> and is the first of the series I have read. I picked it up because of a recommendation from a friend. I remember looking with disdain at the books in the series when I had seen them on the shelf. I remember thinking, “They look so elementary, we don’t need another ‘For Dummies’ series”. I, like most computer people, have picked up and read a “For Dummies” book, but after you get through your second, they really loose their allure. My first three technology books were from that series, and I have never committed to reading another one.</p>
<p>When it comes to Head First AJAX the phrase “Never Judge a book by its Cover” has never been more true. If you look at the cover and see the guy doing an one handed handstand you might not want to take the book seriously, but this is a serious book with a serious introduction to a very new and very powerful technology.</p>
<h4 id="about-the-reader">About the Reader</h4>
<p>It is important to understand the perspective of this review. When I picked up this book I head been reading the <a href="http://www.amazon.com/JavaScript-Definitive-Guide-David-Flanagan/dp/0596101996/ref=pd_bbs_2?ie=UTF8&amp;s=books&amp;qid=1200670177&amp;sr=8-2">Javascript: The Definitive Guide</a>. This is the canonical book on Javascript, and while it is very informative it is not a very practical straight read. I wanted to give up after about 100 pages, this book offered a quick alternative so I picked it up.</p>
<p>I’m a strong HTML and CSS programmer, I have worked with various web technologies like Rails and PHP. I wouldn’t qualify myself as an expert, but I’m no stranger to web programming. However, up until recently, I have had one GAPING flaw in my resume when it comes to web work, I have had little to no knowledge of javascript. I used a snippet of javascript back on a website I had written many years ago that responded to an onHover event to replace an image, but that was the extent of my real JavaScript experience. Realizing this hole and having some time on my hands I set about fixing it.</p>
<h4 id="book-content">Book Content</h4>
<p>This book covers the following topics:</p>
<ul>
<li>Intro to JavaScript</li>
<li>Discussion of why there is a need for AJAX</li>
<li>Basic PHP on the web server side</li>
<li>Introduction to Web Security (defending against SQL injection)</li>
<li>The Document Object Model (DOM)</li>
<li>Introduction to JSON</li>
</ul>
<p>Each of the topics in the list above is described using both pictures and instructions. There are several cornerstones to the Head First approach, but two of these really stuck with me. Firstly, everything that is important is repeated. Secondly, information is presented in both a textual and graphical format. Text is placed next to pictures to get your mind to remember it. This is EXACTLY how I learn, so this book worked great for me.</p>
<h4 id="criticisms">Criticisms</h4>
<p>I really liked the book, but there are a few areas where I felt like the speed of the book was too fast and some areas where I felt they could have used improvement. The last chapter is when they first introduce JSON. The introduction is a bit rushed, and they use the blanket “eval()” statement in javascript to execute the JSON code. Being a traditional programmer, I’m always apprehensive of using an eval function, especially in the case where are receiving the code to eval from a response object. There is no talk about the security risks of using this function until the Appendix.</p>
<p>My second issue is the discussion of frameworks doesn’t occur until the Appendix. While understanding the fundamentals of AJAX is very important, in practice frameworks are more practical then rewriting code that already exists out there. There is a discussion of frameworks and how to use them, but that isn’t until Appendix I.</p>
<p><strong>In short, Appendix I is not an optional read</strong>. The contents of this Appendix I feel are completely necessary in order to actually start using AJAX, and the fact that it is listed as an Appendix is misleading.</p>
<h4 id="conclusion">Conclusion</h4>
<p>I would strongly recommend this book to someone in my position. It gave a great introduction to AJAX for someone already familiar with web programming. I could see how users without any experience in web programming might get lost by this book, but it was PERFECT for me. I have since purchased my second book from Head First Labs, and will hopefully write a review of that title shortly.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Battle of The GTD Apps</title>
      <link>https://www.zacharyc.com/2008/01/09/battle-of-the-gtd-apps/</link>
      <pubDate>Wed, 09 Jan 2008 14:26:28 -0500</pubDate>
      <guid>https://www.zacharyc.com/2008/01/09/battle-of-the-gtd-apps/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://en.wikipedia.org/wiki/Getting_Things_Done&#34;&gt;Getting Things Done (GTD)&lt;/a&gt; has become increasingly popular in past few years. There have been many attempts to build an application that integrates with the whole framework. As a mac user I have been aware of a few, but the big one of the past was &lt;a href=&#34;http://kinkless.com/kgtd&#34;&gt;Kinkless GTD&lt;/a&gt;. This application consists of a bunch of applescripts meant to work with &lt;a href=&#34;http://www.omnigroup.com/omnioutliner&#34;&gt;OmniOutliner&lt;/a&gt;. There was a lot of hype surrounding the application, and for good reason, it was one of the best options out there. The problem was, it wasn’t good enough for me to get really committed. You had to hit this “sync” button ever couple of seconds to make sure everything was up to date, contexts were confusing, and sometimes the kinkless page would go down for days at a time. Others shared my concerns and now there are several different applications that aim to fill the same gap that KGTD left open. In this article I will be comparing &lt;a href=&#34;http://www.omnigroup.com/omnifocus&#34;&gt;OmniFocus&lt;/a&gt; and &lt;a href=&#34;http://culturedcode.com/things/&#34;&gt;Things&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Getting_Things_Done">Getting Things Done (GTD)</a> has become increasingly popular in past few years. There have been many attempts to build an application that integrates with the whole framework. As a mac user I have been aware of a few, but the big one of the past was <a href="http://kinkless.com/kgtd">Kinkless GTD</a>. This application consists of a bunch of applescripts meant to work with <a href="http://www.omnigroup.com/omnioutliner">OmniOutliner</a>. There was a lot of hype surrounding the application, and for good reason, it was one of the best options out there. The problem was, it wasn’t good enough for me to get really committed. You had to hit this “sync” button ever couple of seconds to make sure everything was up to date, contexts were confusing, and sometimes the kinkless page would go down for days at a time. Others shared my concerns and now there are several different applications that aim to fill the same gap that KGTD left open. In this article I will be comparing <a href="http://www.omnigroup.com/omnifocus">OmniFocus</a> and <a href="http://culturedcode.com/things/">Things</a>.</p>
<p>People at Omni recognized a good nitch for a better product and so began to create a new product <a href="http://www.omnigroup.com/omnifocus">OmniFocus</a>. This product would be directly geared towards the kinkless users and perhaps pick up more users in the wake of the new GTD craze. As of this post, I’m aware that omni has sold over 11,000 licenses for its application, which just hit version 1.0 yesterday (no, they didn’t make 11,000 in a day, they have been selling the product in beta for a couple of months).</p>
<p>Now, I’m a big fan of Omni products. I swear by <a href="http://www.omnigroup.com/omnigraffle">Omnigraffle</a>, and there are some interesting uses for <a href="http://www.omnigroup.com/omnioutliner">OmniOutliner</a> that sometimes make it more useful than excel or numbers (it is much FASTER than numbers). However, I have been using OmniFocus for a little while and am a little disappointed that they have released version 1.0 in the condition it is in. This app feels like it is so far from done, that I can’t understand how it can be at revision 1.0. Also, they up until announcing version 1.0, they were calling the builds alpha builds, which leads me to believe that this might be a premature release.</p>
<p>Here is a list of some of things that are frustrating me with the app:</p>
<ul>
<li>There is a “Clean Up” button on menu bar that you have to hit in order for your tasks to disappear. I agree that making them disappear as soon as you enter them is bad UI design, but the fact that I have to click on this button to move everything is also bad. I wonder if there couldn’t be a clean up every time you switch contexts or projects or if you stop using the application for several minutes if the clean up could happen automatically.</li>
<li>The views are still a little confusing. This could be because I have never been a big subscriber to the GTD methodologies, I just want an application that organizes all my tasks, I don’t care about the FORMAL practice elements.</li>
<li>The autoupdate feature continues to crash every time I install an update. Well, it claims to have crashed, if I look at the version of OmniFocus, it will say that is running the newest version.</li>
<li>The App doesn’t <strong>feel</strong> like a finished Leopard App. There is zebra striping in some of the windows. I’m not a big fan of high contrast zebra striping, I feel like it takes away from the users focus.</li>
</ul>
<p>Despite my misgivings, the app has a strong community and a good development core. There are a couple of really great things about the app that make me wonder how it will progress in the future. Here are a couple of the features that I like about OmniFocus</p>
<ul>
<li>Integration with iCal To Dos. This means that it will appear on your iPhone (or other syncable phone) currently. Also the way in which they do this is very smart. They allow you to select certain contexts to be synced with your iCal, which means if you are only interested in your Errands while you are mobile, you can set it to only sync those tasks and leave the rest off.</li>
<li>Potential integration with <a href="http://www.omnigroup.com/omniplan">OmniPlan</a>. This is a great app for project management. It is the most Mac-like project management app I’ve seen and if you could hook OmniFocus to a specific project it would be easy for people to see what they have to complete, without having to look at OmniPlan and then copy it tasks to OmniFocus (this is not very <a href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself">DRY</a>).</li>
<li>Better integration that KGTD. This applications is specifically designed to do many of the things that KGTD did, but it does it natively, whereas KGTD was a bunch of add on Applescripts. KGTD also made all of your toolbars in OmniOutliner look like a KGTD app (they might have fixed this in later versions of OmniOutliner, but I can’t remember and don’t feel like installing this all over again).</li>
</ul>
<p>This leads me to my next app, <a href="http://culturedcode.com/things/">Things</a>. This app is made by a much smaller company in Germany, so it might not have the same market penetration as the OmniGroup, but in my opinion this is what I really expect in terms of a GTD application. Keep in mind that I have only been using Things for about a day and I have been following OmniFocus for quite some time now, so my feedback on this app might not be as complete. Before I jump into feature analysis, here is a screenshot of things:</p>
<p><a href="https://zacharyc.com/2008/01/09/battle-of-the-gtd-apps/screenshot-of-things/" title="Screenshot of Things"><span class="Apple-style-span" style="color:#000000;text-decoration:none;"><img alt="Screenshot of Things" loading="lazy" src="https://www.zacharyc.com/assets/img/2008/01/things_window.png?w=1100&ssl=1"></span><span class="Apple-tab-span" style="white-space:pre;"></span></a></p>
<p>Now, Things is still in a beta stage, and the author claims that they will be releasing the code later in the spring. The price of this app will be $49 when released, compared to the OmniFocus $79. The overall look and feel of the app, though is still significantly more “finished” than OmniFocus, but some of the main features of OmniFocus are missing.</p>
<p>Here’s a rundown of what I like about Things:</p>
<ul>
    <li>Very professional looking application. Okay, yes I'll admit it, looks are only skin deep, but when it comes to working with an app, if it is pretty look at, you will look at it more, therefore I feel that aesthetics can count for something here.</li>
    <li>The cost is lower than OmniFocus. Saving money is always a good thing.</li>
    <li>The layout is more structured than OmniFocus. By this, I mean that the menu on the let has specific sections: Collect, Focus, Organize; and then brakes down the tasks within this section. If I don't know the full GTD rules or I don't want to reread David Allen before I start using the application, this makes it more clear where I should put all my tasks.</li>
    <li>It allows you tag your items. This is both a positive and a negative for me. It allows me to put tags with an item that I think belong in different projects and then find them together, but the downside is, Tags replace the notion of context in OmniFocus. I think these are two different items, tags relate to the type of app, but I feel like context relates to where/how the task should be completed. By handling both of these with items with tags its not always clear how to differentiate which tags belong to which.</li>
    <li>The Focus section allows you to clearly see what you have to do and what you can do. The whole goal of GTD is to make it easy to see what you should be doing next. This focus section does exactly that.</li>
</ul>
<p>Despite all these good features (and the one issue with tags that I have already mentioned), there are several other issues that I have with the application:</p>
<ul>
<li>No direct support for integration with iCal or mobile devices. This feature is on the roadmap, but it is unclear when it will be implemented, and I think it is very important to have it.</li>
<li>No ties to any specific project management suite. This could cause issues with having to enter your information twice.</li>
<li>Currently no way to recur items. If you want to repeat an item every day, right now, that just isn’t possible. This whole notion of recurring calendar events is probably pretty tricky to get right, but it is still an important feature that is missing. Again, this is in the future features, but no indication is provided on when it will be available.</li>
</ul>
<p>There are a bunch of additional features intended for Things, which you can see <a href="http://culturedcode.com/things/wiki/index.php?title=Future_Features">here</a>.</p>
<p>As for me, I have made up my decision, I’m going to try to stick with things for a little while and see how that works out. If OmniFocus has some major changes perhaps I will give it another look, but right now, I’m just enthused by the application. Also, if anyone else has any other task management applications they are using, please add a comment or contact me.</p>
]]></content:encoded>
    </item>
    <item>
      <title>What I want to for the Holidays</title>
      <link>https://www.zacharyc.com/2007/11/20/what-i-want-to-for-the-holidays/</link>
      <pubDate>Tue, 20 Nov 2007 12:28:45 -0500</pubDate>
      <guid>https://www.zacharyc.com/2007/11/20/what-i-want-to-for-the-holidays/</guid>
      <description>&lt;p&gt;I found the best gadget. Amazon just released the &lt;a href=&#34;http://amazon.com/gp/product/B000FI73MA/ref=amb_link_5873612_3?pf_rd_m=ATVPDKIKX0DER&amp;amp;pf_rd_s=gateway-center-column&amp;amp;pf_rd_r=0B7BNDMTBK3PDXM6N62M&amp;amp;pf_rd_t=101&amp;amp;pf_rd_p=329252801&amp;amp;pf_rd_i=507846&#34;&gt;Kindle&lt;/a&gt; and this thing looks great. Its an ebook reader with some additional features that distinguish it from the rest. Firstly, this device has a EVDO built in. What does this mean? No need to find Wifi to download a book, Kindle connects like a cell phone to the amazon store to get your books. Actually, Amazon even opens up Wikipedia access so you can look up articles on the go. Secondly, this device is created by amazon. They are a company in the right position to see that a large quantity of their books make it to correct format for this device. One complaint, so far the price of the technology books is still prohibitively high. These books are still greater than 20 dollars, which I still see as a large amount to pay for an electronic document. Can’t wait to see this thing in action, though. Maybe that will change my perception of the cost.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I found the best gadget. Amazon just released the <a href="http://amazon.com/gp/product/B000FI73MA/ref=amb_link_5873612_3?pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=gateway-center-column&amp;pf_rd_r=0B7BNDMTBK3PDXM6N62M&amp;pf_rd_t=101&amp;pf_rd_p=329252801&amp;pf_rd_i=507846">Kindle</a> and this thing looks great. Its an ebook reader with some additional features that distinguish it from the rest. Firstly, this device has a EVDO built in. What does this mean? No need to find Wifi to download a book, Kindle connects like a cell phone to the amazon store to get your books. Actually, Amazon even opens up Wikipedia access so you can look up articles on the go. Secondly, this device is created by amazon. They are a company in the right position to see that a large quantity of their books make it to correct format for this device. One complaint, so far the price of the technology books is still prohibitively high. These books are still greater than 20 dollars, which I still see as a large amount to pay for an electronic document. Can’t wait to see this thing in action, though. Maybe that will change my perception of the cost.</p>
]]></content:encoded>
    </item>
    <item>
      <title>My Thoughts on Software Engineering</title>
      <link>https://www.zacharyc.com/2007/09/16/my-thoughts-on-software-engineering/</link>
      <pubDate>Sun, 16 Sep 2007 11:54:36 -0400</pubDate>
      <guid>https://www.zacharyc.com/2007/09/16/my-thoughts-on-software-engineering/</guid>
      <description>&lt;p&gt;I was having a conversation with a couple of friends the other day, when the topic of &lt;a href=&#34;http://en.wikipedia.org/wiki/Software_engineering&#34;&gt;Software Engineering&lt;/a&gt; came up. I have been working in the software industry for over two years. I do not consider this to be a large amount of time. Nevertheless, I have learned a significant amount of software engineering.&lt;/p&gt;
&lt;p&gt;Let me back up. In college, most computer science students take a class on how to design and build software, titled Software Engineering. In this class they give you a textbook and teach you the different “models” of software engineering. They present this Utopian view of the software engineering process that I have never seen implemented in the real world. Most of what I see is similar to this graphic I found:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I was having a conversation with a couple of friends the other day, when the topic of <a href="http://en.wikipedia.org/wiki/Software_engineering">Software Engineering</a> came up. I have been working in the software industry for over two years. I do not consider this to be a large amount of time. Nevertheless, I have learned a significant amount of software engineering.</p>
<p>Let me back up. In college, most computer science students take a class on how to design and build software, titled Software Engineering. In this class they give you a textbook and teach you the different “models” of software engineering. They present this Utopian view of the software engineering process that I have never seen implemented in the real world. Most of what I see is similar to this graphic I found:</p>
<p><a href="https://www.zacharyc.com/assets/img/2007/09/3511.jpg?ssl=1" title="Software Engineering Graphic"><img alt="Software Engineering Graphic" loading="lazy" src="https://www.zacharyc.com/assets/img/2007/09/3511.jpg?w=1100&ssl=1"></a></p>
<p>The biggest problem with the software engineering designs is that the business side does not understand the benefits of software engineering. It might be a good idea to force the business people to take a class in the pitfalls of software engineering. I have heard countless stories of people creating rush prototypes of a project, showing it their business sponsors, and their business asking for it be in production the next day. Most prototypes are not designed to be released. Often times they are missing key components of functionality(like login validation).</p>
<p>Now, I’m not saying that software design is useless. It is necessary to to have an idea of what you are building before you begin to code. What I’m saying is that I don’t think that the software engineering process that are described in the software engineering books in school is valid the work environment. It is good to teach them, but teachers should also stretch the variations that occur in the real world.</p>
<p>One last thing, I’d like to make a plead for my favorite design methodology. Test-driven design is a wonderful idea. There are problems with it, the design ends up being only as good as the tests that are written. Most of the time the tests that are written in the beginning before construction of the code are not sufficient for a fully functional program. I feel this stems from the fact that businesses are often rushing to produce something and you don’t see any results while writing tests. I myself have been guilty of rushing people through designing tests when I was in a business role.</p>
<p>To all people who are reading this from a sponsorship position, please allow your developers the time they need to ensure good design. In the end it will help you products.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Quality Design and Computer Programming</title>
      <link>https://www.zacharyc.com/2007/08/16/quality-design-and-computer-programming/</link>
      <pubDate>Thu, 16 Aug 2007 07:44:00 -0400</pubDate>
      <guid>https://www.zacharyc.com/2007/08/16/quality-design-and-computer-programming/</guid>
      <description>&lt;p&gt;Recently a friend and I had a conversation about the quality of programmers in the workplace. Without delving too deeply into the specifics (so as not to get anyone in trouble), we discussed various metrics for measuring programmers and how they perform. That conversation, along with a recent talk I heard about quality of code, leads to the conclusion that as systems get more and more complex in our society, quality of code, effected by the quality of programmers, will become a serious matter.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Recently a friend and I had a conversation about the quality of programmers in the workplace. Without delving too deeply into the specifics (so as not to get anyone in trouble), we discussed various metrics for measuring programmers and how they perform. That conversation, along with a recent talk I heard about quality of code, leads to the conclusion that as systems get more and more complex in our society, quality of code, effected by the quality of programmers, will become a serious matter.</p>
<p>Firstly, lets talk about the breadth of programmers in this world. Programmers are just one shape and size. Their skills range from systems level programmers to high level web designers. Some programmers know assembly, others also know the intricate details of Photoshop. This wide range of skill determination make it very difficult to judge the “Quality” of a programmer. This gets further complicated by the fact that in order to judge a quality programmer, you need to judge the quality of the code/product produced. Much of this judging could be subjective. This is a conversation for another realm, and other people to handle. I just want to centralize this post on the conversation that happened between me and my friend.</p>
<p>The conversation arose around some code like the following:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-c" data-lang="c"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">if</span><span class="p">(</span><span class="n">state</span><span class="p">.</span><span class="n">to</span><span class="err">\</span><span class="nf">_upper</span><span class="p">()</span> <span class="o">==</span> <span class="s">&#34;AL&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="n">print</span> <span class="s">&#34;Alabama&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nf">elsif</span><span class="p">(</span><span class="n">state</span><span class="p">.</span><span class="n">to</span><span class="err">\</span><span class="nf">_upper</span><span class="p">()</span> <span class="o">==</span> <span class="s">&#34;AK&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="n">print</span> <span class="s">&#34;Alaska&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">.</span>
</span></span><span class="line"><span class="cl"><span class="p">.</span>
</span></span><span class="line"><span class="cl"><span class="p">.</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nf">elsif</span><span class="p">(</span><span class="n">state</span><span class="p">.</span><span class="n">to</span><span class="err">\</span><span class="nf">_upper</span><span class="p">()</span> <span class="o">==</span> <span class="s">&#34;WY&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="n">print</span> <span class="s">&#34;Wyoming&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">else</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="n">print</span> <span class="s">&#34;Unknown State&#34;</span><span class="p">;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>What are your thoughts on this code? Is it efficient? Would we consider this good code?</p>
<p>Well that depends on many different factors. As a programmer, my first instinct when I see this code is: WHY??? Why do you have to go through 100 lines of code to find Wyoming? As a programmer I see a hash. I see a one to one mapping set. That train of though, however, is limited, it does not take into consideration several factors that might crop up. From what I can see there are a bunch of factors that can determine how you write code, but in this example I really see three main factors.</p>
<ol>
<li><strong>Efficiency:</strong> If you the environment that your code will be running on and you can test it, it may be significantly faster to use the above set of code than dealing with setting up a hash and using hash algorithms. Conversely, if you don’t know the exact environment, you may be taking a risk assuming this factor.</li>
<li><strong>Maintenance:</strong> If you are looking to write code that can be easily updated and modified, say for example we decide to add Costa Rica, to your list, is it simple and easy, and straight forward. While this is a simple example, consider if we need to add a bunch of items to our statements, the above approach might be better represented as a Hash.</li>
<li><strong>Readability:</strong> This is a tough one, because there is both a positive and negative of this code in terms of readability. One, it puts all your code inline, meaning that you don’t have to jump to another file to see where a bunch of values are defined. However this approach also eats up a ton of space in your file that you have to scroll thus making more difficult to understand.</li>
</ol>
<p><strong>Conclusion</strong> Coding is not always easy, and sometimes there is a tradeoff for what you decide to actually implement in your code. It best to try and consider why and for whom you are writing your code and that will help you make the best choices.</p>
]]></content:encoded>
    </item>
    <item>
      <title>iPhone Review</title>
      <link>https://www.zacharyc.com/2007/07/03/iphone-review/</link>
      <pubDate>Tue, 03 Jul 2007 16:38:49 -0400</pubDate>
      <guid>https://www.zacharyc.com/2007/07/03/iphone-review/</guid>
      <description>&lt;p&gt;Last Friday, June 29th, &lt;a href=&#34;http://www.apple.com&#34;&gt;Apple&lt;/a&gt; released the &lt;a href=&#34;http://www.apple.com/iphone/&#34;&gt;iPhone&lt;/a&gt;. I waited in line on Friday to see the phone and I have to say I was quite impressed with the overall quality of the phone. It was &lt;em&gt;almost&lt;/em&gt; exactly as I had expected. To follow is a short review of the &lt;a href=&#34;http://www.apple.com/iphone/&#34;&gt;iPhone&lt;/a&gt; and my thoughts of the initial release. Let it be said that I successfully made it out of the store without buying one (believe me that was hard). I would also like to point out that this work is not all my own. Some of the discoveries below were made by a very nice gentleman named Chris who I ran into at one of the stores.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last Friday, June 29th, <a href="http://www.apple.com">Apple</a> released the <a href="http://www.apple.com/iphone/">iPhone</a>. I waited in line on Friday to see the phone and I have to say I was quite impressed with the overall quality of the phone. It was <em>almost</em> exactly as I had expected. To follow is a short review of the <a href="http://www.apple.com/iphone/">iPhone</a> and my thoughts of the initial release. Let it be said that I successfully made it out of the store without buying one (believe me that was hard). I would also like to point out that this work is not all my own. Some of the discoveries below were made by a very nice gentleman named Chris who I ran into at one of the stores.</p>
<h3 id="user-interfaceuser-experience">User Interface/User Experience</h3>
<p>As with all Apple Products, the big concern is ease of use. This phone is no exception. From a users perspective this phone really is simple. No stylus, no hard keyboard to type on. Each screen in each app is designed in specifically for the user experience of that particular app. Apple has managed to do this while still maintaining a consistent look and feel of all apps, so users don’t get confused between apps.</p>
<p>There are, however, a couple of things that I saw that were missing from a complete UI.</p>
<ol>
<li><strong>Customized repeatable calendar events –</strong> That is a mouthful. Basically, if I want to enter an event to recur on Monday, Wednesday, and Friday, on a weekly basis, I would have to enter three separate events, one for each day. When I asked the Apple employee, his solution was to use the computer to set up such an event. While this true, I could simply configure such an event on the computer and then sync it across, I thought the whole point of this phone was that I wouldn’t need to do that. If you look at it now, you can use your iPod in a similar fashion to sync with your computer and hold your calendar, so the only benefit the iPhone has over that is being able to add events on the fly.</li>
<li><strong>Downloading images from the web –</strong> If you go to a website that contains an image, you can view it on Safari on the mobile device, but as far as we could see there was no way to take the image from the web and store it on the phone. In order to do this, you need to download it on the computer and then sync it across. It would be great if there was a &lt;em&gt;download&lt;/em&gt; button which I could drag images to have them loaded to the phone. Again, they are forcing to me use a computer to do what the phone should do.</li>
<li><strong>Erasing Call History –</strong> When looking at the call history you cannot erase a single number. Throughout the phone, with a list of items (like contacts), you can select a single item to delete, by swiping across it and selecting delete. When it comes to call history, that is not the case. We were unable to find any way to remove a single number from the call history. You can, however, remove the entire call history pretty easily. When would you want to do this? What if you made a call from the iPhone in the store to your local cell and you don’t want the next person who uses the phone trying to call you. Not the worlds most necessary feature, but it would still be good to delete one record from your call history.</li>
<li><strong>Copy and Paste –</strong> You are unable to copy and paste from any application</li>
</ol>
<p>Despite these complaints, the overall function of the device is amazing. They have done a great job at utilizing the effects from core animation to make the phone more exciting. Windows don’t just load, the fade in or out. The screen doesn’t just turn, it animates the flip.</p>
<h3 id="network-concerns">Network Concerns</h3>
<p>Everyone has been talking about concerns with the Edge network. Instead of going with the latest 3G technology, the iPhone was built with an older technology known as edge. When I went to the AT&amp;T store they were using WIFI, but when I went to the Apple store, they were using the EDGE network. My perspective on the edge network was rather posative. The connection was faster than my old connection with T-mobile MDA, as well as with my current Nokia N73(also on the T-Mobile network). From a speed perspective I’m actually really excited about the iPhone.</p>
<h3 id="cost-and-pricing">Cost and Pricing</h3>
<p>I have heard a lot of complaints about the pricing for the iPhone. I, on the other hand, am excited about the pricing on the iPhone. Minus the initial cost of the phone, I can have what I have now in terms of service on the iPhone for about $10/month cheaper than what I pay at T-Mobile. I get 150 less minutes, but the rollover will help out with that, as I go entire months without calling people (when traveling).</p>
<h3 id="conclusion">Conclusion</h3>
<p>This device is compelling and exciting. Its software needs a little work, but that can be updated anytime through a firmware update. I’m excited about it, and I almost bought it, but I will wait a little longer until one with a little more disk space comes out.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
