Planet LILUG

February 17, 2010

dorgan

Been doing some heavy ExtJS development

So for the past couple of months I have been doing some heavy ExtJS work. Nothing too fancy, no extension development....but some real heavy use of Ext and some 3rd party extensions.

The backend of the application I am working on is PHP, and I have come up with a psuedo framework for the application itself. By using the __autoload() functions in PHP and passing a couple of standardized arguments for every ajax call whether it be a submitting of a form or loading a data store for a grid/combo Ext component. Through Ext lovely use of the xtype property I am able to create arrays in my PHP Objects json_encode() them and pass them back to the front end where they become full fledged objects....this is not a standard practice for the interface but it is used in a specific element of the application that is very dynamic and very custom. Now I am sure if I found some Ext developers in my area and could sit down with them and show them the application they could do away with PHP generating the code and come up with a couple of extensions to do exactly what I want, but for now PHP is filling in the gaps and doing exactly what I want.

I originally started looking at ExtJS when version 1 was released, then version 2 came out and I started on a project at my former location, but never really was given the time to actually fully develop an application using Ext...then a couple of months ago I started on the current project I am working on and presented the idea of using Ext to my boss, he said I could proceed and I think overall everyone has been very happy with it.

Somethings I have seen improve for each release of Ext. I am going to start with the items that I have seen the biggest change in and work down to those that have changed but maybe not that much. Of course these are just my opinions

* Documentation
* Speed
* Overall Community Support
* UI Reliability


Documentation- The documentation has GREATLY improved and since the release of 3.0 I have started to see more and more examples of code in documentation itself. One thing that is still lacking just a little is an overall explanation of the properties/config options/methods/etc... for an object....some of these have a great amount of explanation and others not so much. Of course you can likely find someone to give a little bit more information on #extjs on irc.freenode.net but I think such details should be in the documentation. One thing I would love to see in the documentation along with the curret code example, is an actual working element produced from the code example, I know there are examples, but having everything in one place is a great thing to have and not all classes that have code in the documentation have samples...although most of them do.

Speed- The speed of Ext overall has increased SIGNIFICANTLY and I dont think there is anyone out there that is using Ext that could ask for more speed improvements although I am sure the team is working on them.

Overall Community Support- I have see the community grow in leaps and bounds for Ext, this past year was the first Ext Conference, and although I moved to Florida just in time for it, unfortunately I was getting married later that month and with starting the new job and having to take time off for the wedding/honeymoon I as unable to attend. I believe this years conference, if there is going to be one, will be in California as that is where the new Ext office is located (figures I come to town and everyone leaves!) Going with community tow books have come out recently The "Ext JS 3.0 Cookbook" and a not yet released in paper back form but available but available through Manning Publishing's MEAP program "Ext JS in Action" these has both bean great reads so far and I would highly suggest for anyone involved in Ext development to purchase them.

UI Reliability-  This one really isnt an improvement but something negative that I am starting to see I have noticed a couple of UI bugs creaping in and out of the 3.x releases such as, tabs not having the site images, a form having trouble placing buttons correctly and having them cut off on the left hand side.  Now  the tabs issue was corrected with the release of 3.2 but the 3.2 release introduced the buttons issue, which I believe is my fault in that I have not set the proper config options for my objects but it was working correctly in 3.1 and now is showing up in 3.2


But overall Ext is great and the changes they have been/are making to the release cycle are going to help the overall package shine like no other.

by Donald J Organ IV (noreply@blogger.com) at February 17, 2010 09:07 PM

February 15, 2010

Justin Lintz

Support for authorized-keys.d/

Why is there no subdir inside .ssh called authorized-keys.d where I can just throw my ssh keys and easily manage them by file name instead of having to edit the authorized-keys(2) file?

I need to do some googling on this , a quick search yields this debian bug report on wishing for support for one.

debian bug report
on wishing for support for one.
debian bug report
on wishing for support for one.
debian bug report
on wishing for support for one.

by justin at February 15, 2010 05:02 AM

February 13, 2010

Mark Drago

Change

Today is my last day working at Bascom.  I’ve been working there full-time for nearly six years and a year before that as an intern.  I’m very grateful for the past seven years.  It’s impossible to list all of the wonderful experiences and opportunities I had while at Bascom.  I can say that I worked on fulfilling and challenging problems as part of a great team with the support of inspiring management.  I’ll always remember the friends I made and the fun we had at Bascom.  I had a number of pranks pulled on me when I was out of the office (bathroom cubicle, solo cup cubicle).   I also participated in my share of pranks (1, 2).  Office bocce was also created and perfected at Bascom.  It’s a period of my life that I’ll remember fondly for the relationships, the awesome work we did, and all of the things that we accomplished as a team.

Time moves on and things change.

My first day at Yodle is just a few days away.

by Mark at February 13, 2010 01:10 PM

February 11, 2010

Will

My Sumobot From Last Year

I haven’t really shown off any of my robots, so I figured I’d just show one of them quickly.I built this for an event that’s a part of a school-wide  Science Olympiads competition. Multiple schools participate. Since I’m the only real hardcore technology person in my school (there are computer enthusiasts, but none that I know of can program very well, and none of them have built something like this), obviously I get all the complicated work, and nobody else helps, heh. Such is life I suppose, although I’m hoping in college I meet some more people who share an interest.

Here’s the one from last year, “The Nex”. I named it after the weapon from the game Nexuiz, and borrowed the Nexuiz logo for it, since I literally finished this hours before the competition, and couldn’t come up with an original name.

You can see the internals better here:

Just a 7.2 volt battery, two speed controllers, two rather large motors, and a futaba radio system (missing from the picture because I’m reusing it in this year’s robot). I used worm gears to build this, but the problem was that the gears kept slipping, despite my efforts to prevent this from happening. Despite the fact that it barely worked, and that it was just a box that was made from glued together Plexiglas, it did surprisingly well, ranking 8th out of 52 teams at the Science Olympiads event.

I’ll write another post on this year’s robot after the competition. It’s definitely an improvement over last year’s model, and almost completely rebuilt too.

by Will Riley at February 11, 2010 12:25 AM

January 28, 2010

Justin Dearing

Using the registry to resolve Visual Studio reference paths.

Note: To skip the long journey of what lead me to figuring this out, click here to go to the howto.

Recently I was asked to look at a fiddler plugin Stan, the founder of this blog, was developing. He gave me a SVN path and asked me to build it and test it.

So I checked out the source code and hit F5. I got a bunch of compiler errors relating to the fact that I didn’t have fiddler installed. I rectified that matter and still got errors. The problem was that the hintpath of fiddler.exe was wrong. On my machine, Fiddler is installed in ‘C:\Program Files\Fiddler2\’, while on Stan’s machine it is installed to ‘C:\Program Files (x86)\Fiddler2′. I consulted the mighty google, which led me to a stackoverflow question. The question pointed out that you can have multiple hintpaths to an assembly. However, I wanted a better solution. What if someone installed Fiddler to a custom location?

I got the idea of using the registry. Fiddler has an installer. Surely the installer records its install location to the registry. It does in ‘HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fiddler2′ (Apparently fiddler is written by a Microsoft Employee). So the question is how to get MSBuild, the tool that visual studio uses to parse project files, to read a value from the registry.

The answer was found in a post on the MSBuild team blog.

How To

Unfortunately, Visual Studio does not allow you to edit hintpaths to referenced assemblies. So you’re going to have to edit your vcproj or vbproj file in notepad or some other text editor.  Here are the steps:

  1. Open the project file in your text editor.
  2. Look for the <Reference/> element for fiddler.exe. It should look similar to this:

    <Reference Include=”Fiddler, Version=2.2.7.5, Culture=neutral, processorArchitecture=MSIL”>

    <SpecificVersion>False</SpecificVersion>

    <HintPath>C:\Program Files\Fiddler.exe</HintPath>

    <Private>False</Private>

    </Reference>

  3. Change the hintpath as follows:

    <Reference Include=”Fiddler, Version=2.2.7.5, Culture=neutral, processorArchitecture=MSIL”>
    <SpecificVersion>False</SpecificVersion>
    <HintPath>$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fiddler2@InstallPath)\Fiddler.exe</HintPath>
    <Private>False</Private>
    </Reference>

  4. Save the file
  5. Visual studio will detect the file change and ask you to reload the file. If you are using SharpDevelop as you’re IDE, you will have to close and reopen the solution.

Thats all there is to it. Happy coding!

by Justin at January 28, 2010 02:01 PM

January 24, 2010

Free Software Round Table

Episode 040: Jan 16, 2010

This episode is hosted by: Bill Burns, Ilya (dotCOMmie) Sukhanov, Jesse Farinacci, Jonathan Dahan, and engineered by Bobanero.

The following topics were discussed:

  • Google going from ext2 to ext4 [ 1 ] [ 2 ]
  • Android and other Linux based phones [ 1 ]
  • Linux jobs growing [ 1 ]
  • Make Open Source Hardware Guide [ 1 ]
  • HTML5 making headway [ 1 ] [ 2 ]
  • Rant: Flash Video sucks [ 1 ]
  • Hulu no longer works with 64bit flash on Linux [ 1 ]

Download {enclose fsrt.20100116.mp3}

by fsrt@dotcommie.net (dotCOMmie) at January 24, 2010 04:13 PM

