HNHacker News
TopNewBestAskShowJobs

garysweaver

38 karma · joined September 5, 2012

submissionscomments
garysweaver··on Alan Kay at Demo: The Future Doesn't Have to Be Incremental
I know that it is helpful at times to realize that invention and innovation could happen in a myriad of ways, but I don't think that is a fair way of looking at things in this case, or in many cases.

Without the invention of the mouse, we might all still be using trackballs. A mouse to me is not an "A ha!" invention. I remember when I first used one that it seemed silly to move a trackball around upside-down like that.

And without laser printing, we might all still be using ribbon cartridges at work, because of time/cost concerns with inkjet.

Everything that happens can have profound effects on the future. Think of the Challenger and Columbia disasters. While it's true that the American public had somewhat lost interest in the shuttle program prior to the Challenger disaster, they didn't think of it as risky or dangerous. Think of the lives that would have been saved and how much farther along we might be in space exploration had greater precaution been taken.

garysweaver··on Starting to Demo the Wolfram Language [video]
This might be a good place to demo the language, assuming it is meant to be general purpose:

http://rosettacode.org/wiki/Category:Programming_Languages

garysweaver··on Pyret: A new programming language from the creators of Racket
Thanks, but may want to correct:

method_as_fun = o.my-method

which should be:

method_as_fun = o.my_method

and the examples themselves just look a little crazy, imo. Not crazy because of what you are trying to do, but in how you are trying to do it. What was the intent of calling a method that defines an argument without an argument? That's not a problem of the language; that's just an error in coding. There are all kinds of things in Ruby to handle method definition. Arguments can have defaults. You can use splat and unsplat to handle unspecified arguments and composing arguments of various # on the fly. You can pass in blocks specifically (&something) or optionally (yield, etc.). Procs allow argument sillyness and returning the parent method by explicit return in the proc body, lambdas don't, etc. Ruby is a great language, and you should give it a college try for several months to get the hang of it.

By the same token, I have no clue what you are trying to do here:

def f(x); def g(y); x + y; end; g(2); end; f(2) # undefined local variable or method `x'

You can define methods on object instances, if that is what you are getting at (define_method/class_eval/etc.), and getting familiar with blocks, procs/lambdas might help. It isn't JavaScript, but I can't think of that much that I couldn't do in Ruby (barring high performance, compile-time type checking, etc.)

garysweaver··on Commodore PET Web Server
Another good one was the Tandy Model 100 Webserver:

http://www.humanclock.com/webserver.php

source: http://static.humanclock.com/files/apachesrc.txt

garysweaver··on Pyret: A new programming language from the creators of Racket
> Most “scripting” languages don't support annotations for checking parameters and return values

I coded in Java for many years and Ruby for the last several, the lack of explicit type checking in method signatures or via annotations built into Ruby has not gotten in the way enough where I felt I needed to add something to decorate methods to do some generic form of type checking in Ruby. When I really need to check the type of an object sent into a method, it is typically a method that can handle different types, and in that case, I'll use respond_to?(...) to see that an object passed in as an argument responds to a method, use a case statement, is_a?(...), etc. but that is certainly not on every method- probably more like 1 in 20-30 methods.

Also, in the comparison section of the doc, OCaml and Python were represented, but not Ruby. As of late 2013, there are more jobs containing "Ruby" in the job description than "OCaml": http://www.indeed.com/jobtrends?q=ocaml%2C+ruby&l= So, imo it should give Ruby some love with a comparison.

garysweaver··on Rails 4.0.1 has been released
Though we had a bit of fun in the past when multiple people are merging migrations at once, since it keeps version #s in the bottom of structure.sql and that can get out-of-whack if things aren't handled carefully, using structure.sql (config.active_record.schema_format :sql) is really not a bad way to handle a legacy schema/DB, depending on your process and requirements.
garysweaver··on Why I moved to Miami
I think Raleigh is the best bang for the buck for tech, food, drink, and residence anywhere in the U.S.

Downtown Raleigh has art festivals, music festivals (Hopscotch, Wide Open Bluegrass), Red Hat amphitheater, and Duke Energy Center for the Performing Arts (including Meymandi Concert Hall, Fletcher Opera Theater, Kennedy Theater, Memorial Auditorium), etc. There are a lot of great restaurants within walking distance of some nice/fun bars. You don't even have to walk or ride; they have a Trolley you can ride for free (or rent!), a Trolley Pub (bike bar), rickshaws, etc. There are clubs (various kinds and each age groups), but that's not as much my scene anymore. They are to a saturation point with microbrewing companies in the area, they have so many: http://www.ncbeer.org/brewery-map/ And that's not all of Raleigh, e.g. North Hills has been having great free outdoor concerts with a few great bars (and a great grocery store if you want to be cheap) right next to it, which has been our fav recently. It is basically everything you love about a "small town" (great people, community, lower cost of living) in a well-educated and resourced area (NCSU, UNC-CH, Duke Univ. and too many tech companies to mention) with plenty of great places to eat and things to do.

But, Durham has DPAC, lots of great restaurants, a good startup scene, including areas devoted to startups like the Underground in the American Tobacco District next to DPAC and the Durham Bulls ballpark (where they do concerts, too.), etc.

