TexasSwede
texasswede@gmail.com
  • About this blog
  • My Website
  • My Resume
  • XML Export Tool
  • Photos

Excellent Bootstrap select plugin with great support

Posted on October 16, 2013 by Karl-Henry Martinsson Posted in Bootstrap, Frameworks, Javascript, jQuery, Web Development 1 Comment

For a Domino-based web application I am currently working on, I needed a nicer looking select box (drop down) than what Bootstrap offers out of the box. I did some searches and found a handful of free ones, most of them pretty good but not exactly what I wanted. Some did not handle different themes, other had additional functionality I did not want/need, etc. I probably been looking for a good alternative for 3 weeks by now.

Then the other day I found an inexpensive plugin at CodeCanyon. Custom Select for Twitter Bootstrap 3 is just $5 if you use it for a public site, or $25 if you use it on a site where you charge the users for access. It’s well worth it. The control is nice and clean, and very easy to use.

Custom Select for Twitter Bootstrap 3

Custom Select for Twitter Bootstrap 3

What really impressed me was how the author of the plugin, Lisa Stoz, fixed an issue I ran into. It was not a bug in the plugin, but I had a need to use custom tag attributes, and the plugin did not support that originally. The next day Lisa had a new version available with that functionality added. She also helped me with some additional questions that I had. I am very impressed with the quick response and the professional support.

I am new to CodeCanyon, but that site seems very nice. It contains a large number of jQuery and javascript plugins, Bootstrap themes and plugins, and much more. There is also a section with WordPress plugins, as well as a separate site for WordPress themes called ThemeForrest. That site also have other themes and templates. If you build websites, but like me is not a graphics genius, ThemeForrest is a great place to find themes or just inspiration for your site. The themes (as are the plugins) are very modestly priced, between $5 and $10 in most cases.

I have just started to scratch the surface of what’s available there, but I already think this is a great resource. The next time I need a plugin for Bootstrap, jQuery or WordPress, I will probably start at CodeCanyon.

Disclaimer: The links above uses an affiliate code, giving me a small credit at the site if you purchase anything.

Bose takes on Sonos with new SoundTouch series

Posted on October 10, 2013 by Karl-Henry Martinsson Posted in Gadgets, Technology 7 Comments

Bose, well known for their noise-cancelling headsets and bluetooth/iPhone speakers in the SoundLink/SoundDock series, today presented a new series of multi-room audio products, which they intend to compete with Sonos Multi-Room Music System.

Today three products were released in time for the holiday season, with more products in the works for next year. I was able to play around with them for a little while, and I have to admit, they sound really good.

SoundTouch 30, Soundtouch 20 and SoundTouch Portable.

SoundTouch 30, Soundtouch 20 and SoundTouch Portable.

SoundTouch 30

This is the biggest of the three devices, a powered unit with a built-in subwoofer, giving it very nice bass. It connects to the home network and Internet through either wired ethernet or wifi. The price is $699.

SoundTouch 20

This is a smaller version of the SoundTouch 30, identical except for removal of the subwoofer. The bass is surprisingly good, but naturally not as powerful as in its larger sibling. The benefits are the smaller size and a lower price at $399.

SoundTouch Portable

The baby in the family. As the name indicates, it is portable and the battery lasts for 5 hours, according to Bose. It also lacks wired ethernet. The size is slightly larger than the Bluetooth-equipped Bose SoundLink, to a price of $399.

All units have the same basic design, with six preset buttons on the top, which can be designated to different music sources, and an OLED display on the front showing status and listening mode, as well as artist and name of the song currently played.

BoseApp

Initially SoundTouch support Pandora, Internet radio and music stored on your network or computers, using iTunes or Windows Media Player. On iOS devices, AirPlay can be used to stream music to the speakers as well. Support for Spotify, iHeartRadio and XM/Sirius is coming soon, according to Bose, with more music sources arriving in 2014. Each unit comes with a remote control, and also has an aux in port on the back, together with two USB ports (one micro-USB and one standard USB) used for the initial setup. There are apps for iOS and Android, as well as for OS X and Windows. The apps let the user control the different devices, and play either different songs on different speakers (for example in different rooms), or the same song on all units.

BoseBackside

SoundTouch 30 inputs

One of the upcoming products for next year is the $99 SoundTouch Controller, a circular controller with a central OLED display that displays the same information as the display on the SoundTouch units, as well as six preset buttons arranged around the display. Among the other products in the SoundTouch series coming in 2014 is a $499 outdoor amplifier bundled with the SoundTouch Remote, and a $1,199 subwoofer and two speaker packages. This also includes the SoundTouch Remote.

