How do you build a keyboard from scratch?

 

if you want something more custom check out the TEENSY which is has lots of examples and code for making keyboards.

use a drawing or CAD program for the switch layout then cut it with hand tools using a guide or send it to a LASER cutting service for a more zact end result. in my experience Adobe Illustrator will work just as good as a CAD. Wood, MDF, plastic, or metal are all materials to consider for mounting switches. and it does not really matter what as long as the keys snap in place.

before you embark on a keyboard build consider there are many existing keyboards that might fill the bill in terms of ergonomics or customization.

links go here:

Is a 5th Generation Core i3 laptop good for a beginner programmer?

I learned programming on a TRS-80 and a Apple II. you don’t need an i7, an i3, Core2Duo, Pentium Pro, or a PowerPC 603 to learn. CPU power is not that important. mostly you are typing and reading text. I always say, “3.2Ghz… we’re typing fast now!”

the things I consider important are:

the keyboard. if you do not like typing on what is in front of you the you will be annoyed about using the laptop. too loud, too squishy, or just feels wrong.

trackpads that are hard to use make for a bad experience. clicks should feel transparent. it should not get in the way of work and if it does, because it does not track, it will be frustrating. yes, you can add a mouse. and you should. but the track pad is part of it.

the display is a factor. most cheap laptops have a 1366 x 768 screen. fine for learning. annoying as you use it. the 200 pixels that a 1680×1050 or 1980×1050 screen makes a difference. you will see a little more code in the window and that helps.

Python, Perl, Ruby, C, the other Cs, JAVA, javascript, etc… all that will run on anything made in the last 17 years.

my advice? find something that is free or almost free that somebody feels is too old or slow.

Siggraph 2010

Play

Siggraph hosts an annual conference and trade show for graphics, 3D and visual arts creation. you’ll find everything from graphics cards to clusters of computers both of which are be used for render engines. and while the “trade show” aspect is interesting it’s just the most visible part of the iceberg. the conference is host to talks supporting papers given by insanely smart people talking about things like “Geometry Aware Direction Field Processing”, “Topology- and Error-Driven Extension of Scalar Functions from Surfaces to Volumes” and “Parameterizing Subdivision Surfaces” which are just a few of the topics covering art creation, game development, technical dissertation, educational courses, and panel discussions. and like all conferences it overlaps so there would be no way to see everything during the event. fortunately you can buy it all on DVD. fortunately these videos are also provided in a way that will play from your iPad/iPhone.

links to things mentioned in the show:
sorry, it takes a while to make this list

