Wednesday, December 26

Busy end of year!

It's been a CRAZY couple of weeks! Pressing demands at the day job, ongoing work with Change Round-Up.

I took the past several days, however, to take a mental break. Sure, to some people, that means not writing code, maybe not even staring at a screen. For me, that meant exploring new technologies and environments, and knocking out the building blocks of a new open source .NET project.

In the past four days I have written what I believe to be the first .NET client for Pownce, and integrated its status-posting capabilities with Twitter as well. I've explored Python via IDLE on my Vista machine, and within Eclipse via PyDev on my Ubuntu desktop. I finally installed TortoiseSVN (necessary in order to interact with my PownceNET project on Google Code).

Busy few weeks, even busier few days! But fun and rewarding. Looking forward to more of the same in 2008.

PownceNET

I've published the Pownce API .NET client source code. It's available courtesy of Google Code at:

PownceNET

Very much a work in progress.

Tuesday, December 25

Flipowitter - a .NET Twitter and Pownce API Client

Flipowitter: alpha stages of a simple Windows Pownce-Twitter+ client. Current version simply posts a note to either Pownce or Twitter, or both in sync. (Will post to whichever service has credentials provided.)

Plan to add Flickr, Picasa, Facebook, LinkedIn? tie-ins.

No, I'm not publishing source just yet, I have a bit more work to do, but the assemblies are service-oriented, and can be used to authenticate to Pownce or post a note from any .NET client.

Flipowitter 0.1

As far as I'm currently aware, this is the first public .NET client for Pownce ...

Wednesday, December 19

A New Language for a New Year

I've been a Microsoftie for years.

I don't worship at the altar of Microsoft, but as a pragmatic programmer and entrepreneur, I've utilized the tools most accessible to me to advance my art and my career.

I've run Linux -- RedHat 6, 7 servers, VectorLinux as a firewall/router box, Ubuntu on a desktop, Xandros on my Eee PC. I wrote multi-threaded networked Java applications (albeit fairly simple ones) before I ever wrote a line of C#.

All that said, I'm a Microsoftie. I run Vista x64 on my notebook, XP x32 dual booting with that Ubuntu desktop, 2003 x64 as my fileserver. I work as a .NET engineer for a fairly large corporation that is transitioning from a mainframe architecture to a mostly .NET, WinForm and web apps supported by a service oriented architecture. I also work for a startup that is centered around an ASP.NET website and a webservice API. I write C# day in and day out.

There's nothing wrong with C#. It certainly pays my bills, and the technology moves fast enough to keep me somewhat entertained. (Wish I had more opportunities to work on mobile devices; I'd really like to nail an MVP, after my unrequited nomination earlier this year.) My perspective, however, has become somewhat hampered by tunnel vision.

So one of my resolutions for 2008: learn a new non-Microsoft language. Maybe more than one. The candidates are Python (which of course has IronPython crossover), Ruby (also with .NET crossover), Erlang (which has some support for being compiled for .NET) or Haskell (which also has a .NET complement I believe).

I'm thinking Haskell ... coming from a web and BASIC background, I need something concurrency-oriented to really smoke my noggin.

Input appreciated.


Edit: and while I'm at it, I need to learn a foreign language. Thinking Chinese. China is certainly a large and growing influence in the world. I have two co-workers who immigrated from China in the past decade. My dad does a lot of business in China.

Chinese it is.

Friday, December 14

Wow, Merry Christmas

Scumbags!

Kaspersky AV choking machines

Kaspersky forum thread

My Vista notebook, running 64 bit Business, sucked it up and is running strong.

Now, if only Firefox 2.0.0.11 didn't freeze every 20 minutes ...

I need a logo

craigslist ad

I'm in need of a logo for my software consulting company. Details available in the listing linked above.

Thursday, December 13

Time for a New NUnit

It’s the Tests » Blog Archive » Time for a New NUnit

Charlie Poole announces the new NUnit 3.0 Extended Testing Platform, expected in alpha in early 08.

pastebin - collaborative debugging tool

pastebin - collaborative debugging tool

On the DotNetDevelopment mailing list we often bitch about the lack of ability to post formatted code. One member made the effort to create a wiki for this purpose, but it never really caught on.

Today, in the midst of making fun of code-beggars in an older Java thread elsewhere on the web, we discovered pastebin.com.

1000% pure awesome!

WeatherBonk -- rockin' Google Maps and realtime weather data mashup

Excellent weather mashup courtesy of WeatherBonk

