The Humble Geek - Tag - linuxStuff I write.2023-10-22T19:48:30-05:00Michael Cronenworthurn:md5:df5c6c639b5d69909d67e94f93cf8b11DotclearCalm the hysteria, security patch performance is OKurn:md5:7285b169d72b8cb1fbb50c68ac39e3812018-01-12T10:23:00-06:002021-05-29T20:54:58-05:00Michael Cronenworthbenchmarkinglinuxwindows<p>Unfortunately some bad benchmark data has caused a stir among the greater Internet community. I have chosen to perform my own independent benchmark tests to see if the security patches for Meltdown and Spectre introduce any harm to my everyday life. TL;DR: They don't in the slightest.</p> <p>The following series of benchmarks are intended to see if desktop PC usage is harmed in any way.</p>
<p>I chose benchmarks of usage I see everyday at my desktop PC. From ffmpeg, to system boot time, to sequential read/write SSD speeds, to synthetic benchmark comparison of bare hardware and a virtual machine, these tests should give a picture if there is any performance delta to be worried about or if I should investigate further with different benchmarks.</p>
<h3>Benchmark Setup</h3>
<ul>
<li>Pre-mitigation: Kernel 4.14.8 and old microcode</li>
<li>Post-mitigation: Kernel 4.14.13 and 2018 microcode</li>
<li>CPU: Intel Core i7 4790k</li>
<li>SSD: Samsung 850 Pro 1TB</li>
</ul>
<h3>FFmpeg</h3>
<p>The source material is some footage from my Canon HFS100 camcorder. It records a 1080i 60 fps video feed at 24Mb per second. I routed the output to /dev/null so these tests only test hard drive reads, CPU, and RAM throughput. There was no discernible difference in encoding speed. In fact I felt there was a small (<1%) performance boost with the post-mitigation setup, but you cannot see it in the results.</p>
<ul>
<li>Faster: -c:v libx264 -c:a flac -preset faster -crf 23 -f matroska -t 00:01:00</li>
<li>Slower: -c:v libx264 -c:a flac -preset slower -crf 21 -f matroska -t 00:01:00</li>
</ul>
<p><img src="https://michael.cronenworth.com/dotclear/public/Benchmarks/.ffmpeg_m.png" alt="ffmpeg.png" style="display:table; margin:0 auto;" title="ffmpeg.png, Jan 2018" /></p>
<h3>System Bootup</h3>
<p>There was also no discernible difference in boot time. There are many moving pieces, from file I/O, to the kernel loading drivers, and user-space daemons loading, and none of that was effected by the security updates.</p>
<p><img src="https://michael.cronenworth.com/dotclear/public/Benchmarks/.systemd-analyze_m.png" alt="systemd-analyze.png" style="display:table; margin:0 auto;" title="systemd-analyze.png, Jan 2018" /></p>
<h3>Sequential Read and Write</h3>
<p>Again, no difference. I used the Gnome Disks tool. Very basic, sure, but if I were to see any significant dip I would run a more intensive test using a different tool.</p>
<p><img src="https://michael.cronenworth.com/dotclear/public/Benchmarks/.gnome-disks_m.png" alt="gnome-disks.png" style="display:table; margin:0 auto;" title="gnome-disks.png, Jan 2018" /></p>
<h3>Bare Hardware vs VirtualBox</h3>
<p>Almost every day I use a virtual machine with Windows because of a specific software requirement for either my job or my hobbies. There are very few cross-platform benchmarks so I used the first Google result - Geekbench. The VM is set to 1 CPU, 4 GB RAM so the multi-core tests won't be very accurate, but I've included it anyway. VirtualBox 5.2.2 and a Windows 8.1 guest patched up to Nov. 2017 was used for this test.</p>
<p><img src="https://michael.cronenworth.com/dotclear/public/Benchmarks/.geekbench-single_m.png" alt="geekbench-single.png" style="display:table; margin:0 auto;" title="geekbench-single.png, Jan 2018" /></p>
<p><img src="https://michael.cronenworth.com/dotclear/public/Benchmarks/.geekbench-multi_m.png" alt="geekbench-multi.png" style="display:table; margin:0 auto;" title="geekbench-multi.png, Jan 2018" /></p>
<p>All of the above tests were performed 3 times per test and averaged into charts.</p>
<p>One interesting note I will end with: The kernel now consumes an additional ~3MB of RAM.</p>
<ul>
<li>4.14.8: (8990K kernel code, 1538K rwdata, 3724K rodata, 2060K init, 1380K bss, 444228K reserved, 0K cma-reserved)</li>
<li>4.14.13: (12300K kernel code, 1546K rwdata, 3728K rodata, 2108K init, 1364K bss, 448600K reserved, 0K cma-reserved)</li>
</ul>Linux is [Unfortunately] About Choiceurn:md5:106ab7932306aeb56f8dbfb09cc1dff92015-02-18T18:15:00-06:002015-02-18T18:15:00-06:00Michael Cronenworthfreedomlinux <p>Ask anyone to name things they find wrong with the Linux ecosystem. I expect you'll get responses along the line of:</p>
<ul>
<li>GNOME sucks</li>
<li>KDE sucks</li>
<li>GCC sucks</li>
<li>Firefox sucks</li>
<li>GPLv2 sucks</li>
<li>RPM sucks</li>
<li>Gaming sucks</li>
</ul>
<p><br />
What's the solution most commonly found? "Fork it, bro!"</p>
<p>Forking software is a legitimate reason under specific circumstances:</p>
<ul>
<li>Licensing</li>
<li>M.I.A. upstream</li>
</ul>
<p><br />
Successful, legitimate forks:</p>
<ul>
<li>LibreOffice</li>
<li>MariaDB</li>
<li>X.org</li>
</ul>
<p><br />
Forking is not a clear right to do anything you want such as creating a new distribution with a new, cool name and flashy art logos. Bad forking reasons:</p>
<ul>
<li>I want to make a name for myself</li>
<li>I want a different desktop environment</li>
<li>I want a different desktop wallpaper</li>
</ul>
<p><br />
"Why not? I certainly am going to fork it!"</p>
<p>Yes, there is enough software produced for one person to be able to quickly and easily create an ISO file for users to download and call a new distribution. Before you say, yes, ask yourself these questions:</p>
<ul>
<li>Do I have at least 5 people to provided a full-time job's worth of time to it?</li>
<li>Do I / they have enough time to apply security patches and / or update to the latest upstream version for a majority of the software?</li>
<li>Do you serve a product that provides a clear purpose other than a new desktop or flashy art?</li>
</ul>
<p><br />
All it takes is one "no" answer to put an end to your forking dreams. Just Don't Do It.</p>Crossing the Streams to the Playstation 3 (part 1)urn:md5:2bfa497198ddf05f45f6f69c32d2ad4c2011-10-18T21:57:00-05:002011-10-18T21:57:00-05:00Michael Cronenworthlinuxsound <p>I wish I didn't have to write this article, but when there's a dozen audio formats, a dozen video formats, and a dozen media containers there's only one result: headaches. If you own a Playstation 3, a Linux computer, and have <a href="http://mediatomb.cc/" hreflang="en" title="Mediatomb">Mediatomb</a> installed, you can take advantage of the UPnP feature on the PS3 to play your audio or video over the network. This part 1 of 2 posting will start with audio.</p>
<h2>FLAC to PCM</h2>
<p>The Playstation 3 is a funny thing when it comes to audio. If you only have Optical (TosLink) or Coax audio output you're stuck with 48kHz sample rate. If you have HDMI you can go higher. The example below will get you FLAC transcoding into 48kHz PCM that the Playstation 3 will play.</p>
<p><strong>/etc/mediatomb/config.xml</strong></p>
<pre>
<profile name="audio-flac" enabled="yes" type="external">
<mimetype>audio/L16</mimetype>
<accept-url>no</accept-url>
<first-resource>yes</first-resource>
<hide-original-resource>yes</hide-original-resource>
<accept-ogg-theora>no</accept-ogg-theora>
<sample-frequency>48000</sample-frequency>
<audio-channels>2</audio-channels>
<agent command="ffmpeg-flac" arguments="%in %out" />
<buffer size="4194304" chunk-size="262144" fill-size="0"/>
</profile>
</pre>
<p><strong>/usr/local/bin/ffmpeg-flac</strong></p>
<pre>
#!/bin/bash
exec /usr/bin/ffmpeg -threads 2 -i "$1" -ar 48000 -acodec pcm_s16be -f alaw - > "$2"
</pre>
<p>Why 48kHz? I have some 96kHz media so I'd rather it go to the PS3 at the best possible rate. The PS3 will resample to 48kHz if you choose to go with 44.1kHz anyway so you might as well go with 48kHz. You can up this to 96kHz on an HDMI connection, but I don't have one to test with.</p>
<h2>Extra Credit</h2>
<p>Mediatomb development does not seem very active, but some folks have made patches to add features that make streaming more enjoyable. One annoying part of streaming on the PS3 is the default grey music icon for your tracks. This can be replaced by the album art with <a href="http://sourceforge.net/tracker/?func=detail&aid=2960326&group_id=129766&atid=715782" hreflang="en">patch number one</a>. You can't seek in tracks either, but that is also negated with <a href="http://sourceforge.net/tracker/?func=detail&aid=3309436&group_id=129766&atid=715782" hreflang="en">patch number two</a>.</p>
<p>Coming up: Transcoding matroska containers into the best possible format.</p>Red Hat Ironyurn:md5:d4f1cb510a86ffc60fb269f01e2370c22011-01-15T08:00:00-06:002011-01-15T08:00:00-06:00Michael Cronenworthfreedomlinux <p>A company devoted to promoting open source initiatives uses one of the largest closed source database engines on the planet. Red Hat uses Oracle, in particular, with their Satellite software (a.k.a. Spacewalk). The bright light at the end of the tunnel is that they are switching to using PostgreSQL, however it is not a high priority so it may take another year or two before the transition is complete.</p>Cross-Platform Graphical Library Maddnessurn:md5:1fbc06b792bf775f9d66a8874d062a522010-10-28T00:01:00-05:002021-05-29T20:58:25-05:00Michael Cronenworthfreedomlinuxnokiaprogrammingpythontldr <p>An application that provides the user a window with buttons and input boxes is a given in today's graphically driven computer universe. Operating systems of all shapes and sizes provide a programmer the tools and libraries to accomplish their goal of providing such an application. Most of them are pretty boring or are too specialized to be worth taking time to study. The libraries that people should familiarize themselves with are those that can be utilized <ins>across</ins> operating systems, which include being able to run across multiple types of hardware devices. Two libraries come to mind - GTK+ [has a very interesting <a href="http://www.gimp.org/about/ancient_history.html" hreflang="en">history</a>] and Qt (pronounced "cute").</p>
<p><img src="https://michael.cronenworth.com/dotclear/public/Open_Source/library-maddness.jpg" alt="library-maddness" style="display:table; margin:0 auto;" title="library-maddness, Nov 2010" /></p>
<p>Today, both libraries offer very simple methods of creating a GUI. So, depending on what language your project requires, either one would be able to provide you with a robust and full featured set of options. The current drive to use Qt is entirely commercial driven - by Nokia - who owns Qt. It's the same drive that Sun made with Java. There's no <em>logical</em> reason to use Java. People have just be taught that it [Java] is the best and there is no other language that can do the same job (read: <em>subjective</em>).</p>
<p>I believe the "Qt hate" or "GTK+ hate" stems from the past when Qt didn't offer as many cross-platform routines as Glib (from GTK+) did or vice versa. It has been my observation that people have not spent any time with both libraries and make rash statements about the other library out of ignorance. Most Qt developers view GTK+ as a legacy library that should be abandoned. Don't tell them that there is still active GTK+ development (GTK+ 3.0 is coming soon) driven by a large community, which includes Red Hat.</p>
<p>Need a simple OpenGL widget in your window? There's GtkGLExt, or Clutter for GTK. Starting with Qt 4.0 a similar API for OpenGL handling was implemented.</p>
<p>Need video/audio capability? GTK+ apps can use GStreamer. Qt has phonon.</p>
<p>Need XML or HTML handling? GTK apps can use libxml or GtkWebKit while Qt apps would need to use the Qt APIs.</p>
<p>Nokia is also attempting to drive Qt as a "write once, run anywhere" library. This is great in that it some-what promotes FOSS, but if you wish to use GTK+ you can write once and run anywhere, too. I have done so with a GTK+ app for my $DAYJOB that can compile under Fedora and Windows and does advanced things like TLS encrypted XML packets over a TCP connection and scanning documents (using SANE). Neither library has an advantage.</p>
<p>More recently, Nokia has tried to push the mantra that you can write a Qt app quickly and simply. GTK+ developers can also use <a href="http://live.gnome.org/Vala/About" hreflang="en">Vala</a> to write a GTK+ app quickly and simply. The amount of code to write to accomplish the same goal in each library also ends up being about the same.</p>
<p>I can come up with any more number of examples, but those are ones I have seen used in arguments lately. The person arguing for using Qt has no idea about the matching GTK+ API and vice versa. I think it's great that both Qt and GTK+ offer such a wide range of features that are easy-to-use. You can choose a language (C, C++, Vala, Python, PHP) and write a program that could be used by thousands or millions of people across many different types of devices. Now get out there and start programming.</p>Thirty Ways a Software Growsurn:md5:1d856e4493553ee9896b9d4b1aadf2fe2010-08-05T17:43:00-05:002021-05-29T20:58:45-05:00Michael Cronenworthlinuxprogrammingtldr <p>The following recount is rather generic in nature so I do not have to worry about stepping on any toes, but it is all true.</p>
<p><img src="https://michael.cronenworth.com/dotclear/public/Office/yeah-blog.jpg" alt="yeah" style="display:table; margin:0 auto;" title="yeah, Aug 2010" /></p>
<p>Everyone has a workplace story to tell and I've finally gotten around to writing about my own. I have had a rare opportunity to write and maintain software for a company that has plenty of history. The company I, still, work for has been around almost as long as Microsoft to give you a point of reference.</p>
<p><strong>In The Beginning</strong>
In traditional fashion of the time, which still holds true today, the company started by buying the rights to a software that someone else wrote. The country of origin: Canada. I do not know much about the company or who were the original authors besides a few names I've seen in copyrights, so unfortunately I do not have any juicy stories to tell about them. They wrote to Minix, which surprisingly still exists today. The data was stored in ISAM databases (Google it), which unfortunately still exists today. The program displayed via a terminal-based text screen with support for input fields and displaying different types of screen layouts, which, also unfortunately, still exists today. The only saving grace was that it was written in the C language.</p>
<p><strong>Abraham Lincoln</strong>
The company originated in a log cabin, now turned historical landmark. I heard the winters were cold, and the summers were hot. The size of the cabin is about the size of a traditional living room with two whole stories. There was also the shift from Minix to UNIX and DOS operating systems to keep up with growing demand.</p>
<p><strong>Enterprise Split</strong>
Eventually the software became outdated, in a sense, for the customer base the company wished to sell to. Enterprises wanted a more robust and fully featured software. The solution? Rewrite! The company moved to a different city, but left behind the original software - to live in its own filth.</p>
<p><strong>Dungeon Upkeep</strong>
Keeping the software maintained to a point people could still use it was the job of a fellow I only met once when I was being interviewed (for an unrelated position!) so I can't tell you any juicy stories about them either. However, I can tell you the software essence remained the same. They continued to use the original UNIX compiler and coding techniques. These techniques include typedefs to normal C keywords and functions. Numerous programs that simply copy & paste code from other programs. Global pointers ruled the entire source code base from top to bottom. Return values were rarely checked. Instead of calling the standard rename or delete functions, system calls were made to the operating system's shell tools. The source control system involved cloning the main source directory per release - some of which I did not find when I took over. Take this scenario for instance: One customer was given a compiled program on Monday but changes would be made to the same program and given to a different customer on Tuesday. Every customer had a unique compiled version of the software. Let that settle in your mind for a moment.</p>
<p><strong>Change of Hands</strong>
A friend of mine, who has moved on to greener pastures, took over a few years ago. He began a very important and rigorous job of evolving the software into a state that a guy off the street could come in and program to. The code went from 1980s leftovers to 1990s l33tsauce. It was now source controlled in CVS and macros were removed. Some of the copied code were moved into libraries that were compiled against. A small set back to the improvements happened when another programmer was hired and began transforming perfectly good code into obfuscated and over coded code. String pointers were turned into "static const char *const variable;" nightmares. Functions were rewritten to be twice as long and contained bugs that I had to find and fix for about a year.</p>
<p><strong>Modern Tools</strong>
After I took over we released a major version. This version was the first version where all of the software was released in one update. It was all source controlled, and I implemented a sane update system that insured customers would all be on the same software level. Lately we've moved the code into <a href="http://git-scm.org" hreflang="en">git</a> and I have been loving every minute of it. The software is slowly emerging from its colorful past.</p>
<p><strong>Over the Rainbow</strong>
GUI, SQL, Cross-platform. These three words are the embodiment of the future of the company. If I get a chance to finish the project, it should provide the company and its customers with a fresh breath of life.</p>Developing Openly on Proprietary Landurn:md5:bfa34b364563237953e6a7459d3577712010-02-06T10:23:00-06:002010-02-07T01:03:22-06:00Michael Cronenworthfreedomlinuxnokiaprogrammingtldr <p>My programming adventures continue. Nokia's experiment into Linux with Maemo is very alluring and since I've applied myself into a few Linux projects, I felt it would be worth looking into what Nokia has put together.</p>
<p>The Maemo SDK runs under <a href="http://scratchbox.org" hreflang="en">Scratchbox</a>, a virtual environment created in part by Nokia. The Scratchbox toolkit can run under any Linux distribution, and it requires it. If you wish to run the SDK under Windows, your only option is to use a virtual machine. Once your SDK is running, it is nearly identical to a running Maemo device. In order to use the SDK, basic knowledge of Linux goes a long way, but since Maemo is derived from Debian there are some distribution specific programs. I've been using Red Hat based distributions for years, so it took some time to get used to using dpkg and apt-get to handle packages. After a few months of using my N900, creating and handling packages takes less work under an RPM system, but it's adequate.</p>
<p>Since Maemo is Linux, any Linux application has a chance of life. This makes building new applications or porting existing Linux applications a walk in the park. You can literally compile any Linux program for ARM and run it, however, the necessary screen space and physical size of a N900 can make it difficult to use a large application such as Open Office, which has dozens of menus and toolbars. This is where Maemo ports come in. A finger-friendly UI can be designed and added, even sent to the upstream authors, and makes the app you port usable everyday on your device.</p>
<p>I started with building a brand new application. A stopwatch seemed like an easy first project. I noticed several stopwatch applications already existed, however they were written in Python or were not maintained in a long time. The <a href="http://garage.maemo.org/" hreflang="en">Maemo Garage</a> is a center for Maemo projects, so I created my own <a href="https://garage.maemo.org/projects/stopish/" hreflang="en">project page</a> and began work. I decided to write in C, the native language of many Linux core libraries, and use GTK for the UI, a cross-platform, and the native toolkit for Maemo 5. During the programming process, I learned the Hildon additions to GTK made by Nokia, and the dbus methods to activate and listen for accelerator changes to allow my applications to turn into portrait mode when the user turns their N900. Here's the first incarnation:
<img src="http://cchtml.com/dotclear/public/Maemo/.screenshot00_m.jpg" alt="Stopish 0.9.0" style="display:block; margin:0 auto;" title="Stopish 0.9.0, Feb 2010" />
<br /></p>
<p>Other programming projects are endless. I wanted to look at fixing a few usability issues. One was the RSS reader, which used a slider that was too thin for a finger. I submitted a patch to Nokia and it will be included in the next major firmware update. The second was the lack of FLAC tags in the media player. I now enjoy FLAC as my music format of choice, and it's possible to use since the Maemo media player uses gstreamer for media codecs and tracker for tags. In order to add FLAC tags, I had to extend the tracker program to be able to read them. Someone had already created such a plugin for vorbis, and so using it as a template, I <a href="http://maemo.org/packages/view/tracker-extractor-flac/" hreflang="en">made one</a> for FLAC.</p>
<p>There are two Maemo repositories for projects, Maemo Devel and Maemo Extras. Finalized applications live in Maemo Extras, while developers can play with new applications in Maemo Devel Adding my projects to Maemo's repositories was a breeze. Just create a Maemo account and request upload access. I can use scp (SSH CoPy) to send my source code to the Maemo build server and it will package my projects and makes them available on the Maemo Devel repository. From this repository a developer can choose to promote it to Maemo Extras. During this promotion, other Maemo users vote on the application and if enough positive votes are made the project is automatically pushed into Maemo Extras.</p>
<p>Although most of Maemo is open source and source provided through gitorious, there's still a lot left closed - such as the phone, contact, and media player. Nokia's plans include more open source goodness in Maemo 6. The future of Maemo definitely looks bright even if they are forcing Qt down everyone's collective throats.</p>Maemo, Smaemo they Sayurn:md5:fa667608928dbc8f2f3fd274db0976882009-12-12T20:28:00-06:002010-02-06T00:31:14-06:00Michael Cronenworthawesomelinuxnokiatldr The world welcomes another Linux phone. This time around we have something a little more mature and more appealing to the eye. Behold, the Nokia N900:<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://michael.cronenworth.com/uploaded_images/IMG_0440a-736604.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img src="http://michael.cronenworth.com/uploaded_images/IMG_0440a-736599.JPG" border="0" height="300" width="400" /></a></div>As with all my blog posts, I won't bore you with details. Google is your friend. After handling the N900 for a week, I begin my review:<br /><br /><strong>Hardware</strong><br /><ul><li>Feel</li>
</ul><ul>Plastic encased all around, the feel of the phone doesn't feel like plastic. It's a refreshing, solid, stout feel. When I first picked it up it felt heavy, but now I hardly notice the weight. The slider is solid and does not wiggle. It slides in and out of place securely. The keyboard keys are just the right size and it feels great to type on it, but if you don't want to slide out for it, an on-screen keyboard is available. </ul>
<ul><li>Screen</li>
</ul><ul>While the technology of the screen is not new, I cannot find a problem with it. The 800x480 resolution alone will leave other "phones" in the dust. Most folks now-a-days want the latest and greatest technology and will spit on the N900 for using a resistive screen. I've used touchscreens for a long time starting with Palm Pilots to a Nokia 5800, iPhone, and Google G1 phone. This covers both resistive and capacitive technologies over the past 10 years. The N900 screen is extremely responsive and I cannot tell a difference between it and a G1. I've read other reviews saying the N900 is terrible, but I believe there's some fanboyism hidden under their text. In fact, I wrote brainstorm ideas for this blog post on my N900 with the included stylus. As I was writing I noticed it picked up every tiny detail of my strokes just as if I was using a real pen. <a href="http://michael.cronenworth.com/uploaded_files/2009-12-12-Note-13-01.pdf">Judge for yourself.</a> I used Xournal (Maemo Extras repo) to generate it and Bluetooth'd it to my PC with two clicks of the screen. </ul>
<ul><li> CPU/RAM</li>
</ul><ul>The included Cortex A8 is in fact the same as the iPhone and is plenty fast. I have yet to benchmark it, but I have yet to find anything that stresses it too much. The phone remains responsive at all times no matter what you are running. Even when someone calls you. </ul>
<ul>RAM isn't too much of an issue as it includes 256 megs of hardware RAM and partitions 768 megs of swap memory on the embedded flash drive. </ul>
<ul><li>Battery</li>
</ul><ul>Lifetimes of the battery depend on what you do. No news there. Comparing to my N95, I get about the same battery life. One day if I am making calls, surfing the web, and using apps, or two days if I limit my usage to a phone call or two. The included micro USB port and cable allow you to charge anywhere there is a USB port and extra batteries are dirt cheap on Newegg. Battery life isn't too much of a concern to me for how much I get in return out of the device. </ul>
<strong>Software</strong><br /><ul><li>Linux</li>
</ul><ul>Nokia has made Maemo their Linux distribution and left most of it open source. Maemo 5, included with the N900, provides kernel 2.6.28. However, Nokia felt that IPv6 support was "bad" and left it out of the provided kernel. There's a bug report for it on Maemo.org. It was included for the WiMax N810 tablet, but now it is removed. Quite a head scratcher, especially since Nokia's Symbian OS has provided IPv6 for a long time. </ul>
<ul>All of that aside, if enjoy what Linux has to offer and want that same freedom on your phone that is supported by a major corporation, this is your dream come true. Nokia has stuck with a standard Linux environment instead of building their own, and if you are already familiar to Maemo this isn't news to you. </ul>
<ul><li>Multi-tasking</li>
</ul><ul>Switching between apps is a breeze and is as simple as if you were using a PC. The included compositing manager allows fancy transition graphics and live resizing of windows so when you view all open windows, you can see what is going on without having to bring them up fullscreen. This technology has been present with Compiz (and now finally Windows 7) so nothing too new, but it is great to have it on a device that fits in one hand. </ul>
<ul><li>Application Compatibility</li>
</ul><ul>Any Linux app will run on the N900. People have Quake 3 or Duke Nukem 3D running on it. Granted, the screen resolution isn't the same as a PC, so some apps are not usable on a small screen. In that case forks of the UI's for some apps are rewritten and made useable. A big example is Firefox. Mozilla's Fennec is Firefox with a UI for mobile devices. It is a full-fledged copy of Firefox and will render every web page exactly the same as if you were on a PC. All other phones include browsers that render differently and do not provide support any where close to Fennec. In fact, I have installed Adblock Plus on my N900. It works identical to my PC. No ads! This is the first device to provides this sort of environment. Not the iPhone, not the Pre, not even the Android phones can hold a candle to it. </ul>
<ul>I have even started my own app for Maemo and did it in just a few hours. Check it out on the <a href="https://garage.maemo.org/projects/stopish/">Maemo Garage</a> where all Maemo apps are hosted. </ul>
<ul>Nokia is even providing an Ovi Store for Maemo apps so businesses who wish to sell apps can do so. All of this is centralized through the app manager and relies on Debian-derived repositories for searching and installing apps. It's brain dead simple and keeps your phone clean for easy installing and uninstalling. You don't have to google search for apps. </ul>
<ul><li>Phone</li>
</ul><ul>Contact support is brilliant. It merges traditional phone contacts with IM contacts and uses the open source libraries of telepathy to do so. I have my friends with not only their phone numbers, but AIM, MSN, Skype, and Jabber accounts all on one contact. This bleeds over into a conversation app that keeps SMS and IM conversations together. It's dead simple and brilliantly put together. The phone can take contacts off of Ovi or S60 phones so I was able to easily sync with my old N95 and get all my contacts and all their details (address, birthdays, etc). </ul>
<ul>It's not perfect though. You can't assign a ring tone per person or use provider numbers to check minutes or data information (bugs in maemo.org for them). </ul>
<ul>In all my phone conversations, I didn't have a problem with the speaker or mic. Everyone was able to hear me clearly. It does support speaker phone. The really cool thing is that it supports <strong>face detection</strong> - the phone will blank the screen when it is next to your face (saving some battery). Other high-end, phone-only devices support this same feature so it is nice to see it available here, too. </ul>
<strong>Future</strong><br /><ul><li>GTK/QT</li>
</ul><ul>Maemo was originally designed for the GTK graphical interface toolkit. Nokia spent many man hours developing special add-ons to GTK for better tablet support, called Hildon. This past year, Nokia purchased Trolltech, makers of the QT graphical interface toolkit. Starting with Maemo 6, QT will take GTK's place. It was purely a high-level business decision as Nokia, with all businesses, are looking to make a profit. Nokia wants to keep Symbian and they have already invested time in bringing QT support to Symbian. With the Trolltech purchase, Nokia hopes to build a cross-platform design with QT so that all their devices they sell can run the same apps. This helps the small amount of businesses still investing in Symbian... because most of them have left to work on iPhone fart apps or work for Google now. All in all, I don't see this move as a bright business decision. I hope GTK still remains prominent in Maemo as it is the toolkit of choice for my programming both at work and at home. </ul>
<ul><li>Community</li>
</ul><ul>It's a widely known fact that the Maemo distribution is gaining presence. Several Nokia employees have stated that the maemo.org site has seen huge increases in traffic with the release of the N900. Their garage and other sites have sometimes been susceptible to the heavy loads and become unresponsive. Nokia has stated they do plan on moving to better servers and better hosting ASAP. </ul>
If you've skipped to the bottom, screw you. My choice to buy this phone was a good one. I see it being a long time device in my collection, that is, until a faster one comes out. <img src="https://michael.cronenworth.com/index.php?pf=wink.svg" alt=";)" class="smiley" /> There's so much more to write about the N900, but I want to get back to my life now.<div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/2287374372803195925-1649086773786913721?l=michael.cronenworth.com" alt="" height="1" width="1" /></div>How-To: Earn Your Carbon Creditsurn:md5:527ad19aaa05e564cfc38fad00de56dd2009-10-19T05:38:00-05:002010-02-02T22:35:59-06:00Michael Cronenworthcpuhardwarelinuxtldr The past few years have showed us a boom in the fad of "going green" with everything from automobiles to your home. Some people have taken advantage of the situation and claimed the need to put a price on the amount of carbon emissions each individual puts in the air. Everyone should be given a quota and if you go over that quota you need to buy "carbon credits" otherwise you face "penalties." I'm glad we haven't reached la-la land just yet, but there are simple ways to go green without going overboard.<br /><br />I run a server at home for routing, web, email, files, and almost any little idea I think of. Now that I've told you I will have to kill you as ISPs frown on this freedom of expression. Anyway, this server has been comprised of spare parts and/or whatever I could buy for $20. Now that I have a decent job, I decided I wanted a computer I could call a server and stand by it. It also had to draw less electricity and put out less heat and noise. Let's compare my setups:<br /><br />Junker<br /><ul><a href="http://michael.cronenworth.com/uploaded_images/20091019246a-742350.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="150" src="http://michael.cronenworth.com/uploaded_images/20091019246a-742340.jpg" width="200" /></a><li>1.4ghz "<i>Tualatin</i>" Pentium III-S<br /></li><li>512mb PC-133 RAM (i815 chipset limitation)</li><li>ASUS TUSL2 motherboard<br /></li><li>320gb Seagate 7200.10</li><li>Intel 100 mbit and 1000 mbit PCI cards</li><li>$50 case with 350watt PSU (all-in-one) <br /></li></ul><br />Upgrade<br /><ul><a href="http://michael.cronenworth.com/uploaded_images/img_0429a-750652.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="150" src="http://michael.cronenworth.com/uploaded_images/img_0429a-750647.jpg" width="200" /></a><li>1.86ghz "<i>Lynnfield</i>" Xeon L3426</li><li>4gb DDR3 1333 ECC RAM</li><li>Supermicro X8SIL-F motherboard<br /></li><li>2x1TB Seagate 7200.12 (RAID 1)</li><li>Dual on-board Intel 1gb NICs</li><li>Antec MicroATX case + SeaSonic 500watt 80 Plus Bronze PSU </li></ul><br />The junker runs at a nice loud, slow pace. PHP and any disk intensive request was a several second ordeal. Most of that is due to the limited amount of RAM. I hooked up the Kill-a-watt power meter to the junker to see how much electricity I'm wasting.<b> 62 watts - at idle</b>. The computer is lifeless and it's eating enough energy to power an old school light bulb. Think of all the nuclear power I'm wasting; I can't sleep at night.<br /><br />Putting the new server together was the fastest assembly for me yet. Most things are now on-board and the only power connections were for the motherboard and hard drives. Hitting the power switch brought forth... silence. Ah... What's this? A BIOS prompt. After installing Fedora 11 x86_64 using my USB drive (no CDs or floppies were hurt in this process, something other OSes can't say), I ran the power meter on it. A whole... <b>40</b> watts at idle. With more than 10 times the computing power (and 1 vs 4 cores) and an additional hard drive, the new system was eating 22 (<i>woot</i> math) less watts! Just to put this in an even more interesting twist, my one year old desktop computer pulls a hefty 96 watts out of the Earth. It has a 9800 GTX+ helping it get that high though.<br /><br />What's the meaning of all this? Well, I should get some nice medal from Al Gore for saving the planet, right? Heck, I'd take just a letter. Now get out there and green up your computing environment. Doctor's orders.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2287374372803195925-5996087615609040360?l=michael.cronenworth.com' alt='' /></div>Chug, chug, chug, chug...urn:md5:641a0ab08a0c9ed3e6c957c91d0d2d072009-02-28T19:45:00-06:002010-02-02T22:35:59-06:00Michael Cronenworthdumbeningfreedomlinuxtldrwindows <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://michael.cronenworth.com/uploaded_images/windows_vista_092507-794985.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 200px;" src="http://michael.cronenworth.com/uploaded_images/windows_vista_092507-794977.jpg" alt="" border="0" /></a>How on earth does the world use Vista? Yes, Microsoft Windows Vista. Backstory: I received a new laptop two days ago. An ASUS N80Vn-X5. It came with Vista Home Premium 64-bit. This is my first copy of Vista as I run Linux on all my machines. I did have a copy of XP but I stopped using that a few years ago. Why did I stop using XP? Because I wanted something more out of my computer. XP is fine and all, but I can accomplish more with Linux - not just because it is free.<br /><br />Unpacking:<br />I unpack it from its box and I plug in the AC adapter and boot the thing. Vista starts to load - and load - and load. 10 minutes later I get to the desktop. Why on earth did it take that long to get to my desktop? Wait a minute... the hard drive is still chugging. Why?<br /><br />Configuring:<br />The first thing I do is kill the hideous sidebar that takes an extra 5 minutes to load on startup. Gone. The second thing I do is disable automatic updates. Now, I realize some readers will think better of themselves and call me an idiot, but I rarely use Windows and I know how to update it so I'm quite OK running updates when I should instead of having Windows do it for me.<br /><br />Updating:<br />It came with SP1 so I figured it should be pretty harmless. Where to update this thing? Hm, I don't see anything. Ah, I'll just use IE's "Windows Update" link. Oh what's this? There's an update to Windows Update. Oh! It requires a reboot. *Reboot* Ah, that was a nice 10 minute reboot. Windows update has about 30 updates for me. Fine. Downloading/updating takes about 15 minutes thanks to the attrociously large 100 meg .NET update. I'm on 20 megabit Internet mind you. Rebooting again. Seems that I'm up to date now, or am I?<br /><br />Playing:<br />The only thing loaded on this thing is about 5 ASUS utilities for the fingerprint reader, webcam, and some software that looks like it encrypts files. Grand total of hard disk space in use? <span style="font-weight: bold;">20 gigabytes.</span> That alone is enough for me to be offended permenently because what does that 20 gigabytes net me? A video player, picture viewer, a web browser, and a movie maker. The features don't match the disk space requirements. It's also using 1 gig of RAM with no programs running. Yes, I uninstalled the Office 2007 trial.<br /><br />Why would I be offended? Example: My default Fedora install cost me 4.5gigs. What did I get besides the stuff already in Vista? Full office suite, photo manipulation, SELinux, bittorent, GPS mapping, SIP phone, Pidgin, GCC, and a few other of my programming utilities, not to mention Wine, which will allow me to run Windows apps.<br /><br />Time to reboot just to see that reboot time again. *clicks Restart* "Configuring updates stage 2 of 3..." What's this? <span style="font-weight: bold;">WHAT'S THIS?</span> I have updates turned <span style="font-weight: bold;">*OFF*</span> and Windows is installing updates. Stealth updates - w00t. The little trust I had with Microsoft is completely gone at this point.<br /><br />I let it reboot and go back into Vista just to find that after I log in the hard drive is chugging - and chugging - and chugging. 10 minutes later it finally quiets down and I decide to reboot to get into Fedora. *Clicks Restart* "Configuring updates stage 2 of 3..." Yeah. I'm done with Microsoft.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2287374372803195925-8480760761746262247?l=michael.cronenworth.com' alt='' /></div>Ancient Computers Recycledurn:md5:0c87457339bf0b57122b6df8b04a11a22008-09-30T05:37:00-05:002010-02-02T22:35:59-06:00Michael Cronenworthcpuinternetlinux <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://michael.cronenworth.com/uploaded_images/tualatins-781853.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://michael.cronenworth.com/uploaded_images/tualatins-781847.jpg" alt="" border="0" /></a><br />Usually I have a piece of computer hardware that I must have, but usually I don't get it right away. I wait until it's marked down from MSRP. Sometimes that wait is five years long. In that case, I upgraded my main server from a 1.13ghz <a href="http://en.wikipedia.org/wiki/Pentium_III#Tualatin">Tualatin</a> to a 1.4ghz, which was the fastest made. This process required me to also upgrade the motherboard since all but a few supported anything beyond a 1.2ghz Tualatin. Why would I do this? First off, the entire upgrade cost me $40 without shipping. Secondly, I was always facinated by the Tualatin CPU line, as nerdy as that might sound. So after having to dust off my floppy drive in the closet (because I also had to upgrade the motherboard BIOS), I finally got the computer upgraded. Then I tried booting without a keyboard. While the Intel motherboard I had previously booted without a problem, this ASUS motherboard will not. "Keyboard error. Keyboard not found. Press F1 to continue." <span style="font-weight: bold;">*sigh*</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2287374372803195925-6696703967898236800?l=michael.cronenworth.com' alt='' /></div>Computer Boot-up Times are the Devilurn:md5:8926e5da2246bed4594af8bb964c972d2008-04-02T21:30:00-05:002010-02-09T22:32:24-06:00Michael Cronenworthlinux <p>All of our advanced technology usually has one drawback. How long does it take to start up? This may range from a few seconds, but in the case of a computer it falls in the range of a few minutes. Hardware has to be initialized and configured for use and that takes time. Are there ways to alleviate that time? Yes!</p>
<p><a href="https://michael.cronenworth.com/uploaded_images/bootchart-blog-796277.jpg" title="bootchart-blog"><img src="https://michael.cronenworth.com/uploaded_images/bootchart-blog-796273.jpg" alt="bootchart" style="display:block; margin:0 auto;" title="bootchart, Apr 2008" /></a></p>
<p>Tweaking boot times is no light matter, and you will need to have some knowledge about how a computer works internally. I'll be referencing Linux to begin with and Windows to conclude. There's a nice tool to visualize boot times called <strong>bootchart</strong> that displays each process that runs during the boot process. This ingenious tool can pinpoint locations of high latency, but you the user will have to work on fixing any problems. Linux distributions, such as <strong>Fedora</strong>, are using this tool to speed up boot times and will show benefits in Fedora 9, which is due to be released in a few weeks. The tool will continue to be used as to prevent regressions and further speed up boot times. My own personal usage of this tool allowed me to shave off 10 seconds by disabling the Red Hat Graphical Boot program. On the other side of the island, things are not so bright. Sure, Microsoft gives it a good go at limiting boot up time, but it isn't customizable or configurable. There isn't much else to say about it simply because there's nothing you can do about it. Usually a network driver causes longer delays and you're stuck at the animated scroll bar for extra unnecessary seconds. However, in the future it may be possible to have next to nothing boot times as we will have dozens of CPU cores and hyper fast solid state drives.</p>Sound Cards should be Creative Hardwareurn:md5:a3ddfd34e011ffa1f5c557b5392d6b352008-04-01T21:24:00-05:002010-02-09T22:28:38-06:00Michael Cronenworthlinuxsound <p>It wouldn't be the Internet without something to be disgruntled about. The latest craze seems to be Creative's handling of an incident involving a community effort to provide working driver packages for Creative's sound cards under Windows operating systems. Long story short, a community user had put together a driver package that allowed your sound card you purchased to work under Windows and Creative decided to pull a <strong>Cease and Desist</strong> order. The end result seems to be an outcry to boycott all Creative products. So, what else would you buy?</p>
<p>For the past 20 or so years (a long time in Computing), Creative has dominated the sound card market. The only supported sound card in most software was a Creative one. However, with the introduction of the <strong>AC'97</strong> specification in 1997, that changed slightly. Now there was a universal standard for sound card makers to write to and have broad support in software. Large numbers of third party sound chips were now in circulation and Creative's stronghold was buckling. Did they do anything to expand or stabilize their business? Nope. They continued to manufacture cards that worked with proprietary acceleration techniques (EAX) to keep their enthusiast market in place. An updated sound chip specification came just recently in the fashion of the <strong>Intel HD</strong> spec. This upped the requirements for sound quality and made onboard sound a reality when it came to decent sound processing. Both standards allowed all operating systems to easily integrate and have a driver for basic sound, so you could easily get sound without worrying if your new computer would work.</p>
<p><img src="https://michael.cronenworth.com/uploaded_images/asus-xonar-d2-709774.jpg" alt="asus-xonar-d2" style="display:block; margin:0 auto;" title="asus-xonar-d2, Apr 2008" />
Out of those standards and companies grew a few external cards. Currently the most notable is the <strong>Asus Xonar</strong> series of cards. They offer a quality chipset and package for similar prices to the Creative line, yet have none of the driver issues. A Linux driver is also available, which is a plus. Sure there's a non-open source Creative X-Fi driver for Linux, if you can get it to work. So with Creative out of the way, here's to hoping that the sound card world, which has been rather quiet over the years, can come springing to life; cross-platform and working uniformly as all consumers should come to expect from their hardware.</p>Linux... and You!urn:md5:c126fca20f166fd29a829d48ef2d81c02008-03-19T21:03:00-05:002010-02-09T22:08:08-06:00Michael Cronenworthfreedomlinuxtldr <p><img src="https://michael.cronenworth.com/uploaded_images/Linux-penguin-727836.jpg" alt="Linux-penguin" style="float:left; margin: 0 1em 1em 0;" title="Linux-penguin, Mar 2008" />The world is never the same place for more than 10 seconds. Why should those boundaries stop at computer software? Ask yourself this when you wonder why people would use an operating system other than Microsoft's Windows, Apple's OS X, Sun's Solaris, SCO's OpenServer, etc. The general public has been stuck with newspaper clippings and TV reports about the computing world. This left them with the assumption that computing started and stopped with the Windows logo, the Apple logo, etc. As long as the computer functioned enough to let them work, they were satisfied; however, notice my diction. Now that broadband has reached almost every home, consumers are branching out and learning that computers are more than just tools for word processing. The boundaries they were accustomed to were artificially set in place by classical marketing techniques of those with power of commercial software enterprises, and are now broken down with the fluidity of information pouring in from websites across the Internet. If none of my previous sentence made any sense to you, I feel you are still trapped in a box from a retail store. I suggest you get a box cutter and metaphorically cut yourself out of it. Use a free operating system!</p>
<p>Yes, I realize there are dozens of statements similar to my own, however, I wish to differ in their points with reaching out at the facts of life, rather than strictly matters of opinion. The rest of this post is targeted at baseline consumers and the IT infrastructure of corporations everywhere (not for employees). The freedom that is brought with open, free software is always underestimated. People cannot imagine a life without Windows. From my own experiences growing up, I was instinctively stuck in a Windows rut from DOS 6.2, Win 3.1, Win 95, 98, ME, 2000, and XP. AOL, to the Internet. I used Internet Explorer religously until 6.0 and always had PC games instead of consoles. I have seen these same thoughts residing in my friends, family, and co-workers. Corporate software companies have a perfect grasp around the necks of countless consumers. The old saying "If it ain't broke, why fix it?" rings true here, but I have an answer to that question. As most people recognize in my character, I have a knack for being curious, and the corporate software world couldn't fill my curiosity as American politics can't fill Amercian needs. This lack of innovation, along with money, are just two reasons of many, but they are the most important of them all and the only ones worth mentioning without boring you half to death. You're already halfway by now, so I don't want to kill you before you got to the end.</p>
<p>The world changes every 10 seconds and so should you, unless you like sitting on the couch all day, but then you wouldn't be reading this so I have you covered. Corporate software is based on the requirement of meeting requests that have the highest bid. Cash is everything, and this is the number one reason why you should look else where. Abandoning the software you have used forever (and emptied your wallet on) is the first step of cutting yourself out of those boundaries. If you are stuck on the fact that you need Microsoft Word, Adobe Photoshop, or Crysis, you need to seek professional help. There is no sarcasm here. The future computing world is about freedom and choice, not boxes with price tags. This is not a matter of opinion, as what I speak of has been happening for the past decade. The movement of free software has been small and quiet, but it has not faltered or missed one step.</p>
<p>To make that second step and completely exit the box, you have to change the core of your computer software as well - the operating system. I will not, in this post, recommend that everyone go out and download a Linux distribution and blow up their hard drives and install it; it's silly, and <strong>no one</strong> should ever mention it. In hind sight, I will dictate that consumers read about the options that Linux, and other open operating systems bring to the table. A fine example of this learning process can be seen in my friends and family whom I've shown Linux too. They initially were weirded out, but that's completely <strong>normal</strong>. After they used it, they found the same simple operating processes worked the way they knew them, and adapted to oddities as they used the system. What I've shown them is only about 5% of the Linux world. The other 95% is another made up Internet percentage, which is largely unexplored even by myself. It would also take a few hundred blog posts to explain more than I've spilled out here, and I may continue in the future, but that would require you, the consumer, to start cutting out of that box first.</p>
<p><img src="https://michael.cronenworth.com/uploaded_images/vistalinux-766963.jpg" alt="vistalinux" style="display:block; margin:0 auto;" title="vistalinux, Mar 2008" /></p>
<p>Before I hear some thirteen year old pizza-face tell me that Windows is "easy" and "lolz better," or from a fourty-year-old IT guy whose job it is to clean mouse lint, I wish to remind them that they failed the reading comprehension test of this post and they should be beaten with a stick. The same learning principles apply to Windows as does any computing software. If you picked up a native from deep in the Amazon jungle and threw Windows Vista at them, would you dare refute the fact that it wouldn't be that easy for that individual? If you would, you only support my second opinion - I hate people.</p>