
In honor of the second annual YellowDay, I have skinned my twitter pageyellow. :-)
Christopher ByrneandAndre Guirardboth wrote about the first step on the moon, 40 years ago today.
Today Midsummer is celebrated in Sweden, as well as in several other Nordic/Germanic countries. It is an old pagan holiday, and the only one (at least in Sweden) not hijacked by christianity, despite attempts.
Midsummer celebrates the summer solstice, the shortest night of the year. It actually takes place on June 21, but Midsummer is celebrated on the Friday closes to it, in order to give people a three day weekend.
The traditions in Sweden are that you raise a midsummer pole (sometimes called May pole), usually covered in leaves and flowers. You dance around it, for example the popular "frog dance" (YouTube video here), then eat pickled herring (different varieties) with cooked potatoes and sour cream, bread, cheese, beer and akvavit.
Glad Midsommar!
Not sure how much I trust this survey, but it is interesting. :-)
While computer nerds are obviously good at IT, what we didn’t realise is that they’re good at "it" too.
An anonymous study of 2,000 British men and women from PS3PriceCompare.co.uk concluded that out of all jobs, computer geeks make the best lovers.
Source: http://www.thesun.co.uk/sol/homepage/features/article2439786.ece
Yesterday something happened that never happened to me before.
I have always been laughing at people who drop their phones in the toilet. I been using cell phones since about 1993, and yesterday it happened to me for the first time. I had been at the pool, had some sunscreen left on my hands, walked into the bathroom to do something while I checked my mail, and the phone slipped, and plopped down in the toilet which conveniently had the lid up. Yes, I am a male, and living alone…
In about 3 seconds I had the phone up again (probably some of the longest 3 seconds in my life). I quickly dried off the excess water and pulled the battery, probably within 5-6 seconds. Took out the SIM card, MicroSD menory card and used some compressed air to clean it out as much as I could. I then put the open phone on top of my Antec Nine Hundred case (highly recommended, by the way!) with a big 200mm exhaust fan which is sending warm air out of the case. I left it there overnight to dry out.
This morning I put the battery in and the phone started up fine! The screen have some discoloration where water got in between the glass and the LCD display, but for now I can live with that. I have insurance thorugh AT&T, but the Blackberry Bold have a $125 dollar deductible.
I still have not tried everything, like taking pictures, but the phone is charging fine, phone calls and text messages work, etc. Honestly I am amazed that it survived at all.
I just read Devin’s posting about his scare last Thursday.
I also have a history of heart issues in my family, both my parents died from it, even if I suspect my mom got a blood clot after she had leg surgery… But the official papers say heart attack.
I was always a big guy, and about 8-10 years ago it was pretty bad. I never checked my weight back then, except for at some rare visit at the doctor. I remember once the scale ringing up at 275 lbs and 6’0". I had just moved to the US at that time, and still had some problems grasping lbs vs kg. So I guess it did not really register with me how big I actually was.
In late 2002, around Christmas, I stopped drinking regular sodas and switched to diet sodas. Some time in February or March I had dropped to 260 lbs, and over the next few months I lost another 15-20 lbs. All without much exercise, just some small changes in my eating habits. Well, in addition I also was going through some marital problems and in the summer of the same year a divorce. Broken heart can be a good (if not fun!) way to lose weight…
I been steadily working on small changes in my life. Adding more exercise, tweaking what I eat, finding good but healthy as well as filling food both at the grocery store and fast food places and restaurants.
I am right now at 215 lbs, for the last 8-9 months I been up and down between 212 and 225, but mostly in the lower range of that. I am not going to stress about it, the weight took years to pack on, and it will take a while to get off.
I just turned 40 in March, and I am right now at the same weight as when I left the Swedish Air Force at age 22. I am actually probably in slightly better shape now than back then (I was mainly driving trucks and heavy equipment in the Air Force). My goal is to get below 200 lbs, which is about what I was when I graduated High School. My dream is to hit 190, though.
It is hard to stay in shape when you have a job sitting on front of a computer all day, and sometimes night. On top of that, I am lazy.
I now try to go to the gym several times each week, and working out with a trainer at least once a week.
But the biggest effect om my weight is how and what I eat. I foound so many good to eat that I can’t really come up with any excuses not to eat healthy most of the time. I am not a picky eater, so that makes things easier, of course. The other day I had a sliced avocado, a can of drained tuna in water and two hard-boiled eggs for lunch. Excellent, very tasty. Sdding some black pepper on the tuna and avocado, and a dash of salt on the eggs made it even better. I boil half a dozen eggs every few days and put them in the fridge. A sliced egg or two on a piece of bread (especially Wasa crispbread) with some caviar on top) is a great and filling breakfast. Works for lunch too.
What I am trying to say is to make small changes you can live with. One step at a time.
It has been a while since I did some blogging, but I been recharging some this last weekend and I will try to get back into a somewhat regular schedule.
Before I start, I would like to point out a function I would love to see in Lotus Connections, where this blog runs. I don’t think it is something only useful for Bleedyellow.com, but for all Connections users. The function? To allow anonymous (or at least non-validated/logged in) users to comment.
Could be a setting on a per-blog basis. I don’t think it is unthinkable that a company get Lotus Connections and use it both for internal/closed blogging, and for some external blogs as well, where they want to allow feedback form the public.
OK, now on to other stuff. I been reading for a while about all the benefits of the compression in Domino 8.0.1 and 8.5, as well as DAOS. So of course, having several huge databases, I got very excited. The claim system I wrote is split over a couple of databases. The main one is currently 6,930 MB (including view indexes) with 1,4 million documents, and the biggest supporting one is 7,363 MB with almost 1,8 million documents (about 1400 new ones created each business day). The view indexes are fairly large, over a GB on the first database for example.
Our Domino administrator did some testing on a Domino 8.5 server he setup, but he did not see any space savings at all on the claim system. I believe that the database size even increased a few MB. He then turned on the new attachment compression, and got a 1.5% savings, or something to that effect.
He will soon try the same with his mailfile and see if he get a better result. When I get the final numbers, I will post them here.
So why are we not getting any 20-40% savings others report? Well, for one thing, the documents contain very little rich text data. Almost all fields are plain text fields, and the few rich text fields are used for comments and usually not populated with much data, if any. There are also not a large number of attachments. They are all stored outside Domino, using an FTP upload/download system I designed many years ago. In some of the main documents there is one attachment (usually a PDF of a loss report), but in many of them, the users also use the attachment functionality to put the attachment on the FTP server.
So if your database does not contain large rich text fields and attachments, it seems like the compression will not do much good. However, for mail files or other similar applications, the savings seems to be substantial.
Recently my boss asked me to come up with a way to show certain information on a map of some kind, and after doing some research I decided to simply create a KML file and use Google Earth. In order to create the KML file, I needed latitude and longitude of each address I was going to display. I found a couple of different free services, and I decided to use the one from Google.
The Google Geocode service is using a REST API, so it was easy to write some code to send address and retrieve XML with (among other things) latitude and longitude. An additional benefit is that the address get check and modified, so if the ZIP is off, or the name of the street is not “Street” but “Drive”, the correct values get returned.
You need tosign up to get your own key from Google, but it is free.
Today I decided to write a small class to do this lookup, so now I can add this to any program I write. Below is the code for the script library, as well as a small code sample how to call it. Enjoy!
Update: I have updated the code below to the latest version, as of March 5, 2013.
Dim geodata As GeoData Set geodata = New GeoData("6363 North State Highway 161", "Irving", "tx", "") If geodata.IsValid Then Msgbox geodata.Street & Chr$(13) & geodata.City & ", " & geodata.State & " " & geodata.ZIP,, _ "Accuracy = " & geodata.AccuracyMsgbox "Lat: " & geodata.Latitude & " Longitude: " & geodata.Longitude End If
And here is the class, I suggest to put it in a script library.
Option Public Option Declare Class GeoData Private GeoString As String Public street As String Public city As String Public zip As String Public state As String Public latitude As String Public longitude As String Public errmsg As String Public warnmsg As String Public Sub New(streetStr As String, cityStr As String, stateStr As String, zipStr As String) Dim httpObject As Variant Dim mapsKey As String Dim mapsURL As String Dim address As String Dim retries As Integer Dim httpURL As String Dim returncode As String Dim coordinates As String Dim ret As Integer Dim xmladdress As String Dim addarray As Variant Dim success As Integer retries = 0 errmsg = "" warnmsg = "" '*** Use Win32 COM object to do HTTP calls Set httpObject = CreateObject("MSXML2.ServerXMLHTTP") mapsKey = "" mapsUrl = "http://maps.google.com/maps/geo?q=" address = streetStr & ", " & cityStr & ", " & stateStr & " " & zipStr httpURL = mapsURL & address & "&output=xml" success = False Do '*** After the two first calls, introduce a 1 second delay between calls If retries>1 Then Sleep 1 End If retries = retries + 1 Call httpObject.open("GET", httpURL, False) Call httpObject.send() GeoString = Left$(httpObject.responseText,16000) returncode = GetGeoValue("code") If returncode = "200" Then success = True errmsg = "" ElseIf returncode = "500" Then errmsg ="[Google GeoCode Error " & returncode & "] - " _ "A geocoding or directions request could not be successfully processed, " _ "yet the exact reason for the failure is unknown." latitude = "" longitude = "" street = streetStr zip = zipStr city = cityStr state = stateStr success = True ElseIf returncode = "601" Then errmsg ="[Google GeoCode Error " & returncode & "] - An empty address was specified." latitude = "" longitude = "" street = streetStr zip = zipStr city = cityStr state = stateStr success = True ElseIf returncode = "602" Then errmsg ="[Google GeoCode Error " & returncode & "] - " _ "No corresponding geographic location could be found for the specified address, " _ "possibly because the address is relatively new, or because it may be incorrect." latitude = "" longitude = "" street = streetStr zip = zipStr city = cityStr state = stateStr success = True ElseIf returncode = "603" Then errmsg ="[Google GeoCode Error " & returncode & "] - " _ "The geocode for the given address or the route for the given directions query " _ "cannot be returned due to legal or contractual reasons." latitude = "" longitude = "" street = streetStr zip = zipStr city = cityStr state = stateStr success = True ElseIf returncode = "610" Then errmsg ="[Google GeoCode Error " & returncode & "] - The given key is either " _ "invalid or does not match the domain for which it was given." latitude = "" longitude = "" street = streetStr zip = zipStr city = cityStr state = stateStr success = True ElseIf returncode = "620" Then errmsg ="[Google GeoCode Error " & returncode & "] - The given key has gone over the requests " _ "limit in the 24 hour period or has submitted too many requests in too short a period of time." latitude = "" longitude = "" street = streetStr zip = zipStr city = cityStr state = stateStr success = True ElseIf retries >= 10 Then errmsg ="[Google GeoCode Error " & returncode & "] - " _ "The geocoding function timed out." & Chr$(13) & _ "This usually indicate a problem with the internet connection or the geocode server, " & _ "or that the suite number is on the first address line, confusing the server." latitude = "" longitude = "" street = streetStr zip = zipStr city = cityStr state = stateStr success = True End If Loop Until success = True If returncode = "200" Then coordinates = GetGeoValue("coordinates") latitude = Left$(coordinates, InStr(coordinates,",")-1) longitude = Mid$(coordinates, Len(latitude)+2, InStr(Len(latitude)+2,coordinates,",")-Len(latitude)-2) street =GetGeoValue("ThoroughfareName") zip = GetGeoValue("PostalCodeNumber") city = GetGeoValue("LocalityName") state = GetGeoValue("AdministrativeAreaName") xmladdress = GetGeoValue("address") If street = "" Or zip="" Then warnmsg ="[Warning] - The street address could not be verified." & Chr$(13) & _ "Existing value will be saved." & Chr$(13) & "Please verify that address is correct." street = streetStr latitude = "" longitude = "" ElseIf city = "" Then If state <> "" Then addarray = Split(xmladdress,", ") city = addarray(UBound(addarray)-2) zip = Right$(addarray(UBound(addarray)-1),5) End If End If If UCase(state)<>UCase(stateStr) Then ' Different state? warnmsg = "[Warning] - The address returned seems to be very different from the one submitted." & _ Chr$(13) & "Address submitted: " & Chr$(13) & streetStr & Chr$(13) & cityStr & ", " & stateStr & _ " " & zipStr & Chr$(13) & "Address returned: " & Chr$(13) & street & Chr$(13) & city & ", " & _ state & " " & zip street = streetStr zip = zipStr city = cityStr state = stateStr latitude = "" longitude = "" End If If city = "" Then warnmsg ="[Warning] - The city could not be verified." & Chr$(13) & _ "Existing value will be saved." & Chr$(13) & "Please verify that address is correct." city = cityStr latitude = "" longitude = "" End If End If End Sub Public Function Accuracy() As Integer Dim startpos As Long Dim endpos As Long If IsValid = False Then Accuracy = 0 Exit Function End If startpos = InStr(LCase(GeoString),|accuracy="|) + 10 endpos = InStr(startpos, LCase(GeoString), |"|) If endpos < startpos Then Accuracy = 0 Else Accuracy = CInt(FullTrim(Mid$(GeoString,startpos, endpos - startpos))) End If End Function Public Function HasAddInfo(address As String) As Integer If InStr(LCase(address),"apt")>0 Then HasAddInfo = True ElseIf InStr(LCase(address),"apartment ")>0 Then HasAddInfo = True ElseIf InStr(LCase(address),"suite ")>0 Then HasAddInfo = True ElseIf InStr(LCase(address),"ste ")>0 Then HasAddInfo = True ElseIf InStr(LCase(address)," #")>0 Then HasAddInfo = True ElseIf InStr(LCase(address),", ")>0 Then HasAddInfo = True Else HasAddInfo = False End If End Function Public Function IsValid() As Integer If GeoString = "" Then IsValid = False Else IsValid = True End If End Function Public Function GetGeoValue(tag As String) As String Dim startpos As Long Dim endpos As Long Dim tempstring As String If GeoString = "" Then GetGeoValue = "" Exit Function End If startpos = InStr(LCase(GeoString),"< " & LCase(tag) & ">") + Len(tag) endpos = InStr(startpos, LCase(GeoString), "") If endpos < startpos Then GetGeoValue = "" Else tempstring = FullTrim(Mid$(GeoString,startpos+2, endpos - startpos - 2)) GetGeoValue = FullTrim(Replace(tempstring,"&","&")) End If End Function End Class
In a couple of weeks I turn 40, and I am going back home to Sweden for my birthday. It will be the first time I celebrate my birthday in Sweden since 1997. My sister asked me a couple of weeks ago if there was anything special I wanted for my birthday. I could not think about anything back then. Honestly, birthdays are not a big thing anymore. The last few years I been baking myself a birthday cake and pretty much celebrated it by myself. A couple of years I been going out with friends, but rarely on my actual birthday. I am not even used at getting any big gifts, usually I get a card and something small from my son. One year I got a miniature multi-tool than fit my keychain.
The last "big" birthday gift I got was 5 years ago, the first one after my divorce. My two best friends (one living in Sweden and one in England) bought me the Special Collectors Platinum Edition of The Fellowship of the Ring on DVD. However, the delivery man left it on the front porch, since I was at work, when I came home it was stolen (but the thieves left the box) and the house had also been broken into. Amazon sent a new one without extra cost, though…
So the other day I was thinking, what would I wish for if I did not have to limit myself to what I know my sister’s budget is limited to? I have a pretty nice digital camera, a Sony Cybershot DSC-H2, but it would be nice to take the next step and go for a DSLR. So I started doing some research, and even went to a camera store the other day after work. Also, my best friends boyfriend is a big photo enthusiast, and I asked him a few questions. So now I think I know what I would like. :-)
My choice would be a Nikon D90 body ($899)with a Tamron AF18-270mm f/3.5-6.3 lens ($599). The lens equals 15x optical zoom and seems to be a great all-in-one lens for me. Later I can get more/other lenses, depending on what I end up taking pictures of.
One of the features I liked, and which made me choose the D90 instead of the older but less expensive D80 or D60 is the LiveView, that you can use the LCD display on the back as viewfinder. On my current camera I use this about 30-50% of the time, and it is a very nice feature. I am sure I would have missed that.
Of course, I know this is way more than my sister is going to buy me. She thought the $379 I paid for my Sony H2 (or equal amount for the Casio Exilim I got her for her 35th birthday two years ago) was expensive… Or rather, she does not like to spend money on things like that that she consider not necessary. Of course, I knew she wanted a camera, and she was very happy with it. Her previous camera took about 2 seconds to take a picture, and by then the motive was usuallylong gone.
But at least I can dream.And in a year or sothe price should have dropped, and I might be able to afford it. Or I might meet and marry a rich girl. :-)
Finally home after a week in a very cold Orlando, at a great Lotusphere. Picked up my son for the weekend, handed him some of the stuff I got for him on the trip, and turned on the TV and the cable box from AT&T U-verse to watch some shows I had recorded while I was gone.
"No recordings" was the message I got. I tried a few times, but all my recordings were gone. The service worked, I had all my channels, and the internet connection worked as well. Called customer support and finally eneded up at technical support. After a while the girl I talked to came back and said that they pushed out an upgrade and that "something must have gine wrong and erasedthe recordings". I had about 10-12 movies recorded from when I had HBO/Showtime and the other movie channels (I since then cancelled those channels because I was not that interested in paying $50 extra/month to watchone or twomovies each month), as well as several other shows from History Channel, Discovery, Military Channeland other channels. I had several eopisodes of Mythbusters recorded for my son, as well as a bunch of documentaries and movies that I specifically marked as not to delete.
The DVR has a nice feature, it start deleting the oldest recordings to make room for a new one if there is not enough space, but I can protect the shows I want to really save.
I asked the girl what AT&T could do for me, and after talking to her supervisor, they offered to credit my account with 10 dollar. I asked to talk to the supervisor, and he siad that is the most technical support can do. When I indicated that I found that offer unacceptable (just going online and trying to find all those shows and movies would take more that $10 worth of time, even if counting below minimum wage), the supervisor said he would send a message to the billing department and someone would call me back tomorrow. They better have something else to offer, or I will be a very unhappy customer.
I been pretty happy with the service this far. I have four incoming streams, meaning I can recordthree channelsand watch a fourth one, all at teh same time. The internet service (I curently have the Elite plan with 6 Mbit down and 1 Mbit up) is pretty stable. Lately I had to reconnect more frequently with the wireless router, and for a few days prior to leaving for Lotusphere I had more problems that usual. But other than that, I have been happy with them.
The PVR have several USB ports, but they are basically useless, since you can not paly Divx or any files from them, and you can not hook up any external drives to transfer your recordings over to, so you have a backup if AT&T decide to reformat your drive while you are gone…
Well, I will update this entry tomorrow, if AT&T call me back… Stay tuned.
Update: AT&D did call me back this morning (Saturday), I had told them I would be home/available between 9am and 3pm (have a friends b-day party in the afternoon), and they called shortly after 9. They upgraded me from U200 (200 channels)to the U300 plan (300 channels, mainly getting a bunch of movie channels) for free forsix months, and upgraded my Internet from Elite (6/1 Mbit) to Max (10/1.5 Mbit) for free for six months. I think that was a good offer and a nice gesture of them. I might also go for the VoIP phone service, that will save me about $15 in taxes each month, they say.