Linux Journal

Uncategorized — Titus Barik on January 31, 2005 at 8:51 pm

My article on LaTeX Equations and Graphics in PHP has been published in the March 2005 print issue (131) of Linux Journal. Citations available here, and I sincerely hope that I haven’t left anyone out.

eHarmony Personality Profile

Uncategorized — Titus Barik on January 30, 2005 at 11:33 pm

Overview

  1. Others may see you as disciplined and self-controlled. You have seen the problems of being overly optimistic when planning to depend on others following through.
  2. You usually assume a cautious and reserved demeanor when meeting new people. Your relationships must grow naturally and in sincere ways. You will not confide in others readily because of your need for security.
  3. Others showing genuine sincerity and acceptance impress you. You do not like a shallow expression of feelings or thoughtlessness of others. You will get along with most people you meet because you don’t cause hostility.
  4. Because of your thoughtful nature, you need others to express sincere interest in you or the relationship. This offers the secure feeling that you seek.
  5. During times of stress or tension, you may withdraw inside yourself and appear as somewhat cool and aloof. You need to be alone when thinking through projects, problems or solutions.
  6. You may be a matter-of-fact person who may be critical of the shortcomings of others who display a more emotional or outgoing side.

Communication

  1. You tend to listen rather than talk. You may place a premium on display of emotions. As a result, "reading" you at times may be difficult.
  2. You may be somewhat reticent and retiring when with others, especially in a large group. As others grow louder, you may become quieter. You value control of emotions, and are more reflective than rowdy.
  3. You are usually astute in social situations because you take little at face value, will listen carefully and accurately, and will watch others carefully.
  4. You may want to base relationships on a nonemotional respect for each other’s abilities, and base your level of trust on directness and straightforwardness.
  5. Some people may inaccurately perceive you as not liking people. You may be misread by others, because you approach social situations with logic and objectivity, judging others by their competence–you may sometimes be misread by others.
  6. Because of your need to be quiet rather than rambling, you are somewhat introspective about events and activities. You may not communicate readily and rapidly with others, but this does not mean you don’t support others.
  7. You attempt to influence others not by showing great emotion, but by appealing to the logical nature of people. Those who are more emotional and excitable may sometimes ignore your approach.

Improving Communication

  1. Find areas of common interest and involvement.
  2. Provide time to analyze the data before making a decision.
  3. Be responsive toward ideas and commitments.
  4. Patiently draw out personal interests.
  5. Use a logical and unemotional approach.
  6. Show patience, especially when drawing out information.
  7. Show sincere interest as a person.
  8. Respect quiet demeanor.
  9. Have facts and ideas in a logical order.
  10. Use a tone of voice that shows sincerity.
  11. Listen sincerely.

Strengths

  1. You are excellent at listening to the concerns and ideas of others.
  2. You are very sincere in actions and words.
  3. You are a dependable and caring partner.
  4. You are good at reconciling (i.e. you don’t like to sulk after a conflict is resolved).
  5. You don’t tend to get distracted by superficial issues.
  6. You are good at "troubleshooting" potential problems in a relationship.
  7. You take pride in being very loyal to friends and family.
  8. You tend to work hard at making sure that other people are happy.
  9. You are very supportive of other people.
  10. You are good at helping other people to reach their goals.

Needs

  1. A predictable environment with few surprises that are not "planned."
  2. Scheduled activities with no haphazard or unplanned activity.
  3. Freedom from pressure to perform or to act quickly without precedent.
  4. Recognition for your concern for quality relationships.
  5. Time to think things over before making a commitment.
  6. Time and opportunity to weigh pros and cons of decisions.
  7. Things done "right" the first time.
  8. Fewer changes, if many changes have occurred recently.
  9. Protection or insulation from aggression or confrontation.

Hello, C-Sharp

Uncategorized — Titus Barik on January 25, 2005 at 12:00 am

using System; class Hello {

  public static void Main()
  {
     Console.WriteLine( "Hello, World!" );   
  }
}

As an experienced Java developer, learning the syntax and grammar of the C-Sharp language was a pleasant task and took only a few days. There’s a lot of things I like about the language that are definite improvements over the Java 1.4 Language Specification: delegates and events as a modern-day interface callback mechanism, properties as a shorthand for accessors and modifiers, boxing and unboxing, and my favorite, the return of enumerations and declarative, iterative constructs.

The bad news is that C-Sharp has also brought back many of the annoyances of the C++ language. These include operator overloading, the infamous goto, structures, and non-automatic dynamic binding. I’ll just pretend that these features don’t exist. And for the most part, you aren’t required to use any of these language constructs in your code anyway.