Richly-featured, with optionally-animated realtime radar, cloud and temp overlays. Ties in with local taffic cams, offers a weather blog by metropolitan area.

I was just on the verge of giving a paid weather.com account a try ... but no more!

Happy mashing!

Saturday, December 8

Microsoft publishes detailed Vista SP1 changelog

Microsoft publishes detailed Vista SP1 changelog

FINALLY! A detailed changelog for Vista SP1. I'm looking forward to a lot of inconvenience being eliminated. Vista is usable -- I've been working in 32 bit since March, 64 bit for two+ months -- but there are certainly nagging performance and reliability issues I could do without.

A quick glance doesn't show me anything re: 2003 domain-joining issues ... I hope MS isn't relying on people to go 2008, and avoiding the Vista-2003 issue entirely :-/

Full support for the latest 802.11n draft ... perhaps my Dell-Linksys DHCP and occasional wireless drop issues will go away?

Lots of network fileshare/transfer improvements -- about time!

Sunday, December 2

Utterz - Not the first of its kind

So I gave in to one of the new services making its round through the Twitter crowd, Utterz. Utterz allows you to phone in a quick message ... I think they tie in other media too, not sure yet.

Interesting little toy service. Not sure how much value it has, but I'll play with it. I'm pretty sure there are other services out there already doing similar things.

My first inane Utterz

Caffeinated soap

A friend pointed this out to me this morning, a little caffeine by osmosis by way of morning shower:




"Tired of waking up and having to wait for your morning coffee to brew? Are you one of those groggy early morning types that just needs that extra kick? Know any programmers who don't regularly bathe and need some special motivation? Introducing Caffeinated Soap, the caffeinated soap from Xoxide...

Engraved with a glorious "C" for Caffeine, scented with peppermint oil and infused with caffeine anhydrous, each caffeine soap bar contains approximately 15 servings per bar with 250 milligrams of caffeine per serving. No, we're not kidding and no you don't eat it. The caffeinated soap is absorbed through the skin...

Warning: Not recomended for children, pregnant women or persons sensitive to caffeine"

7A vs 7B Eee PCs :)

There has been some question over what Eee PCs ship with the internal Mini PCIe connector. It's been determined there are 7A and 7B machines -- the first two digits of the serial number.

7A models have the connector, 7B models do not.

Rushing over to unplug my Eee PC from the wall, I flip it over to discover ...

7A :)
eeeuser.com news

Friday, November 23

Eee PC update

VNC seems to suck.

Not from the client side -- that seems OK, screen size aside.

Trying to connect using krfb (available with the advanced mode KDE desktop) or x11vnc as the server is a complete DRAG! Local response is quick, as viewable on the screen of the Eee itself, but the client machine (in this case a Vista x64 dual core machine that connects to my Ubuntu desktop all the time, no problem) takes ridonkulously long periods of time to refresh any, much less all, parts of the screen.

That's a bit rough. Maybe I'm doing something wrong ... I'll have to investigate further. Also to keep in mind is the fact that the Eee is on an 802.11g connection ... the Vista machine 802.11n ... and the Ubuntu desktop on gigabit ...

Having got my Smartphone back online finally, I played with getting it paired with the Eee for Internet access. I have AT&T ... EDGE sucks. EDGE really, really sucks ... but it's better than nothing, in a tight spot.

Bluetooth on the Eee isn't exactly straightforward, but the second round of instructions, the set by ericmoritz, available in this thread on the Eee user forums makes the process itself pretty simple.

8125 reROM'd

Got my Cingular 8125 (HTC Wizard) back up and running after 3? 4? weeks with no cell phone. Threw on the Thanksgiving-timed release of the 4th version of XDA Windows Mobile 6 for the Wizard. So far, so good. Pretty slick install; much nicer than the r1 or r2 release I'd had on there for six months or so. Thinking I may need to buy a new battery, possibly an extended life battery. Those seem to come with their own back cover to fit the larger battery ... I wonder if it still fits the leather holster?

Wednesday, November 21

Got the Eee PC

And it's awesome.

Wait, you mean you want detail?

Tiny, but sturdy. Quiet. Solid. Screen looks great. Speakers are tinny, but impressively loud. Probably ok as a music device at the office ... if only all my music wasn't DRM'd.

Fast boot. Speedy response. Super easy wireless setup. Recognized my Logitech V220 mouse immediately -- no fuss, no muss. No touchpad issues while unplugged, at least not so far.

I'd originally ordered this for Mom, but then got a deal on a Dell with 15.4" monitor a day or two ago. However, Mom still wants to see the Eee PC -- I think I'd better watch out, or I'm going to end up with no Eee PC, and a Dell notebook I don't need.