Justin Lintz

Python Quote module

Over the past couple of years I've been wanting to learn Python more seriously but really haven't sat down and just done it.   I've written a couple of various scripts for personal and work use but always felt they weren't coded in a "pythonic" way.  I'm now reading Learning Python (4th edition) from the beginning and making sure I learn things properly from the ground up.  When I was writing my code in the past I wasn't aware of what objects were immutable vs mutable or how generators worked.  I basically knew what I wanted to accomplish before writing my code and would reference the online documentation and just go at it.  Overtime I picked up on some "pythonic" methods from looking at code examples, for example, using optparse for handling arguments passed into your program.

My first project I decided to tackle as I go through my book is writing a module that will fetch stock quotes from Yahoo's Finance page and store them in memcached.  I just pushed it out to github available @ http://github.com/jlintz/python_quote.  I'm hoping to get some feedback from some people on where I can improve in my code and hopefully it will be useful to someone else out there.  As I go through the book I plan on going back and looking at the code and see what I can refactor and I'm sure along the way I'll probably re-architect things.

One thing I know I need to do is write some unit tests for the module.   When I was in my Computer Science program in college, we really never had any exposure to unit tests.  The unit tests consisted of assert statements and really never had any real lessons on them.  I need to do more reading on unittest.  I know many developers write their unit tests first before writing a single line of code in a test driven development approach.  It's something I want to look at more and see if I should consider picking that up.

Also as part of this coding project, it was a good excuse to get some exercise with Git.  It's pretty easy to work with and I haven't even scratched the surface of its potential.  I just need to begin looking at some of its more advanced features and incorporating them into my work flow.

Vim is another program I'm getting some finger exercise in.  When I started my job 3 years ago I had never really opened Vim/Vi but one day forced myself to learn it because as a sysadmin, Vi will always be there for you, like your friend Stewie.  In my day to day uses of Vi, I just used the basics, hjkl and :wq.  Slowly I picked up some commands from co-workers and got used to using them daily.  When writing code in Vim , there are a lot of tricks and commands to aide you in writing code , I've read about many but now it's a matter of incorporating them so I don't have to think much and breaking my old habits to use the new commands I've read about.

by justin at January 24, 2010 05:38 AM

January 22, 2010

Justin Dearing

What three things got me here.

Paul Randal wrote a What three events brought you here article on his blog and asked some others in the SQL server community to do the same. I of course was not on that list. However, no one ever invited me to blog about anything before so why should I be shy now.

I have decided to not tell this story in terms of professional accomplishments. For me, my hobbies have always led my career.

Event 1: A trip to Borders

The year was 1999. At 18 years old I spent my last summer before college doing contract work at 590 Madison Avenue, a.k.a. The IBM building. Of course Lou Gerstner had already sold the IBM building. I had heard of this linux thing. Deciding that I needed something better than Windows 95 (read: wanting to be more 1337), I bought myself a linux book and Mandrake Linux. I only had a 14.4k modem at home, and had no way of downloading an ISO easily.

Try as I might I could not get linux working on that computer. That September I brought the machine to college and bough a NIC that proudly claimed to be linux compatible. Of course it required a special patched version of the tulip driver that I could not get compiled against the kernel. Someone told me about the even more awesome FreeBSD which actually worked with my NIC. Eventually, a version of the 2.4 kernel was released that supported my NIC out of the box.

Event 1 Epilogue

In college I learned a lot more about linux than I did in the month previous. All I really managed to learn in the few weeks on my own in my parents basement was how to use vi, and what sort of hardware tended to not be compatible with linux (modems, printers and damn near everything). However, had I not struggled those weeks on my own, I would have never sought acceptance with the other unix fans. That trip to borders changed the course of my time in college.

Event 2: Learning SQL from Stan in a bowling alley.

I would like to note that I never finished college. This part of the story takes place in the time period after I stopped going to school full time but while I was taking classes at what one would call a “junior college.”

So I am sitting one Saturday at my local bowling alley with and old Toshiba laptop. I believe it was a 133mhz pentium. This was probably 2002 so it was old at the time. At the time I knew half the employees and my brother was on a league there. So I spent Saturdays at the bowling alley, mostly because I could get free food.

I would hack at perl on the machine. It was running Wndows 95 with an ActiveState Perl install. I don’t think any of my perl programs ever did anything useful, b I had fun writing them. For whatever reason, the founder of this blog Stan, who worked the cash register at the time, decided to teach me SQL. It was relevant to whatever project I was working on at the time. I had recently finished a course in VB6 at this point in which a lesson at the end involved talking to an Access Database but no SQL was involved.

I ended up not using this knowledge until I began taking a SQL class that was taught with Microsoft Access. Because I had a basic understanding of SQL from Stan, and also had a clerical job at the time, I took to Access like a semi employed semi college dropout to free chicken fingers.

Event 2 Epilogue

Once again this was a catalyst event. Had I not learned SQL from Stan I might not have taken that MS Access course, and I might not have turned a clerical job into a development job.

Event 3: My first LIPHP meeting

March 2006 and I am back in a semi-employed state. This time by choice. I walked away from a unix administration position to take a programming contract and try to start a website. I didn’t take much of a paycut, and the next full time job I got was a big raise. However, this is not about my professional accomplishments.

So there I was programming on the side for money and the rest of the time for room, board, and potential millions. Unfortunately I was the only programmer in this boiler room startup. I had no one to talk about computers with. I was programming PHP at the time and became aware of a PHP user group in Suffolk county. So I traveled one Monday night from my bedroom/office in Manhattan to an office in Suffolk county less than a mile from the job I walked away from.

I don’t remember the topic, but it was a good time with good people. It was a great first experience at LIPHP a group that I eventually became the organizer of. I had been to one user group before, a LILUG meeting in 2001. However, it was not something I saw any value in at the time. I will note that I am an occasional LILUG attendee these days and the meetings in recent years have been very good.

Event 3 Epilogue

Its not easy to qualify the impact of LIPHP. It never got me a job. However, it has lead me to more user groups, more mailing lists, and some networking. I learned many things from the group. I learned about giving presentations, and running a user group.

by Justin at January 22, 2010 03:08 AM

January 17, 2010

Justin Dearing

Trouble building PHP on Windows

Update: It seems that the facts presented to me in the initial bug report are not correct. I will be revising this article after the facts are settled. For now read the comments.

It all started with a simple bug encountered while trying to get PHP and WCF to play nice. Before you know it I was attempting to compile PHP on windows myself. That’s when I realized how deep the rabbit hole really goes.

These days I program in PHP and .NET for a living. In a past life I was a unix admin for small ISP where most of the internal unix infrastructure was FreeBSD while the managed customers tended to run Redhat.  Due to the unique path of my IT career, I usually don’t have a problem compiling open source software primarily targeted for unix on windows. PHP has proven to be a bit of an exception. However, with a little struggle, I got it to compile.

In this case the crux of the struggle was not a lack of documentation, but documentation outdated to the point of being wrong. This is perhaps the one exception to the rule postulated by Dick Brandon, “Documentation is like sex . . . when it is good, it is very, very good; and when it is bad, it is better than nothing.” Thankfully, Pierre of libgd fame pointed me in the right direction on the mailing list. So being a good netizen, I submitted a bug report so that someone with commit access to the php source repo could straighten the mess out. This was the response I received:

We don’t understand the build requirements or system.

You have to ask the Microsoft guys to update that file.
http://no.php.net/manual/en/install.windows.building.php was one of our
best Windows know-how (not-microsoft-employee) guy shot at documenting
the process, but the feedback he got from Microsoft employees was “this
is crap. its all wrong”.

Sorry, we simply do not know how to do this.

That was a little disheartening. I asked them to mark the readme file as outdated, and I asked them how to contact Microsoft. This was the response I received:

Updated the file to say its outdated.

As for contacting the Microsoft guys, try surfing around on

http://windows.php.net

We have tried multiple times to get these docs updated, with no luck so
far, and like I said; our last attempt was shot down and they wanted
those docs to be reverted.

I’m sorry, you are simply on your own here.

So it seems my only resort is to blog about it and hope someone from Microsoft is in earshot. If you care about PHP on windows, spread the word. Spread this article with twitter, digg, reddit, or just plain old email. If you have the ear of anyone in Microsoft give it a bend. I’ve never attempted blogger activism like this, but I don’t know what else to do. I much prefer to fix problems myself than delegating or inspiring. However, this is one case where I need to “have a little help from my friends.” I don’t even know what Microsoft finds wrong with the proposed updates to the documentation, so submitting updated documentation seems pointless.

by Justin at January 17, 2010 08:14 PM

January 16, 2010

Free Software Round Table

Episode 039: Dec 19, 2009

This extended, extreme FSRT episode is hosted by: Bill Burns, Brian Fix, Ilya (dotCOMmie) Sukhanov, Justin Seyster, and engineered by Bobanero. When the show began there was almost no snow on the roads, by the time we left there was well over a foot of snow. As a result most of the participants had to spend the nigh in unfamiliar places around stony brook. All the things we do for Free Software.

The following topics were discussed:

  • Public domain, government collected information
  • Linux 2.6.32 released [ 1 ]
  • DRBD is mainlined, to be included in 2.6.33 [ 1 ]
  • IBM to run linux on mainframes [1]
  • SFLC Busybox lawsuit [1] [2]
  • Oracle addresses mysql concerns [1]
  • Bug Offsets

