|The New hohle.net|
|by Jon on Tuesday, July 12, 2016||file under: Technology|
Well, here it is, the new hohle.net. I've put a lot of time and work into this new design, both the backend and the front end. There are a lot of tweaks and changes to just about everything and I thought I'd take some time to over some of the new stuff.
Almost everything is Object Oriented now. This still needs quite a bit of work, and with PHP 4, there still seems to be a tradeoff between true OO and speed (its faster to work with associative arrays in most cases). I've also included a lot of third-party classes to do some heavy lifting in areas I'm not particularly interested in (ADOdb and NuSOAP).
Smarty Based Templates
I've started using the Smarty templating engine to abstract my pages from my design. So far, this has worked out great. I can build components like the pager at the bottom of this page, and reuse them wherever I need them, like any time I need pagination. Some of the generic components include the pager, and comment sections. This has sped up template building and testing considerably. It also xmade it easier to support multiple RSS and Atom feeds.
Mostly DIV and CSS Layout
All the web design guys are constantly saying how table-based layouts are teh suck, so I took a hint and dropped my tables... well, mostly. I'm still trying to work on a few things, as I'm new to DIV based layouts, but its looking pretty good so far.
I've tried to include tool tips (title tags) on as much stuff as I could find. This should remove any ambiguity for common links. I've tried to take the guess work out of just about everything. Hopefully the site will be simpler and easier in every regard.
Third Party Services
I'm trying my best to have hohle.net bring together the various parts of my online-lifestyle. I've integrated Google search and my Amazon Wishlist. When I sit down to write some caching code, I should be able to get my del.icio.us links up as well.
Comments now post without a page refresh. Even better, if someone comments while your looking at a page, you'll see their comment right away. There's a lot of new code behind the comment section to make comments more fun and keep comment spam away.
In general, I'm really happy with the new look, and the code base. Its not perfect, but it is definitely ready to be used. I may be tweaking things here and there over the next couple months, but the outstanding issues are minor, and an update has been a long time in coming. I hope you like it!
|One More Thing|
|by Jon on Sunday, October 9, 2011||file under: Technology|
The first computer I had growing up with an Apple //c with a color monitor, tri-color ribbon printer, and an external 5¼" floppy drive. I used the computer to play games, write papers, draw pictures, make banners and birthday cards (with The Print Shop). I even learned to write simple programs using the built in BASIC interpreter and the Apple II Basic Programming Manual.
While I always had an interest in computers, it really wasn't until high school that I thought I might pursue a career in programming. I fell away from Apple computers for several years, but when faced with the opportunity to get a new laptop in 2003, jumped at the opportunity to get a Titanium PowerBook. I was a heavy Linux user at the time and thought having a commercially supported UNIX would be interesting. What I didn't realize was OS X would become my operating system of choice.
Earlier that year I also picked up an iPod. This was when iPods still used FireWire cables, had hard drives (5GB!), and grayscale screens. It was brilliant. My previous CD+MP3 player could store about 10 hours of music on a CD, but this iPod could store all of my music.
Since then I've become an avid iPhone user and written software for Macs, iPhones, and iPads. We've had more iPods in our house than people and currently have four Macs for just the two of us. A trip to the mall meant a trip to the Apple store, whether or not we were in the market for new gadgets or not.
It was always exciting to see what Apple would announce next, and powering it all, a magic polish which made everything insanely great.
And behind it all, Steve Jobs. He brought Apple back from irrelevance into not only the biggest company, by market cap, but also one of the most engaging, opinionated, detail oriented, and customer focussed companies in America.
It's sad to think there will never be another Jobs keynote. We'll never hear "BOOM!", about "magical" new features, or "one more thing" again.
And at the same time, the sorrow of his death should be a catalyst to seize life and remember that "all external expectations, all pride, all fear of embarrassment or failure – these things just fall away in the face of death, leaving only what is truly important".
In Jobs' now famous 2005 commencement address, he states, "[Death] is life's change agent. It clears out the old to make way for the new." Sometimes we're not ready for that change, though. But that change is inevitable and we must accept it or be paralyzed by it.
This summer we were shocked by the sudden discovery of advanced lymphoma in my brother-in-law. In a matter of weeks, he went from leading teenagers at Young Life camp to a medically induced coma. He's now in the process of recovering, but events like this shouldn't be necessary to shake us into an awareness that we can all do so much more.
|New Moon Countdown|
|by Jon on Monday, June 22, 2009||file under: Technology|
I had written a long post about getting a few apps on the iTunes App Store, and I might post more about it later, but in the mean time, I'm happy to write that I have two new apps available for download:
More about the apps can be found at the support page.
To market New Moon Countdown, I've decided to give a book from the Twilight saga to a women and children's center, school, or library in the Seattle metro area for every 100 downloads of the app through iTunes before July 31th. These books have brought a lot of joy to young women and I hope that this will get books into the hands of people who may not have been able to read them otherwise.
|LaTeX on Mac|
|by Jon on Sunday, August 31, 2008||file under: Technology|
I haven't written any documents in LATEX since Dr. Taylor switched to an XML submission format. (Or perhaps it was during Dr. Sebern's Formal Methods class.) I started the paper portion of my thesis this weekend, and decided to delve into the wonderful world of TEX once again.
There are several ways to set up a productive LATEX environment on your Mac, but the combination that seems to work best for me is teTeX installed from MacPorts and TextMate as my editor. I've also found Skim which will automatically refresh PDFs when they are generated by
Alternative, there is a MacTeX, however, the download is nearly 750MB, and includes many packages which already come with OS X.
Here's a collection of sites I found useful when setting up my LATEX workflow:
If you are writing a paper, a book, or any significantly long document (there are even packages for resum?s and presentations), I'd recommend looking into TEX or LATEX. They are a refreshing change from the WYSIWIG editors we've all become so accustom to.
|Spangle 0.2 - Now in French!|
|by Jon on Thursday, August 28, 2008||file under: Technology|
About 16 months ago I scratched an itch and wrote Spangle, an app that checks for updates to the applications you have on your Mac. It's worked well enough, and its largely stagnated since its initial 0.1 release.
Back in May, Pierre Rudloff sent me an encouraging email and a link to a French translation he had written for Spangle. I also fixed an anchoring issue with the icon in the upper left of the main window.
The most major change is that Spangle has been recompiled with llvm specifically targetting Leopard. This shouldn't affect much (except for people still using Tiger), but I was interested in seeing how seemless a transition to llvm would be.
|A List Apart 2008 Survey|
|by Jon on Wednesday, July 30, 2008||file under: Technology|
|Builder Saved My Weekend|
|by Jon on Monday, June 2, 2008||file under: Technology|
I want to thank the Builder team for indirectly allowing me to have a call free weekend out of town. I'm sure other XML Ruby library teams could have done it (except one, that is); but Builder was the first alternative I came across.
I have a production Rails app that I recently migrated to new hosts. The setup isn't very complicated, and for XML generation, I chose libxml-ruby, which is built on top of libxml. What seemed like a good choice at the time turned into a perfect storm of after hours calls. Between a bug in Apache's mod_proxy_blancer, what seems like double free()s in libxml-ruby, and FastCGI not properly timing out workers, I found myself constantly monitoring and killing processes.
libxml-ruby seemed like it would be the easiest component to replace, and in my search for a new XML building package, I stumbled across Builder. It worked like a charm. I was able to strip out all of my libxml-ruby code and replace it with equivalent Builder code in about an hour. All my tests passed, QA approved it, it baked in production for half a day before I left for the weekend, and I had a call free weekend not worrying about my app's stability.
This morning I checked the logs: clean as a whistle. The last error was from just before I deployed. So, hats off to the Builder team. You happened to be fresh in my mind in front REXML.
|Ray/Path Tracer in Cocoa|
|by Jon on Saturday, March 1, 2008||file under: Technology|
Its incomplete: the kd-tree implementation doesn't work properly and it generates odd sinusoidal noise when path tracing. For simple ray tracing cases, though, it looks really good.
The implementation was done in Objective C++ (an un-holy mashup of Objective C and C++). I enjoy programming in both languages, and there are features of each that I would like to see in the other, but using them both at the same time introduces complexity that projects with short deadlines don't generally need. On the other hand, I really like being able to intermix fast C++ code I have been using since college with elegant Cocoa. As long as you know that you have to give your Objective C++ files a
Anyway, the point was that this project is in the can. I may have to revisit it later this semester, but for now, I can catch my breath.
Update: here's a shot of the path tracer with its ridiculous wave pool interference.
|The Best Website is the One I Don't Have to Visit|
|by Jon on Friday, January 11, 2008||file under: Technology|
I've come to the conclusion that I don't like webapps. Some of them are cute or convenient, but in whole, they all have the same flaws: they require internet connectivity, they all reinvent common desktop application paradigms, and they don't communicate with any of the other apps that I use.
This may seem shocking, since I write webapps, a couple of which I think are pretty good. Many of the apps I work on exploit their web-by roots (they are traditional, page based sites which happen to be driven by some content management application), and all of the webapps have an API, so I (or someone more ambitious then myself), can write a decent client app which uses the web.
The majority of my favorite web sites don't make me visit them. I use del.icio.us through Cocoalicous or the del.icio.us Firefox extension. I use Twitterific to get to Twitter. I use Mail to get my Gmail over IMAP, the Package Tracker widget to get stats from USPS.com, UPS.com, and DHL.com, and for the most part, NetNewsWire to read periodical websites. Even Fat Charley has an RSS feed.
This is the direction I'd like to see web development take: Client/Server for the masses, with rich apps on the client and synchronization/storage on the server. Client apps can work offline (if nothing else, to show you the last state of the server), they use native widgets, but are designed to fit within their domain (a mail app looks different then a package tracker), and they all work together with my address book, calendar, and file system.
Not only that, but people are free to use the clients they want. I like Twitterific, but maybe iTweetr is more your style. There's more mail clients then can even be mentioned. And typically, Mac users get a different selection then Windows or Linux users, with apps on each platform integrating into each environment.
Decent client apps put even the best web apps to shame, and great client apps are in a completely different league.
Don't get me wrong. HTML over HTTP is great when I'm at an unfamiliar computer and need to check my mail. But why would I want to go to a website to read other websites (web-based RSS reader).
A year ago or so I was working on just that, a web-based RSS reader along with Mike Joyce and Nick Pazoles. We were nearly read for a public beta and the app was completely usable for a daily reader. The interface was web-2.0 to the hilt: it kept track of your read status, and even had some social hooks. But I lost interest as I realized I didn't want a web app. I wanted a real reader with synchronization. (which, thanks to NewsGator, I finally have).
I like great web app when I need them, but not for general use. If you're writing a web app, give me an API, some hooks, or some kind of way to get the data programmatically. I'll be very appreciative.
|I Want my DTV|
|by Jon on Wednesday, January 2, 2008||file under: Technology|
In the yesteryear of mid-2000 I bought, what was at the time, a big TV. Its a behemoth 32" CRT which weighs more than I do on most days. The power supply isn't properly shielded, providing a nice sine wave pattern in dark colors towards the left side of the display, the channel changes randomly after a few seconds after its been turned on, and the menu's don't display properly if the input signal isn't clean, but overall the picture is good, it was a decent deal, its the only TV in the house, and Kortney and I have no intention of getting a new TV any time soon.
We also don't have cable, or satellite, and in many cases, reception of any kind, without playing games with the antenna, which on the second floor (TV is on the first), so that we can get better overall reception. We've been toying with the idea of subscribing to a service; there are days when I miss Cartoon Network and Comedy Central, and Shark Week potentially makes the monthly fees worth it. The biggest win would be that we'd finally have a clear picture on our TV and we wouldn't have to monkey around with an antenna anymore. But that's all we really want - a clear picture - not 150 channels to veg out in front of. So instead, we've decided to get an ATSC tuner.
An ATSC tuner, what's that?! Most stations (at least here in the valley), have already started their digital broadcasts, which use a broadcast format called ATSC (classic television broadcasts in america were NTSC). The big difference between the two standards is that NTSC provides an analog picture and audio signal, while ATSC is digital. With NTSC if you got a weak signal, you got a weak picture. With ATSC you either get a picture, which is crystal clear, or you get nothing. There is never a degraded picture like with old style broadcasts.
In just over a year, all stations will be required to turn off their analog NTSC broadcasts and broadcast solely using NTSC. If you don't have cable or satellite, and rely on over-the-air broadcasts, you'll stop getting a signal, unless you buy an ATSC tuner, which will decode the new digital signals for you.
Unfortunately, ATSC tuners are both hard to come by, don't seem to be very good, and can be relatively expensive. The RjTECH RJ-1000ATSC is only $80, but the reviews are less than favorable. Samsung also makes the DTB-H260F but prices start drifting towards $200.
All is not bleak however. The government has heard the people's cry for free, over-the-air entertainment, and has started a program to help people ease into digital television. The department of commerce has created a program to give people a $40 coupon towards the purchase of up to two bottom of the barrel ATSC tuners, which will be available in a month or so. Since the MSRP of the boxes is estimated to be around $50, that means you could potentially get a ATSC tuner for $10!
Now, don't go thinking you can walk into your favorite consumer electronics store and plunk down your $40 coupon and get the Samsung tuner for $120. The eligible tuners can't have USB or Firewire outputs, or digital coax or optical audio output. But you will get standard features like program information (channel number and name, program name, time slot, and rating). If you're lucky, you might even find one with S-Video output. Some of the models that will be available shortly are the RCA DTA800, the LG/Zenith DTT900, or several from Magnavox/Philco. An article just popped up on Slashdot as well.
I like how several commenters on Engadget think that only your grandmother will need these converters. Note to the intarwebs: not everyone cares about (or had a TV which can accept) HDMI, component inputs, or getting a new TV every 36 months. I'm looking forward to finally getting decent reception at a great, non-recurring price!
|Page 1 of 26||Older Posts|