It is currently Mon Feb 19, 2018 7:12 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 41 posts ]  Go to page Previous  1, 2, 3
Author Message
PostPosted: Tue Jan 30, 2018 8:28 am 
Offline
User avatar

Joined: Sat Jan 09, 2016 9:21 pm
Posts: 320
Location: Central Illinois, USA
tepples wrote:
How is that different in practice from needing the non-free Windows operating system to run your hardware drivers? This can happen when no laptops in your local Best Buy have a penguin logo to imply that free drivers are available for the hardware, and System76 (which specializes in Linux PCs) doesn't offer any laptops in your preferred form factor. ASUS T100 still has no suspend after years.


In the last 15 years, I've never had a laptop that wouldn't run linux reasonably well. Sometimes some non-essential bits don't work right (suspend/hibernate, or fingerprint readers, etc) but I've had about the same chance of problems when I upgrade a laptop to Windows 10 from an older version.

Quote:
Even if Windows is non-free as in speech, Linux is non-free as in beer because of increased hardware support cost for the manufacturer. Last I checked, the Dell XPS 13 with Windows cost $50 less than the same laptop with Ubuntu.


For a personal user, you're right. For all practical purposes, windows is usually "free-as-in-beer" for a home computer because of the way it's sold. That said, there are a few important places that it's not free, but linux is:

1. Used computers. I've bought used computers with no legal windows license, or something ancient like XP. To get a modern OS on them, I'll use linux since I don't want to pay for a modern version of windows.

2. Servers and VMs. If I want to run some web service on a windows server, that's going to cost me money for the OS. I can run a linux server without paying for the OS.

_________________
My games: http://www.bitethechili.com


Top
 Profile  
 
PostPosted: Tue Jan 30, 2018 8:53 am 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 1357
Location: Gothenburg, Sweden
Quote:
Sometimes some non-essential bits don't work right (suspend/hibernate, or fingerprint readers, etc) but I've had about the same chance of problems when I upgrade a laptop to Windows 10 from an older version.

Not to mention things like hibernation/suspension doesn't work that well sometimes even on a designated soft/hardware package, and tends to break gradually over time with all the mandatory updates.

My current HP laptop, which is the most expensive i've bought to date, sometimes forgets its multitouch functions (and it's like 4 months old) which is a shame because they really up my workflow. Hibernation or reboot solves it.

_________________
http://www.frankengraphics.com - personal NES blog


Top
 Profile  
 
PostPosted: Tue Jan 30, 2018 10:45 am 
Offline
User avatar

Joined: Thu Sep 15, 2016 6:29 am
Posts: 512
Location: Denmark (PAL)
Bregalad wrote:
No, you still need the non-free Windows operating system to run them.

Not to mention non-free computers to run that operating system on.
I think we're grasping for straws here :)

If you are strongly against anything Microsoft branded, Mono compilers and compatible IDEs do exist for other platforms. Also, the latest version of the official C# compiler is completely open source on Github (yes, they aren't even using Microsoft's own code repository).


Top
 Profile  
 
PostPosted: Tue Jan 30, 2018 11:51 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19641
Location: NE Indiana, USA (NTSC)
gauauu wrote:
tepples wrote:
How is that different in practice from needing the non-free Windows operating system to run your hardware drivers? This can happen when no laptops in your local Best Buy have a penguin logo [...]. ASUS T100 still has no suspend after years.

In the last 15 years, I've never had a laptop that wouldn't run linux reasonably well. Sometimes some non-essential bits don't work right (suspend/hibernate, or fingerprint readers, etc)

Some people drive everywhere. Others get motion-sick from reading while riding transit. I can see how they would consider suspend "non-essential bits", as they don't need to quickly suspend when transferring to another bus at the transit station and can instead rely on shutting down before leaving and booting when arriving. But I don't drive, and fortunately, I'm not affected by reading motion sickness. So to me, and probably to any other frequent passenger who doesn't get motion-sick, suspend is "essential bits".

gauauu wrote:
1. Used computers. I've bought used computers with no legal windows license, or something ancient like XP.