And for the best hole-in-the-wall places to eat, you just have to ask around enough, like anywhere else. It might be a hot pot Chinese place in some random Morrisville strip mall, etc.

garysweaver··on I’m Thinking. Please. Be Quiet.
> I'm now highly dependent on noise canceling headphones

When you wear them are you listening to music, white/pink noise, etc. or just have them on with nothing playing?

What kinds of noises do they cancel best, and what do they have the most trouble cancelling?

garysweaver··on Technology enables crops to take nitrogen from the air
Also fit for livestock, but difficult to bale. And used medicinally (anti-inflammatory, antimicrobial to treat headaches, tinnitus, vertigo, Wei syndrome, alcoholism and hangover), and even for basketry. Unfortunately, the U.S. just considers it a nuisance and doesn't take advantage of it.
garysweaver··on Metric Time
Metric time is fun, but why not take it a step further and abandon the metric system, which places too much emphasis on base 10? We used the (21 cm) hydrogen line in the Pioneer plaque; if we don't use metric with our potential cosmic neighbors, isn't that a sign we should reconsider its usage?
garysweaver··on In times of change, make tires
This is at once a brilliant and useless post. The brilliance is that of course you should provide something that people need that is risk averse, and using the analogy of making tires during the transitional period of wagon to automobile works well. The uselessness is both that everyone cannot make tires, literally or figuratively, and it is very difficult to know what the modern day "tire" is. Is it long lasting, high output energy source? Is it an internet-independent lifestyle-enhancer? Does it make me more energetic without unwanted side-effects or risk to my long-term health?
garysweaver··on Firefox OS devices officially released
> And how exactly is it "different"?

Robert Nyman of Mozilla pointed me at this:

https://blog.mozilla.org/ligong/2013/06/03/foxconn-joins-the...

"Foxconn stated that they intend to have FFOS running on all categories of the “8 screen” devices, from smartphone to tablets to laptops to TVs and outdoor signage."

Name me another mobile OS that will be running on laptops or outdoor signage. :) This, I think, is the bigger vision of FF OS that is the reason people should get interested and involved.

garysweaver··on How I have lost over 100 pounds and don’t know how
You can gain back a lot more than you lose, even if you get into a habit of "better" eating and more exercise for months.

You probably think that exercising and eating "better" should be fine, because anything you do for three weeks becomes a habit, right? Well, not exactly. Bad habits can be much harder to break, and you may not have really broken them the way you think you have: http://science.howstuffworks.com/life/form-a-habit.htm

Be really careful before a drastic change to your diet and exercise habits just to lose 10-15 lbs, especially if your doctor and the majority of those close to you don't think you need to lose weight. It can backfire.

However, a gradual change, especially when you can do it in a reasonable, sustainable way, can be a great idea.

garysweaver··on Bank of America Bot Cares About You
I wish Douglas Adams was still alive and writing.

And, someone should make marvin_bot (https://twitter.com/marvin_bot) start-up a conversation with @bankofamerica.

garysweaver··on Modeling How Programmers Read Code
> he "compiled" the between function in his head

Really? How about "adequately understood the function and did not have to reread it". We are humans, not compilers. ;)

garysweaver··on Firefox OS Building Blocks find a new home, and get more streamlined
Awesome! Looking forward to being able to use FF OS on my laptop!
garysweaver··on Indescribable numbers: The theorem that made me fall in love with math
> God made the integers. All else is man made.

"God made natural numbers; all else is the work of man" - Leopold Kronecker. Possibly misquoted by Raymond Ayoub in "Musings of the Masters: An Anthology of Mathematical Reflections".

garysweaver··on The Revel Web Framework for Go
The first version of anything worthwhile is typically an experiment. I'm excited about the prospect of a great way to write Go apps in the future that is better than what we have now. One of the best ways to kill a project is by trying to be something else.
garysweaver··on Firefox OS Building Blocks find a new home, and get more streamlined
> We wanted to know if it was possible to use Building Blocks not only for its main purpose, that’s creating phone applications, but also as a base to create a standard web site.

While I've known that the "phone" has been the primary target so far of FF OS, but still I'm a little sad that I'm reading it.

iOS and Android are built for tablets as well as phones. iOS is going to be expanding by allowing more devices to connect in their next version. When I first heard about FF OS, I thought: "Awesome! Now I can start writing HTML5 apps for my phone, my tablet, my desktop, etc." But, then I found out that the goal was just to be a phone. I not only spend a lot more of my day on a laptop/desktop than a phone, but I'd like to live in a future where the software can be written once for desktop, laptop, tablet, phone, "watch", car, or other device, and new hardware can easily be integrated with it (such as a keyboard, printer, car electronics/computer, stereo, etc.).

I think it is awesome that FF OS apps will be easier to develop, but I wish there was something fun to develop in HTML5 and JS that I couldn't do already in Android or iOS. To do this, FF OS has to stop being afraid to really dig into Gonk and make it as easily extensible on the hardware side as it is to develop and share HTML5 apps in FF OS.