[ad#720 bottom banner]

hosting part 1

Play

there is a crazy amount of bandwidth and processors that are mostly idle making web hosting a commodity. but even though you can get a web host for a year for less than $10 you might be getting exactly what you paid for. that is, a service that’s worth about ten bucks. servers require somebody paying attention to them to stay running. you need to keep up with updates and patches otherwise your site won’t be reliable. but even if the technology is up to date there may be so many sites running on the same server that none of them perform very well. all it takes is one badly configured blog to mess up the works for everyone.

somebody wrote in before we recorded this asking, “don’t you guys also like free services?” sometimes. there are lots of ways to get on the web. and some of these services are free. just about every single service has a free version. google, flickr, yahoo, wordpress, blogger and dropbox to name a few have tools that will get you and your company talking for no charge. but at what cost? advertising might get inserted into your content that you don’t benefit from. or your data may be mined for information. you might not get access to stats or have limited stats. statistics is vital for your ego. you really want to know what things are popular. it helps you focus your efforts. and it’s nice to know where your views or listeners are coming from. the problem with free is that you are subject to the whims of the free service. if you get DMCA’d they will act for the complainer on your behalf. when you control your own domain it’s your choice on how to deal with your problem. free means that you are subject to advertising. this could dilute or confuse your brand. and the finally the service might not be that fast.

that said, free stuff does have the benefit of being EASY to set up. you don’t have to do anything other that pick a user name and a password. no nothing to update except for your words or pictures. but you really, really, really need to read the Terms of Service. sometimes the data you put there isn’t yours after you put it there! your blog might not be sellable and who owns the movie rights? you might hit a wall and then have to move stuff and migration might not be easy every.

the simplest services are are things like Mobile Me (formally dotMac). it’s simple to make a site, post pictures, share files and update a blog. but sometimes it can be a very dead end if you care about bandwidth, stats, spaz email addresses (aka aliases) or an email address forwards things like united@ or fedex@ to your main email address. you can’t run a specific server app that needs PHP or Ruby. other deal breakers might be the cost of storage or that it’s aimed for personal use. besides that other software seems more cool these days.

so the simple and the free are okay but you have to know that its not hard at all to have a real domain for not much money a month. and you don’t need to be “all that IT!” to do the care and feeding of your own site. it’s not that tough because there are tons of tutorials on everything. you will learn to search better because your new hobby will demand it. or course there are books on the subject. the Dummies book is just about as good as any of them.

domains are cheap. 10 bucks is about what they go for. you can find a domain for cheaper but once again, be sure to read the TOS to know who really owns the name. we aren’t fans of goDaddy. not because it’s a bad service but because of the insane amount of marketing they do with every page load. as a domain administrator doing work it’s just noise.

or use our check list. here’s the steps

    get a domain
    choose a server provider
    point the DNS to your server

      wait for a few hours as DNS isn’t always instant
      varies by domain type .tv takes a day while .com can update in like 12 seconds

    set up (don’t worry this is all GUI based!)

      web server

        which is just entering the domain you purchased
        usually this sets up all the services you might need!

      add email for all of your users.
      FTP user name and password (make sure it’s long)

    upload some HTML or PHP
    done!

there are essentially 4 kinds of hosting: shared, virtual private servers (VPS), cluster, and real hardware. there is nothing wrong with any of these services and one isn’t automatically better than another. but you really want to be careful what you buy into. it’s very easy to over buy services that are costly. don’t let your feeling of importance guide this decision. yes, your web presence is important but so is everyone else’s.

shared
your domain will be served from a server that might have thousands of domains on it. before you gasp consider that most of web pages served are static. these sites require very little computing power to run. the programs that serve a page like Apache or IIS have been optimized to make this possible.

cluster
a cluster is what some people are calling “cloud services”. this leverages hundreds of CPUs to do work and serve web pages. the thinking is that those extra CPUs will make uptime get some extra nines and everything will run fast(er). but like the shared services a cluster is doing work for tens of thousands of websites. all of the cluster services are very mature. some cluster servers do not have command line access. make sure what you are buying has that if you do work there.

virtual private servers (VPS)
VPS is perfect alternative to real hardware. using software an operating system runs as if it’s on it’s own box. what this does is allow specific configurations of “server software” in a way that won’t affect other instances running. the virtualization can control everything from CPU usage, bandwidth, and memory. a VPS can run on phat hardware that would be prohibitively expensive to run otherwise. if you consider an 8 processor RAID5 storage lots of RAM server you’ll find it to be very costly but worse is that you will have a mostly idle box. better to share that box with a few other people.

real hardware
there are few ways to buy into a server running on real hardware. you can lease a server paying a fixed fee for hardware and software. this is called Managed Hosting. for that fee you get a promise that your provider will monitor your box for hardware failure. the will also monitor the software running on the box and if something stops running they will act on instructions that you specify like restart Apache or reboot the server. you can also Co-Locate hardware that you own in a space that you lease. the space includes power and bandwidth but no additional services. it’s to you to monitor and it is always to you to care and feed your servers software.

I’ve listed all the hosting options in the order of their complexity and ease of day to day use. if you don’t want to manage a server in any way Share or Cluster services are the way to go. if you want the ability to do absolutely anything you want VPS or Real Hardware is the way to go. if you want want something that will easily scale up without thinking about it Clusters offer that promise. and if your just somebody learning about PHP, Python, mySQL and other web tools shared hosting offers call of that for cheap cheap.

looking for the lost part of this talk? it’s here. sorry, the sound sucks.

hosting services mentioned on the show:
Dreamhost
Rackspace Cloud
Apple Mobileme
Knownhost
MediaTemple

[ad#720 bottom banner]

choose a Hosting company check list

look for a feature you might want

  • Rackspace Cloud Sites enables both Windows and Linux technology
  • Quicktime, WMV, or Real streaming servers
  • Flash Multi user server

check the TOS

  • verify that the content you want to serve is compatible with your host
  • how can your services get suspended (SPAM, processes, content)

understand the money back rules

  • is there are hidden 12 month commitment

make SURE your domain does not need to be transfered to the host

  • this bad, very bad

how much is “overages for bandwidth”?

  • and how is it measured

check their documentation

  • do searches for things like “client FTP”
  • adding an outside IP address to the DNS
  • adding Goggle Docs and Apps

email policy

  • is sending too much mail defined
  • if you do email marketing is your blast allowed

what does UNLIMITED mean?

  • slashdotted, dugg, reddit’d, boinged, oh my!

can’t decide?

  • all of them get bad reviews!
  • mind the date of the reviews.

go into it with the old college try attitude

  • most services are month to month so you could try lots of things out for about $100.

one click installs are okay. in fact we don’t think that one-click installs are all that important. just about every single host will advertise that one-click installations are part of the package. they will let you see how a tool works without the hassle of making a database and running the script to fill it. this makes the WordPress “five minute install” totally possible without having to know anything about gzip, permissions, or making a mySQL database.  the problem with “one click” installs have a disadvantage sometimes in that they can’t be modified by you. the script always has to do it for you. this can also limit what templates and plug-ins you can use. you are also at the mercy of your provider to keep their tools up to date.

H3J (aka HTML5 CSS3 & Javascript)

Play

HTML5, CSS3 and Javascript is a promise that the industry is embracing right now with the idea that these “standards” will help deliver content in a better way. by better way it should be said, “without Flash.” or something like that. because of that mindset H3J would be a better name. pronounced “hedge”. mostly because the world is hedging a bet about how wonderful it’s going to be compared to Flash.

H3J goes beyond markup. and it’s more than layout, pretty fonts, and slick animation. those features are all part of making a better user experience. a more workable “application” can drive business, readership and loyalty. it’s a lot of features that we’ve seen before in technology like SVG, Shockwave and VRML. what comes around comes around.

here’s a summary of all the H3J features in a handy “power point like” slide show that was in fact made with the very technology.

one of the powerful things about “web” compared to “application” is that there is nothing to install by the user end. they somehow find the page and start using it after making an account then logging in with the password “password”. it’s been a while since we’ve heard the cries of “I don’t like plug-ins”. mostly because developers have stopped making them. instead “web applications” have gravitated toward what the stock browser can do with add-ons that can come from permitted code running in Javascript.

do I have to use Javascript? ugh. hurt me you say! for a developer the early days of developing using Javascript was heinous. it wasn’t easy ways to debug the code you were writing. sure you could leave yourself bread crumbs or push results to a gather script on a server. but it wasn’t much fun. but these are not an excuse any longer. in fact, it’s such a an old outdated cry that it usually it comes from somebody who hasn’t touched any of today’s modern tools have all of these functions. so get over it already. we will cover tools in-depth in future conversations. blow up water slides

there was a discussion about how open or not open H3J really was in the blogosphere. it was interesting backlash about the Apple HTML5 demo because it was specifically targeted to demo using Safari. while others found ways around this requirement to find that other browsers faired okay when running the pages. but this will always be a problem just like it’s been with supporting IE, FF and Safari for years.

so H3J is about video, audio and other content that is open right? and killing Flash? so before you torch up to march against you have to ask what’s not to love about Flash? just because it doesn’t run on that thing doesn’t mean it’s crap. Flash still has a place. there’s possibly more games available that run in Flash compared to any other player. and lots of advertising demands the programability of Flash for reporting stats and behavior. so just like how Windows XP won’t die Flash has a long, long life left.

the discussion of video and audio being close/open is a whole talk. in fact we did that for Video Compression. but it boils down to one thing: if content producers are extorted money because they used a specific CODEC they will re-encode their content into a different format post haste. because ultimately the person watching the video doesn’t care what format it’s delivered in any more than they care what studio is distributing a movie or show.

H3J extends what has been missing from HTML and offers features that will go beyond “a really cool demo.” H3J has lots to offer. we think there is lots to like here in a way that make sense. here’s a list of all the functions that you might enjoy coding someday. don’t try to learn it all at once!

@font-face
Canvas
Canvas Text
HTML5 Audio
HTML5 Video
rgba()
hsla()
border-image:
border-radius:
box-shadow:
Multiple backgrounds
opacity:
CSS Animations
CSS Columns
CSS Gradients
CSS Reflections
CSS 2D Transforms
CSS 3D Transforms
CSS Transitions
Geolocation API
localStorage
sessionStorage
Web Workers
applicationCache
Input Types
Input Attributes

HTML Music Notations

      other

examples
google Font directory
particles
Paint
drum kit
graph kit
canvas clock
mario
New Canvas Examples
Body Copy Examples
[ad#720 bottom banner]