Tuesday, November 20

Eee PC

My Asus Eee PC should arrive today.

Yes, MY asus Eee PC. Originally I'd ordered it for Mom, as I'd grown impatient of waiting on a deal on a decent notebook from Dell. Of course, 3 days after I order the Eee, Dell emails me a promotion for a near-perfect Mom-notebook. So, Mom's getting a Vostro 1000, beefed up with 2GB of RAM for Vista, and I'm getting the Eee PC.

For those unfamiliar with the Eee PC:

Asus's Eee PC site

Black Eee PC from Newegg

Eee User site

I snagged one of the Black Eees from Newegg last week, it should arrive today. I've been spending quite a bit of time on the Eee user site, reading news, checking out the growing wiki, trying to keep up with fast-paced forum discussions of the growing list of mods, hacks and tricks.

Online backup services

OK, I finally have enough critical and/or valuable and/or hard-to-replace data on my home network that I need to consider offsite backup. I have the free 10GB service from Dell with my recent notebook purchase, I think I'll have to give that a look. I've also read good things about Carbonite.

At the moment, however, I'm most interested in S3 Backup, currently in free beta, which uses Amazon's S3 redundant, distributed storage backend. The rates for S3 itself are pretty reasonable; rates for S3 Backup when it goes commercial remain to be seen.

S3 Backup

Anyone have any experiences to share with online backup -- good, bad or life-changing?

eMail Our Military

I'd like to point my non-existent readers to an excellent cause: eMail Our Military.



With security these days, it's not always easy to send mail to Any Service Member. I think eMOM is a great way to support our troops.

Thursday, October 25

To the cleaning crew

Let’s play a game: can YOU spot the hidden cameras?

Please don’t take my sodas, my teas or my Vitamin Waters. These are paid for out of my own pocket. Davis Vision does not buy these items. BBL does not buy these items. My boss does not buy these items. I buy these items, and I would appreciate you respecting them, and me.

Furthermore, I’d also like to ask that you not take my empty cans, stacked so neatly in boxes, for me to return to the store. I don’t care about the $1.20 in cans you took, but I DO care about the fact that you’ve violated my personal space and trust. Space we entrust you in every time you come to clean. Trust I’m forced to give you by virtue of this office space arrangement.

So please be aware: this area is now under surveillance by several networked cameras. These cameras feed back to a machine that posts the images online regularly. I have absolutely no problem providing images of any future thefts to your employers.

Thank you for your consideration in this matter. I hope it’s not one we’ll have to visit again.

Wednesday, September 12

My grandmother passed

About an hour ago. She'd been in increasingly ill health, and I just learned she'd been admitted to the hospital yesterday with congestive health failure. She was in her 90s.

My parents were going down to Binghamton to see her Saturday, I was thinking of joining them. Unfortunately, it now looks like the purpose for our trip on Saturday will be a funeral.

I last saw "Grandma B" about two or three month ago. She had taken a fall of some sort at the nursing home, and looked, to be honest, horrible. Teeth missing, half her face bruised.

