Domain: github.io
Stories and comments across the archive that link to github.io.
Comments · 493
-
Better comparison site
The below site offers a better comparison interface than the Lena image link from the post. Drag your mouse across the image to see the effect:
-
Re:Where Docker failed
Disclaimer: I'm not super experienced in this stuff. I am open to correction if I have any of these points wrong.
Do we really need a full OS image running in a container?
I think we probably do.
One of the key selling points of Docker is that the container is load-and-go. Do you have some wacky old software that has a hard dependency on particular versions of some libraries? You can build a container with just the right libraries and get your software to work... and, after you do that work, the container is just another container. It may have been a pain for you to get it working, but then anyone can run it on any Docker host as easily as any other container. This seems kind of powerful to me.
Do you need to see how your software runs on CentOS and Debian? You can set up a container for each, and run the tests on a single host system.
And if you want maximum security, it's kind of neat that each docker container can use just its own private file system and containers can't affect each others' running state.
So, if you are content with running an up-to-date system, and always running the latest versions of everything, and upgrading everything together, you could make a security isolation system lighter weight than Docker, but trading off some of the simplicity and flexibility of Docker. You might think it's a good choice, but I don't think you can reasonably claim that it's better in all ways.
Containers should run a single process. We shouldn't look at containers as a more efficient VM.
As I understand it, it is considered best practice in Docker to run a single process per container. Some people do use Docker as a sort of lightweight VM but not everyone likes it.
Are you arguing that Docker is flawed because it doesn't enforce one process per container? Because I'm not seeing it. I would rather have the flexibility; if I want to use Docker as a lightweight VM, the option is there, and I don't see that as a bad thing.
Do you really want to have to run apt-get or yum inside every container?
Please correct me if I'm wrong, but my understanding is that you don't have to run a package manager inside every container. You would have a "base system" image, and you would update that image from time to time; then you build your specific containers as layers on top of the base image.
I believe a container could simply be a script that starts up a service, and config files that configure the service, with the actual packages for the service in the "base system" image. I'm not sure if that is standard practice or what.
I'm hoping that with Docker I could make micro-servers, like a Docker container with just a web server in it, not even a Bash shell. If someone cracks my server I want him in a desert, with no tools to help him escalate his privileges. I'm not sure how feasible that is now, but I think Docker is at least headed in that direction.
I'm not opposed to this new Rocket thing, but I'm still not clear on its actual advantages over Docker.
-
Re:Psychedelics
I used to use synesthesia, but since I started using Clementine the nyanalyzer cat has become the main music visualization for me.
-
You have to learn
-
Re:Some technical info for slashdotters
As a visualization guy, it always makes me happy to see such a good use of visualization. Thanks for providing some extra technical details here! A couple of questions, though:
1) What grid type does your simulation code use? If it's regular grid, have you considered switching to something more adaptive like AMR or unstructured grids?
2) Since I/O is your main bottleneck, have you considered further decimating your output and visualizing in situ to fill in the gap? I suspect your visual analysis is too complicated for current in situ techniques to cover everything you want to do, but I'd like to hear your thoughts on it.
It's isotropic (delta x = delta y = delta z) for most of the storm, and then uses an analytical stretch function to determine the mesh outside of that region. I used the stretch technique of Wilhelmson and Chen (1982; Journal of the Atmospheric Sciences).
AMR has its benefits but adds a lot of complexity, and I tend to wish to go towards less complex, not more. I am more interested in these new heaxongal grids (see: NCAR's MPAS) which have very nice properties. I predict MPAS will be the Next Big Thing and will apply to both large-scale (say, climate) and mesoscale (like CM1) models eventually.
In-situ visualization was something we have played with. But I don't see a huge benefit to me, other than showing that it can be done. The simulation I reported on was not the first try and visualizing it with volume renderer during the simulation would have been cool but consider the fact that I've had the data on disk for over six months and have barely begun to mine it. So really, it's what you do with the data once it's on disk that matters... plus you can visualize it in all sorts of different ways.
I have other ways to see what's going on during the simulation that are near-real time. All I need to know during the simulation is that the storm is not drifting out of the box, and that it's doing something that looks reasonable. I do this with parsing the text output of the model (that spits out global statistics periodically) and I have a way to view slices of the data that was just written that works just fine.
-
Re:About CVS Only! Not SVN!
(1) check out only a subset of files, because those files are binary and very large, and
Git can do this with sparse checkouts, but as you probably know, neither git nor svn are really meant to manage large binary files. You'd do best to use a repository that was designed to fit your needs so you're not constantly butting heads with your version control system.
(2) permanently delete those files that I know I will no longer need.
Most source code version control systems are specifically designed to avoid permanent data loss, so again, you're going to fighting your VCS if you use one that was meant to handle source code. That being said, BFG will permanently delete data from a git repository if that is necessary for whatever reason.
-
resources
(for some reason the first time I loaded this page there were no comments, so some of this is duplicate)
Excellent! Very glad to hear it. There are a
/ton/ of helpful resources out there for you. Here's a brain-dump of some of the most popular:* CTFTime : http://ctftime.org/ : Website that tracks team scores, upcoming events, and writeups for previous events.
* CapTF : http://captf.com/ : My CTF dump-site that includes a calendar, links to "practice" sites (aka Wargames), and many years worth of CTF events archived
* Field Guide : http://trailofbits.github.io/c... : Specifically covering the skills / approaches, the field guide is a good read for anyone getting into this world.
* Guide for Running a CTF : https://github.com/pwning/docs... : Written by PPP (CMU's ever-dominant CTF team) along with feedback from the broader CTF community, this guide is more relevant when making a CTF, but can aid in understanding how the good CTFs are designed.
* PicoCTF : https://picoctf.com/ : PicoCTF is designed for high school students, but had an awesome difficulty curve, getting up to some relatively advanced challenges by the end of it. It's also extremely well designed, runs for a longer period of time and is a
* CSAW : https://ctf.isis.poly.edu/ : One of the best events targeted specifically at College students, unfortunately the qualifier round just finished, and the participants already selected for the final round, but you can always check out the archives of previous challenges to get a feel for the difficulty. Note that the qualifier event is typically intended to be much easier than the in-person finals to better encourage new students to get into the sport.
* IRC : irc.freenode.net#pwning : There's a lively and active community in #pwning on freenode that would be happy to help you with questions/advice related to CTFs.
* YouTube : There's a couple of different presentations/talks on CTFs over the years. If your'e interested in learning more about attack-defense CTFs and in-particular DEF CON CTF, I gave an old talk that's mostly still relevant (https://www.youtube.com/watch?v=okPWY0FeUoU), though I'd recommend you not focus on A/D at first, but just get into the regular challenge based or jeopardy boards as they're sometimes called.The best way to prepare for CTF is by... playing CTFs. There's no real magic formula, just go out there and start working on challenges. Old CTFs are great as learning exercises since you can usually cheat and read a writeup, but avoid the temptation as much as possible. If stuck, go off and try another problem first, and only if you're
/really/ stuck should you check out a writeup. -
Re: Couldn't Get A Job After Getting A.S. Degreete
I'm currently converting an old WordPress blog into a static website, using Python to extract content from the MySQL database into array structures and files, using PIP as the MVC framework on a PHP LAMP stack, and following standard OOP practices, documentation and unit testing.
-
I prefer doxbox
-
Freedoom
There is Freedoom . But I imagine that people want to play authentic Doom with the levels that they used to speedrun back in the day, not a knock-off.
-
Re:So use a unique online student email.
My university is on this list
Google's Apps for Education "Customer Stories"
61, and now 66 of the "top 100 schools" use it. -
Android IMSI-Catcher Detector (AIMSICD)
Looks like Apple has built in detection from IOS 5 (though being Apple it might well have an off switch for legal intercept type applications):
http://9to5mac.com/2011/06/07/...And it looks like some developers have gotten together to do something for Android with a project called Android IMSI-Catcher Detector (AIMSICD)
https://secupwn.github.io/Andr...
http://seclists.org/fulldisclo...Has anyone tried this?
-
Re:How big is this thing?
More than dozens; roughly 4000 quakes since the beginning of the series. Enough to inspire a young programmer to script a nice page in 3D: http://baering.github.io/ Its based on public APIs from http://docs.apis.is/
-
Re:Platform LSF
Hi,
another alternative would maybe sysfera-ds, but their open source offering seems lacking documentation and features (see here).
Need to investigate. Seems something on the lines of what vizstack could have done.
-
Re:Dumb dumb dumb advice...
I use KeePassX and MiniKeePass on my iPhone. I sync the password db using dropbox. This works well for me because I can generate strong passwords for ALL sites and I have access to them when I'm on the go.
-
Re:KeePass?
You can always try KeePassX (for Linux and OS X; use the latest 2.0 Alpha release) and MacPass (for OS X), both of which are compatible with the KeePass 2.x database format. They might not have all the features but they work rather well and you don't have to deal with the monstrosity that is KeePass on a non-Windows system.
-
Re:vim and C++
You do realize the VIM literally does everything you listed as advantages right? Ctags for jump to definition and search. YouCompleteMe for auto completion (or like one of 90 million other plugins). GDBVIM for debuggers (or one of the many other plugins) and it is free and closs platform? I mean I am an emacs user and I know this shit?
-
A great book for learing D3.js
I'm not affiliated with the author in any way, but I did buy the book (though you can get it for free).
This is an amazing resource for someone new to D3.js's declarative javascript and helps you put it all together: https://leanpub.com/D3-Tips-an...
After using D3.js, I've come to the conclusion Mike Bostock is awesome! But it doesn't stop there, people have expanded it like Crossfilter and dc.js.
Tech that allows a javascript n00b like myself to build a simple race results visualization.
-
A great book for learing D3.js
I'm not affiliated with the author in any way, but I did buy the book (though you can get it for free).
This is an amazing resource for someone new to D3.js's declarative javascript and helps you put it all together: https://leanpub.com/D3-Tips-an...
After using D3.js, I've come to the conclusion Mike Bostock is awesome! But it doesn't stop there, people have expanded it like Crossfilter and dc.js.
Tech that allows a javascript n00b like myself to build a simple race results visualization.
-
Re:What's wrong with html and javascript?
But javascript is dead-simple.
Yes, so simple. http://dorey.github.io/JavaScr...
-
Re:1024 fits in 10 bits.
Yeah, it would have made more sense for them to say:
Wouldn't you know it, that price actually equates to $1 for every byte of RAM that makes 1KB. Don't forget that 1024 is also 2^10 and there is a game called 2048 which is exactly double that! Google are so clever!
Or you know, they could have just omitted the last 2 sentences of the summary.
-
Re:i applaud the effort
I recommend youtube-dl. It's an easy-to-use open source command line tool for downloading videos from youtube and many other sites. It's a part of the package repositories of most linux distributions also. I usually start a download (youtube-dl link-to-video-page), and then immediately point mplayer at the in-progress file. So there's no delay compared to watching it in the browser, but seeking is much faster, and you get to use a decent player. And if the connection is slow, you just wait a bit.
If you prefer not to use a command-line tool, there are firefox extensions that do this kind of thing, like netvideohunter and downloadhelper, but they are a bit sleazy and support fewer sites, I think. They also can't be automated the way youtube-dl can.
-
Re:Dumb motherfucks!
Jump the shark Fonzie!
Yep, Apple have jumped multiple sharks and become the new Microsoft
They're even cheating with APIs to block competitors, just like Microsoft did. http://marksands.github.io/201...
Of course, this'll never be a story on Slashdot, 'cos Apple pays for it not to be.
-
4 players is so last decade ;)
I've been working on a framework/library for party games. Players use their phones as the controller but look at the same TV for the display. I've had 14 player bomberman, 17 player space wars, more coming.
-
Re:It's the right tool for the job
You might not want to be so quick to write off Python.
-
EasyBuild, it is in Python
IFF you have even done wget/tar xvf/patch/make/make install - and wondered,
if this process could be ever improved and make sense, you have found your project!
EasyBuild allows you to tame scientific software of the following type:
* Download and build GROMACS over FFTW/3.3, applying patches X,Y,Z, using CUDA for speed.
Here is your initial reference: http://hpcugent.github.io/easy...
And here is the juice: https://github.com/hpcugent/ea...
The code lives across 3 repos on github, I am sure you will find your way. -
More up to date version
Here is a more up to date version:
http://djlorenz.github.io/astronomy/lp2006/
With a better map:
http://djlorenz.github.io/astronomy/lp2006/overlay/dark.html -
More up to date version
Here is a more up to date version:
http://djlorenz.github.io/astronomy/lp2006/
With a better map:
http://djlorenz.github.io/astronomy/lp2006/overlay/dark.html -
Re:Computational code
Yes, I can see that sort of code would benefit a lot. Not an area I've done much work in, but I guess a lot of people are. I'm actually really interested in code that performs well - I spend quite a lot of time profiling and tuning. Some of the things Martin Thomson has done in Java land are pretty cool. Check out http://lmax-exchange.github.io... and http://mechanical-sympathy.blo...
-
make your own tunlr clone
Rent a cheap VPS and run your own tunlr clone (similar to other commercial DNS-based geo-unlocking services like Unlocator, unblockus, etc.)
http://corporate-gadfly.github... -
Re:Fine. Lets see a better language
Use Rust. It's not at version 1.0 yet but it's promising. See some comments on Rust's benefits for security. And some blog posts by Andrew Ruef and Patrick Walton.
-
Quit bitching and download Visual Studio Express.
Visual Studio Express is Microsoft's zero-cash programming environment. Why do you want a high-cost office suite with a lousy macro engine to be discounted to free when they already offer their actual development suite pro bono. It's upgradeable to more complete Visual Studio versions later. This will encourage Microsoft-centric code, but that can be avoided and it's less specific of a tie-in than VBA. C#, C, C++, and more are included.
If you don't want to be tied to Microsoft-specific tools even on Windows there are other options. Those include other office suites and other actual development tools.
LibreOffice/OpenOffice have OOBasic and can be scripted with Python and Java if you really want. These things are zero-cash and open source.
You can use Lazarus and FreePascal (Wikipedia article about FreePascal) or Eclipse and Java/C/C++ if you'd rather. Or you could use Eric and Python. Or Padre and Strawberry Perl, complete with MinGW. Some of the IDEs are more or less general and language agnostic, while others are mainly narrowly targeted.
Don't forget MsysGit (git for Windows) if you're not using Cygwin and haven't already chosen a version control system.
Really, you could be teaching with a good programmer's editor rather than specifically with IDEs too. vim, Emacs, jEdit, Gedit, and others are applicable. Some of them are powerful enough to make that line between editors and IDEs very fuzzy.
What, exactly, would a free copy of Word get you that isn't already available?
-
Re:How do we address the weaknesses of Open Source
> I'm a programmer, but I wouldn't have the gall to call myself an "expert developer".
At the risk of sounding offensive it sounds like you haven't programming very long. if you lack confidence in your own skills then try programming for another 20 years. Eventually you'll master it. I would recommend essential books such as:
* Godel Escher Bach
* The Mythical Man Month
* Code Complete
* Javascript: The Good Parts
* The Pragmatic Programmer
* The Design and Evolution of C++
* Modern C++ DesignFor a more complete list see: http://cspray.github.io/my.so-...
You'll see fads in programming come, and go, and come, and go. Once you've worked in realtime systems, on compilers, and learnt how to write and architect clean code, you'll have the necessary perspective (and experience) to call yourself an expert developer.
-
Re:Nurikabe
Don't worry, there's 2048 other games to consume your time.
-
Re:Because bandwidth is money
For animated geometric images, you use SVG+SMIL. For a fallback (stupid Microsoft), you use animated GIF or JavaScript with SVG or canvas.
No need for JavaScript, just convert the SMIL into CSS animation within the SVG which works fine in IE10+
-
Re:system monitor: htop
Agreed. Have you tried Glances? In some ways it is like htop on steroids.
Nice, but too many dependencies for my taste...
-
Re:system monitor: htop
Agreed. Have you tried Glances? In some ways it is like htop on steroids.
-
Re:Oh my fascism
Remember this:
http://petewarden.github.io/iP...Better than you it seems. That stupid controversy was about nothing more than cache files on the iPhone. Backing up to your PC with iTunes made a copy of the cache along with all the other files. Nothing was uploaded to Apple.
The iPhone scans everything around adds the GPS data and uploads it to Apples server.
Yes, but anonymously. You are not identified.
It's all explained here.
http://www.apple.com/uk/pr/lib... -
Oh my fascism
'We object to increased government control over company products and operations, and likewise mandatory environmental standards,'
Sort of laughable considering how Apple does business, to be complaining about fascism.
Take the Maps app in OSX 10.9 (Mavericks) on my Macbook pro without GPS the maps app is able to detect exactly where I am. The reason this works is because Apple has geo-located every wifi access point anywhere someone with an iPhone is.
The iPhone scans everything around adds the GPS data and uploads it to Apples server.
So I suppose most fanbois will say "that's a feature", but after turning it off in "privacy" (laugh) settings I applied the new SSL patch and behold, location services was once again active even after locking that panel.
Didn't do that on the desktop.
You have no true location privacy with any Apple computer, and I would wager even with WiFi off and Location Service off it still silently looks at the area around and sends your location data to Apple.Remember this:
http://petewarden.github.io/iP... -
Re:This is worth a Slashdot article?
What about DWR? http://en.wikipedia.org/wiki/D...
Or ST-JS? http://st-js.github.io/
-
Mark as duplicated
There is already a git-sh . It even have a debian package included on the main repos.
-
Where's the banner?
It would be nice is Slashdot were doing more than just posting a story. It's not like it would be hard to add for a day... TDWFB Banner
-
Re:Lets define our own string, vector, list classe
Which is why we have alternative implementations like uSTL and custom allocators.
Back when I did that kind of thing for a living, we shipped multiple titles on the PS2, GameCube, and even DS using that solution. It was fast, space efficient, and portable. It also let us focus on things like rendering code and game logic rather than trying to write and maintain The One True String Class (and list, vector, map, etc.) internally.
Chinese/Korean/Japanese localization was still a major pain, mind you, but one can't have everything.
-
Amazing JavaScript stuff by same sql.js author
Lua: http://kripken.github.io/lua.v...
"Lua is implemented in portable C. It is possible to run C compiled to JavaScript at speeds approaching that of a native build (using the asm.js subset of JavaScript), which means that you can in principle run C code that happens to implement a VM at high speed as well. Of course this is theoretical until it is actually attempted - that is the point of this project."A Sql.js demo: http://kripken.github.io/sql.j...
3D, just amazing Doom-clone: https://developer.mozilla.org/...
"BananaBread is a 3D first person shooter that runs on the web. It takes the Cube 2: Sauerbraten engine, which is written in C++ and OpenGL, and compiles it using Emscripten into JavaScript and WebGL so that it can run in modern browsers using standards-based web APIs and without the need for plugins. The project has several goals. First, to serve as a testcase for running a demanding 3D game in browsers: Having a working testcase lets us try out new browser features and to profile performance in order to make browsers faster. Another goal is to prove that games of this nature can run in JavaScript and WebGL, which many people are skeptical about. Finally, all the code in this project is open (and practically all the art assets), so others can learn from this effort and use this code to create their own browser games. The latest update of this demo uses asm.js for additional speed, and WebRTC for multiplayer."The author's GitHub site, where there is a tool to compile LLVM output like from C to JavaScript: https://github.com/kripken
https://github.com/kripken/ems...By others (MineCraft-like): http://voxeljs.com/
It's been said JavaScript is much better than we deserved... It's great to see all these advances. And I think you are right, the next two years will see the further spread of all this.
My own JavaScript experiments towards a social semantic desktop, with the idea that you could have a simple backend and do most of the heavy lifting of processing and displaying information locally in the browser.
https://github.com/pdfernhout/... -
Amazing JavaScript stuff by same sql.js author
Lua: http://kripken.github.io/lua.v...
"Lua is implemented in portable C. It is possible to run C compiled to JavaScript at speeds approaching that of a native build (using the asm.js subset of JavaScript), which means that you can in principle run C code that happens to implement a VM at high speed as well. Of course this is theoretical until it is actually attempted - that is the point of this project."A Sql.js demo: http://kripken.github.io/sql.j...
3D, just amazing Doom-clone: https://developer.mozilla.org/...
"BananaBread is a 3D first person shooter that runs on the web. It takes the Cube 2: Sauerbraten engine, which is written in C++ and OpenGL, and compiles it using Emscripten into JavaScript and WebGL so that it can run in modern browsers using standards-based web APIs and without the need for plugins. The project has several goals. First, to serve as a testcase for running a demanding 3D game in browsers: Having a working testcase lets us try out new browser features and to profile performance in order to make browsers faster. Another goal is to prove that games of this nature can run in JavaScript and WebGL, which many people are skeptical about. Finally, all the code in this project is open (and practically all the art assets), so others can learn from this effort and use this code to create their own browser games. The latest update of this demo uses asm.js for additional speed, and WebRTC for multiplayer."The author's GitHub site, where there is a tool to compile LLVM output like from C to JavaScript: https://github.com/kripken
https://github.com/kripken/ems...By others (MineCraft-like): http://voxeljs.com/
It's been said JavaScript is much better than we deserved... It's great to see all these advances. And I think you are right, the next two years will see the further spread of all this.
My own JavaScript experiments towards a social semantic desktop, with the idea that you could have a simple backend and do most of the heavy lifting of processing and displaying information locally in the browser.
https://github.com/pdfernhout/... -
Re:a non-addition to the team.
The fact that you have Linux as an option is rather surprising. Azure is primarily a Windows cloud computing environment which a very large group of businesses are interested in. If you're looking to deploy an enterprise cluster of Linux servers and services, you're probably in the wrong place.
It's not at all surprising, and yes, Linux is a supported option, and MS will hook you up with companies that provide support for that kind of configuration.
Azure was MS- and Windows-specific a few years ago, but it tries hard not to be that anymore. It's not just about Windows vs Linux, but also e.g. making SDKs for many programming languages on many different platforms. Then there's stuff like cloud backends for mobile platforms, which includes iOS and Android support.
Granted, most people who go to Azure still do so to do Windows stuff. And that's probably going to be what it's best at for a long time to come. But it's not just about that anymore.
-
Re:Apache 2 License? o.o
Actually, most (all?) Microsoft open source projects these days are released under Apache License 2.0, and even the stuff that was previously under MS-PL or other custom licenses has been relicensed to AL (in particular, ASP.NET MVC made a doing so a few years ago).
All Azure SDKs (.NET, Java, PHP, Python, Ruby, node.js) are also under AL and on GitHub. So is TypeScript (the open sourced parts - i.e. the compiler, not the IDE support). So are Python and Node.js Tools for Visual Studio.
I can't actually think of any actively developed open source MS project that is not under AL.
-
Re:SIFT is patented
http://robwhess.github.io/open...
Is software (algorithms) patentable in Europe? Asia outside of China & Russia? (Effectively, nothing is patentable in China or Russia.)
-
Re:Flash?
You don't need Flash, you need youtube-dl. The name is a bit misleading because it downloads stuff from numerous other video and audio sites, including the embedded oolaya videos here on slashdot.
-
Dynamically Typed, Higher Level
Let me give you some advice, as someone who went to school for Computer Engineering (very aware of embedding programming) and now works for a major Internet browser vendor. C may have been considered high level back in the day, but relatively speaking is now one of the lowest level programming languages. While it's simple, and fast, it is verbose as hell to write anything useful. C's idea of portability is also bizarre, relative to modern higher level languages (autotools generates thousands of files). I love C, and it's my go to for lower level languages. I just cannot keep track of all there is to C++, it's like a dog that kept getting legs nailed to it until it was referred to as an octopus. C++ is a great language, but it's not for me. I have one lower level language that I'm expert in, and one higher level language that I'm expert in. Java, and C# in my opinion don't differentiate themselves enough from C (by design) as a dynamically typed language would.
That said, it's worthwhile to learn multiple different languages, even if you don't master them, because each one has something to teach you, will change how you think of programming, and make you more effective in programming with other languages as you can reuse interesting patterns. Seeing other people say "don't follow new trends" is disappointing; it's so close minded that it's sad to see that they've closed themselves off from learning new paradigms.
As far as higher level language is concerned, I'd recommend JavaScript. It's dynamically typed, which should be a new paradigm for you. Its loosely typed nature shouldn't be completely foreign to a C programmer (unless you don't understand C's implicit promotion and conversion rules). JavaScript is pervasive and you don't need an IDE for it (not like making an IDE for a dynamically typed language is trivial); just fire up your browser and you can play around with it. You'll find the web to be much more portable for your programs (though it's still not a perfect solution). JavaScript can also be used for the back end as well, with the Node.js runtime. Further, there are even higher level languages like TypeScript or, my favorite, CoffeeScript. CoffeeScript combines some of my favorite parts of Ruby and Python, but if you're not careful can generate some awful JavaScript (returning the evaluation of a for loop), but you can do the same with mistakes with C (generating awful assembly). JavaScript will also open you mind to functional programming, while not forcing it down your throat.
PHP was my first love, but many developers fail to recognize it as a language and think it's tightly bound to Apache. Ruby has some of the most mind bending metaprogramming features, but the performance pails in magnitude to modern JavaScript VMs. Python's community has a split that I see as detrimental between 2.X and 3.X, but has some great features of the language. I'm really not sure what differentiates Perl anymore, as its regex functionality has been borrowed by Python, Ruby, and JavaScript. Lua might be useful in place of JavaScript, as it's embeddable within C projects and is used frequently in scripting game engines (so I would recommend that, or JavaScript). That said, I have learned something useful from all of the above, and am glad I took the time to learn more about them, even if I did not choose to master them.
For my senior design project, I used C in an embedded device, as well as CoffeeScript to receive info and display it via a web interface. It was awesome to have such fine grain control of the bits when I needed, and the ability to create a Hash with a literal when needed. That's why I recommend on mastering one low level and one high level language.
For a quick intro I gave recently on JavaScript: http://mozilla-ntu.github.io/s... For more on C and JavaScript: http://nickdesaulniers.github....
If you don't agree that higher level is the way to go, Rust has an interesting new approach to systems programming, even if the APIs change every (still in beta) release.