After comparing the three units side-by-side, my personal favourite is the SoundTouch 20. It hits the Goldilocks zone, with great sound to a substantially lower price that it’s larger sibling. The SoundTouch Portable is nice if portability is important, but the sound is thinner and not nearly as good. Since none of the SoundTouch models support Bluetooth, they do not really compete with the SoundLink or the recently released SoundLink Mini, both which are less expensive but lack most of the advanced functionality in the SoundTouch series.

 

Time to nominate IBM Champions

Posted on October 8, 2013 by Karl-Henry Martinsson Posted in IBM/Lotus Leave a comment

Kathy Brown recently posted about the nomination of IBM Champions for 2014, and I wanted to spread the word as well.

Anyone can nominate non-IBMers who “are sharing their knowledge, evangelize and advocate for IBM Collaboration Solutions (ICS), help grow and nurture the community and provide feedback to IBM (both negative and positive) in a professional manner”.

You can learn more at the IBM Champion website, and (more important) you can also nominate someone you feel should be an IBM Champion.

So what are you waiting for? :-)

Late realization…

Posted on October 3, 2013 by Karl-Henry Martinsson Posted in IBM/Lotus, Notes/Domino Leave a comment

Today I logged in to IdeaJam (#thanksbruce) and for some reason I decided to look at my own old ideas, something I haven’t done in a while. I noticed this post, from december 2010, almost a year before IBM launced the XWork server in October 2011…

Perhaps IBM listens sometimes, even if they did not make it free, $1000/year is not a bad price for a powerful server like Domino/XWorks.

IdeaJam

sometimes I am slow...

25 years in the IT industry

Posted on September 19, 2013 by Karl-Henry Martinsson Posted in Personal, Programming, Software, Technology 2 Comments

Today it is exactly 25 years since I started my first real job in the IT industry. On September 19, 1988 I started working at Microsoft in Sweden as employee #42, right out of 12th grade of school. So how did I end up working at Microsoft at age 19? Well, I had a bit of bad luck, which turned into good luck. Let me explain. :-)

I started programming in 7th grade. In the late fall of 1982, a computer club was founded in my school. When we came back to school after Christmas break, in January 1983, some older students taught some classes in BASIC in the evenings. Attending those classes were a requisite for getting the magnetic card that gave us access to the computer room (as long as there were no regular classes taking place there). In preparation of the classes starting, I went to the library and picked up a book on programming the ABC 80 computers we had in school. I started learning programming by writing code by hand in a notebook, to understand the concept. I spent the Christmas break learning BASIC, so when the classes started in January, I had a pretty good understanding of the concept of programming. A couple of years later we got another type of computer in school, and I switched to Pascal as the programming language of choice. I spent on average 3 or 4 hours in the computer room each day (during lunch breaks and after school) for the next 5 1/2 years… I even managed to convince the school to let me borrow one of the computers and take it home during one Christmas break, as I was working on a big project.

Hersby skola on Lidingö, where I spent the years 1982-1988 learning programming.

Hersby skola on Lidingö, where I spent the years 1982-1988 learning programming.

My schedule in the last year of High School (1987-88). Computer Science is coded “Da”, and we had it Tuesday and Friday.

After finishing what’s in Sweden is called gymnasium (equivalent of High School in the US), I was not motivated to spend additional 4 years or more going to university. However, I found a one-year specialty course in Systems Programming and Computer Science, where they crammed 2+ years into one year, with 8-hour days five days/week. I applied and was accepted. However,after a couple of weeks, the assistant principal (who was also one of our main teachers) came in and told us that the class had to be cancelled. The class was simply too small, and they had not been able to get any more students to apply. The class was postponed and would start over in January 1989.

In the mean time we were encouraged to find an internship or entry-level job in the IT industry. I picked up the yellow pages section of the phone book and looked up computer companies. Being a person thinking outside the box, I started going through the companies in reverse order. I figured that anyone else in the class would start from the beginning. I started cold-calling some companies, and after a few calls, I got a hit. This company called Microsoft was interested, they needed someone in tech support, to answer calls from customers and solve their problems.

I had not really heard much about Microsoft at this time. We used CP/M-86 as the operating system in school, and I had only seen Windows 1.0 once or twice, and never really used it. I knew about PCs, but I mostly associated them with IBM. I sent the then-manager of the support department, Arne Josefsberg, my grades from school (I did not have a resume yet). Later I found out he actually never even looked at my grades…
I called Arne back the following week to verify that he got the letter, and he asked me to come in for an interview the next day, Friday September 16. I took the subway to the Microsoft office and met with Arne, who performed a short interview and a little test of my problem solving skills. He had me perform some actions in Word for DOS, a for me then totally unknown program, to see how quickly I could solve some problems. A few minutes later I walked out the door with a job waiting for me the following Monday and the user’s manual to Windows 2.03 under my arm with orders to read it over the weekend… So on September 19, 1988 I started working at Microsoft, my first real job in the computer industry, or IT business as it is called these days.

I have to say that I did learn an enormous amount of things at Microsoft. There was no formal training, you were expected to learn things on your own. But my coworkers went out of their way to teach me things. Thanks Anna, Micael, Magnus, Rolf and everyone else that helped me and taught me about the Microsoft products. After working at Microsoft during the fall I went back to school and finished the education, while working at Microsoft during school holidays and the summer, as well as for a few months after graduation.

I then served in the Swedish Air Force for 11 months, as the country still had mandatory military service at this time. I actually intended to go back to Microsoft after the Air Force, but I was offered a job as a programmer right before I left the service, and I started my career as a programmer/developer in early 1991. It was now I started playing with Visual Basic 1.0, released in the summer of 1991. I learned programming using traditional BASIC back in 1982-83, before switching to Pascal some time around 1985, and then to C in 1989. I quickly realized that Visual Basic was a great product. It removed much of the complexity of creating Windows programs, and the developer could focus on the actual functionality and business logic instead of having to write pages of code to handle windows and events.

After the company I worked for went bankrupt in the end of 1992, I got a job at IDG Sweden as a journalist at the weekly publication Computer Sweden. It was during my time  there I learned about (among other things) HTML and Lotus Notes, knowledge I still use to this day. I worked at Computer Sweden for five years, covering the PC marketplace (both hardware and software), before moving to Boston and taking a position as Notes developer with IDG in the US.

After a little over four years in Boston, my then-wife wanted to move closer to her family in Texas, so we moved to Arlington, TX and I got a job with Deep South, a Dallas-based insurance company where I still work 11 years later, as a Notes/Domino developer. I am also taking on some administration tasks, after out previous network admin and operations manager left the company last year.

I count myself very lucky to have a job I love. How many people can say that they been working 25 years with something they like? I also had the luck to work almost exclusively at good companies, and having good managers/bosses. I have for example been able to go to Lotusphere every year since 1997 (as well as a technical conference in 1996 that were a pre-cursor to Lotusphere Europe).

Finally I once more want to thank everyone who over the years helped or supported me, and who made it possible for me to be where I am today.

Swedish fighter jets to compete for US contract

Posted on September 12, 2013 by Karl-Henry Martinsson Posted in Uncategorized Leave a comment
Swedish Air Force JAS39 Gripen (single seat model). Photo by Ernst Vikne (Creative Commons BY-SA).

Swedish Air Force JAS39 Gripen (single seat variant).
Photo by Ernst Vikne (Creative Commons BY-SA).

According to an article in Aviation Week, Boeing is planning to team up with Swedish airplane manufacturer Saab to offer a new two-seater training version of the JAS 39 Gripen fighter to the US Air Force. The old Northrop T-38 is being retired, and a new trainer is needed in the future.
Approximate 350 trainers are needed, but in addition the fighter could be useful for aggressor training (e.g Red Flag and Top Gun), currently flying mostly F-15 and F-16 fighters.

Another use for the two-seater JAS 39F model would be as a companion trainer for the F-22 Raptor and F-35 Joint Strike Fighter, neither of which are being produced in a two-seat version. Currently T-38 is used in this position as well.

A source in the USAF quoted in the Aviation Week article hints that the step is not very far to use an affordable air defense fighter to replace the aging Air National Guard F-15/F-16 fighters.

Hungarian Air Force Saab JAS39D Gripen

Hungarian Air Force Saab JAS39D Gripen

JAS 39 have been produced in four different variants. JAS 39A and B were the initial version that entered service in 1996. Some of them have been updated to the new C/D models, and additional JAS 39C/D have been delivered to countries like Hungary, South Africa, Thailand and Czech Republic.

Switzerland is intending to buy the new JAS 39E single-seat model, after a referendum in 2014. Sweden is also planing to upgrade to that model when it becomes available.

The F model Boeing is intending to offer the US Air Force is a brand new development, possibly with some functionality not needed in a trainer removed to save cost.

Class for Domino Directory lookups

Posted on September 4, 2013 by Karl-Henry Martinsson Posted in Lotusscript, Notes/Domino 1 Comment

In many of my Notes programs, I need to perform lookups into the Domino Directory (the database formerly known as Name and Address Book or NAB). So my solution was to create a class that handle those lookups for me, and exposes the most common lookups as separate methods.
We have a slightly modified version of names.nsf, with a few added fields. One of them is what we call ParallelID, which is the user’s ID in a system called (surprise!) Parallel. Since I perform that lookup all the time, I created a separate method for that one called GetParallelID(). Same with manager lookup for a user, I created GetManagerName() for that.
The methods you probably will use the most are GetText() and GetValue().

Since I think this class could come in handy for others, here it is. Enjoy!

Option Public
Option Declare

Class NotesAddressBook
  Private NABdb As NotesDatabase
  Private server As String
  Private nabname As String
  Public silent As Boolean

  Public Sub New(servername As String)
    me.silent = false
    Call LoadNABdb(servername)    
  End Sub

  Public Function GetNABdoc(personname As String) As NotesDocument
    Dim NABview As NotesView
    If NABdb Is Nothing Then
      Call LoadNABdb("")        
    End If
    If Not NABdb Is Nothing Then
      Set NABview = NABdb.GetView("PeopleByFirstname")
      Set GetNABdoc = NABview.GetDocumentByKey(ShortUserName(personname))
    Else
      Set GetNABdoc = Nothing
    End If
  End Function

  Public Function database() As NotesDatabase
    If NABdb Is Nothing Then
      Call LoadNABdb("")        
    End If
    If Not NABdb Is Nothing Then
      Set database = NABdb
    End If
  End Function

  Public Function GetValue(personname As String, fieldname As String) As Variant
    Dim NABdoc As NotesDocument
    Set NABdoc = GetNABdoc(personname)
    If NABdoc Is Nothing Then
      If me.silent = False then
        Msgbox "No document found for '" & personname & "' in " & nabname & " on " & server & ".",,"NotesAddressBook::GetNABdoc()"
      End If
      GetValue = ""
    Else
      GetValue = NABdoc.GetItemValue(fieldname)
    End If
  End Function

  Public Function GetText(personname As String, fieldname As String) As String
    Dim tmp As Variant
    tmp = GetValue(personname, fieldname)
    If IsArray(tmp) Then
      GetText = CStr(tmp(0))
    Else
      GetText = CStr(tmp)
    End If  
  End Function

  Public Function GetName(personname As String, fieldname As String) As NotesName
    Dim tmpValue As String
    tmpValue = GetText(personname, fieldname)
    If tmpValue <> "" Then
      Set GetName = New NotesName(tmpValue)
    End If
  End Function

  Public Function GetNameByParallelID(parallelid As String) As String
    Dim view As NotesView
    Dim doc As NotesDocument 
    Dim tmpValue As String
    Set view = NABdb.GetView("(LookupUserID)")
    Set doc = view.GetDocumentByKey(parallelid)
    If doc Is Nothing Then
      Exit Function
    End If
    tmpValue = doc.GetItemValue("FirstName")(0) & " " 
    If doc.GetItemValue("MiddleInitial")(0)<>"" Then
      tmpValue = tmpValue & doc.GetItemValue("MiddleInitial")(0) & " "
    End If
    tmpValue = tmpValue & doc.GetItemValue("LastName")(0)
    If tmpValue <> "" Then
      GetNameByParallelID = tmpValue
    End If
  End Function  

  Public Function GetCommonName(personname As String, fieldname As String) As String
    Dim tmpName As NotesName
    Set tmpName = GetName(personname, fieldname)
    If Not tmpName Is Nothing Then
      GetCommonName = tmpName.Common
    End If
  End Function

  Public Function GetManagerName(personname As String) As String
    GetManagerName = GetCommonName(personname, "Manager")
  End Function

  Public Function GetParallelID(personname As String) As String
    GetParallelID = GetText(personname, "ParallelID")
  End Function

  Public Function GetBranch(personname As String) As String
    GetBranch = GetText(personname, "Location")
  End Function

  Private Sub LoadNABdb(servername As String)
    Dim session As New NotesSession
    '*** Some users have a local replica of Domino Directory
    '*** but it would never be used unless the code is running
    '*** in a local database, otherwise current server is used. 
    If servername = "" Then
      servername = session.CurrentDatabase.Server
      If servername = "" Then  
        '*** Code running in local database/replica
        server = "Local"
        nabname = "dsnames.nsf"  
      Else
        server = servername
        nabname = "names.nsf"        
      End If
    Else
      server = servername
      nabname = "names.nsf"
    End If
    Set NABdb = session.GetDatabase(servername, nabname)
    If NABdb Is Nothing Then
      Msgbox "Failed to open " & nabname & " on " & server & ".",,"GlobalConfig::New()"
    End If
  End Sub

  Private Function ShortUserName(longname As String) As String
    Dim namearray As Variant

    '*** Remove any periods in name, some users have that
    longname = Replace(longname,".","")

    namearray = Split(longname," ")
    '*** Check if there is middle inital or 3 parts to the name 
    If UBound(namearray) >=2 Then
      '*** check if middle name/initial is just one char (initial)
      If Len(namearray(1))=1 Then
        namearray(1) = ""  ' Remove value
      End If     
    End If
    '*** Join name parts together again and return to calling function
    ShortUserName = FullTrim(Join(namearray))
  End Function

End Class

Some personal thoughts and a big Thank You

Posted on September 2, 2013 by Karl-Henry Martinsson Posted in Generic, Lotusphere, Personal, Programming 6 Comments

Last week, Volker wrote this excellent article about Tomas Duff (a.k.a. Duffbert). Then yesterday the news reached me about the sudden death of Rob Wunderlich, a long-time member of the Lotus community. I had already started on a post — in preparation of my upcoming 25 year anniversary of becoming an IT professional — where I was going to acknowledge a number of people who meant much to me and who were important in making me to what I am today. I have decided to post this text a bit earlier than originally planned.

There are so many people who helped me and supported me over the years, and without them I would not be where I am now professionally. Some took a chance on me and gave me jobs where I grew professionally, others were more like mentors or inspirations, and some were teaching me how to do things with computers or in code. I know I am probably forgetting many who deserve to be mentioned. But I want to thank the following:

  • Tonny Olsson – my cousin who worked at Hewlett-Packard and let me see my first computer (complete with a plotter and an acoustic modem he used to connect to HP from our house) in or around 1975. He also introduced me to the world of HP calculators and RPN.
  • Peter Nilsson – my childhood friend and classmate, who introduced me to Basic programming when he got a VIC-20. We spent an evening (right after he got it) entering a program from the handbook, but we did not get it to work that day. Later on we got some programs working.
  • Henry Jacobsson – My teacher in computer science/programming in High School, who allowed me write my code in Turbo Pascal for CP/M-86 instead of the special language COMAL (a mix between BASIC and Pascal). He also taught me the basics of how to plan/design an application. I also want to thank Henry for not kicking me out when I hacked his systems administrator account and assigned myself 1MB of storage on the 30MB hard disk we had on the server. Normally each student got 4kB, but I wanted more. :-)
  • I also want to thank several of the older students in the school’s computer club, who helped us younger students when we had questions. I want to mention Hjalmar Brismar, Petter Aaro and Matthias Bolliger, who were always there with advise and knowledge.
  • Arne Josefsberg – head of tech support at Microsoft, he took a chance and gave me a job without me having touched any Microsoft program previously.
  • Rolf Åberg, Magnus Andersson, Anna Söderblom and Micael Dahlquist – also at Microsoft. They helped me learn all kind of new things, from Windows programming using C and the Windows SDK to regular C programming using QuickC, from Excel to Word for DOS. I also ended up wothing with Micael at another job a few years later.
  • Per Engback and Ingvar Gratte – my two main teachers at the systems programming class. Despite this being just a one-year class, I learned plenty, especially C programming and Unix.
  • Krister Hanson-Renaud and Harald Fragner – two programmers/hackers who inspired me over the years, and who also introduced me to the world of Bulletin Board Systems (BBS). I had been exploring some earlier bulletin board systems back in 1987-88, but it was in 1989-90 I became “social” on these networks. Both Harald and Krister wrote their own BBS systems, and I ended up running one of them myself for a short time, but it was more of a test.
  • All my friends on CT and SKOM, the two BBS:s I frequented the most, between 1990 and some time in 2004. Here I learned about online debates, flame wars and of course plenty about hardware, software and programming techniques.
  • Lars Dahmén – the editor-in-chief at Computer Sweden who hired a 22 year old programmer/hacker in the role of journalist, despite no previous journalistic experience. Obviously he saw some possibilities in me, as I stayed for five years until I moved to IDG in Boston. Lars was a great boss, a very competent manager and is a very nice person. It’s hard to find that combination, and I think I have to say that he is the best manager I ever had. Thank you for not giving me too much grief about my messy desk and my shot-up hard disk on my bookshelf. He also tasked me with developing some of my first actual Notes applications, for internal use at the magazine, and approved of my moonlighting with Notes development (see Enrico Barile below)
  • Eva Sparr – the managing editor at Computer Sweden, and who I reported to directly. She usually gave me very free reign to explore new stories and test software/hardware as I saw fit, something that helped me develop my analytical skills.
  • Erik Geijer, Anders Lotsson, Maria Lindström and Kenneth Bäcklund – four of my colleagues at the magazine, experienced journalists who gave me a crash-course in writing, journalism and penmanship. A big thank you for all the time you spent giving me advise and proof-reading my articles. Erik also introduced me to HTML in 1994.
  • Enrico Barile – he exposed me to Lotus Notes, and started me on the path to where I am now. We spent many evenings at his office, building websites using InterNotes Web Publishing, which eventually merged with the Notes server in version 4.5 and became what we today know as the Domino server. I mainly worked on the HTML part, but I did learn a lot about Notes/Domino.
  • Morris Effron – my boss at IDG in Boston. He hired me from across the Atlantic, to become a full-time Lotus Notes developer. Not only did he trust in my skills and ability to learn new things (I had been writing several Notes applications, but nothing extremely complex), he sent me to several classes to increase my skills both on the technical side and on the social side. When someone from Boston, born in New York, think you are too direct and rude to the users and send you to a class to be nicer to people, that is a sign you are a bit rough around the edges. ;-)
  • And of course all my friends in the Lotus/ICS community. Over the years I have gained enormous amount of knowledge from your sessions at Lotusphere, blog entries and direct discussions (in person at conferences or through Sametime/email), or though services to the community. In addition to Tom Duff, who I already mentioned, I would like to list just a few: Rocky Oliver, Andrew Pollack, Brian Benz, Scott Good, Julian Robichaux, Francie Tanner, Rob Novak, Chris Blatnick, Declan Lynch, Chris Miller (the one-slide-man!), Paul Mooney, Bill Buchan, Mark Myers, Matt White, Bruce Elgort, Yancy Lent (thanks for PlanetLotus!), Jake Howlett (who I never met, but who’s site codestore.net have been a great resource over the years), Joe Litton, Stephan Wissel, Tim Tripcony, Nathan Freeman, and so many more. Not to forget all the Lotus/IBM people I met at Lotusphere, like Maureen Leland, Dan O’Conner, Mary Beth Raven, Susan Bulloch and all the others I been harassing over the years in the Ask the Developers lab at Lotusphere. I also want to thank everyone who presented at Lotusphere and shared their knowledge over the years.
  • Finally I would like to mention my parents, Marie-Luise and Stig Martinsson. Today (September 2) would have been my dad’s 87th birthday. They were great parents, and gave me the freedom I needed to read books all summer long (even if my mom sometimes thought I should go outside for a bit) and to take apart old radios or mechanical calculators, or solder together some electronic contraption in the basement of our house. Later, when I spent all my free time after school in the computer room, they were concerned that I was negligent with my home work, but they never forced me to abandon programming. And when I look back, I realize that all those thousands of hours spent in the computer room is what made me to what I am today.