But that visit, she turned out to be the most like the grandmother I remembered, in years. Every new person who showed up at her room, she had a new story about the bruises ... she'd been fighting with her husband (grandpa died years ago) ... she'd gotten into a fight at a bar (she didn't drink) ... she'd been in a boxing match (yeah right) ...

And it wasn't the dementia. It was Grandma B, back to her old self, if only briefly, teasing her son, her grandsons, poking fun. She railed on my dad, making fun of him for various things ... on one of my brothers, for not having been to see her in some time. Some seriousness to what she was saying, but lightness and humor too. Good old Grandma :)

We all knew this was coming ... but I wish I'd had one last chance to see her.


edit: Thanks all for the kind words and condolences coming in over Twitter, AIM, Pownce, email and phone. Your thoughts are appreciated.

Friday, August 31

Credit card number compromised

Used, among other things, to register yeudienanh.net, using my name and the following email address:

o0o_yeudienanh_o0o@yahoo.com

They used Yahoo! Small Business Services. Yahoo! quickly cancelled the charge and account, and are in the process of refunding the $50-ish charge.

This makes a total of nearly $250 in 4 fraudulent charges in the past 90 days. The card is now cancelled, investigation ongoing into the older charges. I'm not surprised it happened ... just surprised it didn't happen sooner. 90% of my shopping is done online.

Life-vomit has not yet made headlines

Or even Google for that matter. Not feeling the Web 2.0 love.

Thursday, August 30

Life-vomit

to blog or microblog in a fashion completely uninteresting to those around you, or in your netwok, often in an overly-revealing, stream-of-consciousness fashion.

That d-bag life-vomits complete juvenile nonsense on Pownce.

Yep, my phrase. Born in Pownce. Been Twittered. Been blogged.

Urbandictionary'd it too.

OK, I think I've peed all over that hydrant. Time for freakin' bed!

Wednesday, August 22

scriptingnews mention

CRAZY busy month!

Almost missed getting mentioned in Dave Winer's Scripting News blog last week:

scripting.wordpress.com

Sunday, July 29

Windows Mobile 6

My HTC Wizard (Cingular 8125) is now proudly sporting a Windows Mobile 6.0 ROM, plus a few other toys.

The awesomeness is breathtaking. I'm still playing with all the new features. I'll provide further detail here in a day or three.

Tuesday, July 24

What the fark? I've been dehumanized.



I was 10 or 11 pages deep into some search results, when apparently Google decided I was a bot.

Thursday, July 19

Death to piss-poor DALs!

Just slayed the beast of a well-intended but poorly-implemented Data Access Layer (DAL). A few months back I picked up this project -- a website with a simple webservice API, simple reporting functionality, etc. etc. The original website was outsourced to a company, who in turn outsourced it to Belarus.

Apparently they don't believe in YAGNI (Ya Ain't Gonna Need It) in Belarus. The object oriented (OO) architecture is heavily over-engineered: singletons and factories everywhere (nothing wrong with them, just a little unnecessary) and a weeeeird data access class that is NOT designed for use in ASP.NET.

Desktop apps, maybe, but not web -- it uses a single static instance of a connection for the entire life of the application defeating IIS's connection pooling. If connectivity to the DB server is ever lost for the life of the application, the connection is toast until the application is restarted.

Retarded? Yep. And at first I thought I could swap the DAL out in one fell swoop, only to discover weirdness with a third party data grid they had been using -- rather than just populate these display-only grids with a lightweight SqlDataReader, they are filling a SqlDataAdapter, then grabbing its DefaultView, which then becomes the DataSource for the "SimpleGrid" datagrid.

Simple my ass. Simply retarded.

Tuesday, July 17

Flame on!

One of the many mailing lists I'm on is the Test-Driven Development (TDD) list. This list has some big name subscribers, including Ron Jeffries, author, practitioner, well known for Agile/XP.

Someone posed a question of the list regarding the use of Generics, and how well a generic collection conveys intent, versus deriving a non-generic collection to handle the object type in question. In this discussion, the original poster (OP) mentioned he's enumerating the collection -- because it's "prettier" than iterating it. Reading through this on Sunday morning, I replied, letting the OP know that if the List is of any real length, you're better off iterating it -- you get a 5%+ performance gain over enumeration.

Ron Jeffries and 2 other list-subscribers then jump in, demanding "proof," "test results," questioning my programming capabilities, questioning my use of various techniques, telling me that the "bozo bit ought to be flipped" because apparently my argument didn't make sense to at least one of these guys.

Hey guys -- hello -- not here to have a fight. Not here to win a debate, not here to prove a point -- I was simply offering a bit of advice gleaned from my own .NET experience.

The list erupted in idiocy and assclownery. I ignored it for almost two days -- a tactic that proved surprisingly effective, as a couple people backed up my original position. I stopped back in this morning to point out that enumeration produces 120% as much IL as iteration, including a try/finally block. Granted length of IL alone isn't guaranteed to be a performance indicator, different operations may have different costs, but it's a pretty good indicator.

All that said -- my respect for Ron Jeffries has evaporated. At one point in the thread, he made the comment, (paraphrasing) "I can write a collection that takes longer to iterate than enumerate." Hey Ron, that's fantastic buddy -- anyone with half a clue can write something that performs poorly, on purpose. The point of the matter however was generic Lists, not some RonJeffriesSpecialObjectCollection.

I have crossed Ron's name off my copy of the Agile Manfifesto in thick, black marker.

Pure, unadulterated awesomeness

Monday, July 16

Vampires among us

There are vampires among us. No, they don't drain us of our blood, but they do drain us of life. They are the people in our lives who constantly expect to be able to lean on us, without ever being there to be leaned on back. They are the people in our lives who don't bother to have a concern beyond their own immediate, short-term satisfaction, thereby typically ignoring any concerns or issues that might affect those around them. They are the people who take, take, take, and never, never give. What the hell is wrong with these people? I for one don't wake up thinking that everything in my life is going to be OK regardless of my own lack of effort, expecting that someone else will always be there to handle it ... am I the odd man out?