Download {enclose fsrt.20091219.mp3}

by fsrt@dotcommie.net (dotCOMmie) at January 16, 2010 09:18 PM

January 12, 2010

Justin Lintz

Windows 7 64bit + iPhone sync

I somehow attract issues whenever I build a new computer or do a fresh installation on my desktop.  I currently dual boot between Windows XP 64bit and  Ubuntu 9.10 (Karmic) which has served me well the last 3 years.  My current setup is running atop a fakeraid mirror which at the time, was a PITA to get configured as it involved using a live cd and following a really long howto while crossing my fingers it would work.  Today the installer supports fakeraid out of the box so no poor soul would have to go through those installation steps.

I got a new 1TB hard drive for the holidays and I had been meaning to redo my setup for some time and finally took the plunge this weekend.  I also decided I was going to give Windows 7 a go.  With my current(now old) setup, I couldn't install iTunes in Windows XP 64bit so I had to do all my iPhone syncing using a 32bit Windows XP install inside a Virtualbox VM inside of Ubuntu.  I would run into issues anytime I would have to do a firmware upgrade on my iPhone since the iPhone would disconnect from the VM during the firmware upgrade process and the USB filters I had in place to pass through the iPhone to the VM would run into a race condition with the OS while it tried to mount the iPhone as a photo device.  This would end up leaving my iPhone as a brick (but upgraded) and I'd have to restore from backup and re-sync all my music, a process that would take up to 4 hours.  The last time I did an iPhone upgrade, I learned my lesson and did the upgrade from a Mac, no restores needed and I didn't need to do any syncing after.

With my new setup I was planning on doing all of my syncing in Windows 7, without having to worry about any issues with USB pass through or performance issues of doing the sync through a VM.  Once I got my Windows 7 install up and running, I installed iTunes and added my music to the library.  I went to go ahead and perform my first sync and noticed it began syncing then about 5 seconds later it would just finish.  I tried this a couple more times and noticed it was still not behaving right.  I figured I'd try to atleast backup my iPhone incase anything went wrong.  I began the backup process and went to go play some CoD MW2.  I came back an hour later and noticed no real progress on the backup of the iPhone.  I cancelled the backup process and then tried restarting the backup.  I let it sit for a couple of hours and it never completed.  Normally a backup will take maybe 10-15 minutes so I knew something was wrong.

I began Googling and right away I came upon this thread on the Apple forums.  The thread described a varying amount of issues with Windows 7 64bit and iTunes syncing.  Issues with people having their iPhone not recognized to certain chipsets causing sync issues.  I tried jumping around the thread a bit looking for some simple answers related to my issues, but most of the solutions were geared towards BIOS updates.  After some more Googling I found a thread on one of the MS support forums (sorry I lost the link) where a representative from MS was actually contributing to the thread and seemed to be working with developers on a hot fix for the issues.  The thread talked about users with issues with USB hard drives and iPhone issues as well. Later in the thread MS eventually came up with a hot fix for the issue so I figured I'd give it a go.  The hotfix can be found here http://support.microsoft.com/kb/976972 .  I installed it and low and behold, it actually fixed my issue.  This is the first time I can remember downloading a hotfix for an issue I've had with Windows and it actually fixing the problem.  I'm now finishing syncing up my music to my iPhone which is syncing A LOT faster than going through a VM layer.  Hopefully someone will stumble across this blog post facing similar issues and it will solve their iTune woes.

by justin at January 12, 2010 01:24 AM

January 08, 2010

Justin Lintz

Yahoo Finance message boards

... has to be the biggest waste of space on the interwebs. Clearly Yahoo doesn't give a shit about them since they are not policed in the slightest and riddled with spam, trolls, and crazies. There are absolutely no insightful conversations going on for any stock. I wonder why they even bother keeping them around.

by justin at January 08, 2010 02:32 AM

January 06, 2010

Nate Berry

Linux on Airbus

Linux

A friend coming back to the US from Europe this weekend snapped this photo for me on an Airbus 330 FinAir flight from Helsinki to JFK which shows the seat back monitors obviously booting Linux. It looks a lot like the RED Entertainment system which is a custom program running on top of Linux that Virgin America came out with sometime in 2007 and is discussed a bit on engadget. He’s pretty sure he saw the text “RED boot” flash by at some point. According to my friend, its a touch screen with an optional seat control module which is used to display “Movies, Documentaries, or (pre-recorded) TV programs, Games, or Audio programs on demand, serve as a Flight map and flight parameters monitor, provide Front and down cameras view, Shopping on board, and Telephone and text messaging services (with use of Credit Card terminal)”. One internet source I found suggested that “most inflight entertainment systems run Linux and have been doing so for the last 7 or so years”. Some makers include Panasonic Avionics and Thales Avionics.

Booting Linux on Airbus 330

by Nate at January 06, 2010 04:55 PM

January 04, 2010

Josef "Jeff" Sipek

Change Ringing - The Mechanics

A while back, I described the Trinity bell tower, and as I promised here is the follow up post that talks about change ringing itself. This post is going to describe the process of ringing a single bell.

Let's start from the beginning. In a tower, there are several bells (12 at Trinity) of various pitches (tuned to make them sound pleasant).

Trinity's Tenor

Each bell has a head stock (red in the above photo), and a wheel for the rope. A person uses the rope to make the wheel turn, which in turn makes the bell itself move.

The headstock and the bearings are designed in such a way that the bell can freely turn 360 degrees. This might sound unsafe, and it can be. So do not just assume that you can handle it without proper supervision. There is something called a stay, which prevents the bell from going more than ~380 degrees, but it is just a piece of wood - wood can (and does) break.

The bells start off in the most unlikely position - up side down! That is, they open upward. When a tiny bit of energy is applied on the rope (by pulling), the bell goes off balance and thanks to physics, swings all the way around stopping more or less right at the top again. At some point during the swing, the clapper strikes the bell, and everyone in the neighborhood knows that someone is ringing.

Here is a great animation that I found on the internet that shows exactly what happens:
Change Ringing

Now comes the hard part :) Since you have multiple bells, you can ring them in various orders. Suppose you label the treble as bell number 1, the tenor as 12, and all the other bells in the obvious way. You could ring them one at a time, one right after another (you want to have 12 people, one per bell). Easy enough, right? Well... go ahead an look at this video of some ringing at Trinity:

What do you think? Pretty cool, eh? There isn't much time between each bell strike, and you want to make sure that you make your bell sound at the right time.

You might have noticed that right before the end of the video, the pattern changed. More on this in the next post.

What does it look like when the bells are moving? Well, there's is another video. This one is about how the bells were made, and all the other good stuff. It opens with a shot of the bells swinging around:

Anyway, that's it for the mechanics of ringing a bell, you will have to wait for the next post to find out about the patterns. I will try to write it before the 2010 is over ;)

by JeffPC at January 04, 2010 12:59 AM

January 03, 2010

Nate Berry

Army Builder on a Mac and mobile output

AppleMac Gaming Linux

Army Builder is a windows program that helps you build an army for use in playing Warhammer Fantasy Battle that conforms to the rules of the game. This simple program took all the pain out of building my little Dwarf army and got me playing much faster – I highly recommend it. As there is only a Windows version of the program, I have to run it in a virtual machine (VM), but that has turned out to be a good decision anyway as we’ll see later.

I only noticed today that the new Army Builder (3.2) has a mobile option which outputs an HTML page of your army list which can be easily read on mobile devices. You can click on the various topic headers to view the info that would normally be on the printed sheet at that point dynamically. Very cool – now only if I actually *had* a mobile device or cell phone that could display it! My current (Dwarf) army is only 1000 points, but I’ve been gathering some more figures lately in the hopes of getting it up to 2000 someday. You can see the current lineup (from a Christmas game with Ned) here.
karakshall

Army builder is a windows program. The folks that wrote the program are a very small company and there’s no hope for a Mac or Linux version (the two operating systems I use), so I decided to install it on a virtual machine instead. You can run out and buy software to run a virtual machine, but Sun makes one that you can use for FREE! Sun’s Virtualbox is easy to install (on any OS), easy to set up, and seems faster than some of the other VMs I’ve used. You do have to own a copy of Windows outright if you want to run a VM of Windows of course. The nicest thing about this choice for me was that if I decide to just run Linux on my next laptop (and not buy another Mac) I can easily install Virtualbox and load up my Windows VM with Army Builder already installed and as far as Army Builder cares it’s still on the same machine (although I don’t pretend to know the dirty details, Army Builder’s license seems to be tied to the machine it’s installed on through a hash of some kind made with information from the machine itself and the OS on it). Since the VM file (these can get large, mine’s currently 4.2GB) *is* the machine and the OS in one, Army Builder is none the wiser if I decide to run it on my Linux box instead.
armybuilder-on-osx

by Nate at January 03, 2010 03:17 PM

December 29, 2009

Josef "Jeff" Sipek

Odin

I finally decided that enough was enough, and I ordered the parts for my new server. This means that in the next week or two, I will be replacing the good ol' dual Athlon (see below for specs), with a shiny new quad-core Xeon.

Current setup - baal:

2x AMD Athlon MP 1800+ (1.533 GHz, 256 KB cache)
2x 40GB IDE disk
4x 512 MB
1x e1000 Intel NIC