Such as the off-lease ThinkPad X61 that I bought for $101 shipped on a tip from mikejmoffitt. It arrived with its Windows certificate of authenticity torn off and Windows 10 on a volume license that could no longer connect to the LAN where its activation server had been located. It now runs Debian 9 "Stretch", for which C and C++ are a sudo apt install build-essential away.


Top
 Profile  
 
PostPosted: Tue Jan 30, 2018 12:01 pm 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 1357
Location: Gothenburg, Sweden
I guess there's a difference between hibernation behaving oddly from time to time or suboptimally, and not working at all. I'm working from the seat of a bus a lot.

_________________
http://www.frankengraphics.com - personal NES blog


Top
 Profile  
 
PostPosted: Tue Jan 30, 2018 4:09 pm 
Offline

Joined: Mon Jan 30, 2017 5:20 pm
Posts: 317
Location: Colorado USA
A bit off topic but I’m always upset by how tutorials always use integers and constants when unnecessary. The arduino tutorials use an entire int just for a bool value. And they tend to use constants when they could just use #define VariableName Number.


Top
 Profile  
 
PostPosted: Tue Jan 30, 2018 4:22 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 6033
Location: Canada
DementedPurple wrote:
A bit off topic but I’m always upset by how tutorials always use integers and constants when unnecessary. The arduino tutorials use an entire int just for a bool value. And they tend to use constants when they could just use #define VariableName Number.

1. C has no built in bool type, and on many C++ compilers the size of a bool is the same as an int, so the only gain from using bool is the type information, not storage size.

Ref: https://en.wikipedia.org/wiki/Boolean_data_type#C,_C++,_Objective-C,_AWK

2. Most people would complain about using #define for constant values when unnecessary. #define has a whole host of potential unwanted side effects, and a const value has very few.

Ref: https://www.baldengineer.com/const-vs-define-when-do-you-them-and-why.html

C++11 also offers constexpr, which can more strongly enforce "compile time only", if you need it.


Top
 Profile  
 
PostPosted: Tue Jan 30, 2018 4:53 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6784
Location: Seattle
C didn't use to support booleans as a first-order primitive; that was added with C99. (stdbool.h)

(Yes, I know you could use bitfields)

Most computer architectures don't support direct addressing of individual bits as opposed to explicitly using longer constants to emulate the same behavior. At that point, it's faster to just the full word instead of whatever subset anyway.


Top
 Profile  
 
PostPosted: Tue Jan 30, 2018 6:05 pm 
Offline

Joined: Fri Nov 24, 2017 2:40 pm
Posts: 28
Eh, I dunno. I'm of the opinion that you shouldn't learn just one programming language anyway. I know quite a few devs that are uncomfortable outside of their only language. (ex: Unity/C# or HTML/Javascript) Many of them consider C++ to be black magic even though they've never used it. I did a Global Game Jam game last weekend for NES, and it blew a few peoples minds that I wrote a dozen lines of assembly to handle music selection. Not that these are bad people, but don't be like that. :p

Be ready to use Java if you are hired to work on Android, C# if it's for MS, Swift if it's Apple, C if it's for Linux, etc. (Yeah, I know there are overlaps and what about JS/Python/etc, I'm just sayin'...) The more adaptable you are, the more valuable you are. If you are learning a language, figure out what makes it unique, and it will make you a better programmer in other languages even if you don't like it.


Top
 Profile  
 
PostPosted: Tue Jan 30, 2018 6:19 pm 
Offline
User avatar

Joined: Sun Dec 13, 2009 11:37 am
Posts: 217
Location: Wisconsin
My experience with a C programming class at college was that in the end we'd spent about 80% of the time dealing with all the intricacies of printf format strings.

And yes under a microscope printf does some bizarre and tricky things that'll get points marked off. Something that teachers love when they're under pressure to make their grades look like a bell curve.


Top
 Profile  
 
PostPosted: Tue Jan 30, 2018 7:00 pm 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 1357
Location: Gothenburg, Sweden
Hahaha like a large percentage of a projects' development time was spent on polishing the layout of some console output no user will ever see.

_________________
http://www.frankengraphics.com - personal NES blog


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 41 posts ]  Go to page Previous  1, 2, 3

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group