Saturday, July 14

bamboo Dog Toys

I am constantly hunting for toys that my dog can't destroy in mere minutes or hours. I recently discovered bamboo dog toys which go by the assurance, "Battle Tested."

I had high hopes for the Combat Extreme Toss 'n' Pull:



When it arrived, my first assessment was good -- the tennis ball might be flakey, but the toy itself is heavy duty nylon, the kind of stuff you find in sporting and hiking goods. My dog proved too much for the toy, however.

A ~2 year old Lab/Shepherd mix who loves to chew, he has jaws of steel -- in under ten minutes, the tennis ball was shredded. In under an hour, he had managed to puncture the nylon, poly fill flying everywhere. The seam near the rope started to burst not long after. Since that day, I have to say though, no new punctures have been added, nor has the original puncture been extended as much as I would have thought. Poly fill continues to appear round my home however.

Still hunting the everlasting doggie gobstopper, I turned again to bamboo, and their Combat Big Kahuna:



My dog has a history of destroying the squeaker in any squeaky toy. The Big Kahuna is no exception -- I think the squeakiness went away within the first 24 hours. More happily, however, my dog has not managed to puncture this toy -- no poly fill mess to clean up.

The dog loves both toys, so I suppose they were worth the money, but I'd rather keep my dog happy without a mess ... and if anyone can point me in the direction of heavy duty squeak toys that actually LAST, please do! I've been through a number of types and brands, with mixed results at best.

Thursday, July 12

Pownce

Pownce pwns me.

Back in March, I signed up for Twitter after months of hearing about it ... and have hardly touched it.

I got an invite for Pownce after hearing about it on digg for a couple weeks ... and have hardly been anywhere else on the web in the three days since. digg? Sure, I stop in, once or twice a day -- instead of thrice an hour. Local news, national news, tech news, just about everything I refresh regularly has been cut waaaaaaaaaaaaaaay back.

What is Pownce? It's definitely a social network ... microblogging oriented ... some aspects of presence management or indication perhaps ... easy file sharing (post videos, pics, MP3s, etc. etc. on your blog, no HTML required, no external host required) ... interesting threading of conversations -- blog-like, forum-like, IM-like, all rolled into one.

I'm currently out of invites, and have a waiting list for fresh invites, but if you're interested, drop a line, I'll add you to the list.

REMOVED

REMOVED

Friday, July 6

Who knew? Uncle Sam from Troy, NY

Apparently the ubiquitous Uncle Sam figure of US mythology actually originated in Troy, NY during the war of 1812.

Thursday, July 5

Ron Paul iPhone nonsense

OK, I'm not even sure Ron Paul has any significance in the REAL (read: non-Web 2.0) world ... but crap almighty, if his site isn't proudly and prominently displaying what has to be one of the LAMEST efforts I've ever seen for someone outside Apple to hop on the iBandwagon:

http://www.ronpaul2008.com/iphone

Wednesday, June 20

Get with it Microsoft

Whoever's running Microsoft's Certification web developers needs to push some content refresh knowledge their way:

"The Microsoft Certified Application Developer (MCAD) credential provides industry recognition for professional developers who build powerful applications using Microsoft Visual Studio .NET and Web services on the Microsoft .NET Framework 1.0 and Microsoft .NET Framework 1.1."

1.1? 1.1!? This IS 2007, right? forehead->wall

Tuesday, June 19

Funniest thing I've read in a while

In an article by The Register, the F-22 Raptor is described as potentially serving as a high-capacity battlefield WiFi provider, thanks to its 548 mbit/s data transmission and 1 gigabit/s reception capacity.

A fellow cynical Reg reader comments:

"Hello F22 pliot,

my name is Barrister Macaulay Kava, I connected to your F22 Hotspot with my WinXP laptop when I saw you fly over Lagos.

Would you be intersted in a business proposal....."

Sunday, May 27

Flip Bits Not Burgers - a take on life in software engineering

I've blogged off and on over the years ... LiveJournal, a friend's startup, SparkPod ... probably a few other places I've forgot about. For a couple years now, I've planned to add blogging functionality to my personal site, and somehow never seem to get around to it. For now, I'm taking advantage of Google's free blogging service, www.blogger.com.

I'm not sure what all I'll be posting here yet, nor how frequently, but keep an eye out, I guarantee a family-sized serving of sarcasm, tinged with cynicism born of the last ten years spent in the software engineering field.