garysweaver··on Firefox OS Building Blocks find a new home, and get more streamlined
> One reason is that Firefox OS uses the Android kernel.

It uses parts of Android in HAL, but Gonk isn't Android.

garysweaver··on Mozilla and Partners Prepare to Launch First Firefox OS Smartphones
With two big differences:

1. Knowledge resources available to team and experience of the organization in the subject matter far exceed what the WebOS team had.

2. Was free/open and somewhat collaborative almost from the beginning. I say "somewhat collaborative" because the priority of the team was to create an operating system for a phone, with other forms (like a computer connected to other devices) taking a far backseat.

However, I agree in that, despite optimizations, it has a long way to go to compete with Android which almost "owns" the market it is after.

Politically, the timing is fairly good this announcement, though. Right after Google's black eye over privacy concerns, people might be slightly more likely to embrace Mozilla products. But, who knows. Competing in Android's turf is going to be a serious uphill battle.

It will succeed if:

1. They really embrace community input and provide incentives for people to get involved. That is part of being Mozilla. They don't need to be Apple or Google.

2. They need a charismatic leader with the vision of Jobs, someone with the design talent of Jony Ive, and someone that is capable of recruiting and organizing community talent like _______ (a name doesn't come to mind).

garysweaver··on “Practical Artificial Intelligence Programming With Java” by Mark Watson
Could you provide a link to a sample chapter and table of contents? Thanks!
garysweaver··on Refactoring GitHub's Design
I think having fewer elements when they are unnecessary is a great idea, if it makes the interface easier to use. However, in this case, though I don't dislike GitHub's new interface, but the big colored line showing the percentage of different kinds of code in the project is really unnecessary and the color is distracting. But, other than a few minor things, I've not had a problem with the design changes, and I certainly didn't have the remorse that I had when I switched to the last major Facebook design overhaul early. And now I'm used to that also.
garysweaver··on Before I Die I Want To
Agreed. Great site, but just noticed that when one of the pics is missing, it tries to fit another pic on the same screen and looks pretty nasty. Reloaded page and can't reproduce unfortunately, but it was part of: http://beforeidieiwantto.org/india_gujarat.html

The inability to scroll left/right kills it. Also, some of the text from the top bleeds between the pictures at 1366x768.

garysweaver··on Building a Raspberry Pi based server powered 100% by solar energy
Network traffic graph currently showing what it is like to be HN'd:

http://pi.qcontinuum.com/cgi-bin/rrd/rrdgraph.pi.main

http://pi.qcontinuum.com/rrd/pi-traffic-day.png

http://pi.qcontinuum.com/rrd/pi-traffic-week.png

garysweaver··on Why is programming an art
It is both. Code and the effect it produces can be a thing of beauty, ugliness, or both, and at times the emotion and creative energy put into it would make it rival any art. But, I agree that more often it is like a craft because it tends to evolve into larger projects that need more skill and technique.

Creatives/artistic types enjoy modular, greenfield development or pushing the limits of confinement to produce something of beauty and use. Practical/craftsman/engineer types enjoy using technique to build, design, and maintain large systems because they enjoy process, skill, and established ways of doing things. There is room for both.

garysweaver··on Why is programming an art
Programming is an art, but as you get older and more experienced, you become less able to express yourself in a way that doesn't seem both rote and belabored.

It is closer to making furniture than painting or sculpture, as it tends to need to be practical in some way. But if it were furniture making, you'd continually be presented with new designs, new types of wood and other materials, and new tools to make your furniture with, so you'd never know exactly how long it would take to make a couch or a bedroom set.

garysweaver··on Big web app? Compile it
It would be a good idea to provide the following info in presentations like this:

1. URL to the source code for the tests and instructions to run the tests to produce the same results.

2. The hardware, OS version(s), and browser versions that were tested.

Otherwise, the difference between Chrome and FF performance as listed in the slides is so great that it seems like it would quickly raise criticism, even though I personally like FF.

garysweaver··on Two dozen mathematicians wrote a 600 page book in 6 months on GitHub
> NOTE: my blog is being slashdotted by Hacker News

:) I think we need a new verb here.

garysweaver··on Ask HN: When is a startup a startup?
> A startup company or startup is a company, a partnership or temporary organization designed to search for a repeatable and scalable business model.[1] These companies, generally newly created, are in a phase of development and research for markets. The term became popular internationally during the dot-com bubble when a great number of dot-com companies were founded.

> Lately, the term startup has been associated mostly with technological ventures designed for high-growth. Paul Graham, founder of one of the top startup accelerators in the world, defines a startup as: "A startup is a company designed to grow fast. Being newly founded does not in itself make a company a startup. Nor is it necessary for a startup to work on technology, or take venture funding, or have some sort of "exit." The only essential thing is growth. Everything else we associate with startups follows from growth."[2]

copied from http://en.wikipedia.org/wiki/Startup_company

[1] Blank, Steve (March 5, 2012). "Search versus Execute". Retrieved July 22, 2012.

[2] Graham, Paul (September, 2012). "Startup is growth". Retrieved Oct 18, 2012.

Page 1 of 2Next →