The best part, of course, is the open source Mono .NET Compiler for Linux. Sponsored by Novell, Mono includes both developer tools and the infrastructure needed to run .NET client and server applications. Even Windows Forms support is currently in the works. This technology has a lot of potential, but I’m still, understandably, just a little bit skeptical of Microsoft.

First Day of Work

Uncategorized — Titus Barik on January 24, 2005 at 12:00 am

It’s the first day of work at Objectware and most of the day wasted away with routine installation tasks and system configuration. On the J2EE end, I installed and configured Resin, and wrote a quick JSP page to make sure that everything was up to snuff. Works every time.

But since we’re a multiplatform development shop, it seems that I’ll also be doing a fair amount of Microsoft .NET development, primarily with ASP.NET in conjunction with Microsoft SQL Server, and my personal enemy, Visual SourceSafe. It also gives me a great excuse to attend the upcoming Atlanta .NET User Group, and might help me understand just what the heck Michael is talking about all the time.

Being a huge open source advocate, you’d think that I’d somehow be upset with this decision. I’m not. And to be perfectly honest, it doesn’t really matter to me any more. When you’re working at the Enterprise level like I am, you’re always selling out to someone. Whether it’s Microsoft, Sun, Oracle, or even Red Hat is completely irrelevant. As long as our major clients are willing to dish out the dough, I’m perfectly happy to program in whatever environment they want me to. And though I hate to admit it, there’s a dark side to me that’s really looking forward to trying out all the great features I’ve always been reading about in Microsoft Visual C#.

North Carolina Flashback

Uncategorized — Titus Barik on January 21, 2005 at 12:00 am

Unofficially stopped by work early this morning to prepare my cubicle and install Fedora Core 3. Red Hat is no doubt the dominant player in the Enterprise Linux market, and consequently, I think it would be worthwhile to ultimately complete the Red Hat Certified Engineer program. As of now, it appears that next week will be spent getting up to speed with Resin and Hibernate. And possibly a lot more.

I’m in North Carolina for the weekend to get one last trip in before I start work on Monday. I’m staying with Stacie and her incredibly cute cats. Met with Naomi and her roommate Veronica to play Nintendo games and have dinner at Squid’s seafood restaurant, with post-dinner at the Jacksprat Cafe, where Stacie’s former roommate Collin works. Saturday, Stacie and I had lunch at Sal’s Italian Ristorante, coupled with yet another coffee break at Caribou Coffee before Sravanthi reluctantly joined us for dinner at Cosmic Cantina. Sure, the weather’s cold, but it’s nowhere near as bad as the news reports made it out to me. Sunday, a brief lunch at Jimmy John’s before returning to Atlanta in the evening.

Microsoft Uses Cracked Software

Uncategorized — Titus Barik on January 19, 2005 at 6:14 pm

Well, that certainly got your attention, didn’t it? While German magazine PC-WELT broke the story in mid-November of last year, I’m surprised that it hasn’t gotten more press coverage. PC-WELT reports that Microsoft used an illegal copy of SoundForge 4.5 for editing Wave files shipped with Windows Media Player.

Microsoft has issued two official statements, one from Microsoft Deutschland, and the second in English from BetaNews by Erin Cullen, Lead Product Manager of the Windows Consumer Division:

It bears mentioning that Microsoft has licensed copies of all software used by the User Assistance teams in building these tours (both in past and present). Microsoft has copyright to use the .wav file in question and did not use a cracked version of this software in development of the tour in Windows XP.

While I’m sure that Cullen’s statement is entirely true, the fact still remains that somewhere in the course of production, a cracked copy of Sound Forge 4.5 was utilitized. And regardless of whether or not the product in question was licensed, this is an embarrassing oversight on the part of the software giant.

If you’re running Windows XP, you can actually verify this yourself by entering the following directory and opening any one of the nine audio files in that folder in any text editor, such as Notepad:

%SYSTEMROOT%\Help\Tours\WindowsMediaPlayer\Audio\Wav

On the last line, you’ll see the relevant metadata, and things suddenly get much more interesting:

LISTB INFOICRD 2000-04-06 IENG 
   Deepz0ne ISFT Sound Forge 4.5

Deepz0ne is a member of Radium, a world-wide software piracy group whose primary goal is to crack and release audio applications. Radium was intentionally disbanded in 2001 to avoid the Business Software Alliance, who had them listed as their number one target. Ironically enough, Microsoft is also a member of the BSA. Just goes to show that sometimes, fact is stranger than fiction.

XHTML Friends Network

