Simon Woodside | Simon Says | All posts for tag "dev/" (129)
Skip to content >

Simon Says : All posts for tag "dev/" (129)

A weblog by Simon Woodside

# posted 2007/04/02 in dev/unix (+2). save to bookmark on del.icio.us, bookmark on digg

IPTables unix/linux firewall, simple commands

Since all the iptables documentation out there is super complicated, here's something really simple.

To see all of the ports that are open, run:


       sudo iptables --list
      

To add a new rule (to open a new port, e.g. 8080):


       sudo iptables -A tcp_in -p tcp -d my.hostname.com --destination-port 8080 -j allowed
      

That's assuming you have a chain called "tcp_in" of course...

And to delete a rule, run iptables --list, count the number of the rule (the index #) and then:


       sudo iptables -D tcp_in [index]
      

Simple enough....

# posted 2007/03/05 in dev/unix (+2). save to bookmark on del.icio.us, bookmark on digg

The Quick and Easy Guide to moving your project from CVS to Subversion

So you want to use SVN? Fine, it's easy to move a project from one to the other.

Get cvs2svn

Go to a checked out copy of your cvs project and run cvs admin -kb filename on any binary files.

Commit to CVS.

Assuming that you've got a simple CVS project with no branches that you want to keep, do this:


% ./cvs2svn-1.5.1/cvs2svn --trunk-only -s project-name /path/to/cvs_repository/project-name
% mv project-name /path/to/svn_repository/
      
# posted 2006/11/17 in dev/siteware (+17). save to bookmark on del.icio.us, bookmark on digg

New features on the blog: pagination, save to digg, del.icio.us

I just added two new features. First, now you can finally page through the posts 15 at a time (or whatever # it's set to show on the front page), using the "Previous Page" and "Next Page" links at the bottom. Second, you can save a specific post to Digg or delicious by just clicking on the appropriate little icon in the meta-data at the top of the post. As if anyone would want to do that. I don't, but I saw it on a bunch of other blogs so I thought I'd do it to.

I guess in theory you could use digg to discuss the post, if everyone used digg.

# posted 2006/10/21 in dev/siteware (+17) and original/art (+1). save to bookmark on del.icio.us, bookmark on digg

Some fun with Saxite, a logo, my first "font"

So Saxite is the new name for my siteware project. For those of you not paying attention, it's all written in XSLT and XML and it runs on AxKit.

I decided to make an icon so I came up with this icon, below.

Like it? I was inspired by a recent issue of Computer Arts Projects (one of the fantastic UK graphic design magazines that my local Indigo store carries) that was all about fonts, to do some of my own font work. So, I had a visual idea of what I wanted the logo to look like, with the X as a white space in the middle, and then I looked for a font on my system that was very blocky and thick and wound up with Arial Black. "ITE" on Arial Black are very generic, but I really didn't think that the S worked at all for me, and the A didn't fit, and the X I didn't like either (not wide enough).

saxite icon

So I started with the A. I actually did the A from scratch, not even bother to look at the Arial A. It's more like half of an A anyway. Next I got the X in the shape I wanted, and filled in the negative space on the right side with the I. Getting the hole in the A to look right was tricky, right now it's actually a white copy of the shape of the A!

Oh yeah, and check out the arrow in the A too :-) (it's pointing right). And check out the angle bracket on the right side of the X :-)

saxite icon

I spent by far the most time on the "S". I didn't like the original Arial S and wanted to replace it the most since it's by far the most identifiable letter of the ones I used. Also it didn't look blocky and aggressive enough in my opinion. There was quite a bit of variation in the width of stroke which I didn't like, so I drew my own "S" over top of it with a more even stroke (drawn with beziers). I also didn't like the flat ends so I switched over to ends on 45-degree angles. Getting it to balance was interesting ... the bottom end of the S actually extends out beyond the curve above it, while the top end is shorter than the curve below it. Weird.

I actually tried out another one which was even more streamlined, with the top and bottom strokes ending totally horizontally (like in the Star Wars logo) but that looked too, I don't know, sci-fi?

Finally I added the hole to the right of the X, before the I. And then I redrew the rest of the letters by hand so that they would all flow together. Now there's no Arial Black left at all.

Oh yeah, and post-processing in Photoshop to give it that 3d look.

# posted 2006/09/06 in dev/siteware (+17) and hot/ (+1). save to bookmark on del.icio.us, bookmark on digg

Even better tag browser!

Well now I've got an even better tag browser. In fact I think it's the coolest tag browser ever. It's better than the flickr tag browser and the technorati tag browser and amazingly, even then del.icio.us tag browser. And what is delicious for if not tag browsing. Well.

Anyway, I used a sort of crazy CSS-float-left thing to make the big and small boxes all go inline together. It would have made more sense to use inline-block but it's not supported in Mozilla yet (weird).

Also, you will note that this new browser really brings out the awesomeness of my two-level tagging scheme because now for the first time you can see how the levels work. And I'm discovering that maybe I have some duplication oops, and I'm also completely inconsistent in how I capitalize. Hmm. I might edit my tags (I suppose that's bad for google though, oh well).

Anyway, the big names in the filled-in boxes are the "categories" and the names in the small white boxes are the "tags"... some day I might allow to view just the tags but I'm not quite sure what that would mean.

Note to self: I should add some category browser on the left side there.

# posted 2006/08/01 in dev/web (+16). save to bookmark on del.icio.us, bookmark on digg

Customizing CSS with the Sympa Mailing List manager .. and CFH 416

I recently decided to customize the CSS style sheets on my Sympa mailing list manager-based semacode.org forums. It wasn't quite as easy as I think it should have been. The "instructions" in the Sympa docs are not exactly friendly. However after puzzling through it myself I found that it wasn't too hard. Here are the notes I made in the process.

  set css_path in robot.conf
  
  e.g.
  css_path /var/www/lists.semacode.org/css #filesystem path
  css_url http://lists.semacode.org/css/   #fully-qualified URL!
  
  then set chmod the css directory, chmod a+rw so that sympa can change it
  
  then on "skins admin" page do "install static css"
   (static = not generated on the fly by tt2, I think)
  
  it will install style.css and some other .css files in the css directory
  
  then set the css directory back to whatever permissions you want it to have
  
  then modify the "static" css files however you like
      

...and there you have it. So far I haven't done much, just a little bit on the archives view. Ultimately I hope to steal all the good looks from projects like phpbb and others.

Also my next appearance on Call for Help should be in episode #416, whenever that airs.

# posted 2006/06/24 in meta/ (+30) and dev/web (+16). save to bookmark on del.icio.us, bookmark on digg

Two-level tags

I've thought before about putting in a two-level tagging system on my blog. I guess that it comes from that I'm dissatisfied with "tags" per se. They're just not rich enough. With a simple tagging system, it's hard to organize your tags into groups, for example, which to me is a big problem.

I'm not the only one to do something about this: see also tag bundles on del.icio.us , and also "meta tags" (which are tags about tags I guess).

I think that the common "solution" is to give mix tags together, so if you're talking about developing software on OS X you'd tag with "development", "software" and "OS X". But that's an implicit, not an explicit relationship. Also, designing a tag browser that lets you see which articles are tagged with all three of those tags is a hassle. Finally, there's no sense of hierarchy.

On the other hand, going to hard in the other direction (totally formal hierarchies) is also not viable in my opinion because it's too much work. You can get stuck with a specific hierarchy that doesn't always work (like in a library catalogue), or you can get confused by deranged mazes of hierarchical relationships (like Wikipedia's categories ).

This is a problem in software development too. I remember when working at Apple. NextStep always had a single-level namespace, which meant that each and every library and application class had to have a unique name. This is a really big hassle and so people wound up prefixing their class names with two uppercase letters in order to prevent collisions. So NSThis and NSThat were the names for "NextStep" classes (provided by the system), and your own app would be MAThis and MAThat (for "My App" ...). Then of course what if two people choose the same prefix. Or what if the name of the app changes, and your prefix becomes historical and a little spurious. (Like in OS X, all of the system classes still start with NS...)

Apple introduced a two-level namespace at some point in 2001 I think, which made the problem go away (although the NS prefix remains). I think that two-level systems are good. People can remember two levels of hierarchy very easily, it's a sort of natural relationship (like having a filesystem with files and folders but no sub-folders ... wouldn't that be simple??).

So I decided to put into place a two-level tagging system here in my blog. The "top level" tag is the category and the "second level" tag is the tag. Top level categories include links, original, and a big one: dev (for software development). You can see all the categories by clicking "Browse all tags" at the top to take you to the categories and tags browser.

There's a couple more things I want to do. One is to integrate the rest of the site into the system, so that any of the pages on the site can be tagged and included in an overall tags-based browser for the site.

Also I need to improve the UE a bit ... one thing is to have the ability to see a list of each category and its sub-tags. Also, I need a page-overflow paging type system to deal with huge pages like the one for the "dev" tag.

# posted 2006/06/04 in original/movie (+9) and dev/java (+2). save to bookmark on del.icio.us, bookmark on digg

Videos from JavaOne SF 2006

#

What have we here? You guessed, some cheesy grainy videos from San Francisco. Let's start with the big one. It's Paul. Yup. And he's not aware he's being filmed. Hmm. Then, he realizes he's being filmed, and so he insults me.

#

Next I give you ... what was that?

#

Oh, it was a sea lion. Yawn.

Please note: Many crappier videos were deleted in the making of this blog.

# posted 2006/03/31 in dev/camino (+11) and original/open source (+12). save to bookmark on del.icio.us, bookmark on digg

New camino concept drawing: Bookmarks browser with preview pane

I'm always super pissed off with the Camino bookmarks browser because I can't organize my bookmarks and view the pages at the same time. (Safari is no better.) In fact I was never happy about the transition from drawer to bookmarks panel but hey, what can you do. The drawer wasn't popular.

Anyway, here's a new idea which I think would make organizing my bookmarks a lot easier. I can never remember what all my bookmarks are for, and having a little preview would make it a lot easier to sort them out. So, with this floating around in my head somewhere I was pretty impressed with the "now playing" box in iTunes where you can see a live preview of video podcasts that you've downloaded.

So, here is a concept drawing of what Camino bookmarks browser would look like if it had a preview pane. Thoughts? Email me! sbwoodside@yahoo.com (my public/spammable email address).

# posted 2006/03/30 in dev/camino (+11) and original/open source (+12). save to bookmark on del.icio.us, bookmark on digg

Looking back at an old Camino interface thingy

I actually made up a design for a unified drawer design for the Camino browser, ages ago, which I thought was pretty cool at the time. Unfortunately at this time Camino was about to ditch the drawer (against my wishes). I don't browse full screen, and I think most people don't ... but I lost that argument.

This is one of my original concept drawings. The idea was to merge the HI for three things (bookmarks, history, and tabs (aka "sessions") into a single list. One part of this design which is still innovative is that the list of tabs (or "sessions") was universal to the whole app, and it didn't matter what window you looked at them in. I thought that was cool.

A later iteration took the merging a step farther. Note that this was drawn before tabbed browsing was invented!

Finally, a contribution from someone else (sorry, I have no record of who..) which clearly is a precursor to the Omniweb thumbnail tabs. I bet Omni ripped it off... They have the guts to make this kind of leap.

# posted 2006/02/19 in dev/camino (+11) and original/open source (+12). save to bookmark on del.icio.us, bookmark on digg

Camino ships 1.0

I'm on an enforced work holiday which gives me lots of time to blog. So aside from a lot of work on the tagging system here at Simon Says, I've been going through old bookmarks and recent news as well. Here's a good one.

Camino (the best browser for OS X) reaches 1.0:

The Camino Project is proud to announce the Camino 1.0 web browser, the culmination of four years of work by dedicated volunteers.

Designed exclusively for Mac OS X, Camino 1.0 is built on Mozilla’s Gecko rendering engine and offers one of the fastest browsing experiences available. The only browser available that combines the rendering power of Gecko with the Aqua user interface, Camino 1.0 offers superior integration with the Mac platform and a focused feature set. Among Camino’s signature features are elegant tabbed browsing, an enhanced bookmarks manager, and built-in ad-blocking.

I helped to write that announcement. Snappy eh? Anyway, my last major involvement was back in, er, let me consult my new tag browser ... 2004 when my history patch landed. I wrote a major improvement to the history panel, which was crap before that. It's still not perfect, but just after that I got awfully busy with Semacode.

However I was with the project during a rocky time in 2003/2004 when Apple launched Safari and it looked like the game might be up for Camino. But it's definitely not up. Camino is way better than Safari. It's faster, more attractive, renders better ... it's even more "mac-like" (however you want to say it). And the crowd now involved are clearly doing a good job. All around great news.

PS. The new website looks great. Also. I still administer the mailing list.

# posted 2005/11/20 in web/wikipedia (+1) and dev/web (+16) and original/prediction (+3). save to bookmark on del.icio.us, bookmark on digg

Six WikiConjectures

I came up with these six conjectures about wikipedia one night. It kept me up. I'll admit that some of them are somewhat opaque to a casual reader. I might write some commentary later.

By the way -- I have no idea if any of them are true.

Conjecture 1. That the distance between any two wikipedia pages, randomly chosen, as measured by wikilinks, is on average 6.

Conjecture 2. That wikipedia is sufficiently formal and complete that you could build a useful general purpose AI knowledge base using it.

Conjecture 3. That wikipedia has low information entropy.

Conjecture 4. That the development of a wikipedia article over time occurs in a manner consistent to the biological evolution of a species.

Conjecture 5. That the relationship between the amount of material in wikipedia and the number of article views is exponential.

Conjecture 6. That wikipedia is, on average, factually accurate.

Motivational questions:

  1. Social networks conform to the "six degrees of separation" principle. If wikipedia does, what does that say about its social roots / the way it's constructed?
  2. See Cyc and others. Is there enough formally coded information in wikipedia? What about the semantic relationship between the source sentence containing a link and the summary of the linked article?
  3. What does "low entropy" mean anyway? More structured? Simpler? More redundant? More readable? What about the entropy across wikilinks?
  4. Does an article behave like DNA?
  5. Can we "prove" Reed's law? How do you measure the size of the content?
  6. Is it accurate more than average? Can you predict the accuracy of an article?
# posted 2005/10/27 in dev/siteware (+17) and meta/ (+30) and dev/xslt (+4). save to bookmark on del.icio.us, bookmark on digg

New tag browser

My CLEVER little blog now has a better tag browser, more like the one you are used to seeing in flickr and so on. Also the tag browser is finally fixed so that it actually displays all of the tags that I've used... the previous one had a little bug in it, which I will totally blame on the XSLT FAQ's article on Grouping which completely didn't work for me in this case. And their technique made no sense.

Will I ever release my siteware as open source? It could happen.. I won't say I'm not unmoved by gifts of small and valuable precious stones. Actually, I really ought to just do it. Bleh.

And finally, I still need to go through and tag some more actually.. but what I'm thinking of doing now is tagging the whole site and making RSS available for the whole site as well.

# posted 2005/09/15 in dev/ (+128). save to bookmark on del.icio.us, bookmark on digg

Bottlenose

What do you get when you mix HTML, CSS, Javascript, Asynchronous Javascript, a web server, a web browser, interprocess communication, and native application views?

I was on "vacation" during August. I only got to have 5 days of "real" vacation because some stuff cropped up for work but I did do some sort of recreational programming. And I had this idea that seemed like a good idea, and my programmer buddies didn't immediately shoot it down as being completely stupid, so, I did up a demonstration in Objective-C and it's called Bottlenose.

Bottlenose is a way to enable graphic designers, and HTML/CSS/Javascript designers, to directly create the interface for a native application. Where a "native application" is something that runs right on the computer, like a work processor (not a web app, ASP, or applet).

I might have used pure java but (a) there's no good web browser API available for free and (b) Apple's WebKit is sooo easy to use and well documented. But still - Bottlenose couldeasily be ported to other platforms. In fact, I want to see it especially on Linux. Because I think that on Linux it could make a big improvement in the UIs if the graphics people could write it themselves. That is, after all, the Linux philosophy.

Anyway, I have this idea of running a contest to develop UIs for the demo that are better than the one I made. I'll probably even throw in a valuable prize of some sort (some books?) for the winner, and post all of the good entries.

If you have any comments at all, or think it's a good/bad idea, feel free to contact me.

# posted 2005/07/29 in web/flickr (+4) and dev/web (+16). save to bookmark on del.icio.us, bookmark on digg

More flickr embedding, this time using the flickr badge

So actually the flickr badge code is pretty flexible. More than I realized before. I think It's better than the flash thing I tried before. Here I will embed 10 random pictures from my trip to barcelona.

You can click on them and go to the flickr page for the photo.

And here's the code.

And here's some more information about those options. You embed the options as URL query parameters.

  • count=8 // or any other number
  • size={s,t,m} // square, thumbnail, mid-size
  • layout={v,h,x} // vertical, horizontal, none
  • user={#} // e.g. 20938094%40N00 for me
  • source={user_tag, user_set} // maybe other options

If you set source to user_tag then you need to specify

  • tag=barcelona // or some other tag

If you set source to user_set then you need to give

  • set={#} // e.g. 261728 for my barcelona set

For the CSS portion, they give you all kinds of extraneous CSS when you use the badge generator that you don't need. Just set whatever you want for div.flickr_badge_image at a minimum.

In order to discover the exact formatting and CSS classes and everything, you can open the URL for the script in your browser, and then look at the source. here's mine for this particular example.

Copyright © 1996-2007 Simon Woodside. If no license is noted, rights are reserved.

Valid XHTML 1.0 strict? Made with AxKit and Saxite.