So again, to everyone who in one way or another had a hand in bringing me to where I am today, a huge thank you. And forgive me if I did not list everyone, or I would be writing this list until Christmas…

Part of the Lotus community/bloggers meeting for BALD at Lotusphere 2011.

Part of the Lotus community/bloggers meeting for BALD at Lotusphere 2011.

 

The traditional end-of-Lotusphere picture, from Lotusphere 2010.

The traditional end-of-Lotusphere picture with part of the community, this one from Lotusphere 2010.

 

Blogger community at Lotusphere/Connect 2013. Photo by John Roling (CC-BY-NC-ND).

Blogger community at Lotusphere/Connect 2013. Photo by John Roling (CC-BY-NC-ND).

Bootstrap – An Overview

Posted on August 29, 2013 by Karl-Henry Martinsson Posted in Bootstrap, Frameworks, HTML/CSS, jQuery, Web Development 1 Comment

As I mentioned in a previous article, my boss asked me to write some short summaries of a couple of common web technologies and frameworks. I already wrote about jQuery, and now the turn has come to Twitter Bootstrap, commonly called just Bootstrap.

Twitter Bootstrap is one of the durrent darlings of web developers. It is a CSS framework, and it also includes some Javascript and the icon set GlyphIcons. Personally I use Font Awesome, a larger set (currently 361 icons) of icons compatible with GlyphIcons.