New setup - odin:

1x Intel Xeon W3520 Bloomfield 2.66GHz 4 x 256KB L2 Cache 8MB L3 Cache LGA 1366 130W Quad-Core Server Processor
6x Kingston 2GB 240-Pin DDR3 SDRAM ECC Unbuffered DDR3 1333 Server Memory Model KVR1333D3E9S/2G
6x Seagate Barracuda 7200.11 ST31500341AS 1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s 3.5" Internal Hard Drive
1x SUPERMICRO CSE-743T-645B Black 4U Pedestal Chassis w/ 645W Power Supply 2 External 5.25" Drive Bays
1x SUPERMICRO MBD-X8STE-O LGA 1366 Intel X58 ATX Intel Core i7 Intel Motherboard

I've "stolen" some images of the case from NewEgg:
Odin's SuperMicro case
Odin's SuperMicro case

Baal gives me about 40 GB of disk space (I use RAID 1 across the two drives). Odin will give me about 6TB (RAID 6). This will finally allow me to do a few things I wanted to do for a while; one such thing is to provide a Hercules image with Linux set up to do HVF development.

by JeffPC at December 29, 2009 09:01 PM

December 21, 2009

Tom "supertom" Melendez

My Todo List Search

Having gone through some GTD training recently, I set out on my hunt for the best todo list system for me. First off, let me say that I’m not a GTD purist by any means and in fact have been doing something that somewhat resembles GTD for a few years now, but I certainly [...]

by SuperTom at December 21, 2009 05:53 AM

December 12, 2009

Josef "Jeff" Sipek

Spiral

From 3 days ago:

This morning in arctic Norway, onlookers were stunned when a gigantic luminous spiral formed in the northern sky. Veteran observers accustomed to the appearance of Northern Lights say they have never seen anything like it. It was neither a meteor nor any known form of atmospheric optics. Rumors that the spiral was caused by the botched launch of a Russian rocket have not yet been confirmed.

Spiral
(original)

by JeffPC at December 12, 2009 08:33 PM

December 08, 2009

Justin Lintz

Camera of near future prediction

Edit: The title of this is great engrish... ok read on...

I predict cameras in the near future will begin shipping with wireless , 3G antennas or both. The cameras will be tied into social networking sites so that you can take photos of events and upload them as they happen. There will be a settings page in your camera to enter your Facebook, Myspace or Flickr account info. An option would be available to auto upload all photos taken or to prompt  the user after each photo is taken for upload, and finally an option to just bypass that and worry about the uploading only when you are in review mode. The camera will auto resize (user setting on adjusting size) the photos and upload in the background so you can live blog events without thought. I know some cameras today already have built in wireless and can upload directly to a computer or an FTP, but the cameras that have those features are attached to SLRs, usually coming as an add-on .  They are mainly for professionals wanting to instantly review photos during photo shoots, not for frat boys wanting to live blog a kegger.

Sony attempted this with their DSC-G3 model but failed miserably in it's implementation.  From reading reviews, the act of connecting to a WiFi access point is cumbersome and they were too eager by including a browser in the camera which IMO is a bit overkill and just needs a simple menu interface to select the social networking services you wish to use.  All photo uploading must go through Sony's portal page and photos have to be chosen one at a time, no seamless uploads, too much thinking involved.

