I suppose it's possible the site was hacked. Let's hope that's the case and that we all haven't been intentionally duped by the creator.
337 karma · joined September 22, 2011
I suppose it's possible the site was hacked. Let's hope that's the case and that we all haven't been intentionally duped by the creator.
I did notice, however, that the header will drop back down when choosing another link or scrolling back up to the top of an article regardless of whether it's the top of the scroll area. This seems more like a bug than anything, not something intentional to the UI.
I'm sure kids will still separate themselves into their own cliques like they always have, but each clique is being redefined as a result of new technological standards. It's an interesting phenomenon.
I like the way node kind of enforces modularity, but for something as complex as the backend (super-flexible api for a frontend dbms) required for my project, it would save a lot of time/effort/ugliness-of-code to have a few objects on the global scope while allowing individual parts to be split up into their own files; e.g., a few utility functions, String/Array.prototype functions, a socket.io instance, and a redis client instance, among other things.
And to make things manageable and more extensible all while minimizing duplicate code, I ended up using John Resig's "Simple Javascript Inheritance": http://ejohn.org/blog/simple-javascript-inheritance/. I like being able to simply call Class.extend({}) to create/extend any class with access to its "super" functions. Each class is contained within its own file, of course.
The method is pretty simple: 1) Organize and order the files like you would on a client (web browser) where "global" variables are allowed. 2) Use some program to concatenate the files in the correct order into a single node app.js file for testing or production.
I'm currently using a batch script (yes, I use Windows :P) that looks something like this:
del app.js
type global.js >> app.js
type appBegin.js >> app.js
type loggur.js >> app.js
type classes\Class.js >> app.js
type classes\Client.js >> app.js
type get.js >> app.js
type post.js >> app.js
type set.js >> app.js
type socketsOn.js >> app.js
type appEnd.js >> app.js
Don't get me wrong, node's module system is used when it makes the most sense. But for what I need to do, this works perfectly. It doesn't promote spaghetti code the least bit; everything is easy to read and follow (could even call the code pretty!); it's 100% clear which objects are shared (especially since most files contain a single object or class); and as long as the method is used consistently, you get all the benefits of node/socket.io while maintaining cleanliness and scalability.Before I link to it, I'd like to apologize for overly generic descriptions currently on the site. I whipped together the entire site in a few days not knowing the exact direction I wanted to take the software, so I left everything pretty vague; I really just wanted some content that at least somewhat described my ideas. I'll put the link at the bottom of this comment so you read all this first.
From a technical standpoint, this is currently where I'm at with it:
- Users create a myriad of widgets that can "interact" with each other; the fullscreen version of Loggur consists of "layouts" of widgets, while the mobile version of Loggur lets you access widgets individually in typical mobile app fashion
- Databases are incredibly easy to create; just add fields to a widget and specify their relationships to one another
- All kinds of special extensions included by default, like automatic importing of various data sources, scraping of websites, cron jobs, PDF report generation, emails, sms notifications, triggers, and graphing
- Everything is taggable for reuse, from the apps themselves to widgets to components to elements to lists and to the data associated with all of the above; you can either "mirror" or "clone" any one of these parts in another app/widget/component by doing a quick search for tags (or if you know the exact path to the part, just enter that); so for example, if you really liked what someone else has made and wanted to reuse parts of it in your own app, you'd do a quick search for it, clone it, and modify it to suit your needs, saving a lot of time
- Data associated with apps can be any combination of public/private, singular (your individual profile), and/or group-specific; you can quickly/immediately switch between views of each
- Permissions on everything; specify who can view and/or edit apps, widgets, components, elements, lists, and/or data
- Appearances are somewhat customizeable and will become much more so at some point; customization currently consists of the basics like colors, backgrounds, and sizes; apps are designed to be scalable to any screen resolution (think large dashboards ;)
- Each one of the pieces outlined above (widgets, components, etc.) can be embedded on your own site(s) through small snippets of code
- Data associated with apps is easily accessible, currently only available in JSON but if for some reason other formats are requested in high numbers, I might do that
- Users can toggle the ability to view app/data updates as they happen in realtime; they can also invite each other (or a Loggur dev if they need help) to take turns using/building an app
- Regarding the mention above about rewriting the project to be more modular/flexible for developers, I felt doing this was 100% necessary/worth it because it occurred to me a few months ago that the best approach to make this succeed in the long term is to make this a legitimate platform (buzzword, sorry!) where developers can quickly/easily make and share awesome extensions and be rewarded (paid) for their work
Check it out (sign up for it ;) here and remember to ignore the bad, vague descriptions currently on the site: http://loggur.com
But keeping my fingers on the home keys to type has always felt really awkward to me. I tend to position my hands differently depending on the word I'm about to type - in a way that let's me "roll" my fingers along in just the right sequence so it tends to be a series of short bursts where it would seem as if I'm actually just smashing a bunch of keys at once over and over again.
Edit: I just tried type racer and was getting 80+ wpm. /me wonders how people get 140+. :O
Well, some of us are.
I submitted my answer to the corn on the cob question but didn't make it any further than that because it immediately asked me to fill in a handful of fields to sign up. If I was able to continue without having to do that, I would have probably stuck around longer to provide the site with answers to other questions (providing value) and possibly even gotten sucked in and if I saw that the site was well-made, become a long-lasting member of the site's community.
I asked this in another (semi-dead) thread and it didn't get a response, so I'll ask again as I couldn't find any information on it. Was any legal action taken against facebook in the recent e-mail hijacking fiasco? I think there should be, since e-mail has pretty much replaced snail mail in terms of business communications, which directly affects the livelihood of many people. Companies like facebook with so much power at their fingertips should not be able to get away with doing things like altering millions of people's address books for their own selfish reasons.
A huge part of node's appeal to me (and many others, I'm sure) was the fact that I already knew javascript. Making the switch couldn't have been easier.
I used to defend PHP; but now when I look at PHP code, even well-written code, it just makes me go "ugh".
I hope you and others don't view the world this way. If you do, you're only holding the rest of us back. It reminds me of the other comment here about screwing things up on purpose just to increase budget:
Occasionally a politician will sweep through with an attempt to cut costs (they're the only ones who even pretend to care) -- the bureaucracy will respond by firing the most useful and publicly visible of their employees to ensure that service levels drop thus justifying their case for an increased budget later on. - http://news.ycombinator.com/item?id=4167459
Thank you Marcin Warpechowski / Giraffe for creating this and uptown for submitting this.
This is why I read HN daily.
Plus, I'm developing something (long-awaited) for UT99 called NewNet (similar to Lotus's UT2004 UTComp mod) that eliminates all movement lag and simulates zero ping server-side. And at some point I'd love to create something similar to QuakeLive (Quake via the browser, with tons of stats tracking and stuff) for UT99.
For a 13 year old game, it's still more fun than most games out there if you ignore the trolls.
Do you know if this can be done in UE1? I'm actually developing something called "NewNet" in UT99 for fun - plus, more people actually still play that game than all the others! Basically it fixes the movement lag associated with high pings and simulates zero ping by keeping track of the positions of all actors from within the past second or so, and "rewinding" the server to that saved position according to the ping of the shooter. There are mods for UT2003/UT2004 (UE2) and UT3 that do this, but nothing for UT99 - although there's the ZeroPing mod which is way too easy to exploit, as it's clientside hit detection. People said it couldn't be done for UT99 but I've managed to get a working prototype, even though it's quite messy and hacked together. It'd be great if I could do what you've mentioned, as it'd clean things up quite a bit.
The hacks I've had to do it get it to work right have been pretty silly, and there's a lot of duplicate code because I had looked for something like you mentioned (the sideways inheritance) but maybe I didn't look long enough, because I couldn't find it for UE1.
Right-click on the comment, choose "Inspect Element", and delete it.
And of course the same could be done with any modern browser's inspector.
I guess one of the cooler applications of this shape making method would be the ability to transform one shape into another very smoothly with a relatively small filesize (as opposed to an animated gif).