Just like jQuery, you can use Bootstrap from a CDN (Content Delivery Network). There are also several themes available (both free and premium), so you can quickly get a different look than with the default Bootstrap colors. The free themes are also available through a CDN.

With Bootstrap it is very easy to quickly create nice looking websites/applications. There are several ready-made templates on the Bootstrap site, and there are many more available all over the internet.

So what you typically do is to download a template that fit your project, and then start customizing it. A couple of weeks ago I needed to quickly put up a one-page marketing website. I simply downloaded one of the templates, changed the headline, added my content and removed the sign-up button. In 30 minutes I had the site up, and that included writing the inital text. Then I spent another hour or so tweaking and editing the text, but the actual design part took just minutes.

I am also currently working on a larger web application (which I hope to be able to blog about later this fall), and I choose to use Bootstrap there as well. One of the issues I always had in the past was to find a nice menu system to use on my sites, and this actually caused me to abandon the redesign of my personal website for over a year. When I discovered Bootstrap it just took me a few hours to totally revamp my website (including adding some functionality), and I now have a nice and functional menu system. The site also include icons for the menu entries, using Font Awesome.

Bootstrap contains a large number of elements: buttons, dropdowns, tables, labels, input controls, alert messages, a grid system (totally redesigned in Bootstrap version 3), etc. There is plenty of documentation available online, both at the official Bootstrap website and on other sites and forums.