My ideal camera would be a mash up of how the iPhone handles WiFi access points, a 3G provider that is not AT&T (bonus points if it's free to use, but highly unlikely), and the ability for the manufacturer to add social networking services through easily installable firmware upgrades.  The camera should also make all of it's connections over a secure protocol so users won't have to worry about their login information being compromised over an unsecured access point.

A couple of downsides to this may be that some people really don't want to have photos available to the public before they can really look at them to make sure they don't look like an idiot and that they are even appropriate enough to be made public.  It wouldn't really draw as big of a crowd if it just has WiFi.  You are then limited in where you get to use the cameras main draw of being able to instantly publish photos to the world.  A couple other short comings I could see with this camera would be the battery life not lasting too long.  Users don't give a shit that WiFi and 3G suck up more battery life, they just want their battery life to be the same as if those components weren't there to begin with.  The iPhone has people complaining about battery life all the time, comparing it to their old phones. If you are listening to music on it all day long, while checking facebook, the battery is not going to last more than a few hours.  People aren't using iPhones the same way as they did with their snake playing Nokia phones of early decade.  The way people use their "phones" has dramatically changed over the last couple of years and battery technology has not been keeping pace.

I hope Canon or Nikon will integrate these features into a camera soon, and hopefully their implementation won't suck.

by justin at December 08, 2009 06:18 AM

November 29, 2009

Free Software Round Table

Episode 038: Nov 21, 2009

This is an extra special FSRT episode, as we have a practicing intellectual property attorney, John F. Vodopia (jvodopia gmail com) on as a guest. We cover some consequences of the Bilski case and patent law in general. Regular hosts include Brian Fix, Ilya (dotCOMmie) Sukhanov, Jonathan Dahan, Kupo and as always engineered by Bobanero.

{enclose fsrt.20091121.mp3}

by fsrt@dotcommie.net (dotCOMmie) at November 29, 2009 04:03 PM

Episode 037: Oct 17, 2009

This special fund-raising episode is hosted by: Bill Burns, Chris Knadle, Brian Fix, Ilya (dotCOMmie) Sukhanov, Jonathan Dahan, and engineered by Bobanero.

The following topics were discussed:

  • In Re Bilski -- RedHat et al file amiacus brief [1] [2]
  • Texas Instruments goes after Hobbyists and modders. [1
  • London Stock Exchage moves to linux [1]
  • Shuttleworth on user experience testing [1]
  • Debian KFreeBSD [1]
  • Hulu Client for linux [1]

Download {enclose fsrt.20091017.mp3}

by fsrt@dotcommie.net (dotCOMmie) at November 29, 2009 03:47 PM

November 28, 2009

Josef "Jeff" Sipek

CJK

During an experiment, I needed to install Fedora 12. I made a few mistakes:

  1. I went with the netinstall. Unlike Debian's netinstall, Fedora's is very slow.
  2. The installer was a bit sliggish under KVM, and so I accidentally clicked though the window that let me unselect Gnome. So it's installing the whole shebang.
  3. For whatever reason, it is installing CJK fonts. I do not speak either of those languages, and therefore they are useless to me. Furthermore, I've been told that something in the neighborhood of 20% of Fedora users make use of CJK. That just sounds wrong. Why install a package by default that only 20% of your userbase will benefit from? Aren't there more useful packages?

by JeffPC at November 28, 2009 11:42 PM

Will

Common Japanese dialogue words

I’m teaching two friends that I’m planning on going to Japan with Japanese, and I put together a list of common dialogue words for them, so I figured I’d throw them up here as well, maybe somebody will find them useful (I can’t seem to find anything that has all these words on it). Actually, this may be the start of a series of posts about learning Japanese, maybe how I’m teaching myself, etc. Anyways, here’s the list:

  • watashi (私) / boku (僕) = me, I (boku used for males only)
  • hai (はい) = yes
  • iie (いいえ) = no
  • nani/nan (何) = what
  • namae (名前) = name
  • sou (そう) = so that’s how it is, that’s how it is, is that so?, really, seemingly, etc.
  • nai (ない) = that’s not how it is (literally means ‘not’, but when used in a single word sentence that’s usually what it means)
  • ii (いい) = good (also used to reject an offer)
  • dakara (だから) = therefore, so, etc.
  • koko (ここ) = here
  • kore (これ) = this (item near the speaker)
  • sore (それ) = that (item close to the listener)
  • are (あれ) = that (item distant from speaker and listener)
  • hontoni (本当に) = really (as in “really?!”, but can also be used as in “He really needs to exercise.”)
  • zettai (絶対) = absolutely, unconditionally
  • yappari (矢っ張り) = also, as I thought, still, in spite of, absolutely, of course
  • mochiron (勿論) = naturally, of course
  • mattaku (全く) = good grief, honestly, seriously (expression of exasperation. As in “honestly, I don’t know why you keep doing that, it’s just stupid.”)
  • hidoi (ひどい) = cruel, terrible, awful (usually means something like “you’re terrible” or “that’s awful”, etc.)
  • matte (待って) = (please) wait (from the verb ‘to wait’, matsu (待つ) conjugated in the -te form)
  • chotto (一寸) = hey! (usually used before matte, eg “chotto matte!”, usually used when the speaker wants the listener to wait)
  • abunai (危ない) = dangerous (when shouted out, it could mean “hey, watch out!”)
  • nee (ねえ) = Hey! (usually used to get people’s attention, not used to greet people. Note that it’s not pronounced as in “knee”, the extra e just elongates the first e, pronounced more like ‘neh’, except without the h. You get the idea.)
  • hora (ほら) = look!, look at me!, look out! (Similar in function to “Hey!” in english, but different from nee in japanese)
  • urusai (五月蝿い) = noisy, loud (Sometimes translates loosely to “shut up!” when used in a one-word sentence)
  • anata (あなた) = you (Don’t use this if the person has told you their name already, it’s considered rude. If they have, just use their name in place of anata.)
  • kimi (きみ) = you (familiar) (This is somewhat similar to ‘bro’ or ‘buddy’ here I guess, don’t use this in polite situations. I hear old people use this a lot, so I guess it could also mean ’sonny’, so I guess it depends on context. Males only really use this. Note that I’m not 100% certain on this one, if I’m wrong please point it out.)
  • suki (好き) = pleasurable, fondness (There’s no Japanese verb for ‘like’, so use this. Sometimes pronounced ’ski’.)
  • kirai (嫌い) = dislike, hate (There may be a verb for this, but I’m not entirely sure)
  • desu (です) = not a real word, just used to end sentences when speaking in a polite manner. Can also be pronounced ‘des’.
  • ano (あの) / eto (えと) / sono (その) = umm…, err…, well…, etc.
  • doushitano (どうしたの) = what’s wrong? (usually pronounced doushtano)
  • nandemonai (何でもない) = easy, harmless (often used as a response to doshitano)
  • betsuni (別に) = nothing, not particularly (also a response to doshitano)
  • douzo (どうぞ) = go ahead, take it, come in, etc. (this word has a lot of uses, can be used after someone knocks on a door, when someone is offering something to someone else, etc.)
  • miru (見る)/mite (見て) = to look / look, respectively (mite can be used as an interjection, eg “Mite!” means “Look!” Mite itself is a request to look at something though.)

These are pretty much used all the time, some more then others, but I personally hear them used a lot in the things I watch. I find that the best way to memorize words is if you use them in context, even if it’s in the middle of an English sentence (eg, “I hontoni need to eat some food, dakara I’ll go to the kitchen.”), but, if possible, stick to Japanese sentences (unless you don’t know enough yet to use complete sentences). If you’re still having problems memorizing them, the next best way is probably to just watch stuff and listen for the words (although, this may not work with the words that are used less often).

Of course, if you want you can see a dictionary definition by copying the kana for the word and pasting it into a site like jisho.org.

(11/25/09) Update: added some more words that I forgot about

(11/26/09) Update: added some more words

by Will Riley at November 28, 2009 02:12 AM

November 22, 2009

Will

I’ll be back… soon…

So, if you haven’t talked to me in the past month or so, it’s probably because I’ve been so busy with school. Between writing my Intel paper, keeping up with the insane amount of homework, taking care of college apps (which I’m doing as I speak), and other things, I’ve been crazy busy. If you don’t already know, I’m involved with my school’s IB diploma program, it’s basically like AP but on steroids (It’s accelerated courses, but you not only have to take a test, but you also have to write numerous essays, as well as take a philosophy course. The grading system is a lot more like the one in Europe too, so the exams are much more challenging from what I can tell. Essays and exams are graded from 1-7, most people get a 4 or 5.) The good news is that I already got a 6 on the IB physics exam and a 7 on the IB math exam, so I’m in really good shape. I need to also teach myself the Physics work that we did first quarter, since I was so busy with other work that I didn’t have enough time to study and really understand the work. I’m really happy with my Intel paper though, it’s entitled “Improving the Security of a Multitouch Padlock Through Dynamic Time Warping Algorithms.” Here’s the 100-word layman’s summary:

The project I worked on is an on-screen padlock meant for use on multitouch displays, such as the iPhone (the “pinch-to-zoom” gesture is an application of such a display). It’s unique, because it actually tracks the finger movements while the user is inputting the combination, so that only the person who trained the padlock can unlock it. It uses a signature verification algorithm to do this. Since there is a combination aspect to the padlock as well, the programmed signature of the user can be encrypted, and as a result is more secure then a signature-based authentication alone.

Here’s a screenshot of what I’ve done so far with the padlock:

padlockscreenshot

It’s about 2400 words with an abstract, and 13 pages long, so I’m pretty happy with it. I still need to work on some of the code for it when I get my life back though, it’s something that I need to get finished in time for other competitions where I’m presenting the thing in front of a judge. The nice thing is that since I did this as a part of a mentorship with NYU Poly, they let me borrow a laptop with a multitouch screen, which is pretty awesome. I still need to tweak the paper a bit more as well, even though the deadline for Intel is past, I’m entering it into some other essay-based competitions, as well as using it for my extended essay for the IB diploma.

I’ve only got about a week of ‘lunatic mode’ before I can take it easy again. The crazy thing though is that after december I have so much to catch up on in my personal life. The first and most important is to start work on Lucid again. We’ve been discussing some ideas in private that we really think would be killer features (we’ve kept this private due to some concerns from the other project members, I’ll leave it at that). I’m really excited to work on Lucid again, and I definitely think doing some real work that I enjoy will give me a huge morale boost when it comes to doing my schoolwork (or, like it did Freshmen and Sophomore year, it will take over my life, heh). After that week, all I have to worry about is a world literature essay for English, and staying caught up in my classes. I’ve got IB exams in May as well, but that’s not until May.

On top of that I want to teach myself some japanese; some friends of mine (Ian, also known on the interwebs as Phandentium, although he wants to change it or something, and Mike, an IRL friend) are planning out a trip to Japan some time in august. Since hiring a translator would cost a huge amount of money, I’m teaching myself the language instead (and, trying to get the other two to learn a bit, but I think they’ll be relying on me for the most part). Hopefully I’ll be able to rake together enough money to pay for it.  I have to work pretty hard at this if I want to be prepared in time. At least during the summer I won’t have school to worry about, so I can study harder then. I’ve got a good grammar guide to work with, and I’m learning vocab mainly from things I watch/read, as well as from word lists on occasion. I do know a pretty good amount, but definitely not enough to be practical at this point.

Then of course I have some reading that I want to do, mainly some ebooks that I started but never finished. There’s a math book that a friend of mine lent me so I could teach myself matrices, but I haven’t gotten around to reading it yet. I may also want to skim through the bonus content of Freakonomics, read through David Kahn’s “The Code Book”, and maybe read through Malcom Gladwell’s new book (although, some parts of his books put me to sleep, while others are quite interesting). There’s also some shows/anime that I downloaded but haven’t watched yet, but I won’t get into them, since this post is already pretty long.

So yeah, looking forward for his eternal hell to finally be over. I’ve had a few mental break downs (mainly because I’ve always had a habit of procrastination, which I had to change in a fairly short timespan), but I think I’ll make it out ok. I suppose it’s better then being bored to death in regents-level courses. College is going to be awesome, hopefully my IB credits transfer so that I don’t have to retake boring liberal arts courses. I think just taking courses in something I actually have an interest in will be a welcome change in my life, right now the only two courses I really enjoy are math and physics, but I definitely like programming/computers more. I just hope I get into SUNY Stony Brook, right now that’s my number one choice. My SAT scores and GPA seem to be in the range that they’re looking for, so I should be able to get in (plus, as you can guess, my extracurriculars look freaking awesome with all the open source work I’ve done). Their CS graduate school is ranked 31st out of all of the colleges in America, which is pretty awesome, given it’s a state school. I’m still a bit unsure of the atmosphere there, but the people I’ve talked to from LILUG who go there say it’s great. I’m applying to 9 colleges though, so I can always figure out where I want to go later.

Regardless, I’m definitely looking forward to getting my life back.

by Will Riley at November 22, 2009 01:21 AM

November 18, 2009

Will

Appeal to linux, get tested early in development

I’ve been seeing a lot of OSS software lately that isn’t supporting linux, but could easily. Especially 64 bit users, which are growing in numbers thanks to ubuntu making 64 bit linux so damn easy.

Linux users are naturally early adopters (thus, they use linux). Limiting the support for this platform is a big mistake, because they are more likely to test the software early, and report bugs whenever there’s a problem.

Now, that doesn’t mean that this is always the case, I’ve met some pretty stupid linux users, but the majority are involved with open source in some way, even if it’s not programming.

What I’m trying to say is, I really want Gears to work on my main box, but it isn’t just limited to that. Firefox extensions really should support 64 bit, because by default 64 bit firefox is used in 64 bit Ubuntu, as with most other distros. Personally, I’m not going to start using 32 bit firefox just for Gears, the disadvantages outweigh the advantages.

Anyways, that’s my rant. Now go fix the problem. Thanks.

by Will Riley at November 18, 2009 02:12 AM

November 15, 2009

Josef "Jeff" Sipek

Flash

Dear Flash,

You Suck.

Sincerely,

Josef 'Jeff' Sipek.

P.S. do I really have to justify this?

by JeffPC at November 15, 2009 06:15 PM

November 10, 2009

Jonathan Dahan

awesome island labs meeting

So we had three new faces at Island Labs today. Eric Forkosh is an experienced inventor who brought a cool gsm development board. Mary Ellen Walsh is a charming writer who came to observe our group to help research hackerspaces for Newsday. And Kent (whose last name I cannot remember!) is a friendly and inquisitive photo/videographer that captured the meeting also for Newsday.

Our corn starch experiments have finally paid off! Laurie donated a speaker that kupo and Tony wrapped with seran wrap. Jonathan hooked up the synth and with the help of justin and kupo got some really crazy shapes and tendrils to dance! Bill explained how non-newtonian fluids work and talked a bit about the near space launch.

Justin and Jonathan got the arduino to run a test program for a hobby servo, while Jan and Eric worked out some equations on how much torque would be needed to turn the doorknob for the magic door project.

In the holiday spirit, Chris soldered together an LED electric christmas tree!

Thanks for everyone who came out, with special thanks to Mary and Kent, who really just let us do our thing, and were great company.

Pics will be posted soon!

November 10, 2009 08:00 AM

Josef "Jeff" Sipek

z/VOS - running x86 code on z

Earlier this year, I heard of a company that tried to make a product out of dynamic binary translation of x86 code to z/Architecture. Recently, I decided to look at what they do.

The company is called Mantissa Corporation, and their binary translation product is called z/VOS.

Much like VMWARE, they cache the translated code, in z/VOS's case it's really a must otherwise I'd guess the cost of traslation would make the result unusable. I like how they used VNC (see the demo mentioned below) to give the virtual x86 box a display.

There is an official blog that has some interesting bits of information. For example, they hint at how they use multiple address spaces to give a the x86 code the illusion of virtual memory. I am not quite sure why they list Decimal Floating Point facility as a requirement. Unfortunately, it has been a few months since the last update.

Their website also happens to have a demo of a small x86 assembly operating system starting up and running under z/VOS. I find this fascinating.

by JeffPC at November 10, 2009 02:42 AM

Firefox

Dear Firefox,

You Suck.

Sincerely,

Josef 'Jeff' Sipek.

P.S. xulrunner-stub using 4% CPU when the window is not visible and 36% when re-rendering parts of the page is a bit too excessive.

by JeffPC at November 10, 2009 02:24 AM

October 28, 2009

dorgan

October 22, 2009

Josef "Jeff" Sipek

Linus & Windows 7

You might have already seen this image, but in case you haven't...

Linus + Windows 7

Microsoft tried to torpedo the success of the Japan Linux Symposium by launching their Windows 7 product that same day. They even had setup a big promotion booth across the street from the conference center.

During a break, we decided to make some fun of Microsoft and dragged Linus over there. When we arrived there, Linus was sold immediately on the product as you can see in the picture. At least that's what the sales guy thought. He obviously had no idea who he was dealing with. But in the end Linus surprisingly did not buy a copy. Wise man!

by JeffPC at October 22, 2009 09:20 PM

Stargate Universe

Few weeks ago, a new Stargate show started airing: Stargate Universe.

So far, I'm undecided about it. Even though there were 4 episodes so far, nothing really happened. The plot so far: a bunch of people get stuck on a ship in the middle of nowhere with no hope of ever getting home. They didn't encounter any aliens, visited only a single planet, and spend a whole lot of time exploring & saving the ship they're on.

I hope it'll get better soon.

Stargate Universe

by JeffPC at October 22, 2009 12:06 AM

October 15, 2009

Josef "Jeff" Sipek

Your Race Affects Whether People Write You Back

I commented a month ago about some statistics that OkCupid has done. And they have done it again!

This time, they looked at how your race affects whether people write you back.

by JeffPC at October 15, 2009 11:34 PM

October 13, 2009

Justin Lintz

iPhone 3.2 Wishes (Updated)

Before I had an iPhone, I had just your average flip phone, didn't care if it had a web browser on it or if it did anything else besides just have a decent battery life. This summer I finally took the plunge and bought my first Apple product ever, the iPhone 3GS. I had been waiting for some time for them to come out with a version with more storage before I even considered getting one and 32GB was just good enough for me (64Gb would have really been the sweet spot). So far I've been pretty happy with the phone , not counting all the AT&T issues.

As I've come to realize with Apple products, they always seem to leave out the most obvious of features to people and dictate to the user what their experience and usage of their products should be. A couple quick examples off the top of my head, you cannot turn off the monitor on the iMac, iTunes doesn't support the ability to monitor your mp3 folder for changes in the library (iTunes 9.0 did a weak attempt of supporting this by adding a folder you can drag things into).

Apple does seem to be listening.... a bit, to their users with the iPhone as everyone is so vocal about them and it's one of the most widely used phones out there. I remember in the past if I had any issue with my flip phones there would almost certainly never be any firmware release to fix the issue and the product would be abandoned all together by the company within a year. Calling support about the issues was pointless, they would just try sending you a replacement phone or just file a bug report that never got corrected unless there were enough people using the phone to complain about the same issue (there never was). I just accepted that as the norm if you were not using the most popular phone out on the market at the time. Then I got an iPhone and all of a sudden I started caring about my phone working perfectly. All those little nuisances suddenly needed to be fixed dammit, I paid a lot for this phone!  A few things still remain that I'd love to see get fixed/added as an option in 3.2...

  1. Timestamps on all text messages sent and received.  Currently you only get a time stamp on a message if it's the first message that's been sent after 15(or some other time) minutes of inactivity.  The data is definitely there, but they are choosing not to display it for whatever reason.  Makes them look sleeker? F that, just give users an option to turn them on and off.  Friends text me all the time saying "I'm on my way" and I always used to use that to judge how long its been since I've heard from them.
  2. A global option to turn off auto-rotate.  A couple of apps have this built in currently, mainly e-book readers.  I, like many other people, use their iPhone in bed, or laying on the couch and end up turning on our sides only to have the current item we are reading rotate along with us.  I then end up trying to play a game with the phone on how I can move it slow enough not to trigger a rotation and still be able to read what I wanted to while laying on my side.
  3. Video and Podcast titles are cut off that are too long.  If you download any podcast or video with a title more than 11 characters long, it is truncated on the listing.  Guess what?  Every single video and podcast I've come across has a title longer than that.  The first few words in every video and podcast title appear to rarely have any information relevant to the episode you are wanting to watch.  I can never find particular episodes of videos or podcasts because of this, unless I happen to know the date of the item.  Please just give us some sort of way to scroll horizontal in the title box to see the rest of the title.
  4. An accurate signal strength indicator.  I'm not sure if this falls in AT&T's lap or not, but my phone seems to have either 2 states, full bars or no bars, and there are countless times when I have full bars that I can't make a phone call, send a text or get any data service, but the indicator does not change.
  5. Ok this one is a stretch but.... The weather icon always says 73 and sunny and I'm constantly fooled into thinking that's the actual weather outside.  It seems like the iPhone supports dynamically changing the app icons as it can add a progress meter during an install and an unread message counter for apps with inboxes/notifications.  It would be nice if the weather icon could dynamically change instead of mocking me all the time.
  6. Edit 12/09/2009: Would like to see the ability to snooze Calendar events that go off, and also have them accumulate with a count on the calendar icon for unread events that have gone off.
  7. Ability to select "Emergency" contacts on your phone to call if phone is locked.  I lock my iPhone and in the event of an emergency or if I lose my iPhone and some good samaritan happens to stumble upon on it, I'd like the ability to choose a few emergency contacts that can be displayed without having to unlock the phone that can be contacted in an emergency or to return my phone.

weather

by justin at October 13, 2009 11:05 PM

October 11, 2009

Jonathan Dahan

October 04, 2009

Justin Lintz

Reserved block space

Normally when a partition fills up, you remove some files, freeing up some space and watch your disk usage drop in

df -h

The first time recently I ran into a situation where that wasn't the case. I had filled up my root partition and after removing some files and moving some others to another partition I noticed no change in my output of

df -h

Applications were crashing since they couldn't write to the partition but I knew I had removed at least a few GB's worth of data. What gives?

After some frantic googling I stumbled upon something I hadn't heard of before, known as "Reserved blocks". Paraphrasing the man page on tune2fs, Reserved blocks are a set of filesystem blocks set aside for use by privileged processes to avoid fragmentation as well as allow system daemons to function after all available disk space has been used up. By default the filesystem sets aside 5% of the filesystem during formatting for use in reserved blocks. If you have a large hard drive, 5% may be a bit much. You can adjust this amount with the command

tune2fs -mX /dev/sda1

where X is the percentage you wish to change to and /dev/sda1 is the partition you wish to modify. In order to get out of the hole I dug myself, I used the command

tune2fs -r 0 /dev/sda1

to reset the block count to 0 and thus giving me back my space I had freed up. Be sure that you have freed up space before running this command, as the reason reserved blocks exist is so in the instance when you have completely filled up your partition, you will still be able to run important daemons and commands without them crashing.

Maybe I will finally add some monitoring to my own desktop to prevent this from happening to me. So far I've been bitten by this twice, I noticed each time when pidgin began crashing and firefox wasn't saving any cookies when logging into any sites.

by justin at October 04, 2009 11:17 PM

Josef "Jeff" Sipek

October 01, 2009

Josef "Jeff" Sipek

TurboHercules

Few days ago, a new company was created: TurboHercules.

As the name implies, they package up Hercules (an IBM mainframe emulator), and provide support for it. They are targetting the platform as a disaster recovery solution.

It shouldn't directly affect the open source project in a negative way (just like Red Hat cannot prevent people from continuing their work on the Linux Kernel). At the same time, it'll change the way people look at Hercules.

by JeffPC at October 01, 2009 09:55 PM

Justin Lintz

Online backup solution for Linux

The past couple of weeks I've begun looking into an online backup solution as I start to realize I'd be really really really pissed if something happened to my data.  Currently I'm running my desktop in a RAID 1 configuration using dmraid aka fakeraid, under Ubuntu Jaunty 9.04.  The reason I ended up having to use fakeraid was because I still dualboot Windows XP 64bit for doing photoshop work and the occasional game play.  I could do my photoshop work in a VM, but then I lose the advantage of a dual screen workflow when going through my photos.

My initial reaction into doing online backups was to use Mozy since they are owned by EMC and I wouldn't have to entertain the thought of the company going under or running into any growth issues.  They also have the great price point of 4.99/month for unlimited backup storage.  Of course Mozy falls short on the basis that they don't have a native linux client.  I'd have to run the client in my Windows VM under virtualbox and expose the whole Dom0 filesystem to the VM.  I only fire up my Windows VM as needed and didn't care to have it running all the time, or forgetting to launch it and missing an important backup.  A couple of other downsides to Mozy,

  • No ability to easily share files
  • Their external HD support is not straight forward, the device must be "fixed" and not "removable media"
  • You have to pay an additional fee for additional computers you want to backup

Basically for a basic home user, their service is fine but I'm far from that.  Next up were a couple services that actually had native Linux clients, SpiderOak and MemoPal.

MemoPal unfortunately looks to have abandoned their linux client, which was in beta anyway.  The download page page judging from the packages for Ubuntu 8.04, appears to have not been updated in a year.  Their price of 50 a year for 150GB of storage is fine for me as I won't be backing up that much data , so I don't truly need unlimited but it's always a nice to have.  You can install the client on up to 10 computers to backup their data as well which is fine for me and I'd imagine most geeks.   Ultimately I didn't end up going with them since their linux client development seems to have halted and trusting my backups to a beta client seems wrong (although i trusted gmail's "beta" service for my primary email for years).

Finally that brings me to the one I ultimately ended up choosing, SpiderOak.  A few things that sold me on SpiderOak were

  • A coupon for 30% off , seriously I may not have went with them if I had to pay 10/month for 100GB vs 7/month
  • Linux Client is actively developed, appears to be part of one code base
  • They open source various utilities and API's for Python https://spideroak.com/code
  • I can have multiple computers
  • It can run headless!  This may prove very useful as I can just run this on my linode virtual instead of backing up to my home machine first which has an upstream capped at 1 MBit/s.
  • One other odd thing that sold me a bit on them was they recently had a storage cluster fail but they didn't lose any of their customers data.

Now thanks to Time Warner Cable's crappy upstream it should only take me a week or so to upload my data initially , around 50GB.  I also signed up for the month by month payments just in case at anytime I decide I want to switch elsewhere, although I hope that isn't the case as re-uploading all this data isn't the fastest process.  I know there are a couple other backup options out there that I didn't mention such as rsync.net , ibackup.com and dropbox, but those either didn't fall into the definition of a backup solution (mainly sync) or the price point was just way off.

by justin at October 01, 2009 04:42 AM

September 29, 2009

Justin Lintz

Commerce Bank’s huge security failure

My checking account is part of Commerce Bank which about a year ago was bought out by TD Bank. Up until this summer their site http://www.commerceonline.com still worked for all my online banking. The theme had changed on the site but all the same login functionality was there. Then September 20th rolled around and I goto log into my account to check on some things only to find that http://www.commerceonline.com now is a search engine spam page?! A whois lookup on commerceonline.com shows...

% whois commerceonline.com

Whois Server Version 2.0

Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

Domain Name: COMMERCEONLINE.COM
Registrar: CYDENTITY, INC. D/B/A CYPACK.COM
Whois Server: whois.cypack.com
Referral URL: http://www.cypack.com
Name Server: NS1.TRAFFICZ.COM
Name Server: NS2.TRAFFICZ.COM
Status: clientTransferProhibited
Updated Date: 20-sep-2009
Creation Date: 30-jul-1996
Expiration Date: 29-jul-2011

For the non-technical person, they let their fucking domain name expire. If they did this purposely they don't deserve to be a bank, if this slipped passed someone... they don't deserve to be a bank. Why this is bad you ask? Right now there is nothing preventing the owner of the site from going to web archive of commerceonline.com and just copying the old look of the site and stealing X number of identities by faking a registration page or login page.

Besides the whole fuckup of their old domain, apparently the login mechanism is different on tdbank now and my login information doesn't work. Yet I can't sign up for a new account as it says I'm already registered. I'm seriously considering switching off TD Bank because of this pisspoorplanning .

by admin at September 29, 2009 02:31 AM

September 27, 2009

Jonathan Dahan

jekyll, or why blogging is not the same as publishing

Jekyll’s workflow means I am pushing out medium quality writing faster, as opposed to trying to perfect every post I do. This is a good and bad thing. The good is that I am writing more, the bad is that I can and will change my posts as my thoughts clear up (whether through introspection or discussion). Normally changing anything outside of an tpyo edit is baaad practice, but having a git backend means that nothing is truly lost. What is does mean is that if people reply to a thread, maybe there should be some jekyll-magic that shows what revision a person replied to, just in case major changes happen. I believe all content should be up for discussion, and there is no use separating blog posts from static pages.

September 27, 2009 07:00 AM

island labs robot army

Over thirty people showed up to the Robot Army event hosted by Island Labs. Posters work amazingly well on campus. Thanks for everyone who joined us!

September 27, 2009 07:00 AM

getting things done

If you are the type of person who likes systems design and optimization, you may have a tendency to overanalyze and overcomplicate things. At least in the realm of GTD, the simpler your system, the more you will get done. A single todo list, devoid of symbols or colored pens representing priorities or even timelines has served me very well lately. Every time I find myself with a few minutes to spare, I spend time working on projects instead of working on stuff that is meta-project (a.k.a. procrastinating). By the way, I consider blogging a project ;), not procrastination.