Uncategorized — Titus Barik on January 19, 2005 at 3:15 pm

The XHTML Friends Network is a simple way to represent human relationships using hyperlinks. It’s almost trivial to add and appears to be a good idea from a semantic markup perspective, though there are very few XFN tools that actually utilitize it at this time. XFN enables web authors to indicate their relationships to the people in their weblog entries and blogrolls by simply adding a rel attribute to their anchor tags:

<a href="http://www.barik.net"
   rel="friend met">Titus Barik</a>

Additionally, modify the profile attribute in the header to let browsers and search engines know that your pages officially support XFN:

<head profile="http://gmpg.org/xfn/11">

That’s all there is to it. But the best part is that the XFN standard uses the already existing W3C Recommendation to do its work:

**rel = link-types [CI]** This attribute describes the relationship from the current document to the anchor specified by the href attribute. The value of this attribute is a space-separated list of link types.

And also:

**profile = uri [CT]** This attribute specifies the location of one or more meta data profiles, separated by white space. For future extensions, user agents should consider the value to be a list even though this specification only considers the first URI to be significant. Profiles are discussed below in the section on meta data.

Welcome to the XHTML Friends Network. Looking forward to seeing XFN implementations in more weblog systems in the near future.

Nullsoft Scriptable Install System

Uncategorized — Titus Barik on January 17, 2005 at 6:37 pm

box.gif

While I rarely do Windows development, I recently had the opportunity to experiment with different Windows installation products such as InstallShield Professional and Paquet Builder, when I stumbled upon the Nullsoft Scriptable Install System (NSIS) and never looked back.

Unlike other systems that can only generate installers based on a list of files and registry keys, NSIS has a powerful, domain-specific scripting language. And with the use of the HM NIS Edit tool, one can utilize a user-friendly wizard interface to generate scripts within minutes.

To illustrate, let’s look at a simple script that copies a file into the installation directory that the user specifies in a dialog box:

Name "Example Installer"
OutFile "example.exe"
InstallDir $PROGRAMFILES\Example

Page directory
Page instfiles

Section ""
  SetOutPath $INSTDIR
  File example.exe
SectionEnd

The text script is compiled by NSIS into a fully working Windows executable. Simply right-click on the NSI script and select the compile option. Best of all, it’s released under an open source license and is completely free for any use, including commercial applications.

DLX Linux

Uncategorized — Titus Barik on January 16, 2005 at 8:12 pm

DLX is a full featured Linux system running on Intel architectures. Its design is simple enough that it can be used as a litmus test for Bochs networking with minimal configuration. First, you’ll need DLX Linux with Networking support. Second, you’ll have to run as root in order to utilize the sending and receiving of raw network packets. Finally, you’ll need to add networking support on the simulator end by modifying the bochsrc configuration file:

# sample for Linux, put on single line
ne2k: ioaddr=0x240, irq=9, mac=b0:c4:20:00:00:00, 
    ethmod=linux, ethdev=eth0

Run Bochs to load DLX. You’ll see that the NE2000 card is detected and successfully loaded within the running kernel. As far as I know, DLX does not have DHCP support. So, to setup networking in DLX Linux, use the following instead:

dlx login: root
  Linux 1.3.89.
  dlx:~# ifconfig eth0 192.168.15.100
  dlx:~# route add -net 192.168.15.0
  dlx:~# route add default gw 192.168.15.1

Networking is now complete. If you intend to use the DLX Linux demo system much you can add the ifconfig and route commands to /etc/rc.d/rc.local so they’ll be run at every startup. There’s one caveat, however: for all UNIX host platforms, Bochs networking cannot talk to the host machine.

While DLX Linux is not entirely useful by itself, having a second guest system may help you to determine whether the problem you see is specific to your emulated operating system, or whether it is a more general problem with Bochs itself. And it’s particularly handy for diagnosing any networking issues in MINIX that may arise from late night hacking sessions on the operating system source code.

Real Live Bloggers

Uncategorized — Titus Barik on January 13, 2005 at 12:00 am

Through rain and traffic, I eventually met up with some local Atlanta bloggers this evening at the Righteous Room. It was a first-rate social experience, despite our inability to supress our inner geek yearnings. Hey, it happens. In attendance, in no particular order: Hollis MB, Lori, Mary, her husband Andrew, Scott, and his wife Lisa. A big thanks to Lori for organizing the whole event and getting us all together. It’s always great to meet new people, and I hope that this turns out to be a monthly event. Scott has more details, while Mary and Lori have some embarrassing pictures to blackmail us with.

Next Page »
titus@barik.net | The Weblog of Titus Barik