Bootstrap Documentation

So if you haven’t looked at Bootstrap yet, see if it might help you in your next web project!

My IBM Notes project on GitHub

Posted on August 28, 2013 by Karl-Henry Martinsson Posted in Lotusscript, Notes/Domino, Programming Leave a comment

github_small

I decided to play around a little, and as an experiment put up one of my Notes projects on the open source repository GitHub. You can see the result here: http://github.com/TexasSwede/Class.MailMerge

This is a script library in Lotusscript to create documents based on a source document and a template document. I have blogged about it before, but I added some functionality to it, and thought it would be easier for people to download a complete database.

 

Stack Exchange

profile for Karl-Henry Martinsson on Stack Exchange, a network of free, community-driven Q&A sites

Recent Posts

  • Domino 14 is now available
  • Domino 14 Early Access Program
  • Announced: Engage 2024
  • Integrate Node-RED with Notes and Domino
  • Notes and Domino v12 is here!

Recent Comments

  • Theo Heselmans on Announced: Engage 2024
  • Lotus Script Multi-thread Message Box [SOLVED] – Wanted Solution on ProgressBar class for Lotusscript
  • Viet Nguyen on Keep up with COVID-19 though Domino!
  • Viet Nguyen on Keep up with COVID-19 though Domino!
  • Mark Sullivan on Looking for a HP calculator? Look no further!

