Domain: github.com
Stories and comments across the archive that link to github.com.
Comments · 4,419
-
Re:Hasn't everyone written a bogus shell at some t
And of course it is still on GitHub: http://github.com/chromakode/xkcdfools
-
Re:No tab completion!
The code is GPL'd and on Gitbub.
-
Re:Other fun things to do
If you get it from here it's a little more readable: http://github.com/chromakode/xkcdfools/blob/master/xkcd_cli.js
(found via the "source code" link at the bottom of xkcd.com)
-
Re:Check the source
Relevant code here
-
I read the source code.
And by reading the source code, I found out that "I read the source code" yields a text heart.
Also, I cheated and read all the other commands you can use. (They're near the bottom of that file.) -
I read the source code.
And by reading the source code, I found out that "I read the source code" yields a text heart.
Also, I cheated and read all the other commands you can use. (They're near the bottom of that file.) -
Re:Bad /. no biscuit
ClickToFlash will help alleviate your Flash problems on Safari without completely disabling Flash altogether.
-
Re:Article summary
such a search would be O(n) for every array (which, of course, isn't a problem for your designated use case of tag clouds).
Wait, what?
That sounds like it would be. Every time a user clicks on a given tag, O(n) for each array? That's a serious performance hit vs what AppEngine does here, which is a string lookup in a hash table. Even in SQL, things like acts-as-taggable-on do a better job.
Of course, if it's just O(n) on insert and update, that's not a problem.
You can, obviously, shove anything into a blob or a text field - the DB won't preclude you from doing so. Querying it is also not a problem if the DB in question allows for custom user-defined functions written in a foreign language (practically all modern RDBMS do). Such a query will still be parallelized - it won't parallelize the body of your function, of course, but it will parallelize the application of that function to rows.
Still raises some questions, like: Will the results of the application of that function be cached and indexed for future queries?
it won't parallelize the body of your function, of course, but it will parallelize the application of that function to rows.
Will it do so across multiple machines?
Now, I'm not aware of a standard ANSI SQL way to get multiple output tuples from a single input one (though I suspect there is something in SQL99 or SQL03 additions). In MSSQL, I can define a UDF (written in T-SQL, with CREATE FUNCTION) that produces a table value from its input parameters, and then join on that. For example:
So, something in the additions somewhere might be able to do it. Either way, it's going to be ugly.
Effectively, SELECT..APPLY in MSSQL is precisely the "map" part of MapReduce, with exact same semantics.
Next question: Suppose I update, insert, or delete a row in xs. Do I have to reapply the whole thing?
It seems like what I'm getting here is more or less what I expected -- yes, you can do it (probably, I still have doubts about the performance/reliability tradeoffs), but it's cumbersome, to say the least. In order to take full advantage of these, you're going to have to dig deep into the non-portable details of your chosen database.
You also didn't really touch on scalability. I just checked the Postgres wiki, and found more or less the same situation I did awhile ago -- there is a total of one solution that can scale writes, and it does so with sharding. The closest is MySQL cluster, which currently holds all your data in RAM.
And then there's Riak, which can scale today.
So at the end of the day, what is SQL buying you as a language, and what is the relational model buying you here?
-
Or... get a 'real' major...
I keep reading these "I need a job, I'm a programmer" stories or slashdot and can't help but think... "yeah so what, I can do that".
I have a Mechanical Engineering degree. I honestly don't do much more than 'program' all day. But all my for loops and if statements have physical implications in the real world.
I took CS120 (Java) for kicks because I liked programming. I also took CS240 (C/C++) again just for fun, but I was depressed to find out that I graduated top of both classes. Those were my ELECTIVE classes.
If you have the ability to pick up concepts, why not try for a Mechanical or Electrical engineering degree. Your programming skills won't become useless, but you will be able to use them in other ways.
If you understand how a For Loop works and you can pick up ANY of the Mechanical Engineering concepts (Thermo, Fluids, Controls, or Mechanics) you're going to be non-unemployable. I write code to dig through TBs of field data looking for events. I even have quite a few submissions to Mathworks Central and Git Hub
Don't limit yourself to just Programming. There are other skills that require "programming" but are not just limited to being able to program.
-
roku
Roku (http://www.roku.com/) + http://github.com/netguy204/roku_media_server
and more Roku based solutions to be arriving soon, now that Roku has opened up the API. It's not exactly what you're asking for, for now you need actual downloaded files encoded in one of the several formats that Roku supports, but beyond that tiny hurdle, works like a champ!
-
Here it is on GitHub
-
Re:APRS
Not all have amateur radio licenses. Ushahidi can use devices you do not need licenses for (mobile phone SMS, email, web). Some goods links: http://github.com/ushahidi http://ushahidi.com/
-
Re:Need to decouple Javascript before it's too lat
Which is why it makes an easy target for a Scheme compiler, right?
http://github.com/dyoo/moby-scheme
http://planet.plt-scheme.org/display.ss?package=moby.plt&owner=dyoo
http://www.cs.brown.edu/~sk/Publications/Talks/Moby-Bootstrap/ -
Re:Firefox + NoScript + Adblock Plus + FlashBlocke
On Mac OS X, Safari and a custom
/etc/hosts file does it for me. Oh, and ClickToFlash FTW. -
You can tether on an iPhone if you are a developer
iProxy works pretty well on an iPhone :
http://wiki.github.com/tcurdt/iProxy/
You have to be a developer to compile and run it on your phone. He has a helpful setup guide for phone and laptop.
I don't see why people dismiss jailbreaking so readily. There are basically no downsides to it, other than sometimes if you want the latest update you have to wait some time.
-
Re:I think everyone would agree here...
If most of your 900 controllers are just replicas of the standard restful controller (but... 900 different resources!?) you might be interested in the approach discussed at http://www.ruby-forum.com/topic/202398#881349 Basically you move all the restful code in one "global restful controller" and derive all the restful controllers from it, much like we derive models from ActiveRecord. Most controllers are reduced to a def/end two-liner and the application is much more maintainable because you don't have to create all the index/show/edit/update/new/create methods in every single controller. You add methods or replace the default ones only where you need to implement special logic . The code is at http://gist.github.com/280611
-
Re:Control freaks
If you're on a Mac, try this: http://rentzsch.github.com/clicktoflash/
As a bonus, you can open H.264 streams from Youtube in Quicktime. Free Software, too!
-
Kind of a silly argument
So you don't like the closed OS. Fair enough. So why not jailbreak and install whatever you want? Or help port an open OS to the device? Because Apple won't give you tech support? If you're all about free software you should be used to relying on the community for tech support anyway.
It's a better world when free and proprietary software compete. If the FSF doesn't like the iPhone OS, it should make a better one. If the result is what users actually want (through some combination of openness, price, and quality) then great. But if not, then that's life. Proprietary software sometimes produces better products than free software, and people are sometimes willing to give up free access to the source code in order to get those products. Who is the FSF to tell people what software they should be (morally, if not technically) allowed to use? Isn't that exactly what they're complaining Apple does? It's hypocritical.
I have no problem with arguing that free software is morally or technically superior to proprietary software, but it does bother me when groups like the FSF claim that it's morally wrong to use or sell proprietary software. If it's immoral to use proprietary software, then it's immoral to eat at a restaurant that won't give you the exact recipe for everything on the menu. It would likewise be immoral to buy any product whose composition or process of manufacture is a trade secret. It would be immoral to buy any book not published under an open license. If free software proponents aren't going to be consistent with their own moral choices, where do they get off demanding that everyone else conform to their value system?
-
Re:Twelve?
Just the really shitty parts. Only turn flash on when you need it, youtube and the like
Not even then. ClickToFlash plays H.264 in youtube, avoiding flash altogether.
-
Re:I haven't used DIVX in years
If you're on a Mac, install ClickToFlash and on YouTube it'll give you the option of bypassing the Flash movie and playing the H.264 that Youtube serves up to their iPhone client, in a QuickTime viewer (which on Mac is a very good thing).
-
Re:Is there an IRC chat bot?
Bucket of #xkcd is on github: http://github.com/zigdon/xkcd-Bucket
-
Re:Open Source Solr-powered Search UI
As Eric Hatcher wrote in his link, AJAX Solr is one option you might investigate for building out a search interface. http://wiki.github.com/evolvingweb/ajax-solr/ This library offers you the full power of Solr, which you can package into JavaScript widgets, whether it be a timeline or calendar widget to filter by date, a map widget to filter by location, or anything else. The limit is just your proficiency at JavaScript and your ability to leverage existing JavaScript solutions. Here's an online demo: http://evolvingweb.github.com/ajax-solr/examples/reuters/index.html
-
Re:Open Source Solr-powered Search UI
As Eric Hatcher wrote in his link, AJAX Solr is one option you might investigate for building out a search interface. http://wiki.github.com/evolvingweb/ajax-solr/ This library offers you the full power of Solr, which you can package into JavaScript widgets, whether it be a timeline or calendar widget to filter by date, a map widget to filter by location, or anything else. The limit is just your proficiency at JavaScript and your ability to leverage existing JavaScript solutions. Here's an online demo: http://evolvingweb.github.com/ajax-solr/examples/reuters/index.html
-
Re:A major security flaw in IE?
Indeed. There are a number of alternative browser projects, but only 4 main browsers that qualify as modern and complete.
A few of my favorite smaller projects:
Lobo browser- a browser in pure java. One of the most complete engines outside of the big 4.
http://lobobrowser.org/java-browser.jspdillo - Small and fast.
http://www.dillo.org/env.js - browser in javascript. No layout engine, but useful for automated testing/building scanners, etc.
http://github.com/thatcher/env-jslibxml2 and html5lib - Now firmly out of anything we can really call a browser, but theses are some very high quality html parsing libraries.
-
Hackety Hack
I'm maintaining _why's Hackety Hack, which was built specifically for this purpose. It's still in "not quite 100% ready yet" mode, but you can at least keep your eyes peeled. I'm also quite open to thoughts and suggestions. http://hackety-hack.heroku.com/ http://github.com/steveklabnik/hacketyhack
-
GIT vs Mercurial vs Bazaar
-
Re:what's new?; bazaar versus git
Whybzrisbetterthanx It used to by whybzrisbetterthanx.com, but I guess that domain expired. (I don't necessarily espouse the views of the site, I just find it funny).
-
Homebrew
It sounds like homebrew provides a good solution. Perl (and Ruby and Python) already have mature packaging systems and they really don't need to interact with each other. So homebrew is a smart packaging system that plays nice with others.
-
Re:Figures off by a factor of 10 to 100
Hey now you've stopped wailing on PHP we can be friends
;)Completely agree that PHP is slower, of course it is, it's written in C so there's no way it can be faster than C!
I still think the original point of the article is BS though. If we were talking about some sort of simulation cluster I'd leap to agree, but really most of the time PHP is pretty unlikely to be doing anything very processor intensive. If it is then I'd suggest that in most cases there's a logic problem rather than a language problem.
Something that may be of interest btw, I wrote a front controller to wrap our CMS in this:
http://github.com/indeyets/appserver-in-php/
Which is basically a true FCGI-style app server for PHP (currently it's using SCGI, but same gig and FCGI is on the way. It's all very alpha atm though). So instead of PHP's default FCGI behaviour (maintain the same PHP interpreters but still rebuild the app itself on each request) it behaves as SCGI/FCGI should, the application keeps running and services requests. With 10 worker threads (running on the PHP CLI binary and listening on sockets) the performance of the app more than doubled over mod_php+APC in one go, and that's over APC's already very significant improvement over vanilla PHP. That's with everything cached though, so PHP was doing very little apart from instantiating the app then telling it to do it's stuff, which mostly consisted of fetching the cache, so it's not that surprising that the setup overhead was the majority in this case.
And yes I agree about XML too, we use XML for object metadata which it's pretty handy for, but cache it into PHP arrays on disk as soon as humanly possible.
-
Re:Browser down.
-
What do -I- Think?
-
Re:web-app-web
I've used the local storage features and they're great. Even made a simple hash store based on it. But you're still stuck in the browser, so the user experience isn't quite as good as a native app. Also, you have all of the overhead of the browser, so even the leanest and meanest Javascript will have a hard time keeping up with the speed of a native app. At least, that has been my experience with the iPhone and Mobile Safari.
But it's definitely moving in the right direction, especially when you throw in CSS-driven animation (which is sadly slow on the iPhone).
-
Re:Clocking It
I've been using it for a couple of years and it is great. I can generate invoices for clients with it and keep track of all the different tasks that make up my projects.
I don't really use the gantt features.
The hosted version at www.clockingit.com hasn't really changed recently (which isn't a bad thing). There is a development version at git hub
-
I wrote one.
It took about an afternoon. There are a few downsides, however:
First, it's not actually adblock. It uses jQuery queries. This means it doesn't work at all with your existing filtersets. That's fine with me, since I don't want to block all ads, only the annoying ones -- animations, flash, etc.
Second, it's really cumbersome to use. SQL storage didn't work at the time, so I used CouchDB, which means you need to run a CouchDB server on localhost. I've also been entirely too lazy to add any sort of GUI.
Finally, the filters are applied after the DOM is loaded. They're a bit unreliable in the face of javascript ads, but on slow sites, there can be a noticeable lag. However, it doesn't slow my browsing down noticeably.
If people are still curious, the source is here.
The point, though, is that this took me less than an afternoon -- cold, from knowing nothing about Chrome extensions, to having a functional adblocker. In other words: Calm down, people, it really isn't that hard. I'm seeing posts that say things like "if this doesn't get adblock" -- it will.
-
Re:Coming of the (perl) Messiah
'The other question is that there are no implementations of the standard yet...'
The Rakudo guys have now committed themselves to a useful/usable release (if not a complete implementation of everything in the standard) in Spring 2010 (the target is April):
http://use.perl.org/~pmichaud/journal/39411
They intend this to be a release which 'application writers will feel comfortable enough to start using in their projects'.
This probably helped:
http://news.perlfoundation.org/2008/05/tpf_receives_large_donation_in.html
Here's where they are now:
-
Re:This has taken too long
Well, the first line of the first Google hit for 'Perl 6':
says:
"Perl 6 is a new language. Perl 5 and Perl 6 are two languages in the Perl family, but of different lineages. There is no current release schedule for Perl 6."
Some people, of course, may still find this confusing. These people should use Python
:-)A longer answer (together with several chapters of new Perl 6 book written by some of the developers) is here:
http://cloud.github.com/downloads/perl6/book/book-2009-11.pdf
"Some might ask, 'Why call it Perl if it's a different language?' Perl is more than just the vagaries of syntax. Perl is philosophy (there's more than one way to do it; easy things easy, hard things possible); Perl is custom (unit testing); Perl is architectual edifice (Comprehensive Perl Archive Network); Perl is community (perl5porters, perl6-language). These are things that both Perl 5 and Perl 6 will share to varying degrees. Also, due to Perl's habit of stealing good ideas, Perl 5 and Perl 6 will converge in some areas as Perl 5 borrows ideas from Perl 6 and vice versa."
-
Modernized Literate Progr with Outlining
My idea, in answer to your question, would be modernized Literate Programming combined with outlining.
Traditional-style lit.prog. is done in flat files, and one has to keep the structure in one's memory.
Combination of lit.prog with outlining or folding will relieve short-term memory, eliminate switching between "housekeeping" and navigating and programming, and will scale literate programs.
Secondly, traditional lit prog erects an unsurmountable PSYCHOLOGICAL BLOCK before a programmer demanding that he produced a "polished essay" of a program.
Lit Prog must be used as PROGRAMMING FROM SPECIFICATIONS IN HUMAN language, as programming in pseudocode which becomes precise new meta-operators, and be free from the demand of nice exposition.
Rather, if practised as a tool to help keep notes, ideas, lists, references alongside your code snippets, it becomes an accelerator, rather than a drag on your feet.
And thirdly, lit prog must be - on 90% of uses, which are by practicing programmers rather than paper-producing academics - rid of its dependence on TeX or LaTeX.
The most ubiquitous markup today is HTML.I wrote a script which implements these ideas, and called it Molly for "MO-dule for LI-terate programming":
http://github.com/unixtechie/Literate-Molly -
Re:Interesting, yet exaggerated...
Looking at the PHP example here, I'm sure they'd be able to contrive such an example:
PHP vs. revTalkJust for interest though, here's a ruby version:
Ruby10 lines - 42% less code. And we could get that down to 6 if we were pushing it.
-
Re:no cardinal?
Let's translate that....
The dominant meaning of "translate" used by native English speakers generally implies some non-zero amount of veracity.
Cardinal hasn't had much activity in the last couple of months because there have been only a couple of people working on it lately, and one of them started a new job at the end of September.
Even so, it exists, it passes tests, and it can interoperate in the same Parrot process with Perl 6 and Perl 5 code. (I suspect it can work with other Parrot-hosted languages as well, but I haven't tried.)
-
Re:Ruby Javascript
I'm sure something similar is feasible for Ruby too.
And there's also a Python port of GWT, very aptly named pyjamas.
-
Re:User-level package manager
I know of one for Mac OS:
http://github.com/mxcl/homebrew/
It would probably not be much of a challenge to make that work on a Linux machine. That and a Linux tool for this probably already exists. -
Re:Dynamic Relational: change it, DON'T toss it
May I ask for a scenario demonstrating "poorly"? It can still do joins, aggregation, and indexing just like any other RDBMS. It's not clear to me what you think is missing.
Any kind of integrity constraints, even as simple as including enforcing types. You can kind of sort of do it with triggers but, like I said, you're reimplementing the DBMS. I speak from having _extensively_ implementing an EAV system and totally engineering myself into a corner with it.
The only thing you really gain is transactional support for creating / altering tables, but a good DBMS like PostgreSQL can do that anyway.
Depends on the project. Sometimes nimbleness is a strategic advantage, such as prototyping or ad-hoc analysis.
Those are phases of development, not types of projects. And nimbleness sucks when someone else has to figure out what you're doing, i.e. the maintenance phase.
But I too have also formed a draft query language influenced from IBM's BS2.
Hey, good luck with it! I didn't have any PDFs up there, there are couple now. The section I'm working on is fairly basic mostly because a lot of people think they understand relational theory because they've used SQL DBMSs. Most of the actual language comes out in the next part.
-
Re:Flashblock
No kidding. ClickToFlash is the equivalent for Safari on OS X. The web is so much nicer when you get to chose to display Flash content.
-
Re:Dynamic Relational: change it, DON'T toss it
However, the "rigid schema" claim bothers me. RDBMS can be built that have a very dynamic flavor to them. For example, treat each row as a map (associative array).
You described an entity attribute value model, which winds up reinventing half the DBMS, poorly. Don't worry, *everyone* does one once until they realize it's a bad idea.
Constraints, such as "required" or "number" can incrementally be added as the schema becomes solidified.
A "rigid" schema is preventing a ton of totally redundant code being written on the app side. All those constraints wind up in the schema because your UI designer doesn't want to consider that Mary might have 5 addresses or 6 mothers or work 7 jobs simultaneously. And your UI tester doesn't want to test an exploding combinatorial number of possibilities.
I'd like to see, however, a decent type system, proper logical / physical separation, etc.
Maybe also overhaul or enhance SQL. It's a bit long in the tooth.
I'm starting from scratch. (Currently I'm slowly retyping about 40 pages into Latex...)
-
Re:bad design
Ever heard of bloom filters? Sharding? Indexes? They are clearly not doing a table scan on 50gb of data every time you open your Facebook inbox.
You know, there's a certain point where people need to stop and actually think about the implimentation.
Um, they do. They regularly blog about their solutions to their problems and open source their solutions and contributions to existing projects. They come up with amazing solutions to their large scale problems. They're running over five million Erlang processes for their chat system!
http://developers.facebook.com/news.php?blog=1
Also, when was the last time you tried to visit Facebook and it was down? They're doing quite well for people who need to stop and actually think about their "implimentation".
-
ClickToFlash
On OS X this has been available for ages, switchs all youtube videos to HTML5 and is extensible for other placse like Dailymotion. http://rentzsch.github.com/clicktoflash/
-
Re:Low power FTW
*and* contains a fairly complete Forth interpreter.
Source code + bootloader at http://github.com/wikireader
-
Solving the problem wrong
Come back when it is not written in an interpreted language, in a language capable of driving hardware, and it has "real" functionality. I looked quickly, and the tabulation code is virtually empty. Both the Python and the Javascript will be non-starters and the code rejected out of hand the first time reviewed (and none of the VSTL's will have anyone capable of reviewing Python). Java passes because of the bytecode. Python might pass because of the
.pyc files. The Javascript will be a problem. The lack of type declarations will likely also be a problem in Python. It will be hard to follow the documentation rules that require all of the types to be documented.None of this code stands a chance of VVSG compliance (the Federal Election standards which code must pass to be certified if any Federal funds are used to purchase the hardware or software). The list of blatantly obvious things wrong with the code base in the one file I looked in:
- The code files does not have a valid modification history for the file.
- The code does not have per function comments.
- The code uses multiple returns inside of a single function.
- Repeatedly use the same values without having them be assigned to a constant.
- Have single variable letter names that are not used for array indexes.
- Usage of numerical constants other then -1, 0, 1 without a comment explaining the value.
- Not all control flows decision points are documented.
- It has lines longer then 80 characters.
Or at least those are the obvious things I found in one example file in the 2 minutes it took me to scan it quickly. Remember, the coding guidelines are written by people who have never written a line of code, and are designed to protect against common mistakes from the mid-80s. So the fact that the entire system is in version control is irrelevant. Even if you give them all of the version control, you must document the changes to the code at the top of the file. You must document the changes per function. Even though no one would ever do it in this day and age, your code must be printable on a standard 8.5" wide paper.
All of the rules required to follow are obscene. You can't have function or variable names that differ by a single letter. It took 3-4 years to get an exception to that rule to allow the usage of "getFoo", "setFoo", because they differ by a single letter. You can't use 0x80 to represent the MSB of a byte, if you call that PIN_8, and had PIN_1 those differ by a single character, so we had to do PIN_EIGHT, PIN_ONE. It's just archaic. Oh, and you get to document every function a function calls. Because they couldn't possible use a compiler that would build a call list automatically.
The rules don't explicitly mention exceptions, so it depends on who is reading the code if they treat an exception as having multiple entry/exit points. So it is generally easier to get the code past compliance without exceptions, even if it does lead to buggier code. The other rule they invoke is that you are only allowed to use the control flow structures documented in the VVSG (they have flow charts for the allowable forms of if, if/else, for, while, and switch statements. They specifically state that if the language you are using does not have those, you must simulate those flows of control in the language used.
Oh, and if LA thinks it has the hardest jurisdiction because they have 7 languages, I believe NY has at least 20-30 languages or dialects just in NYC, they have several election districts (they'd be called precincts anywhere else in the country, but in NY, the word precinct is only used for the NYPD and maybe the NYFD) that have more then 7.
I've written code that has been used to count ballots in both state and federal elections. Trust me, this code base will have to be re-written from scratch to meet the 2002 or
-
Github project taking up the slack
Dustn Sallings put the code on Github and has already hacked some basic Snow Leopard support and a minimal installer:
http://dustin.github.com/2009/10/23/mac-zfs.html
Code's here, fork away:
-
Github project taking up the slack
Dustn Sallings put the code on Github and has already hacked some basic Snow Leopard support and a minimal installer:
http://dustin.github.com/2009/10/23/mac-zfs.html
Code's here, fork away: