# I'm new



## Swifty (Nov 14, 2018)

Hey, I kinda had a greeting on the Introduce yourself area.

I had a problem. I have a computer I take to work to code on my breaks. (I'll explain what I am coding here in a bit.) There were a few issues with it. First, it has a 32g ssd. Secondly, it has a less than powerful cpu (dual core @ 1.6ghz). Lastly it has Windows 10 on it. Love it or hate it. What it left me with was about 20 gig free, and a lot of that got ate up by VS and other tools. leaving me with much less than 5g to play with. The other issue that Windows left me with; I was running at idle with 30% CPU usage. 

I had known about FreeBSD for a while. I had heard someone talk about how some things were lighter, like the scheduler. The guy talked me into giving it a try. I had tried linux but they weren't liking to install for a various of issues. Either disk issues, or UFI issues.

I started with the stable version. I couldn't get wifi working, so I thought to try the beta3 of FreeBSD 12. With 11, I loved it a lot. It's so much better to have internet without using my phone as a tether. 

I have this computer to try to write a game, and I don't wanna have to buy a computer that isn't a complete turd.

I cannot understate how much I've enjoyed using FreeBSD. This time I will actually learn how to use Vim


----------



## kpedersen (Nov 14, 2018)

Welcome!

With those specs, I am surprised that Windows 10 runs acceptably. Myself personally if I needed Windows for various other commitments I would:

Replace Windows 10 with a clean install of Windows 7 - This will probably solve your 30% idle cpu usage
Install Visual Studio 2010. It is a cult classic and far less bloated than 2017 and is *the* version intended for Windows 7.
If you are a C or C++ developer, then install the Intel C++ compiler VS extension (Intel Parallel Studio) for a more modern standard and faster runtime for games.

If my hardware is not playing ball with FreeBSD, then I fall back on VirtualBox, VirtualPC or Hyper-V. But only as a last resort. Seeing the Windows login screen actually pisses me off when I cannot escape it haha.

What sort of game you writing?


----------



## Swifty (Nov 14, 2018)

I had thought of downgrading to windows 7. To be honest, I hadn't thought about going the Intel Parallel Studio path.

With FreeBSD 12, it's working. When it works, it works amazingly well.

Also: Will my posts always be reviewed before they're displayed?


----------



## k.jacker (Nov 15, 2018)

Swifty said:


> Also: Will my posts always be reviewed before they're displayed?


That's maybe because there happend to be posted a lot of trolling stuff from new members in the off-topic section in recent times.
Haven't seen such threads in a while now, so reviewing seems to be the solution.


----------



## Deleted member 30996 (Nov 15, 2018)

Swifty said:


> Secondly, it has a less than powerful cpu (dual core @ 1.6ghz).



My 11 year old i386 Sony Vaio has an Intel Dual Core T2060 @ 1.6GHz, 2GB RAM and 120GB HDD. I use a screenshot of it on the index page of my site to promote FreeBSD use with 32bit hardware.

I use all the same programs I do on my 64bit boxen and it runs fine. It's by far the slowest compiling ports, but for everyday desktop use on a light scale is perfectly acceptable IMO. The battery recently died on it (I run them plugged in) and I have larger USB sticks than the HDD on it, but it still runs.


----------



## Swifty (Nov 16, 2018)

It most likely is a lower power CPU. It's an intel Celeron. The computer came with windows, but this pc has a Chromebook version.


----------



## Deleted member 30996 (Nov 16, 2018)

My first FreeBSD laptop was a GatesWay 1450 Solo with 1.2GHz Celeryon and 256MB RAM. It would run FreeBSD 7 fine, but heat up to Danger levels in minutes with 8 and auto-shutdown.

The key is to use a lightweight WM and do what you can to save on resources.


----------



## Swifty (Nov 16, 2018)

I've kinda fallen in love with FreeBSD. I'm fighting the urge to install it on EVERYTHING. Though, my raspi is likely next.

That's why I started out with Xfce. I need to look into other lightweight WM. Heck, after I get build2 figured out, I can live without a WM. I wonder if Vim or Nano or anything else can do synax highlight? o;


----------



## drhowarddrfine (Nov 16, 2018)

Swifty said:


> I wonder if Vim or Nano or anything else can do synax highlight?


Of course vim can. I despise color highlighting though.

For a window manager, you should look into x11-wm/i3. A lightweight tiling window manager. Or x11-wm/fvwm2 which is highly customizable I'm told.


----------



## Deleted member 30996 (Nov 16, 2018)

Swifty said:


> I wonder if Vim or Nano or anything else can do synax highlight? o;



I doubt it does syntax highlighting, but I love to use `ee` (Easy Editor) from the login terminal. It comes default with the build. Granted, I usually only do so when initially editing files after rebuilding, and as a practical matter use editors/leafpad, but it's very similar to editors/nano and just fun to use IMO.


----------



## olli@ (Nov 16, 2018)

Just to mention another nice editor …

I'm using “joe” (editors/joe) which is a highly configurable text mode editor that works fine in xterm / rxvt or in FreeBSD's syscons / vt console. It supports syntax-highlighting, has a hex mode (I edited my disk's boot block with it once), programmable macros, configurable keys and menus, and so on. The only thing missing is function-folding (it's on their to-do list, though, AFAIK).


----------



## Swifty (Nov 16, 2018)

drhowarddrfine said:


> I despise color highlighting though.


Why is that?


----------



## drhowarddrfine (Nov 16, 2018)

Swifty While many claim they can find functions or variables easier when they have color highlighting, to me it's only a sea of color balloons that confuses the eye and it all might as well just be black and white. Attempting to find functions or blocks of code is the purpose of indenting. With color highlighting you have to make choices for what each color means and then you run out of reasonable colors. 

Occasionally I see a study about user interfaces and color theory which says the same thing. If I were to ever take the time to highlight anything, I could see me doing it with grays and bold test, not color though I'd be OK with blue tints.


----------



## Swifty (Nov 16, 2018)

drhowarddrfine said:


> Swifty While many claim they can find functions or variables easier when they have color highlighting, to me it's only a sea of color balloons that confuses the eye and it all might as well just be black and white. Attempting to find functions or blocks of code is the purpose of indenting. With color highlighting you have to make choices for what each color means and then you run out of reasonable colors.
> 
> Occasionally I see a study about user interfaces and color theory which says the same thing. If I were to ever take the time to highlight anything, I could see me doing it with grays and bold test, not color though I'd be OK with blue tints.




If you have the study, I'd love to see it.

I find it easier to actively read. Not necessarily searching for anything, just reading.


----------



## kpedersen (Nov 17, 2018)

drhowarddrfine said:


> Swifty While many claim they can find functions or variables easier when they have color highlighting, to me it's only a sea of color balloons that confuses the eye and it all might as well just be black and white.



Heh, I actually did an "unofficial" study on my students a couple of months back. I got two groups to use Visual Studio (syntax highlighting, auto indent, etc) and two groups to use Notepad++. Both groups were using CMake so the rest of the toolchain was consistent.

My finding were that the groups in Notepad++ without the programming crutches completed the lab work (implement texture loading into an existing OpenGL project based on my lecture) within the 1 hour lab. Only around 10% using Visual Studio managed to get through it all.

The most interesting thing was; when asked, those using Visual Studio felt that they were being more productive using it. They felt like they had done more even though the lab was literally implementing like 15 lines of code. It is only when I told them about the other groups that they could start seeing that the intellisense loading, Project management and fighting with the auto indent was slowing them down by small fractions of time. But these add up!

I don't really care what my students use; so long as they have at least tried alternatives. Those of them that use Visual Studio purely because "Microsoft told them its the best" do get on my nerves a bit. Mostly because they are limiting themselves artificially to a) the Windows platform and b) to a text editor that potentially doesn't suit them well.

Personally I generally navigate a project using "shape of code" rather than the "color of code". This works nicely because lots of editors use different colors; whereas the code stays the same shape unless you change it


----------



## drhowarddrfine (Nov 17, 2018)

kpedersen If you could take their monitors with all the pretty colors and spin them they would all blend into the color white anyway.


----------



## Swifty (Nov 17, 2018)

I believe you, so don't misunderstand me. But that shakes everything I thought to be true. Seriously though auto-indent slowed people down, how? I do agree about the shape of code, that's how I navigate most time. 

I also want to say that I've been loving joe. It's been fantastic. Being able to code without a WM has been something this computer has been asking for for ever.

One other noobish question. Would it have been better if I had used ports and not packages? I know I shouldn't mix them, but I'll likely be reinstalling it soon, because I understand FreeBSD better now. o;


----------



## kpedersen (Nov 17, 2018)

Swifty said:


> But that shakes everything I thought to be true. Seriously though auto-indent slowed people down, how?



The main one is that different projects require different indenting / formatting. Not just different projects but different files in the same project also may follow a different standard. Would you keep changing the settings each file? That will be time consuming.

Another one is that creating empty lines (i.e a blank line between variable declaration and function body), often leaves whitespace laying around which is sloppy and time consuming to find and remove. I can generally tell a Visual Studio written source file by simply opening it (i.e in Vim '/  $') and seeing excess whitespace is everywhere.

I also find auto indent schemes that convert tabs to spaces and visa versa must be going wrong somewhere because again if I open them in a simpler text editor (i.e even Microsoft notepad) I can see all the indent is messed up. Even though it "looks" correct in Visual Studio, it is actually incorrect in the file.

Pressing space twice per indent level really isn't as slow as you think it might be. But again, this is personal choice and from what I have observed over the years. Much of the results may not be due to indenting itself but the bloated terrible (often Java based) IDEs that often facilitate auto-indent.


----------



## Deleted member 30996 (Nov 17, 2018)

Swifty said:


> Would it have been better if I had used ports and not packages? I know I shouldn't mix them, but I'll likely be reinstalling it soon, because I understand FreeBSD better now. o;



I believe the logic put forth is that unless you use a lot of non-default variables in your builds there's no advantage to using ports over packages.

That said, ports is what I like to use and always have but for a very limited number of occasions where I've mixed the two, usually to get the Gimp on my machines.

I use pkg exclusively on my OpenBSD boxen.


----------



## Swifty (Nov 17, 2018)

kpedersen said:


> The main one is that different projects require different indenting / formatting. Not just different projects but different files in the same project also may follow a different standard. Would you keep changing the settings each file? That will be time consuming.
> 
> Another one is that creating empty lines (i.e a blank line between variable declaration and function body), often leaves whitespace laying around which is sloppy and time consuming to find and remove. I can generally tell a Visual Studio written source file by simply opening it (i.e in Vim '/  $') and seeing excess whitespace is everywhere.
> 
> ...


Thank you, that makes a lot of sense. Thank you very much. I've found Joe to have just enough highlighting.


Trihexagonal said:


> That said, ports is what I like to use and always have but for a very limited number of occasions where I've mixed the two...


Question is it not bad to mix them? I haven't found out yet, but I have seen that it's a bad idea.


----------



## shkhln (Nov 17, 2018)

kpedersen said:


> Another one is that creating empty lines (i.e a blank line between variable declaration and function body), often leaves whitespace laying around which is sloppy and time consuming to find and remove. I can generally tell a Visual Studio written source file by simply opening it (i.e in Vim '/  $') and seeing excess whitespace is everywhere.



The bloated Java IDE approach consists of stripping all trailing whitespace symbols on save.



kpedersen said:


> I also find auto indent schemes that convert tabs to spaces and visa versa must be going wrong somewhere because again if I open them in a simpler text editor (i.e even Microsoft notepad) I can see all the indent is messed up. Even though it "looks" correct in Visual Studio, it is actually incorrect in the file.



I can see how whitespace to tab conversion can backfire, but if you are observing bad results in other direction it's the usual human sloppiness. (Or this could be an unconventional formatting style, I suppose.)


----------



## kpedersen (Nov 17, 2018)

shkhln said:


> (Or this could be an unconventional formatting style, I suppose.)



Ah, yes. The classic is this kind of mess. Much of my contract work at the moment seems to consist of replacing this old crud.


```
glPushMatrix();
  glRotatef(angle, 1, 1, 0);
  glPushMatrix();
    glTranslatef(2, 2, 2)
    glRotatef(-angle, 1, 1, 0);
    glBegin();
      glVertex3f(10, 10, 10);
      ...
    glEnd();
  glPushMatrix();
glPopMatrix();
```

That said, for GUI libraries, the temptation to format the code to match layout containers is quite strong. However in the end reading some sort of XML or Glade files is probably the right choice anyway.



shkhln said:


> The bloated Java IDE approach consists of stripping all trailing whitespace symbols on save.



Ugh. Up until semi recently the strip trailing whitespace (for Eclipse, or Netbeans... can't remember, they merge into one big slow blur) didn't process the line you currently had your cursor on. So if you left it on some whitespace, it would not remove it when you clicked save. It might just be my OCD but the lateness of fixing this bug (or the inability to disable auto formatting in these IDEs) might just show that people don't care about avoiding sloppyness.


----------



## olli@ (Nov 18, 2018)

drhowarddrfine said:


> Swifty While many claim they can find functions or variables easier when they have color highlighting, to me it's only a sea of color balloons that confuses the eye and it all might as well just be black and white. Attempting to find functions or blocks of code is the purpose of indenting. With color highlighting you have to make choices for what each color means and then you run out of reasonable colors.


I have configured my editor (editors/joe) to use only a small amount of syntax highlighting. In particular, it highlights quoted strings, comments and keywords. And the colors that I use are not very colorful, but rather unobtrusive so they are not eye-straining. There's only one exception: Syntax errors that are detected by the highlighter are printed in bright red, so you see them immediately. Also, there is another big advantage: You can see _immediately_ if you forgot a closing quote (or a closing comment sign, such as “*/” in C), and where it needs to be put. Before I was using syntax highligting, I wasted a lot of time searching for places where I forgot a closing quote, especially in shell scripts because the shell notices the problem only at the very end of the script, while the error could actually be _anywhere_.


----------



## drhowarddrfine (Nov 18, 2018)

olli@ Yes, that's a good use case but I'm talking about highlighting for the sake of highlighting such as this which isn't the worst I could find:


----------



## olli@ (Nov 18, 2018)

Okay, here's a small Python file in joe (within an xterm, using my favorite window manager olvwm):





As you can see, comments are rendered green and strings are rendered with a yellow background.
Actually I'm not happy with the rendering of constant values. They are currently colored (magenta), but I'll probably change that. Although it helps against typical errors like “Fasle” instead of “False” … Maybe I keep it for boolean constants, but not for numerical constants.


----------



## kpedersen (Nov 19, 2018)

olli@ said:


> There's only one exception: Syntax errors that are detected by the highlighter are printed in bright red



I can never be bothered to set my editor up to do syntax processing this but I actually like this idea. All errors in bright red and the rest in black and white could actually be quite useful


----------



## trev (Nov 19, 2018)

I find highlighting useful which is why I use emacs to add my own syntactical highlighting for things like Great Cow BASIC (for PIC and AVR microcontrollers):






Yes, that's twm


----------



## drhowarddrfine (Nov 20, 2018)

Gross


----------



## Datapanic (Nov 20, 2018)

if you don't like the color syntax highlighting in vi, just create ~/.vimrc and add this single line to it:


```
syntax off
```


----------



## kpedersen (Nov 21, 2018)

And if you want all colors gone, then:


```
set t_Co=0
```


----------