My Pages

  • How to write better code in Notes

Archives

  • December 2023 (1)
  • October 2023 (2)
  • September 2023 (1)
  • June 2021 (1)
  • April 2021 (2)
  • March 2021 (1)
  • August 2020 (3)
  • July 2020 (2)
  • April 2020 (2)
  • March 2020 (1)
  • December 2019 (2)
  • September 2019 (1)
  • August 2019 (2)
  • July 2019 (2)
  • June 2019 (3)
  • April 2019 (2)
  • December 2018 (1)
  • November 2018 (1)
  • October 2018 (5)
  • August 2018 (2)
  • July 2018 (3)
  • June 2018 (2)
  • May 2018 (1)
  • April 2018 (2)
  • March 2018 (1)
  • February 2018 (2)
  • January 2018 (4)
  • December 2017 (3)
  • November 2017 (2)
  • October 2017 (2)
  • September 2017 (1)
  • August 2017 (2)
  • July 2017 (6)
  • May 2017 (4)
  • February 2017 (1)
  • January 2017 (2)
  • December 2016 (2)
  • October 2016 (3)
  • September 2016 (4)
  • August 2016 (1)
  • July 2016 (2)
  • June 2016 (2)
  • May 2016 (3)
  • April 2016 (1)
  • March 2016 (4)
  • February 2016 (2)
  • January 2016 (4)
  • December 2015 (3)
  • November 2015 (2)
  • October 2015 (1)
  • September 2015 (2)
  • August 2015 (1)
  • July 2015 (5)
  • June 2015 (2)
  • April 2015 (2)
  • March 2015 (3)
  • February 2015 (2)
  • January 2015 (10)
  • December 2014 (1)
  • November 2014 (3)
  • October 2014 (3)
  • September 2014 (13)
  • August 2014 (6)
  • July 2014 (5)
  • May 2014 (3)
  • March 2014 (2)
  • January 2014 (10)
  • December 2013 (5)
  • November 2013 (2)
  • October 2013 (5)
  • September 2013 (4)
  • August 2013 (7)
  • July 2013 (3)
  • June 2013 (1)
  • May 2013 (4)
  • April 2013 (7)
  • March 2013 (8)
  • February 2013 (9)
  • January 2013 (5)
  • December 2012 (7)
  • November 2012 (13)
  • October 2012 (10)
  • September 2012 (2)
  • August 2012 (1)
  • July 2012 (1)
  • June 2012 (3)
  • May 2012 (11)
  • April 2012 (3)
  • March 2012 (2)
  • February 2012 (5)
  • January 2012 (14)
  • December 2011 (4)
  • November 2011 (7)
  • October 2011 (8)
  • August 2011 (4)
  • July 2011 (1)
  • June 2011 (2)
  • May 2011 (4)
  • April 2011 (4)
  • March 2011 (7)
  • February 2011 (5)
  • January 2011 (17)
  • December 2010 (9)
  • November 2010 (21)
  • October 2010 (4)
  • September 2010 (2)
  • July 2010 (3)
  • June 2010 (2)
  • May 2010 (3)
  • April 2010 (8)
  • March 2010 (3)
  • January 2010 (5)
  • November 2009 (4)
  • October 2009 (7)
  • September 2009 (1)
  • August 2009 (7)
  • July 2009 (1)
  • June 2009 (4)
  • May 2009 (1)
  • April 2009 (1)
  • February 2009 (1)
  • January 2009 (3)
  • December 2008 (1)
  • November 2008 (1)
  • October 2008 (7)
  • September 2008 (7)
  • August 2008 (6)
  • July 2008 (5)
  • June 2008 (2)
  • May 2008 (5)
  • April 2008 (4)
  • March 2008 (11)
  • February 2008 (10)
  • January 2008 (8)