This is just a small example of a reoccurring theme I am noticing more and more in other projects, for example in Exherbo. It’s the theme of self-organization from chaos. The less rules there are, the easier it is for people with similar goals to work together. The less strict those rules, that is when they are guidelines, and not absolute rules, the easier those guidelines are to enforce.

September 27, 2009 07:00 AM

eat your medicine

In a stronger effort to give applications the trial they deserve, I have uninstalled my old standbys.

paludis -uninstall vim; paludis -install diakonos gedit

I am looking for something between nano and vim with the suckless philosophy. * good: consistent keybindings for most of my apps * bad: feel less productive, especially missing ‘cw’ and ‘dw’ * ugly: missing exheres-syntax.vim

paludis --uninstall firefox; paludis --install chromium-bin

This was a much easier switch. * good: blazingly fast * more good: don’t miss any firefox features * good,good: greasemonkey scripts, google bookmarks integration * amazing: flash doesn’t stutter or crash!

The only problem was nss reporting all certificates as revoked, but that was a clock issue, fixed with the following commands:

echo "TZ=\"America\/New_York\" >> /etc/env.d/00basic
sudo eclectic env update
ntpdate tick.stonybrook.edu
hwclock --systohc # dual boot with bad OS means clock is set to local

It was actually chromium’s strictness denying access to sites with revoked certificates that forced me to fix my clock. FYI firefox doesn’t have this bug because they work around it.

