October 2011
1 post
‘What the Fuck Is Wrong With You People?’ →
Jon Stewart on Republicans’ “thank America last” stance regarding the Obama administration’s success in Libya.
★
January 2011
1 post
Happy Socks SS11 →
As socks importance is so much under estimated today. I had to make this article, just so you understand through Happy Socks pictures what you could look like taking care of your ankles….
December 2010
1 post
Reflexions on my 23rd year of life.
This post is written by me, to my future me, in a public way. Hopefully I won’t regret this decision
Hey Majd, this is your 23 year old self. Let me tell you about this year just in case you need a refresher. Hopefully you’ll have done this every birthday and if you don’t, what the fuck is wrong with you? This shit will come in handy when you write an autobiography about...
April 2010
1 post
SproutCore @ JSConf: SeedJS, great features,... →
Mike Ball & Evin Grano of Eloqua gave a fun talk this morning at JSConf, and they had great stuff to show.
SeedJS
SproutCore is supporting CommonJS, but a lot of code was written by…
March 2010
1 post
Muziic brings free on-demand music to iPhone →
Because it relies on YouTube, there are some gaps in content, but this is basically the first free on-demand music app for the iPhone, making it a great value.
January 2010
1 post
iPad's Limitations are Design Decisions →
Apple’s iPad is an early (but big) step toward the future of personal computing. But you can’t move into the future if you are weighed down by the past. So it’s possible that many of the technical…
November 2009
1 post
Miscellaneous Git Tools →
Comments
October 2009
1 post
Raphaël Demo - Cross Browser Vector Graphics -... →
Comments
June 2009
1 post
About duplicate contacts and calendars on iPhone... →
When I synced my iPhone after the iPhone 3.0 OS upgrade, I wound up with double contacts and calendar entries. Checking every Mac in the house, as well as MobileMe, though, revealed no duplicate…
April 2009
2 posts
Another interesting IRC talk about MVC vs....
iwaffles: So you do form validation in the controller in CI?
mtheoryx83: well, they may not do well with bugs, but if it gets bad enough, it's easily and legally forked
mtheoryx83: iwaffles: yes
iwaffles: Interesting..
jtaby: mtheoryx83, ok, but what's the point, if it's not legitimit
mtheoryx83: it's totally logical
mtheoryx83: jtaby: what's legitimate and what's not?
iwaffles: mtheoryx83: So is doing it in the model :-P
jtaby: mtheoryx83, not legitimate in a legal sense, in a social sense
mtheoryx83: iwaffles: no, not in the model
jtaby: I guess "official"
iwaffles: Why not?
mtheoryx83: validation is logic
mtheoryx83: logic goes in the controller
jtaby: mtheoryx83, in Rails, the concept is that validation is done in the model, since that's where the data goes
iwaffles: I guess you could think of it that way
jtaby: and keeping validation close to the data ensures the firewall
iwaffles: It really depends
* bnewton has quit (Success)
mtheoryx83: jtaby: the real "community" of serious users wouldn't use a bug-ridden "official" one if there's a better option
* vang (n=repol47@65-205-124-91.pool.ukrtel.net) has joined #codeigniter
mtheoryx83: jtaby: validation isn't about the data
iwaffles: As long as you have consistency throughout your app it doesn't really matter
jtaby: i.e. you may be inserting data into the model from multiple places
jtaby: mtheoryx83, how so?
mtheoryx83: validation is rules on form fields
mtheoryx83: it's logic in the strictest sense
jtaby: or you can look at it as: validation is the set of invariants that the data must pass through
jtaby: it defines the data
jtaby: in a sense
mtheoryx83: jtaby: I don't think it defines the data. Your model could be perfectly able to deal with someone who has a first name that is 40 characters long, but in the context of a given controller, you may want to limit that input. that's logic.
mtheoryx83: crappy example, i know
mtheoryx83: i can see it both ways
jtaby: mtheoryx83, In true MVC, the model is application specific
mtheoryx83: but i think the controller is better because if your form data hasn't passed validation, it's not even "data" that your model should give two shits about yet
* el2ro has quit ("ChatZilla 0.9.84 [Firefox 3.0.8/2009032609]")
jtaby: But like I said, you can be potentially inserting data into the model from mutliple places
mtheoryx83: of course, I could be so accustomed to CI's loose mvc that I'm not sure how it's done elsewhere
jtaby: having the validation in your controller means you're only checking through that one gateway
iwaffles: :-P
mtheoryx83: yeah, i see what you mean
jtaby: i suppose it can work either way
mtheoryx83: I say we just take whatever from $_POST and put it right in the db
mtheoryx83: j/k
jtaby: mtheoryx83, here's why I think there's a confusion
jtaby: Rails, Symfony, CI, Cake, Django
jtaby: none of these use MVC
jtaby: it's a lie
jtaby: you've been cheated out of a design pattern
jtaby: it uses an n-tiered architecture, not MVC
mtheoryx83: It's just like the cake, it's a lie
jtaby: MVC is organized into a triangle
jtaby: it's not a linear pattern
mtheoryx83: I've been thinking about that a bit as well
mtheoryx83: calling models from views
jtaby: http://en.wikipedia.org/wiki/Multitier_architecture#Comparison_with_the_MVC_architecture
jtaby: The model is supposed to update the views
mtheoryx83: that's frowned upon, but should be allowed, no?
jtaby: the controller is supposed to be a mapper between the view and the map, thus it contains the business logic
jtaby: the model contains the application logic
jtaby: But in the context of web development, the model and the view are disconnected
jtaby: One is on the server, one is on the client
jtaby: so you can't have that third connection
mtheoryx83: Interesting
jtaby: Now, if you use something like SproutCore or Cappuccino, you can actually implement "true" MVC
jtaby: because the model is housed within the browser
mtheoryx83: I've been meaning to look at both of those
jtaby: and they do, you should checkout Sproutcore's bindings
jtaby: it's absolutely beautiful
mtheoryx83: Apple's iWork.com is a SproutCore app ;P
jtaby: and MobileMe.com :)
mtheoryx83: Yes, that too
Interesting conversation about web vs desktop...
jtaby: not to be a jerk, but I think i'm going to be avoiding c++ post university
swmc: and if you think of virtual functions as tables of function pointers, =0 for pure virtual makes perfect sense
swmc: (not that you should have to)
aja: jtaby: If you want to be a professional programmer of any repute, hard to avoid it.
jtaby: aja: well, depends on the domain you work in
aja: jtaby: Not really. Even in exclusively java shops that I've worked it, the fellows with C++ background were the better programmers. They had a better grasp on the why, not just the how.
swmc: !ggl joelonsoftware "back to basics"
nolyc http: //www.joelonsoftware.com/articles/fog0000000319.html
aja: jtaby: And, other programmers will tend to judge you on the languages you can code in.
fow !fs painter's
nolyc Shlemiel the painter's algorithm is O(n*n) for no good reason--the same task can be done in O(n) easily. See http: //www.joelonsoftware.com/articles/fog0000000319.html
jtaby: Yeah i've read spolsky's essay on it
fow : )
swmc: I always spell Shlemiel wrong :|
jtaby: but that's not knowledge that's tied to c++
jtaby: c++ is just a language
jtaby: learning c++ doesn't mean your'e a more apt programmer
swmc: jtaby: C++ is pretty much the only systems programming language left, though, outside of perhaps ada for DoD contracts
aja: jtaby: True. But C++ is a very complex language that is used in a wide variety of high-performance domains. It's acceptable not to know it, but you will be judged by that fact.
jtaby: aja: The point I was trying to make is that in the web development world, c++ plays a much smaller role
aja: jtaby: True. But that's also a ghetto where you keep bad programmers, because everything is latency-bound.
jtaby: and it's true, learning the innerds of c++ will expose you to lower-level details that higher level languages just abstract away for you
jtaby: haha did you just diss all web developers?
swmc: jtaby: and the knowledge is what matters, but they only way to assess it, pretty much, is in programming languages that require it
aja: (correction: There are a lot of excellent web programmers. Unfortunately, they are a much smaller minority than in most other domains).
jtaby: but correlation != causation
aja: jtaby: Yes. But correlation is predictive.
jtaby: but not indicative
aja: jtaby: In other words, an excellent web programmer is an excellent programmer. An average web programmer is a poor programmer.
jtaby: aja: point taken
jtaby: but I feel like that's a result of high level languages, noit the web itself
aja: jtaby: Partly. But part of it is that, frankly, people don't seem to care as much. Google and Amazon are about the only companies, off the top of my head, that seem to truly care about high-performance and high-quality in web programming. Even Apple's cloud stuff is sub-standard.
aja: jtaby: Anyway, I tend to dismiss any programmer who hasn't seriously coded in multiple languages and multiple platforms.
swmc: jtaby: I think it's more due to the fact that web development is so dominated by thin wrappers over databases
aja: jtaby: Including higher level languages and web programs.
jtaby: aja: well, don't forget that the latency of web applications isn't in the processing time, rather with the fact that you're moving bits across the planets, as opposed to centimeters
jtaby: and the speend enhancements that amazon and google engage in are more in terms of load balancing and network setup rather than efficient programming, though that's very important for them
swmc: jtaby: when you have a medium where high latency and bad UIs are the norm and there's minimal logic required, there's less to attract the really good programmers
aja: jtaby: True. But when you start trying to handle millions of connections, not paying attention to that starts showing up. And there are damn few sites out there you can't take down with a well-placed posting to slashdot or reddit. That's unacceptable.
jtaby: granted, but that's almost always isn't a result of bad programming, rather it's because of hardware limitations
aja: jtaby: Agreed about the load-balancing. BUt it's not like distributed server farms are a new idea.
jtaby: granted.
aja: jtaby: Ah, but the bad programming shows up when you want to move to new hardware and the code won't handle it. Which is insanely common. Migrations that should take minutes take months.
gparent The funny thing is that Slashdot handles the slashdot effect every day, and I've never seen it down.
jtaby: aja: well yeah, if you don't program with scalability in mind, you can't just tag it on
jtaby: swmc: aja: but I know what your'e saying: The web enviornment attracks bad programmers
swmc: just like parallelism, extensability, and a whole host of other things can't just be tacked on
jtaby: aja: btw, why don't you like Apple's cloud services?
swmc: The fact that big professional web projects (are you listening, WebCT?) are also terrible doesn't help
aja: jtaby: I've got a mac.com account, and it's been "down for upgrade" at least twice in the last 24 months, syncing takes waaaay to long, and it's unstable for large binary files.
jtaby: aja: yeah when mobileme was released they had issues, but those have all been worked out
jtaby: webct == blackboard?
aja: jtaby: Agreed. It's been pretty good the last 6 months or so. And I do like my ipod syncronization stuff.
swmc: jtaby: yes
fow raji, I have to ask. Is your current approach /really/ the best way?
aja: jtaby: Yes.
jtaby: aja: do you liek the new interfaces?
jtaby: *like
jtaby: I really think MVC Javascript is the future of web apps
jtaby: ..but we're getting too offtopic now
aja: jtaby: Don't have a strong opinion one way or the other. Seems to work. I'm a console guy, so I get vaguely annoyed with anything that has graphics. :-)
jtaby: aja: same :)
aja: jtaby: Yes. I have a habit of going OT.
March 2009
1 post
Scripted window management in Xcode →
Xcode’s placement of windows and views has never entirely satisfied me. In this post, I’ll show you a series of Applescripts that I use to create my own arrangement of Xcode windows so that I can…
February 2009
7 posts
How-To Tuesday: Arduino 101 potentiometers and... →
This is the 3rd installment of my Aduino How-To Tuesdays. This week I am going to cover using another basic part, the potentiometer. I will also cover connecting a servo to the Arduino….
Cufon Font Replacement →
A text replacement alternative to sIFR that requires no images or Flash, instead using Canvas and VML to create a similar effect. Can’t wait for CSS3…
View Post
DoubleTwist →
DoubleTwist, the universal media hub from a team led by Jon Lech Johansen, is now available as a public beta for Mac OS X. Interesting and ambitious: DoubleTwist acts as a sort of universal digital…
Cufon Font Replacement →
A text replacement alternative to sIFR that requires no images or Flash, instead using Canvas and VML to create a similar effect. Can’t wait for CSS3…
View Post
Pure CSS Line Graph →
A simple and accessible way to show data in a line graph format using nothing but CSS.
View Post
Tags Review: Dead Simple File Tagging →
A form of organization that has been around for some time, but is just starting to become popular is tagging. In tagging, you assign one (or more) word descriptions to something. Each…
Layer-related shortcuts you might want to know →
Based on some recent comments (e.g. “Please add a way to navigate through layers via the keyboard”), I get the impression that many people don’t know some/all of the following:
Opt/Alt +…
January 2009
3 posts
Simple Plug-in Brings Hulu to Your XBMC [XBox... →
If you’re sporting a modded Xbox with XBMC and you’re envious of its cousin Boxee’s native Hulu streaming, rejoice! A plug-in can bring The Office and other NBC/Fox shows to the Xbox Media…
Simple Plug-in Brings Hulu to Your XBMC [XBox... →
If you’re sporting a modded Xbox with XBMC and you’re envious of its cousin Boxee’s native Hulu streaming, rejoice! A plug-in can bring The Office and other NBC/Fox shows to the Xbox Media…
Balsamiq Mockups: Wireframing For the Rest of Us →
There are several different ways to design a website or a software application. Some people like to start with Photoshop or Illustrator and create the complete design. Others like to start with…
December 2008
1 post
Jim Lehrer For PBS's Series Make 'Em Laugh →
I had to watch this twice to actually get the jokes! If you’ve ever watched the venerable Jim Lehrer of The Newshour With Jim Lehrer, you’ll know this Southern gent is all business. So when he…
October 2008
1 post
Replace MobileMe with an open source server →
Instead of using Apple’s MobileMe account and losing control over your data, you can instead use dotmac for data synchronization and iDisk-like storage space. It requires a machine running either…
September 2008
3 posts
Yahoo OneConnect Brings Free SMS to Your iPhone... →
iPhone/iPod touch only: Yahoo OneConnect is a free application that brings a handful of communication and social networking tools to your iPhone or iPod touch. Off the bat, the most notable…
jParallax →
Stephen Band: Parallax turns a selected element into a ‘window’, or viewport, and all its children into absolutely positioned layers that can be seen through the viewport. These layers move in…
iLeopard kicks Aqua out of Mac OS X and restores... →
Mac users, and specially the user interface purists among them, have always had a problem with Apple employing various non-standard theme elements in different parts of Mac OS X. In Tiger,…
August 2008
3 posts
Troubleshoot a Slow Home Network [Wi-Fi] →
Not getting the bit transfer rate you used to at home? The New York Times covers how to troubleshoot a slow home network, including rebooting your router and changing the Wi-Fi signal’s…
iPodRip →
My thanks to iPodRip for sponsoring this week’s DF RSS feed. iPodRip is a $20 Mac utility that lets you recover songs and playlists from an iPod — so you can use it for tasks like copying music from…
The Information Architecture Behind Good Web Forms →
In the August/September issue of the American Society for Information Science and Technology (ASIS&T) Bulletin, I wrote an article about The Information Architecture Behind Good Web Forms. Here’s a…
July 2008
3 posts
http://www.windmeadow.com/node/38 →
http://rasterweb.net/raster/code/src/gmailpop_pl.tx... →
Download That Ikea Manual [Furniture] →
So you’ve taken apart that Ikea desk, moved it into your new place, and now have no idea how to get it back together. When the paper manual is long lost, hit up the IKEAFANS’ site…
June 2008
8 posts
ScreenRecycler lets you turn another Mac into a... →
Sometimes one display just isn’t enough for our myriad multitasking needs. When you don’t have the money to buy a second display, but do happen to have a spare Mac lying around, …
Wine 1.0 Runs Hundreds of Windows Apps Flawlessly... →
Linux only: Wine 1.0, the first stable release of the Windows API recreation tool, is available for most major Linux distributions. Wine has been focused solely on bug fixes for some time…
12 Hidden Firefox Settings →
With the Firefox Download Day almost over, there is likely to be a whole load of new Firefox users as of today. Even if you are a regular Firefox user, you still may not know about the advanced…
Discover which programs prevent disk image... →
One of my least-favorite error messages is the one that says a volume can’t be ejected because it is in use. The vague advice to “try quitting applications” often leads me on a wild goose chase —…
Setting up an SSH Tunnel
ssh -L :localhost:@
An Interview With 280 North on Objective-J and... →
Ajaxian has an (audio) interview with the team at 280 North regarding (a) Objective-J, their Objective-C-like superset of JavaScript, and (b) Cappuccino, their Cocoa-inspired web app framework.
The Machine That Changed the World →
Andy Baio of Waxy, Simon Willison, and Jesse Legg have tracked down and digitized a 1992 documentary The Machine That Changed the World, a tour of computing before the Web:
The Machine…
Meerkat: simplified SSH tunneling →
Filed under: Software, Security
I would wager that most of the people who know they need an SSH tunnel also know the Terminal commands to make it happen. But if those people happen to…
May 2008
15 posts
Applying Divine Proportion To Your Web Designs →
Effective web design doesn’t have to be pretty and colorful — it has to be clear and intuitive; in fact, we have analyzed the principles of effective design in our previous posts. However, how…
Senuti Copies Music from Your iPhone or iPod Touch... →
Mac only: The newest beta release of previously mentioned Senuti—a utility that copies music from your iPod to your computer—now supports the iPhone and iPod touch. Just install…
InformIT: Interview with Aaron Hillegass >... →
Scott Stevenson interviews Aaron Hillegass about the new edition of Aaron’s book, programmers’ fear of the NIB file, and why there aren’t more Macs in corporate America.
YUI: CSS Grid Builder →
AjaxDaddy Adds Slick Applets to Your Web Site [Web... →
Need to give your blog or personal site a more modern look? AjaxBuddy, a free repository of Web 2.0-style site tools, is great for site owners who don’t have time to learn an entire…
Set Firefox 3 to Launch Gmail for mailto Links... →
In today’s earlier list of five extensions you won’t need in Firefox 3, we said you won’t need any special toolbars, third-party apps, Greasemonkey scripts, or extensions to get…
EasyListening - Copy or synchronize music from... →
IntelliScreen Adds Widgets to iPhone's "Slide to... →
Add email, calendar updates, RSS feeds, and more to your “Slide to unlock” home screen with IntelliScreen, a free application for jailbroken iPhones and iPod touches. Similar to the widgets of…
Safari AdBlock Frees Hulu →
Filed under: Multimedia, Internet Tools
TUAW reader Eric F sent in a note letting us know that “Safari Adblock allows you to watch Hulu programming completely commercial free!” I gave it…