posted on 2008-06-09 18:52:59
In the style of my former post on a
Math Undergraduate Education, this post proposes a list of texts suitable for a rigorous and well-rounded foundation in Undergraduate Computer Science. A future post will cover the philosophical details and practical implementation of such an approach.
This list skews towards theory rather than practicality (or Computer Science as opposed to Programming, if you prefer) but tries to maintain a suitable balance. Consequently, outside study of particular languages (e.g. ruby, php, html, css, javascript, erlang or haskell, python or lua) is assumed. It is advised to work on practical projects (setting up source code repositories and servers, open source software contribution, web development, etc) as applicable since these subjects are covered at best loosely during the course of study.
This list of 24 texts costs about 900 dollars when bought used off of Amazon.com. Click on the book's title to get forwarded to it's Amazon.com page. The ordering of the list loosely conforms to increasing difficulty but it is not a recommendation as to structure. I will probably delve into those details in the aforementioned future post.
How To Design Programs by Matthias Felleisen, Matthew Flatt, Robert Findler and Shriram KrishnamurthiStructure and Interpretation of Computer Programs by Harold Abelson and Gerald SussmanParadigms of Artificial Intelligence Programming by Peter NorvigAlgorithms by Sanjoy Dasgupta, Christos Papadimitriou and Umesh VaziraniIntroduction to Algorithms by Thomas Cormen, Charles Leiserson, Ronald Rivest and Clifford SteinComputer Networks by Andrew TanenbaumProgramming Language Pragmatics by Michael ScottComputer Organization and Design by David Patterson and John HennessyIntroduction to Computing Systems by Yale Patt and Sanjay PatelOperating System Concepts by Abraham Silberschatz, Greg Gagne and Peter GalvinOperating Systems: Design and Implementation by Andrew Tanenbaum and Albert WoodhullThe Humane Interface by Jef RaskinCode Complete by Steve McConnellReal-Time Rendering by Tomas M'OllerArtificial Intelligence by Stuart Russell and Peter NorvigIntroduction to the Theory of Computation by Michael SipserModern Cryptography: Theory and Practice by Wenbo MaoHacker's Delight by Henry WarrenPurely Functional Data Structures by Chris OkasakiCompilers: Principles, Techniques, and Tools by Alfred Aho, Monica Lam, Ravi Sethi and Jeffrey UllmanLisp In Small Pieces by Christian QueinnecProgramming Languages: Application and Interpretation by Sriram KrishnamurthiTypes and Programming Languages by Benjamin PierceConcepts, Techniques, and Models of Computer Programming by Peter Van Roy and Seif HaridiThere are a few caveats to this list that should be noted.
1) As mentioned it does not presume to teach language-specific or platform-specific knowledge. It is slanted towards theory and books on how to write C or HTML, do Linux Kernel Development or learn the Win32 API, or work with OpenGL or TCP/IP should be purchased separately.
2) Since it does not deal heavily with specific languages, it does not make any prescriptions about what languages one should know. Generally, I believe it's good to know a language which epitomizes each of the major programming paradigms whether these paradigms are valid or not (as Krishnamurthi posits in PLAI). This means at least one OO language, one stack-based language, one functional language, and one logic/constraint language. I'd recommend Smalltalk for Object Orientation, Forth for a stack language, Erlang or Haskell for a functional language, and Prolog for a constraint language. Beyond that it would probably be reasonable to learn C as a good representation of the von Neumann architecture and "for culture" and hypothetically python, perl, or ruby to learn a web/glue/scripting language.
3) The list could certainly be shorter. It leans towards functional programming, lisp, and programming languages due to my own personal interests and some material could be omitted from those areas correspondingly. Notably, Distributed Systems and Databases are conspicuous absences from my list. This is because I have yet to find any sort of consensus about quality books on either subject. I'm not interested in Databases but I'm certainly interested in Distributed Systems. Computer Networks is about as close as this list gets.
The beauty of this list, if there is one, is that the basis is strong enough that one could jump off in any direction after it's completion. If you were interested in video games get more books on rendering and physics, if you're interested in cryptography and security get more books on that, etc, but the foundation should be strong enough for any direction you'd like to go in. This list may get updated in the future. It's far from perfect but it does seem to me like a pretty reasonable place to start.
posted on 2007-11-21 19:03:20
Just for the heck of it, you know?
Hardware
It'd be pretty swell if I could get a
BenQ FP222WH Flatscreen Monitor. It takes HDMI input so I wouldn't need a TV in my first apartment!
Zareason is producing some
Ubuntu keyboards and I need a USB keyboard to hack on my PS3 so that would come in handy.
Content
Considering that I'm leaving school for a bit this list will mostly be books to study next semester but really anything off my
Amazon wishlist will do bookwise.
The following 12 books would be my 12 books of Xmas. They're of particular importance to me. And I say buy used.
Algebra by I.M. Gelfand (Author), Alexander Shen (Author)
Functions and Graphs (Dover Books on Mathematics) by I. M. Gelfand (Author), et al.
The Method of Coordinates by I.M. Gelfand (Author), et al.
Introduction to Linear Algebra, Third Edition by Gilbert Strang (Author)
Discrete Mathematics and Its Applications by Kenneth H. Rosen (Author)
Concrete Mathematics: A Foundation for Computer Science (2nd Edition) by Ronald L. Graham (Author), et al.
Calculus by Michael Spivak (Author)
Structure and Interpretation of Computer Programs - 2nd Edition by Harold Abelson (Author), Gerald Jay Sussman (Author)
How to Design Programs: An Introduction to Programming and Computing by Matthias Felleisen (Author), et al.
Programming Erlang: Software for a Concurrent World by Joe Armstrong (Author)
Introduction to Algorithms by Thomas H. Cormen (Author), et al.
Watchmen (Absolute Edition) by Alan Moore (Author), Dave Gibbons (Illustrator)
Finally, you gotta have some useless stuff:
Like video games. Uncharted on the PS3 and Okami or Shadow of the Colussus or Rogue Galaxy on the PS2.
And wall art. I guess I should have something on at least one wall in the apartment next semester right?
Cool wall art includes
disassembly maps of famous old games like Super Mario Bros and Pac-Man. Or some of the
cool internet maps from the XKCD store.
Yeah. That's about all I can think of. Be careful though. Give me all that stuff and some rice and you might not hear from me for another few months. Now then, what do you guys want for Christmas (or insert holiday here)?
posted on 2007-09-23 21:32:12
It's been a nice, leisurely weekend thus far. I've been meaning to post more and to post some things that are a bit less technical but I've been bad about making the time of late. This is a smattering of things that have been backed up in my head.
I realized recently that there's a Milosz poem I never threw up here that I really wished I had. It's titled
Diary of a Naturalist and taken out of his work
From The Rising of The Sun.
My generation was lost. Cities too. And nations.
But all this a little later. Meanwhile, in the window, a swallow
Performs its rite of the second. That boy, does he already suspect
That beauty is always elsewhere and always delusive?
Now he sees his homeland. At the time of the second mowing.
Roads winding uphill and down. Pine groves. Lakes.
An overcast sky with one slanting ray.
And everywhere men with scythes, in shirts of unbleached linen
And the dark-blue trousers that were common in the province.
He sees what I see even now. Oh but he was clever,
Attentive, as if things were instantly changed by memory.
Riding in a cart, he looked back to retain as much as possible.
Which means he knew what was needed for some ultimate moment
When he would compose from fragments a world perfect at last.
Isn't that nice? Here's one I wrote that just sort of flew out this afternoon:
The world is not chaos or justice,
Mere good and bad happening all round.
Swept under the rug in our wake,
Dust returning to dust, in clumps at that.
We do not like to go quietly, or alone.
But what of the unquantifiable interim?
Ah, qualified not quantified: Rich, peerless,
Are there stories greater than our own?
Certainly not with more twists, turns, surprises.
Still, here I am, trying to understand how:
I have become trapped like a fly in amber.
Like those who have come before me, now
Teachers, who sought after explications for the
Milieu of an era, the abstract of an age.
I'm not sure what I think but I may be warming up to it. Now that that's out of the way.
Top 5 Books I couldn't live without:
Unattainable Earth by Czeslaw Milosz
Hackers & Painters by Paul Graham
Orthodoxy by G.K. Chesterton
The Success of Open Source by Steven Weber
The Future of Ideas by Lawrence Lessig
Honorable Mentions:
Selected Essays by Jerzy Kosinski
The Blue Octavo Notebooks by Franz Kafka
The Trial by Frans Kafka
Tender is the Night OR The Great Gatsby by F. Scott Fitzgerald
The Unbearable Lightness of Being by Milan Kundera
Of late, I've also really been enjoying reading Founders at Work by Jessica Livingston. If you're considering ever starting your own company or if you'd just be edified by reading about people succeeding outside the system/convention and innovating I'd highly recommend picking it up. There's also a book called Coders at Work in progress at the same publisher by a different author. That book is composed of interviews with some of the world's premiere programmers and it may find it's way onto the can't live without list. At least, I expect it will.
As my last point today, I'd like to congratulate Electronic Arts. They have successfully made the first good skateboarding video game in years. This is a huge thing for me because I love skateboarding games because I'm a big skate nerd and it's taken way too long for someone to best Tony Hawk's Pro Skater 2. Honestly, what happened to you Neversoft? Anyway, I highly endorse EA Blackbox's new game skate. It's amazz-z-zing. I might need to end up getting one more game console after all. Alright, more later folks.
posted on 2007-09-17 12:56:54
Quick Monday Morning Post. So, what's been going on lately?
-
Apple acts like tools again by being evil and using lock in on consumers. This is one reason I won't buy an iPod or iPhone. I would eventually be forced to switch my Operating System. Thanks, but no. All the same, Linux developers cracked Apple's hashes inside 72 hours, making iPods on Linux workable again.
-
SCO finally gets called out, screwed. They don't own Linux, their case was thrown out, and they've filed for Chapter 11. *grin* 'Bout time. Note: Pissed shareholders. Don't lie to your shareholders.
-
AMD has released ATI video card specs and is helping develop an open source driver. Makes me glad I'm an AMD/ATI guy.
-
Erlang is running on the OpenMoko. This makes me giddy for all kinds of reasons. And it's one more reason I
really, really want an
OpenMoko. Maybe I'll be able to get one for Xmas and replace my current phone. *crosses fingers*
-A "
whole new class of vulnerabilities" has been discovered apparently and it specifically targets multicore architectures. I'm a bit skeptical about the whole new class nonsense. Of course, it also happens to only work when shared memory is involved. Oh, hello Erlang. Don't you have shared nothing semantics? That's nice. I like those.
The to read/listen/watch list:
Online Video Course on MonadsThe Three Kinds of Platforms on the InternetI'm continually impressed by the guys at
Enfranchised Mind (on Intellectual Property today).
On Social NetworksThe Transactional Memory/Garbage Collection AnalogyHow Space Maps work in ZFSInteresting thoughts on the handling on Strings in Programming Languages. Note for non-nerds: Strings are lists of characters. You know, text.
Also, I need to learn
more math.
Finally,
password storage and security. Yep. It's good to know.
The Cool Web 2.0 thingy list:
Meebo - IM everywhere.
YubNub - A web command line. Holy Shit, that's brilliant!
A better list than mine...
posted on 2007-09-03 19:03:30
Week 15: Finished
tvs
gym
classes
write e-mail to tim sweeney asking for permission to publicize conversation.
help pete with his computer after class.
ren and daniUnexpected: Hung out with Kris, Watched Good Will Hunting, Posted E-mail conversation with Sweeney, Got through about 60 pages of Programming Erlang.
Week 16: Schedule
Monday
It's labor day. No work, no school.
Laundry
Respond to LJ comments.
Intro to Computing HW!
Java and C Homework?
Discrete Math Homework?
Tuesday
tvs 7-11
prog and problem solving i - cse 1301 002 - 01:30-2:45pm J-Atrium 151
prog and problem solving i - cse 1301 053 - 03:00-04:40pm J-Atrium 251
c programming - cs 2123 002 - 07:30-08:45pm J-Atrium 161
gym
Wednesday
tvs 7-11
discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
intro to computing disciplines - cse 1002 001 - 03:00-3:50pm J-Atrium 217
Thursday
tvs 7-11
prog and problem solving i - cse 1301 002 - 01:30-2:45pm J-Atrium 151
c programming - cs 2123 002 - 07:30-08:45pm J-Atrium 161
gym
Friday
tvs 7-11
discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
Get in touch with BJ Bernstein.
Bake cookies for Bria. Mail them.
First Smash Tourney Fall 07?
posted on 2007-08-27 12:39:29
Week 14: Finished
tvs
gym
classes
ren and dani ~9:30.
jeff taylor at 10:15 at caribou
dr. carpenter at 7.
skate. with chris friday night after rick.
skate with burke saturday morning around 8:30.
video game party with max saturday night.
sanford at 11.
movie with ben. call him!Week 15: Schedule
Monday
tvs 7-11
discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
intro to computing disciplines - cse 1002 001 - 03:00-3:50pm J-Atrium 217
gym
write e-mail to tim sweeney asking for permission to publicize conversation.
help pete with his computer after class.
actually do school work?
tuesday
tvs 7-11
prog and problem solving i - cse 1301 002 - 01:30-2:45pm J-Atrium 151
prog and problem solving i - cse 1301 053 - 03:00-04:40pm J-Atrium 251
c programming - cs 2123 002 - 07:30-08:45pm J-Atrium 161
lunch with olivia at 11:30?
wednesday
tvs 7-11
discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
intro to computing disciplines - cse 1002 001 - 03:00-3:50pm J-Atrium 217
gym
thursday
tvs 7-11
prog and problem solving i - cse 1301 002 - 01:30-2:45pm J-Atrium 151
prog and problem solving i - cse 1301 053 - 03:00-04:40pm J-Atrium 251
c programming - cs 2123 002 - 07:30-08:45pm J-Atrium 161
ren and dani,
friday
tvs 7-11
discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
gym
News for 8/27/07:
Later.
posted on 2007-08-20 18:35:48
Summer: Week 13: Finished
21st Annual Checkup/Physical @ 9:45
Dental Appointment @ 2:30
Gym
Read and\or listen to Google TechTalks on Concurrency.
TVS
Program a little Erlang?
Talk to boss about fall schedule.
Cousin visiting for dinner.
See Ren and Dani?
Start packing. See people?
Burke is in town! Help him move in?
Move in. School starts. Oh, boy.Unexpected: Saw
Superbad with Kris, Asked for raise.
Week 14: Schedule
monday
tvs 7-11
discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
intro to computing disciplines - cse 1002 001 - 03:00-3:50pm J-Atrium 217
gym
whatever
tuesday
tvs 7-11
prog and problem solving i - cse 1301 002 - 01:30-2:45pm J-Atrium 151
prog and problem solving i - cse 1301 053 - 03:00-04:40pm J-Atrium 251
c programming - cs 2123 002 - 07:30-08:45pm J-Atrium 161
hang out with marian james!
wednesday
tvs 7-11
discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
intro to computing disciplines - cse 1002 001 - 03:00-3:50pm J-Atrium 217
gym
whatever
thursday
tvs 7-12
prog and problem solving i - cse 1301 002 - 01:30-2:45pm J-Atrium 151
gym.
c programming - cs 2123 002 - 07:30-08:45pm J-Atrium 161
ren and dani ~9:30.
friday
tvs 7-10
jeff taylor at 10:15 at caribou
discrete mathematics - math 2345 002 - 12:00-12:50pm D-Classroom 234
dr. carpenter at 7.
skate. with chris friday night after rick.
saturday
skate with burke saturday morning around 8:30.
gym.
party with max saturday night?
sunday
sanford at 11.
movie with ben. call him!
movie with ren and dani. call them!
News for 8/20/07:
I'll fill this in later. It's getting hard to do the news. I'm busy and stuff!
posted on 2007-08-13 21:25:07
Summer: Week 12: Finished
Turn 21
Kris
Battery
TVS
Gym
Fix Ken Boa's Computer
Ren and Dani
Bria's Going Away PartyUnexpected: Speeding Ticket, Bailing Hay for Six Hours on Saturday, Saw Chris B., Got in touch with Jeff Taylor, Actually wrote a decent technical essay.
Summer: Week 13: Schedule
Monday
21st Annual Checkup/Physical @ 9:45
Dental Appointment @ 2:30
Gym
Read and\or listen to Google TechTalks on Concurrency.
Tuesday
TVS
Program a little Erlang?
Talk to boss about fall schedule.
Wednesday
TVS
Gym
Cousin visiting for dinner.
More programming?
Thursday
TVS
See Ren and Dani?
Start tying up loose ends before school starts back.
Friday
Chill.
Gym.
Career Services at SPSU.
Start packing. See people?
Saturday
Burke is in town! Help him move in?
Sunday
Move in. School starts. Oh, boy.
News for 08/13/07:
A lot has been happening folks.
Compiz Fusion made their first release.
WINE has pushed out a new release as well.
PCSX2 has some progress updates.
Fedora 8 Test 1 was released as well.
More later. Links too!
posted on 2007-08-06 13:34:53
Summer: Week 11: Finished
Finish Music work on Zen Vision MP3 Player
Gym
Acquisition Laptop. Load Ubuntu Gutsy Alpha 3.
TVS
See Rick at Noon
Read Rebel CodeUnexpected: See John Mayer play Covered In Rain, Hang out with Ren and Dani, A Certain Unnamed Drama.
Summer: Week 12: Schedule
Monday
Turn 21
Battery
TVS?
SPSU Career Services
Fix Ken Boa's Computer at 2.
Birthday Stuff?
Tuesday
TVS
Gym
Pick up a NVidia AGP card for Ken Boa.
Bria's Going Away party at 8.
Wednesday
TVS
Install Ken Boa's new video card at 4.
Burke should be in town. Hang out?
Thursday
TVS
Gym
Ren and Dani?
Friday
Kris
Anything unfinished from Monday.
News for 8/6/06:
I'm 21 and I don't feel like doing the news so there. Actually, it has nothing to do with this being my birthday and everything to do with me being lazy but because it's my birthday I'll let myself get away with that. ... Maybe I'll put it in later.
posted on 2007-07-27 16:57:13
Summer Reading List:
Worldchanging by Alex Steffen
The Wealth of Networks by Yochai Benkler
Infotopia by Cass Sunstein
Code by Lawrence Lessig
The C Programming Language by Kernighan and Pike (Amazon lies. I have the first edition!!!)
Introduction to Computing Systems by Patt and Patel
Sync by Steven Strogatz
Collected Fictions by Jorge Luis Borges
Godel, Escher, and Bach by Douglas Hofstader (Amazon lies again. First edition! [even though it's not as cool as 1st ed. k&p])
Programming the Universe by Seth Lloyd
The Future of Ideas by Lawrence Lessig
The Singularity is Near by Ray Kurzweil
Rebel Code by Glen Moody
Read:
Just for Fun by Linus Torvalds and David Diamond
Cradle to Cradle by Braungart and McDonough
Hackers and Painters by Paul Graham
The Mutt by Rodney Mullen
Identity by Milan Kundera
Emergence by Steven Johnson
Stuff Partially Read This Summer:
The Future Of Ideas
Infotopia
Programming the Universe
Rebel Code
Collected Fictions
Introduction to Computing Systems
Stuff Partially Read Prior To Summer:
Sync
Code
Godel, Escher, and Bach
The C Programming Language
The Singularity Is Near
The Wealth of Networks
posted on 2007-07-09 17:35:00
Summer: Week 8: Finished
See Ember
TVS
Gym
Site
Reading
FFXII
Lunch with Eric and Aaron
SPSU Run Around. Figure out credits. (started)Unexpected: July 4th party w/Sonya, Jess, Brandon, and (temporarily) Eric. Saw Live Free or Die Hard with Ben, Transformers with Jessie, Got Hacker Culture essay draft posted.
Summer: Week 9: Schedule
Monday
Go to SPSU to work more on transfer credits
Call Sonya
See Bria when she gets off work at 3
Tuesday
TVS
Dentist at 3:15
Gym
Trivia Night with Justin and Bria?
Wednesday
TVS
Sonya at 4
Beach Trip preparation? Playlists, etc.
Thursday
TVS
Gym
Crash at Chris' house.
Friday
Movie with Olivia? Good Will Hunting?
News for 7/9/07:
We'll start with something reasonably important first.
There has been a Linux Kernel release. Available now at a mirror near you, the Linux Kernel version 2.6.22.
On the Fourth we were lucky to get
an update from the ReactOS team. Work appears to be progressing pretty well and 0.3.3 should be out in no time.
That's about it for Open Source actually. I can't help feeling like I'm forgetting something but this is what I've got. All told, I think things are a little quiet since everyone is gearing up for
GUADEC!
In a surprising development, Allofmp3.com was shut down this week after years of happy quasi-legal gray-area Russian operation.
The Microsoft-Novell deal is still not done with it's controversy, though it is very much on the back burner for even most who were initially concerned (aka me) at this point. Here's
the latest courtesy of the wonderful Ars Technica.
And there have been some more
breakthroughs in Data Storage Density.
A recent study has shown that some amount of noise in telecommunications can actually improve throughput and bandwidth. Shocking.
Finally,
I read something awesome the other day about Vertical Farming. Yeah. Read that.
There have been plenty of other awesome blog posts, studies, etc that I've read this week but honestly I'm too lazy to post them. Beg and I'll grab excerpts or see what I can dig up. ;-)
posted on 2007-06-25 15:10:00
Summer: Week 6: Finished
Potentially Buy Skateboard at Ruin.
Gym
Skate
TVS
Sonya's Birthday? (Powerless? Pretty certainly.) *tear emo tear* (Ended up being aquarium visit. Nice.)Unexpected: Aquarium visit with Sonya probably qualifies, as do awesome birthday parties. Phone and house calls. Wrote a crazy ass post that predictably didn't get commented on. Maybe I shouldn't write things at 4am...
Summer: Week 7: Schedule
Monday
TVS (an anomaly caused by taking off early on Thursday for the aquarium)
Call Sonya? (after work today or after work tomorrow?)
Southern Polytech State University Orientation (3-7pm); Register for Classes (Discrete Mathematics, C Programming, other)
Gym (after work or after SPSU Orientation?)
Read Lessig
Tuesday
TVS
Program
Read Lessig
See people?
Wednesday
TVS
Gym
Read Lessig
See people?
Thursday
TVS
Ubuntu Gutsy Alpha 2 Release. Install on new partition. Test.
Money hits bank. Do banking. Buy server?
See people.
Read Lessig?
Friday
Chill.
Play in Gutsy Alpha 2.
Work on site\server?
People. Justin\Bria. Others too?
News for 6/25/07:
CompComm has been officially renamed to
Compiz Fusion. Packaging and site migration are underway. Expect the first official release this week. And be excited. There's good stuff coming.
Neil J Patel released some software that takes advantage of the clutter API to view Flickr photos, appropriately titled
Fluttr.
I also discovered a new media center app that appears promising called
Sofa. That's probably not news but what the hell. Is anyone reading this? Hello?
Some
good patch work is underway with airlied and pzad hard at work on the ati driver.
Somewhat comically
Microsoft offered Ubuntu on it's Windows Live Marketplace this week.
There was also a
great article by Steve Yegge on compilers, a
good post on why Web 2.0 is silly, and a very
surprising post from Lessig on a change in career focus\direction.
A new study was done on
reorienting the web's traffic distribution using peer 2 peer techniques. Intriguing, no?
Finally, in one of those seemingly small developments sure to have a big impact, a Cornell University scientist has found a practical way to
store light.
posted on 2007-06-18 17:39:00
Summer: Week 5: Finished
Take Cody to the Vet for Annual Checkup
Gym.
Bank.
TVS
Started Next Book: Ended up being The Future of Ideas. Haven't gotten that far due to unexpected things.
Sonya?
Unexpected: Heart Wrenching Breakup, Plans to buy Domain, Build Server, Install Wordpress, and Otherwise Go Completely Crazy.
Summer: Week 6: Schedule
Monday
Potentially Buy Skateboard at Ruin.
Gym
Reading
Run at the park at 5?
Tuesday
TVS
Justin and Bria or other people.
Invent something to be excited about here. Server work?
Wednesday
TVS
Gym
More server work and\or people. Early sleep.
Thursday
TVS
Reading
Sonya's Birthday? (Powerless? Pretty certainly.) *tear emo tear*
Something to distract me. Almost definitely people.
Friday
Gym at 2:30? Something like that.
Chill (Keep trying to get around to installing something from source. People. Stuff.)
Reading
News for 6/18/07:
There have been
murmurings on the X.org Mailing List (ML) about ATI re-evaluating their Linux support model. By July, we'll know where they stand.
Neil J.
Patel appears to be hacking away at Avant Window Navigator because there was a new svn release this week.
Songbird has started pushing out nightlies again for the first time in a long time. Hopefully, 0.3 isn't too far off.
WINE released a new version with some Direct3D fixes, as always. Keep it up guys.
The CompComm mailing lists are crazy. Something has to happen soon.
Seriously.
There were also some new
breakthroughs in photovoltaics.
There is a group developing
software to design nanotube circuits.
There is a startup helping
consumers build their own mobile networks(as in cell phones).
That's it for this week. Pray for me and I'll catch you guys later.
posted on 2007-06-14 20:17:00
Aesop Rock - None Shall Pass
Pinback - Autumn of the Seraphs
Radiohead - As yet untitled 7th album
Anything you guys think I'm missing?
posted on 2007-06-09 18:55:00
This is a list of ten types of software in particular that I'm fired up about in no particular order. Software is kind of tough. I'm probably more interested in trends than software (and it feels kind of horrible typing that). Maybe a better way of saying that is if this were a top 10 list of things happening in computing I'd find it much easier to populate though of course I'd be drawing on a larger set of source material as well. That said, most of these will be open source because of my own biases but a few other things will poke out as well.
1. User Interface overhauls
I've always been interested in this kind of work. Think about it. Here you have an established paradigm of a file browser, desktop, icons, etc. It's been fundamentally unaltered since it emerged from Xerox PARC in the 70s. It is definitely not the most intuitive possible way to use a computer. It just isn't. It's the establishment so everyone finds it easy due to familiarity but they don't realize it. The very idea that it could be different is sort of invisible. There are two fundamentally different approaches to this problem. People who are extending the limits of the traditional UI through making it 3D or composited. That's mainly
compiz and
compcomm. Then there are people who are just rethinking the whole interface on a much deeper level, making it a representation of real world objects or trying to eliminate the distinction between local data and web data. I'm speaking of
bumptop,
lowfat,
Jeff Han's work as being representative of real world environments and
SymphonyOS's
Mezzo Desktop as being representative of eliminating the Web\Local distinction.
2. File System overhauls
This is another thing that is pretty immediately apparent as an entrenched paradigm waiting to be rethought. A lot of work in this sense is underway with projects like
tracker,
beagle, and
spotlight working on "desktop search" (such a terrible name), and projects like the
Gnome-VFS
rewrite trying to make filesystems user-centric. Then you've got people that are working on new filesystems altogether which is also crucial.
ZFS seems like a stand out to me (maybe this is because Apple is using it to power Time Machine) but you never know how things like
ChunkFS,
Reiser4,
Ext4, and others might turn out.
3. Generative\Procedural Content-driven Apps
Here I'm thinking primarily of
demoscene,
.kkrieger, and
Spore. I don't think
procedurally generated content is ready to storm the industry necessarily but it does seem so ripe for experimentation in many software markets that you wonder why the demoscene guys are still just hacking away on virtual laser shows. It's pretty powerful stuff if you can just think of a good way to apply it.
4. Driver Improvements
This is basically both open source specific and more or less specific to the graphics and wireless subsets of drivers. I think it's important that Linux (or any OS for that matter) have an excellent underlying system for graphics. Part of that is drivers and part of that is the server and the OpenGL implementation. Drivers for most hardware 3D accelerators (from ATI and Nvidia) are A) proprietary, not open source and B) not that great anyway. So, it seems imperative that we get Graphics vendors to open source their drivers or just make open source drivers ourselves. As an ATI R300-based product owner I'm pretty interested in
that driver. Advancements in the server and OpenGL implementation are crucial too though, so I'm excited by work on
X.org and
mesa and if the work on all those projects stays on track with the roadmap it should be competitive with if not superior to anything Mac or Windows has to offer by Christmas.
5. Impressive Virtualization
This is one of those technologies that isn't a panacea to very deep-seated problems but certainly is a painkiller and just sort of inherently useful. The main contenders are
VMware,
Qemu, and
Virtualbox in the PC space with only
VMware Fusion looking really ground breaking at this point. Fusion is only for Mac but expect the next version of Workstation to absolutely rock.
PCSX2 on the other hand shows that even Console virtualization (yes, most call it emulation) is all too possible even with complex next generation platforms.
6. Impressive Emulation
Wine and
ReactOS are exciting projects to keep an eye on. Wine seeks to create an open source implementation of the Windows API so that users can run Windows binaries on Linux with full compatibility. ReactOS seeks to actually create an Open Source Operating System that is fully binary and device driver compatible with Windows. It is hard to say who has taken on the bolder task but it is apparent that Wine has a larger developer base and that can make progress appear more rapid. Both show promise for eventually getting high enough API compatibility that Windows becomes unnecessary in all but the most extreme cases.
7. Good Frameworks\Libraries\whatever_you_want_to_call_them
When I say good frameworks I'm talking about things like
Telepathy,
Gstreamer,
Clutter,
Pigment,
GTK+,
QT,
Hal and
D-Bus. Telepathy is a framework for both presence information (Is this person online?Do they have their phone? How can you best contact them?) and IM and Chat networks and it can be used to create any number of clients, such as Empathy. Gstreamer is a media framework and can allow for tongs of applications to draw on it for media playback, recording, etc. D-Bus and Hal both offer numerous possibilities of their own at a slightly lower system level, GTK and QT are windowing toolkits and clutter and pigment are both rich user interface toolkits that take advantage of OpenGL but the overall win with all of these technologies is that a central library exists to reduce duplication of code. The more time developers spend not recreating the wheel , the better.
7. Web Integration
Clearly more and more of our data and applications are moving online. Hypothetically, the operating system that helps us most transparently leverage the increasingly hybrid nature of our online/offline workflows will have a leg up on the competition in working with these trends instead of against them. Two projects which are particularly promising on this front are
Big Board and
Gimmie. Telepathy is to some extent valid here too. Big Board seeks to integrate online services into the desktop as a connected panel through the online
mugshot service. Gimmie is similarly a panel which seeks to integrate online functionality chiefly through utilizing the telepathy libraries to provide presence information about your contacts.
8. Content Creation Apps
This is an area where Linux has been considered by many to be lagging behind due to the major proprietary software in the field (Final Cut Pro, Adobe Products especially Photoshop, Some CAD software, Audio production software, etc.) being unavailable though 3D rendering and modeling seems to be an exception. Open Source alternatives are emerging however to Digital Audio Production in software like
Jokosher and
Ardour and of course software like
GIMP and
GIMPshop continues to compete with photoshop.
Inkscape is available for vector graphics,
Blender for 3D work,
OpenOffice and
Scribus as replacement Office Suite and Publishing Software.
Kino,
Jahshaka,
Pitivi, and
Cinelerra exist now for video editing.
9. Consumer Media Apps
A lack of high-quality media playback and management apps has been a conspicuous lacking on Linux in the past. Now, we are seeing applications like
F-Spot emerge for Photo Management,
Songbird as a replacement Music Library, Store, and Player, and programs like
Elisa,
MythTV, and njpatel's
forthcoming Arena emerge as replacements for HTPC applications like Apple's Front Row. Finally, ripping and burning applications like
GnomeBaker,
Thoggen, and
Sound Juicer have also emerged to fill remaining gaps.
10. Web Apps
These are outright online applications or services that show promise for making good use of our data and uniquely taking advantage of peer production or the "social web". This includes applications like
photosynth,
lastfm,
twitter,
flickr,
google apps, and
Zoho apps.
posted on 2007-06-04 20:52:00
Summer: Week 3: Finished
TVS
Sonya
Filled out forms for SPSU apartment.
Got in contact with SPSU Computer Science professor. Arranged meeting.
Saw Knocked Up.
Accidentally helped out scads of strangers on LJ!Still didn't: Programming Chaper 2, GYM! Double Shame on me. This must get rectified this week.
Unexpected: Read bunches, figured out fall living situation, saw a good movie, and helped people.
I'm gonna be honest. Somehow I just realized that it was summer this weekend. I think it occurred to me that traditionally summer just meant I played video games all day but what struck me was that if I wanted to I could do that! Can you believe it? Guys, SUMMER IS HERE!?
Summer: Week 4: Schedule
Monday
Work out Budget based on past expenses, expected income.
Work on VMs a little.
GYM!
Finish Cradle to Cradle.
Tuesday
TVS
Meet Juan Guzman (CS Professor) at SPSU at 4:15.
Start Infotopia or The Future of Ideas or The Wealth of Networks or
something.
Wednesdsay
TVS
GYM!
Reading.
Music Library Work.
Thursday
TVS
Friday
Chill. (Reading, Music Library Work, potentially build Empathy from source and install CompComm if it's out.)
News for 6/4/07:
First,
Empathy 0.6 was released. Talk about release early, release often. These guys are on fire.
Fedora 7 was also released to the world. While this release isn't particularly noteworthy for it's technical achievements it is noteworthy for it's infrastructural or community achievements which may facilitate greater innovation and work in the future. Here's looking forward to F8.
The team over at
PCSX2 released a progress update. Good to hear from them.
Good progress is being made on the
battle against the NSA's Illegal Spying Program.
Apparently there are
fungi that make energy from radiation. They eat it the way plants eat sunlight in photosynthesis. Interesting.
Microsoft talks about
surface computing but I'm more interested in
Perceptive Pixel with Jeff Han. This does make it look like Microsoft wants to move out of the desktop war though which is intriguing.
James Watson has a copy of his own, personal genome. That's just cool. Personal genomics is around the corner and who more fitting to be a first customer than Watson?
Personal medicine is around the corner too.
People are looking into
using superconducting cables in Manhattan's power grid. Damn.
posted on 2007-05-29 05:46:00
Summer: Week 2: Finished
Music Library Reorganization (Begun)
Further Arch Linux Configuration
Including unexpected crazy reinstall and Openbox experimentation
Unbelievable Amounts of Sonya Drama
Withdrawal from OU Fall Courses
Still Didn't: Programming Chapter 2, GYM! Shame on me.
As mentioned: Arch hacking involved much more experimentation than expected, also more learning.
I also haven't mentioned to anyone yet that I had a job interview Thursday and I got the job and start tomorrow. I hope someone reads this and congratulates me cause it's a pretty bad ass job. I'll be helping with the Linux Systems Administration (working with everything to VMware ESX Servers to Apache\Tomcat machines). It's with a pretty reputable (from what I gather) sustainable architecture\design firm called TVS on the corner of Peachtree and 15th high up in the Promenade Building. I even get a parking pass...woot. Anyway, my hours are initially 7am-3pm T,W,Th. TVS also has offices in Dubai and Chicago and have worked lately on the new CDC campus.
Summer: Week 3: Schedule
Tuesday
TVS
Sonya before\until 5
GYM
Reading\Hacking?*
Wednesday
TVS
Sonya
Reading\Hacking?*
Thursday
TVS
Sonya
GYM
It's my friday night party out probably.
Friday
Chill.
Blog.
*= Summer Reading has begun. I've gotten a number of the books on former lists or syllabi I've made. So far the summer reading list is as follows: Just for Fun by Linus Torvalds and David Diamond, Emergence by Steven Johnson, Sync by Steven Strogatz, The Wealth of Networks by Yochai Benkler (YES!YES!YES!), Infotopia by Cass Sunstein (also great), Worldchanging by Alex Steffen, Code by Lawrence Lessig, Introduction to Computing Systems by Patt and Patel, and The C Programming Language by Kernighan and Pike.
News for 5/28/07:
First off,
Dell finally made their big announcement this past Thursday. We've known it was coming since "
the big day" which I kindly added some insightful commentary to in that link. I promise I'll actually try to say something useful about this finally in the next day or two. Also, I might just delve into a lot of the mac\linux thoughts I've been having lately.
Compiz and Compcomm Gits have grown somewhat quiet...and a
poll went up on a name for Compcomm just today. Packages are soon to follow.
NJ Patel has done a lot of work on the
Avant-Window-Navigator codebase and dropped a few updates.
And Oliver McFadden, that champion of men, is back in the Mesa git tearing up the R300 code.
My hero.
Kerneltrap posted some
interesting commentary on crash dumps.
Empathy 0.5 was announced. There are no packages yet but I'm definitely keeping my eye on this.
The GNOME roadmap was also released.
And people are still doing work on semantic filesystems, which makes me happy. But I also say just port ZFS already.
Apple's doing it. They want a free ride.
Novell is sorry for their patent blunders and idiotic agreements with Microsoft.
Really.
A
very interesting commentary slipped through the cracks on me.
Someone has brought up one of those
good ol' ideas that seem to be ever kicking around under the surface.
Sun says screw Microsoft's patent threats, if nothing else, we've got your back (to Ubuntu, Red Hat, et al).
It sounds dumb
but nanoglue. Nano-scale manufacturing needs something.
Hydrogen fuel from starch. That's one way to get abundant energy. Maybe.
Some good work on
embedded electronics in textiles. Here comes fashion.
posted on 2007-05-21 23:29:00
We'll start with a summary of last week.
Summer: Week 1: Finished
Bank Deposit\FinancesHaircutEcon Ch. 13, 6Start Programming (C, Python, or a Functional Language {Haskell, Erlang, OCaml})Talk to Mom about Blockbuster Movie Delivery. Begin Piracy Scheduling. Or open Netflix account.Gym x3KowerWork on repartitioning System for Space. Switch Arch to Else? Yup. Fedora 7.Unexpected Projects completed:
Getting Rid of Windows Partition and Getting Windows running as a VM (Virtual Machine) in QEMUI also made a fresh arch install and had some good fun pirating some things and uploading
Summer:Week 2:Goals
Monday
Kower\Econ Articles
Music Library Re-organization
Further Arch Linux Configuration (possibly try alternative WM (fluxbox?))
Tuesday
Gym
Kower\Econ Test??
Sonya
Wednesday
Computer Programming Chapter 2
Thursday
Gym
Econ Test
Friday
Anything Left at Oglethorpe (Econ)
Signatures on Withdrawal Forms for Fall
News for 5/21/07:
First off, there's an
update on Dell's Linux offerings on the Dell blog. It's noteworthy that they appear to be helping work on hardware support for Linux. I hope that means ATI/Nvidia support.
On the open source ATI front, Dave Airlie has announced a new
release candidate of the X.org ATI Driver.
There's been, as usual, a ton of activity in the
CompComm git but it's interestingly centered around packaging and organization. I think we're getting closer to 0.1!!!
Purdue University had a big week, complete with an
advance in fuel cell technologies that brings us much closer to hydrogen fuel and some folks at Michigan State University have made
advances in corn-based biofuels.
The University of Delaware has produced the
first silicon-based spintronics device.
A very clever start up called Soliant Energy out of California has come up with a
much more efficient way to do Solar Power.
Blizzard announced Starcraft 2!
And
NJ Patel showed back up after a near 2 month absence and is continuing work on some of his exciting projects like the Avant Window Navigator, Tracker, Affinity, and Arena. Good to have you back NJ.
Finally, the magnificent
OLPC project made it on 60 minutes. Intel is being dicks to them. Everyone who reads my blog, please stick with AMD. Really.
posted on 2007-05-14 23:12:00
Summer: Week 1: Goals
Todo:
Monday
Bank Deposit\Finances
Haircut
Econ Ch. 13, 6
Start Programming (C, Python, or a Functional Language {Haskell, Erlang, OCaml})
Talk to Mom about Blockbuster Movie Delivery. Begin Piracy Scheduling. Or open Netflix account.
Tuesday
Gym
Kower
Blank CDs?
Write Tech Stuff?
Work on repartitioning System for Space. Switch Arch to Else? Yup. Fedora 7.
Wednesday
Prepare for Econ Test
E-Mail Charlie Paparelli something. Job hunting.
Thursday
Econ Test
News For 5/14/07:
ATI Claims Plans to Improve (possibly open) Radeon Drivers on Linux. Big Deal if they follow through but much skepticism.
ATI releases R600. More Forward-Looking than G8x by Nvidia but also 6 months late. Need to play catch up a bit. Performance competitive but verdict still out.
Microsoft has decided Open Source is in violation of 235 of their patents. More on this later perhaps but generally considered a nuisance rather than a threat. (See groklaw.)
Intel is concerned about the slowness of software in catching up with their multicore roadmap.
The Supreme Court made a ruling on Patent Law and Prior Art that promises to help improve the Patent Cold War and also invalidate whole flocks of software patents.
The price of polysilicon used in solar panels skyrocketed.
This blog covers 2015, Books, Butler, C, Dad, Discrete Math, Displays, Education, Erlang, Essay, Gaming, Gapingvoid, HTDP, Hardware, IP Law, LISP, Lecture, Lessig, Linkpost, Linux, Lists, MPAA, Milosz, Music, Neruda, Open Source, Operating Systems, Personal, Pics, Poetry, Programming, Programming Languages, Project Euler, Quotes, Reddit, SICP, Self-Learning, Uncategorized, Webcomic, XKCD, Xmas, \"Real World\", adulthood, apple, career, careers, choices, clones, coleslaw, consumption, creation, emulation, fqa, games, goals, haltandcatchfire, heroes, injustice, ironyard, linux, lisp, lists, math, melee, metapost, milosz, music, pandemic, personal, poetry, productivity, professional, programming, ragequit, recreation, reflection, research, rip, strangeloop, vacation, work, year-in-review
View content from 2024-09, 2024-06, 2024-03, 2024-01, 2023-12, 2023-07, 2023-02, 2022-12, 2022-06, 2022-04, 2022-03, 2022-01, 2021-12, 2021-08, 2021-03, 2020-04, 2020-02, 2020-01, 2018-08, 2018-07, 2017-09, 2017-07, 2015-09, 2015-05, 2015-03, 2015-02, 2015-01, 2014-11, 2014-09, 2014-07, 2014-05, 2014-01, 2013-10, 2013-09, 2013-07, 2013-06, 2013-05, 2013-04, 2013-03, 2013-01, 2012-12, 2012-10, 2012-09, 2012-08, 2012-06, 2012-05, 2012-04, 2012-03, 2012-01, 2011-10, 2011-09, 2011-08, 2011-07, 2011-06, 2011-05, 2011-04, 2011-02, 2011-01, 2010-11, 2010-10, 2010-09, 2010-08, 2010-07, 2010-05, 2010-04, 2010-03, 2010-02, 2010-01, 2009-12, 2009-11, 2009-10, 2009-09, 2009-08, 2009-07, 2009-06, 2009-05, 2009-04, 2009-03, 2009-02, 2009-01, 2008-12, 2008-11, 2008-10, 2008-09, 2008-08, 2008-07, 2008-06, 2008-05, 2008-04, 2008-03, 2008-02, 2008-01, 2007-12, 2007-11, 2007-10, 2007-09, 2007-08, 2007-07, 2007-06, 2007-05