September 27, 2009 07:00 AM

distrology

OSWatershed should grab the most popular projects in ohloh’s stacks and use that for distro freshness ratings. Its a great way to see what applications people care about. The next logical feature would be recommended a distro based on what applications have the latest versions available for a particular stack. If a script could be written to build an automatic stack (that would be edited later) this system could effectively replace projects like popcon, giving upstream and downstream a better understanding of what people use.

September 27, 2009 07:00 AM

random technology update

  • CK’s BFS patches apply cleanly to the nouveau tree. No idea if the desktop is more responsive or not.
  • More and more projects are moving away from traditional version numbers, going scm. This is good, but they should tag versions as stable more often (i’m looking at you, subtle).
  • Is there any way to remove ~/Desktop permanently and tell all xdg-aware apps to use ~/ as ~/Desktop?
  • OpenSSH setup on openWRT, will cover configuration in a separate post.
  • Interviewed Scott Shawcroft of OSWatershed.org . Maybe an exherbo scraper could be whipped up.

September 27, 2009 07:00 AM

openssh and openwrt

Success! Unrestricted, encrypted internet access from my laptop to a linksys wrt54g running openwrt. The OpenSSH documentation and irc channel bot were especially helpful - follow them for generating the keys, and use a configuration like the one below if you want all your internet traffic routed through a tunnel. The firewall.user I would not copy directly, since it is overly open. Since I have almost no clue to how IPTables works, any help on simplifying it would be appreciated.

client.conf:

client
dev tun
proto udp
pull # new for 2.1

remote fayth.ath.cx 1194
nobind

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/fayth.crt
key /etc/openvpn/keys/fayth.key
dh /etc/openvpn/keys/dh2048.pem

comp-lzo
verb 3

server.conf:

### connection
port 1194 
proto udp
dev tun
client-to-client

# security
user nobody
group nobody

### keys
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh2048.pem

### routing
server 10.8.0.0 255.255.255.0
### make sure to include def1
push "redirect-gateway def1"
push "dhcp-option DNS 10.8.0.1"

### logging
comp-lzo
keepalive 10 120
status /tmp/openvpn.status

/etc/firewall.user:

iptables -I FORWARD -j ACCEPT

### OpenVPN
iptables -A OUTPUT  -o tun+ -j ACCEPT
iptables -A INPUT   -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A FORWARD -o tun+ -j ACCEPT
iptables -I OUTPUT  -o tun+ -j ACCEPT
iptables -I INPUT   -i tun+ -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -o tun+ -j ACCEPT
iptables -I FORWARD -i tun+ -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -I POSTROUTING -o tun+ -j MASQUERADE

