Recommend linux distros to me!
I want to install Linux on my laptop, and have previously used Ubuntu - I’m not adverse to continuing with Ubuntu but I want to hear opinions on whether that’s a good choice or if there are better alternatives!
Ubuntu has issues regarding its latest interface, if you can get used to that then stick with Ubuntu.
Debian is a much more stable version of Ubuntu less prone to rocking the boat with crazy new ideas, if you like your software to stay the same after 15 years, Debian is the man for you.
Gentoo will give you exactly the operating system you want, which is a problem because it means you have to know how to specify what operating system you want to a computer. If you can get past that, though, and have a fast internet connection (you’re going to be downloading a lot of source files) then Gentoo is the wizard you’re after.
Arch is a comfortable mid-way place between Gentoo and Debian/Ubuntu, as you only have to update/install what you want but at least you get a fully-functional OS to start from. I had difficulties installing Arch, so make sure you have a backup plan before you start (a liveCD of ubuntu works well as a backup plan).
Sabayon, based on Gentoo, will give you a pre-built Gentoo system for generic hardware. I’ve not had any direct experience with it, but if you want Gentoo but can’t stomach the installation procedure, Sabayon is probably the droid you’re looking for.
Finally, if you’re after a welterweight distribution with tonnes of shiny packages and hardware requirements that would make most top-end desktops sweat blood, you should look into the Fedora family. Be sure to have a writeable DVD ready for this one though, as I’m pretty sure you can’t get it on CD any more. If you use RHEL at work, though, you’ll feel right at home with Fedora as it’s based on RHEL.
Whew! That was a lot of distros. If you need any more ideas/reviews, check out distrowatch.com. I’ve tried a lot of them personally as well, so if you find one you like the look of there feel free to drop me an ask about it and I’ll do my best to review it for you :)
“Freelancing”
Is it just me, or do a lot of freelancer websites contain a lot of people looking to pay others to do their homework for them?
I’m not sure if I’m morally flexible enough to do that… :\
LeonsBuddyDave: Reasons I don't do freelance work or attempt to find some
- I feel like I still suck at programming
- Even though I have been programming for almost five years, I feel like I will disappoint my employer
- I feel like I will never be good enough to deserve a job.
I’m by no means an expert, but I’ve been doing freelance programming…
(reblogging as link because it was a long post, but I do recommend people check the post out because that was extremely helpful).
Thanks, lbd! That was awesome. I’m going to check out freelancer.com, I already have an oDesk account but the same things were holding me back (I feel like I suck too much to do anything). I’m also not very good at finishing what I start, which worries me.
Still, freelancing could really help me out at the moment so thanks a million for that post :)
No problem! I know that programming becomes stressful once someone else is relying on your work, but it’s easy to get used to and is highly rewarding. And trust me, it will help you get better at finishing the things you start - I used to be exactly the same way, but your devotion to a project tends to increase when someone else has expectations for it. Good luck!
Thanks! In other news, maybe we could get a collaborative project going with the tumblrcode guys again - preferably something in C/C++ because I believe that’s the biggest catchment of all of us (it’s either C/C++ or Javascript, I’m not sure) - what do you think?
LeonsBuddyDave: Reasons I don't do freelance work or attempt to find some
- I feel like I still suck at programming
- Even though I have been programming for almost five years, I feel like I will disappoint my employer
- I feel like I will never be good enough to deserve a job.
I’m by no means an expert, but I’ve been doing freelance programming…
(reblogging as link because it was a long post, but I do recommend people check the post out because that was extremely helpful).
Thanks, lbd! That was awesome. I’m going to check out freelancer.com, I already have an oDesk account but the same things were holding me back (I feel like I suck too much to do anything). I’m also not very good at finishing what I start, which worries me.
Still, freelancing could really help me out at the moment so thanks a million for that post :)
Microsoft removing ability to develop non-metro apps in Visual Studio 11 without paying >$500 for Professional edition.
Microsoft are not in my good books, and they will be getting only the blackest coal for Christmas this year and, in fact, every year until they improve.
Why are you using Visual Studio anyway? It’s a terrible IDE with a terrible toolchain. Switch to the GNU toolchain, it’ll increase your productivity tenfold.
Maybe not for C#… But if you’re using C++ then certainly.
I’m lucky though, I got a free version of Visual Studio Professional from my school =D.
Actually, this is a good thing. The win32 API is a piece of shit and I recommend Microsoft doing anything that can get them away from that horrifying clusterfuck as quickly as possible.
@cjbrowne: I really doubt it, though, the debugging facilities of VS are unparalleled by any IDE I’ve ever experienced by a vast margin - although I agree that I’m not especially fond of the toolchain itself! What about the GNu toolchain do you particularly prefer? I will look into it just to be well informed!
@cabbagebot: I am using it for C++. I would use it for C#, but I’m compelled to boycott C# due to the way their “Community Promise” (or whatever it’s called) seems rather terribly worded in such a way that it doesn’t really promise anything - and the risk of Mono being attacked by Microsoft is non-trivial, which is a shame as otherwise C# looks quite nice! :(
@two-pi-r: I agree the Win32 API is horrifying, but equally I doubt it’s going anywhere. More may become deprecated as per every windows version as they gradually grind slowly into the future and leave the past behind - but I don’t think there will be any massively different improvement compared to previous versions, and certainly not worth flapping about in the crazy new metro UI. Unless it turns out to be wonderful, in which case colour me surprised! :P
Firstly, the “debugging features” of Visual Studio are terrible. For one thing, there’s no built-in terminal emulator so you can’t see the output from a command that terminates, meaning you have to put a breakpoint at the end of your code just to hold the prompt open! That’s a work-around for something that should by all rights have been permanently fixed years ago.
There’s no scripting support for the VS debugger (that I’m aware of) and its speed leaves a lot to be desired. GDB is leagues ahead, even when used with a graphical front-end. The VS debugger also crashed on me several times when just running fairly rudimentary C++ code - I’d hate to see what it did when I threw it something complex (maybe OpenGL) to contend with.
As for what I prefer about the GNU toolchain, let me start with standards compliance (the gcc suite supports a huge variety of standards with simple and intuitive ways of choosing between them), target support (again, gcc can target dozens of microprocessor architectures and can produce binaries for Windows, Linux, BSD or Mac with a flick of a switch), optimisation (not a huge concern for me, but I do recall seeing some figures that put gcc ahead of MS by a fair margin on that front - if you’re interested in that you’ll have to do your own research though) and then I’ll continue on with versatility (moving on to ‘make’ now, which I believe has been proven turing-complete and is incredibly useful for building software) and compatibility - there are literally hundreds of programs that can edit a Makefile - how many do you know of that can edit a .vsproject file? Ubiquity - the GNU toolchain is supported across all three major platforms and a good number of minor platforms, whereas MSVS is only available for a single platform.
And all of that is forgetting the inherent preservation of the Free Software Foundation’s “Four Essential Freedoms” by GNU software, which is to say you have (and always will have) the right to:
- Use GNU software for any purpose.
- Study the GNU software to see how it works, which is useful if you’re talking about something which could generate a binary file that contains an exploit or security weakness.
- Modify the GNU software for your own needs, which isn’t all that useful in this circumstance because it’s already pretty damn good.
- Redistribute the GNU software including any changes you’ve made, which is useful in an enterprise situation where maybe you’ve made GCC emit warnings/errors when your internal coding standards aren’t adhered to.
And then there’s the fact that the GNU software is a distributed (as opposed to integrated) development environment, and I for one much prefer having no single-point-of-failure in my build setup. I like working with text editors and the command-line versions of the toolchain for this reason. Text editors crash far less often than IDEs, and they mess things up a lot less when they do crash (especially editors with automatic back-up creation features, like Kate).
TL;DR it’s faster, it doesn’t crash and it’s available in more places
Microsoft removing ability to develop non-metro apps in Visual Studio 11 without paying >$500 for Professional edition.
Microsoft are not in my good books, and they will be getting only the blackest coal for Christmas this year and, in fact, every year until they improve.
Why are you using Visual Studio anyway? It’s a terrible IDE with a terrible toolchain. Switch to the GNU toolchain, it’ll increase your productivity tenfold.
“There are only two hard things in Computer Science: cache invalidation and naming things.”—
The world’s two worst variable names | Andy Lester (via spooningfork)
intention revealing names. it’s not terribly difficult with just the smallest bit of effort. i suppose thedistanceinsidious and i should argue about this now or something xD it’s less relevant with throwaway code, but if someone is going to look at your code (including your future self) it is quite beneficial to at least have an idea what things are.
diving through legacy perl code right now is a pain only mitigated slightly when i land somewhere that is at least somewhat anchored conceptually. just thoughts.
and yes: cache invalidation is a difficult problem x__x
I hate to fall into the trap of predictability, but naming things IS incredibly hard.
Namespaces and proper scoping help, but any sufficiently complex “real world” [read: enterprise] problem will usually escape into a combination of magic names (Ex: “sumCustomerValues”), extremely verbose names that don’t tell you anything (Ex: “customerUniqueKeyForSomeLegacyPurposeWeForgotAbout”), and really magic names. (Ex: “tmp_x” as an integral component in production code)
Don’t even get me started about corporate internal coding standards policies. Those things are brilliantly bad at creating “clean” code. Only verbose, uniformly-unreadable code.
Even hobby projects lend themselves to the naming problem, and that’s honestly for the same reason OOP has many shortfalls: things are complex.
If by “things” you mean “concrete representations of abstract ideas, encapsulated in a data-type with the ability to manipulate its own data” (aka ‘objects’) then they’re only as complex as the abstract idea you’re trying to represent.
For example, consider a(n electric) kettle. In OO terms, it’s very easy to represent a kettle because its physical properties, function and process are all clearly defined. (I was going to demonstrate, but it turned out to take up too much space)
On the other hand, consider an ocean wave. In OO terms, it’s very difficult to represent an ocean wave because it’s heavily reliant on neighbouring objects to determine its shape. Its function is difficult to define at best (what output does one get from an ocean wave? what input does one give it?) and the process cannot be unlocked without first defining the function. In that class, one can forgive a few badly named variables because the programmer’s brain was probably overheating just trying to keep everything (somewhat) sane.
Submitted by dragonswords
This isn’t a programmer problem, this is what programming is. The only time you should use a calculator instead of your code is if the number you are calculating is a known constant, and by constant I mean really, really constant. Like g, c or pi.
If you’re looking to be adventurous, I’d recommend giving spiced tea a try with Chai. Although I’ve never acquired a taste for it myself, it does have a zing unavailable from ordinary teas. Certainly worth a try, though I dare say you probably won’t like it if you don’t already.
If you’re just looking for a recommendation on a breakfast tea, my personal favourite has to be Yorkshire, though I’m not aware how available the brand is across the pond. The principle ingredient in the blend is Assam (from what I can tell), so if you can’t find that particular brand just go for a generic Assam instead. Yorkshire should be brewed for less than 3 minutes (experiment with 1-2 minutes until you find your perfect strength) and, if you take milk, I’d add a generous amount as the flavour isn’t easily overpowered like with Lapsang. Assam, on the other hand, takes a bit longer to infuse and could probably do with a 2-3, maybe even 4 minute brew time and again, generous with the milk (if you take it). Either are adept at accepting sugar, though I would personally never recommend sweetening tea.
Hope this helps!
Favourite tea
A recent post about tea inspired me to ask:
What is your perfect cup of tea?
Mine is Lapsang Souchong brewed for 3 minutes with a dash of milk.
Lapsang Souchong is characterised by its woody, smoky flavour. Although it is certainly an acquired taste, it is also an energising and flavoursome tea. Personally, I would recommend against additions other than milk (and even milk very sparingly) as the tea’s flavour can be easily overpowered, despite it seeming strong. Sweetening it is a very bad idea in my opinion, although if you must sweeten it I recommend you do it very gently, adding less than a teaspoon of sugar at a time until it is to your taste.