Categories

  • AppDev (10)
  • Blogging (11)
    • WordPress (5)
  • Design (5)
    • Graphics (1)
    • UI/UX (2)
  • Featured (5)
  • Financial (2)
  • Food (5)
    • Baking (3)
    • Cooking (3)
  • Generic (11)
  • History (5)
  • Hobbies (10)
    • LEGO (4)
    • Photography (4)
  • Humor (1)
  • IBM/Lotus (178)
    • #Domino2025 (14)
    • #DominoForever (8)
    • #IBMChampion (46)
    • Administration (7)
    • Cloud (7)
    • CollabSphere (9)
    • Community (49)
    • Connect (33)
    • ConnectED (12)
    • Connections (3)
    • HCL (15)
    • HCL Master (1)
    • IBM Think (1)
    • Lotusphere (46)
    • MWLUG (25)
    • Notes/Domino (99)
      • Domino 11 (7)
    • Sametime (8)
    • Verse (14)
    • Volt (3)
    • Watson (6)
  • Life (8)
  • Microsoft (7)
    • .NET (2)
    • C# (1)
    • Visual Studio (1)
  • Movies (3)
  • Old Blog Post (259)
  • Personal (23)
  • Programming (84)
    • App Modernization (11)
    • Formula (4)
    • Lotusscript (47)
    • NetSuite (4)
      • SuiteScript (3)
    • node.js (4)
    • XPages (4)
  • Reviews (9)
  • Sci-Fi (4)
  • Software (24)
    • Flight Simulator (2)
    • Games (4)
    • Open Source (2)
    • Utilities (6)
  • Technology (37)
    • Aviation (3)
    • Calculators (2)
    • Computers (6)
    • Gadgets (7)
    • Mobile Phones (7)
    • Science (3)
    • Tablets (2)
  • Travel (7)
    • Europe (1)
    • Texas (2)
    • United States (1)
  • Uncategorized (16)
  • Web Development (50)
    • Frameworks (23)
      • Bootstrap (14)
    • HTML/CSS (12)
    • Javascript (32)
      • jQuery (23)
  • Prev
  • 1
  • …
  • 18
  • 19
  • 20
  • 21
  • 22
  • …
  • 54
  • Next

Administration

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

Tracking

Creeper
MediaCreeper
  • Family Pictures
© TexasSwede 2008-2014