2011-03-21
Not a new blog per se, The blog is in a new location. It’s hosted in the “cloud” with the use of Amazon S3 static website hosting.
Also I’m using Jekyll to render the various pages on the website. WordPress was an option but this is a simpler approach and potentially more fun. The only downside is I have to code features myself.
Here is a nice new feature (that came at almost zero cost): Syntax highlighting!
Some ruby code….
Some haskell code….
1 -- This is a super elegant solution to the question found on the wiki. I got it after
2 -- tracing through it for awhile. My head hurts.
3 combinations1 :: Int -> [a] -> [[a]]
4 combinations1 0 _ = [ [] ]
5 combinations1 n xs = [ y:ys | y:xs' <- tails xs, ys <- combinations1 (n - 1) xs' ]
All the blog posts were migrated over. Comments didn’t get migrated over. Some images link will be dead going forward. This blog doesn’t have a large audience so it’s not a major concern.
Comments
2011-03-19
There have been a bunch of changes in my life the last couple of weeks. Here is another one that has
been in the works for a while. My blog is being moved to a new platform. More details to come.
Comments
2010-12-14
Having a discussion with my Dad about website, hosting and blogs.
Comments
2010-10-18
After a fairly vanilla install of Ubuntu Lucid 10.04, I wanted to install the Haskell Platform but the base Ubuntu install is missing some dependencies.
These were the packages I installed to complete the dependencies:
- libzlib1g-dev
- libgmp3-dev
- freeglut3
- freeglut3-dev
- libglew1.5
- libglew1.5-dev
- libglu1-mesa
- libglu1-mesa-dev
- libgl1-mesa-glx
- libgl1-mesa-dev
Rather than installing GHC from the Ubuntu repositories, I used the GHC 6.12.3 generic binary from haskell.org
Afterwards, I downloaded the source for the Haskell platform (see here) and followed the instructions for installing it.
Comments
2010-10-13
These last couple of weeks I've been assembling a new desktop machine. It's a fairly hefty machine, core i7, Nvidia GTX 470, 12gigs of RAM.
The biggest annoyance right now is that the Nvidia GTX 470 graphics card is not 100% compatible with Linux (Ubunutu specifically). I can get Linux running but the resolution under X is hideous without the Nvidia driver and with the Nvidia driver I get random system freezes.
So for now, I'm living with Windows 7. It's not the most pleasant experience. However combined with VM player I'm able to get some of my Linux development environment goodness.
Hopefully the graphics issue gets resolved before or early in the new year.
Comments
2010-10-06
I went to CUFP this year. I've been diving into Haskell the last year and I thought it would be interesting to see how Haskell (and functional programming in general) were being used.
A couple of quick thoughts:
1. Enjoyed the tutorial on "High Performance Haskell" (slides here). I've spent the last year learning about Haskell but I'm not completely comfortable with it yet. The level of this tutorial was just about right. None of the stuff was over my head.
2. F# shows a lot of promise. I don't use any MS developer products but I'm considering getting Visual Studio to try out F#. It looks like a functional programming language with the fit and polish of the mainstream programming languages e.g. Java, C#
3. Side effects, imperative style are not optimal but sometimes they are very useful. This was a comment that was made in different forms over various talks. It surprised me a little but it shouldn't have. Haskell has affected my day to day work by making me more mindful about side effects. Perhaps that is the biggest thing functional programming can teach working programmers, to understand the various trade offs you make when you apply the different programming language paradigms (functional, imperative, oo).
4. Lots of people appear to be using Scala, Erlang and Ocaml to do serious work even if they're not blogging about it.
5. Not much was said about Clojure. This was a little surprising.
Overall, it was a worthwhile two days and I learnt a lot. Still digesting the conference material and will be doing that for awhile.
Comments
2010-06-26
It's a great time to be a computer technologist. The last 12 months feel like a new dawn in mobile computing technology.
I recently picked up an iPad. Surfing the web and checking email has made my daily bus commute way more enjoyable. Rather than doing the morning email and web surfing from home, I can do it on the bus. This is a real time saver.
The iPad, like the smaller iPhone, is a fantastic device for taking on the move. The iPad may just be a bigger iPod Touch but the bigger screen, to me at least, makes the difference between night and day.
I admit in the beginning I didn't see how the iPad could replace my Lenovo IdeaPad which was a portable device that I took almost everywhere. I could write code on my IdeaPad and it ran Linux after all!
It came down to 2 things:
1. 95% of what I did was surfing the web, writing and capturing ideas.
2. Have you tried using a keyboard while standing? This makes difference when you're moving and want to check something. (I got used to the virtual keyboard. It's not the optimal solution for typing)
I still like my IdeaPad but all technology gets outdated by something newer and sleeker. I don't like it but I have no qualms about the engine of progress and a newer shinier version of the iPad in the future.
Aside, I'm surprised by how much the Kindle gets dissed on though, that e-ink display is still the closest thing to paper I've seen on a display. I can use the iPad in hourly bursts but when I want to unwind for a couple of hours with a good story my first choice is still the kindle. Winnie and Alice are flashy but really distract me from reading the book. It's not new, sleek and shiny I guess and that makes sense.
Sent from my iPad but edited on my desktop.
Comments
2010-03-26
user> (. "hello " trim)
"hello"
user> (. (. "hello " trim) toUpperCase)
"HELLO"
user> (.. "hello " trim toUpperCase)
"HELLO"
user> (.. "hello " trim toUpperCase length)
5
user> (.. "hello " trim toUpperCase (concat " world"))
"HELLO world"
Comments