September 27, 2009 07:00 AM

September 24, 2009

Josef "Jeff" Sipek

PAPI - Getting at Hardware Performance Counters

Recently, I wanted to figure out whether or not an application I was analyzing was memory bound or not. While on this quest, I was introduced to Performance Application Programming Interface (PAPI).

There is a rather good HOWTO that shows step-by-step instructions on getting it all running on Debian. The text below is more or less just a short version of that HOWTO, with my thoughts interspersed.

PAPI is a library that hooks into the hardware performance counters, and presents them in a uniform way. Installation is rather simple if you pay attention to the installation instructions.

  1. Get the kernel source
  2. Get the perfctr tarball
  3. Extract the sources, and run the update-kernel script. I really mean this, if you try to be clever and apply the patch by hand, you'll have a broken source tree. (The script runs patch to fixup some existing kernel files, and then it copies a whole bunch of other files into kernel tree.)
  4. Configure, build, install, and reboot into the new kernel
  5. You can modprobe perfctr and see spew in dmesg

That's it for perfctr. Now PAPI itself...

  1. Get & extract the source
  2. ./configure, make, make fulltest, make install-all

That's it for PAPI. The make fulltest will run the tests. Chances are that they will all either pass or all fail. If they fail, then something is wrong (probably with perfctr). If they pass, then you are all set.

There are some examples in the src/examples directory. Those should get you started with using PAPI. It takes about 100 lines of C to get an arbitrary counter going.

Some other time, I'll talk more about PAPI, and how I used it in my experiments.

by JeffPC at September 24, 2009 11:45 PM

September 23, 2009

Josef "Jeff" Sipek

Imperial man shoots himself in the head while teaching firearm safety

Really, really stupid idea: drinking and teaching gun safety: Imperial man shoots himself in the head while teaching firearm safety.

Note: One of the big safety rules is to never point a gun at people/things you don't intend to shoot.

by JeffPC at September 23, 2009 05:22 PM

September 21, 2009

Wes

Happy 40th Unix

Great post about Unix and a little history lesson here.

by lipcpro at September 21, 2009 01:31 PM

September 20, 2009

Free Software Round Table

Episode 036: Sep 19, 2009

This episode is hosted by: Ilya (dotCOMmie) Sukhanov, Jonathan Dahan, Justin Seyster, Kupo, and engineered by Bobanero. We also had a special guest, Scott Shawcroft who started and continues to run the OS Watershed project.

The following topics were discussed:

  • Free Software Day [1]
  • BFS Scheduler [1]
  • OS Watershed, interview with Scott Shawcroft [1]
  • IBM employees switch Symphony from Microsoft Office [1]
  • Debian switches to upstart [1]
  • Linux kernel version 2.6.31 [1] [2]
  • RHEL, xen -- no, KVM yes [1]
  • Gimp single window mode [1] [2]

Download {enclose fsrt.20090919.mp3}

by fsrt@dotcommie.net (dotCOMmie) at September 20, 2009 04:01 PM

Episode 035: Aug 29, 2009

This episode is hosted by: Bill Burns, Chris Knadle, Ilya (dotCOMmie) Sukhanov, Jonathan Dahan, and engineered by Bobanero.

The following topics were discussed:

  • SCO wins a battel [1]
  • IBM Make inroads in SUN market [1]
  • Evading sensorship courtesy US govt [1]
  • Revelaing password to authorities (UK) [1]
  • Akonabi project [1]
  • KDE 4.3 [1]
  • Debian 2 year releace cycle [1]
  • OS Watershed [1]

Download {enclose fsrt.20090829.mp3}

by fsrt@dotcommie.net (dotCOMmie) at September 20, 2009 03:40 PM

September 16, 2009

Josef "Jeff" Sipek

Statistical Analysis of OkCupid Users' messages

Hehe, very amusing blog post titled: Online Dating Advice: Exactly What To Say In A First Message. It's actually made by the folks running OkCupid (I know one, and I suspect that he's behind this.)

Update: The person I know, admited to doing the statistics. He did real statistics that the blog post didn't really convey.

by JeffPC at September 16, 2009 02:18 AM

September 13, 2009

Josef "Jeff" Sipek

Think!

Alright, it ain't rocket science. When you are trying to decide which filesystem to use, and you see a 7 year old article which talks about people having problems with the fs on Red Hat 7.x (running 2.4.18 kernels), are you going to assume that nothing changed? What if all the developers tell you that things changed? Are you still going to believe the slashdot article? Grrr... No one is forcing you to use this filesystem, so if you believe a 7-year old /. article, then go away and don't waste the developers' & others' time.

by JeffPC at September 13, 2009 10:02 PM

Haskell Kernel Modules

Insanity! Someone has made it possible to write kernel modules in Haskell. (FYI, Haskell is a functional language with very strong typing.) Currently, they support only x86, but I wouldn't be surprised if some other architectures got a port soonish.

by JeffPC at September 13, 2009 05:57 PM

September 10, 2009

Josef "Jeff" Sipek

IBM Fellows

Today was the second day of classes. During the first lecture for one of the courses I'm taking, the professor did a brief history of the field - starting in 1930's, and ending in 1970's. I couldn't help but notice that he named about 10 people, out of which at least 3 were IBM fellows. *grin*

by JeffPC at September 10, 2009 03:59 AM

AGM @ Trinity

This past week, Trinity Church (previous post) hosted the AGM. As a result, the NY Times wrote an article about the event and change ringing.

Neat, I just found out that the ringers at Trinity have a new website.

by JeffPC at September 10, 2009 03:54 AM

September 07, 2009

Josef "Jeff" Sipek

Star Trek: The Exhibition

Yesterday, with a group of other people, I went to the Star Trek Exhibition at the Detroit Science Center.

Unforunately, photography is not allowed so if you want to see what it sort of looked like, you'll have to look at the official slideshow.

It was really nice to walk around the bridge of the Enterprise - N C C one seven O one; no bloody A, B, C, or D.

We got a group photo (paid one of course) of the whole bunch of us on the bridge, I might post it when I get a copy of it.

There were plenty of items from all the different series as well as movies - including phasers, tricorders, costumes, ship models, etc., etc.

They had a transporter room (TNG-style), as well as the Guardian (from TOS: The City on the Edge of Forever). We got a group photo with the Guardian as well, I might post it when I get a copy.

Afterwards, we went to see the latest movie in the IMAX they have there. I saw the movie once already (back in May, I think) which was good as some scenes were really hard to follow on such a large screen (e.g., the bar-fight scene).

Overall, it was fun, and if you happen to be near Detroit or Philadelphia you should go and see it before it's over.

by JeffPC at September 07, 2009 01:53 AM

September 05, 2009

Jonathan Dahan

licensing

I started hacking on code that I want to publish soon, so I read enough to get a simple introduction to the various free software licences. The GPL v2 and v3 and apache licenses all seemed needlessly complicated. The MIT and BSD licences were nice and short, and very similar. Someone else noticed the similarities and merged those two to the ISC license, which is what I am settling for now. It is very permissible (aka not copyleft).

The choice was influenced by The Failure of the GPL, which examines a particular case which looked like a win for the GPL but in the author’s opinion was not. My inner pragmatist and idealist were arguing over copyleft, but changes in how I act ( favoring simplicity and faith in the natural order of things) meant the idealist won. One downside to the ISC is that it does not enforce anyone using my code to show me any improvements they make on it. The other downside is that it falls under the OSI category of ’Licenses that are redundant with more popular licenses’, but it’s so simple that if anyone wanted to use my code could do so easily.

September 05, 2009 07:00 AM

August 31, 2009

Josef "Jeff" Sipek

Count, Compare, Skip

I just remembered a fun fact about the Apollo Guidance Computer (AGC).

A few years ago, I was tinkering with emulating one. It kind of worked, but that's not important.

The AGC was an accumulator architecture, with 15-bit words (the accumulator (A) and few other "registers" were 16 bits), and 1's complement arithmetic.

Now, the fun fact. There was an instruction called 'CCS'. It took an address, loaded the accumulator with the value at the address, and then performed a 4-way branch. The easiest way to explain it is with a some code that demonstrates what happened with some C-style pseudocode (A = accumulator, Z = program counter):

Z = Z + 1;
A = mem[operand];

switch(A) {
        case POSITIVE:
        	A = A - 1;
        	/* Z is already incremented */
        	break;
        case POS_ZERO:
        	/* A is already a zero */
        	Z = Z + 1;
        	break;
        case NEGATIVE:
        	A = (~A) - 1;
        	Z = Z + 2;
        	break;
        case NEG_ZERO:
        	/* A is already a zero */
        	Z = Z + 3;
        	break;
}

So, in a program, you could see something like:

CCS addr1
TC  addr2
TC  addr3
TC  addr4
TC  addr5

So, data from addr1 was loaded, and then one of the TC instructions (TC = Transfer Control = a branch instruction) was jumped to depending on the value, then when the TC got executed, it unconditionally branched to some other address.

Of course, you didn't have to use TC, you could use any valid instruction and CCS would happily jump to it.

My understanding is that sometimes when CCS was used, some of the 4 possible targets were impossible. Not to waste memory, a committee was organized to keep track of these holes, and fill them in with useful constants.

by JeffPC at August 31, 2009 04:20 AM