Programming thread

A really nice thing about personal projects is you can do all the work for fun, then put the repos for them up on git(hub|lab|gud) and use them to demonstrate ability, effectively as a portfolio. Hardly feels like work when it's for your own enjoyment.

Just don't do what I do and only focus on projects you can't associate with your real name lol. I have more github accounts than I can keep track of :\
This is true, and the work doesn't have to be particularly finished either to show some prowess
 
My advice would be to build a moderately sized project on the side that incorporates the majority of the things you've learned and your general skillset. Like when I was in college everybody had more or less the same portfolio barring the self directed stuff and whatever game they created for one of the classes. I got away from that by creating a fully functional dating site on the side. Mostly because it showed the ability to come up with something original based on things that weren't really covered in any of the classes, shows the ability to design and implement systems and to build something practical that wasn't a school project. Had a really good mail system, matching system, admin backend, login system, automatic email notifications and pretty much most of what you'd expect a modern dating site to have functionality wise. Just as importantly it showed I could do something larger scale without having to rely on someone else to oversee or manage it. It made a pretty decent difference and made a great portfolio piece

So really what i'm saying here is its a good idea to have at least one larger project that shows off your entire skillset that you can keep improving as you go rather than just smaller simpler projects. Those are good too but being able to show the end result of a practical, planned out and implemented app can do alot for your portfolio and ability to get freelance stuff
Yeah, I'm working on that, though I don't think I could do a whole-ass fucking dating site yet lol. The other problem is how to gussy it up on the resume. Can't just say "I maed website" it has to be "actuated with 50% increased efficiency" or some wanky shit like that.
 
Yeah, I'm working on that, though I don't think I could do a whole-ass fucking dating site yet lol. The other problem is how to gussy it up on the resume. Can't just say "I maed website" it has to be "actuated with 50% increased efficiency" or some wanky shit like that.
Maybe do various types of stress test on cheap hardware you have lying around and then put some numbers in. Then you can put the buzzword "scalable".
 
  • Agree
Reactions: Marvin
My advice is a little unorthodox and unusual and you should follow it only if you know what you are doing.

Try and find some unfulfilled niche that hardly anybody does that is needed. This could be something like being basically familiar with Perl and applying for some place that has old Perl scripts lying around.

In an extremely competitive environment you need to differentiate yourself and the best way to do that is to find some small niche that nobody else does that a company needs. If you have the skill that they need and they can't be picky and choosy with their candidates you'll get hired.

I can't tell you what that niche would be but this is how you can get your first job and then you can go do something else.

Also research the company a little bit and try to tailor your application specifically to what they are looking for. This may be hard if you are applying for like 100 places but I think it probably helps a lot.
 
My advice is a little unorthodox and unusual and you should follow it only if you know what you are doing.

Try and find some unfulfilled niche that hardly anybody does that is needed. This could be something like being basically familiar with Perl and applying for some place that has old Perl scripts lying around.

In an extremely competitive environment you need to differentiate yourself and the best way to do that is to find some small niche that nobody else does that a company needs. If you have the skill that they need and they can't be picky and choosy with their candidates you'll get hired.

I can't tell you what that niche would be but this is how you can get your first job and then you can go do something else.

Also research the company a little bit and try to tailor your application specifically to what they are looking for. This may be hard if you are applying for like 100 places but I think it probably helps a lot.
IBM is always offering free tutorials and training for their zOS mainframes. If you are willing to learn COBOL and JCL you may be able to specialize. Even then you can run Java on Mainframe.
 
That would be the sane option, but what you forget is that you're talking about JavaScript. All numbers in JavaScript are floating point so the conventional bitwise AND trick will tell you nearly all whole numbers are even.
"Nearly all"? If we're talking about the infinite set of integers, sure, but bitwise logic should work just fine for anything between Number.MIN_SAFE_INTEGER and Number.MAX_SAFE_INTEGER.

The 64-bit floating point format has 52 mantissa bits, so the max/min safe integer value is +/- (2^53 - 1). Beyond that there literally aren't enough mantissa bits to preserve the least significant bits of your integer, so you're either going to lose them or you're gonna have to switch to some custom big integer class.

I suppose 53 bits is a tiny fraction of 64 bits, but you can just do 32-bit integer operations and if you need to process 64-bit integers you do them in chunks.
 
This isn't strictly programming, but I wanted to mention why everything is bloated today, even my stuff.

I have a project with 2 analog inputs from potentiometers, a 1-Wire temp sensor and a switch and will be controlling an LED and fan with PWM and a serial feed to a Raspberry Pi.

My first thought was to use the Pi, but it has no native analog inputs so that's already a pain, plus doing PWM can be cpu bound, etc.

Next up, ATTiny85. $1.66 20MHz, 512 Bytes RAM, 8K Flash, 8 pins, 5 usable, but not enough pins once I added the fan and temp sensor.

I then surveyed my junk box and found a Blue Pill, STM32F104 dev board, $3ish 72MHz, 20KB RAM, 64KB Flash. Plenty of pins. But I reminded myself how to program them, they use a USB bootloader or a programmer. Mine don't have the bootloader loaded so I'd have to setup the programmer to install the bootloader. It's like 4 wires I'd have to connect, too much work.

I then pulled out a Raspberry Pi Pico with the RP2040 chipset. $4, Dual Core 133MHz, 264KB RAM, 2MB Flash. Out of the box with a USB bootloader, nice toolchain, easy to program.

Dual core means I can just run one core doing input, one core doing output and not have to optimize anything at all. Probably using maybe 2% of the compute power. Even if I did everything by hand and bit-banged the serial, PWM and 1-Wire I'd still probably be under 10%. But it has hardware optimizations for all of those. I could probably actually write it in Python, but I think I'll use C instead.

So, that's the story of how I'm using a system 266 times faster than my first computer with 16 times more memory for a trivial task.

Sometimes it's nice to take out a single ant with a nuclear weapon.
 
This is gonna be an odd question, and I’m not very good at expressing myself, but how do I go from writing basic scripts that do simple tasks to developing actual software? Deep down, I’ve always wanted to make a game but I don’t how to translate what I’m learning now to game development.
 
This is gonna be an odd question, and I’m not very good at expressing myself, but how do I go from writing basic scripts that do simple tasks to developing actual software? Deep down, I’ve always wanted to make a game but I don’t how to translate what I’m learning now to game development.
You find a script that you can expand on and add features to. Maybe find a reason to add a GUI to it, and you eventually get your first software. From then on, whenever you find some tiny annoyance in software you use you will feel the urge to make your own. There is no known cure

If you want to make a game you won't do it by hand in just straight up C, you'll use an engine and use C in that engine. Maybe try Godot as that's open source, that way you can also peek at its code if you're curious about something behind the scenes.
 
Some fucking retard at Pinterest apparently coded their introduction page so fucking badly you can't get past it. I tried refreshing it, and for some reason, the cookies did not FUCKING save. It caused their systems to think the user was engaging in "spam," suspending a fresh account from a prejudice policy. Plus, with their tech support being dogshit, I threw in the towel of trying (and unable to begin) to see the appeal of Pinterest. How can someone program website coding that badly? Just how?
 
  • Thunk-Provoking
Reactions: y a t s
Happy weekend, everybody. Remember, things don't always have to be complicated, here's a fully playable video game made with 9 lines of BASIC code on an Apple 2. It's pretty impressive, paste it into an emulator and check it out!
10 REM ********************
20 REM * SN@ILS IN SPACE! *
30 REM * BY TIM BOEHME *
40 REM ********************
50 TEXT: HOME: H = 20: PRINT CHR$ (21): POKE 35,22
60 VTAB 24: HTAB 1: PRINT " USE <- AND -> KEYS TO PLAY": VTAB 1
70 K = PEEK (49152): ON K < 128 GOTO 80: H = H + (K = 149) - (K = 136)
80 POKE 49168,0: IF RND(1) * 10 < 1 THEN VTAB 20: HTAB RND(1) * 20 + 10: PRINT "@": GOTO 110
90 VTAB 22: HTAB RND(1) * 39 + 1: PRINT CHR$ (46)
100 IF PEEK(1535 + H) = 192 THEN S = S + 1: VTAB 5: HTAB H: PRINT "#"; CHR$(7): VTAB 23: PRINT "MUNCHED: ";S: GOTO 120
110 VTAB 5: HTAB H: PRINT "V"
120 T = T + 1: IF S < 10 THEN 70
130 TEXT: VTAB 23: PRINT S;" SN@ILS MUNCHED IN ";T;" TITAN SECONDS.";: FOR X = 1 TO 9000: NEXT: RUN
 
Good on you man, but I still want to know where the heck you're looking
Well, I got lucky because I was showing everyone I know what I've been working on and it turns out one of them knows someone who has a business and they need a website.

Also, it turns out that people who don't know programming think you are a fucking genius if you pull up a bunch of shit in vs code and send them a screenshot. I straight up told em I am a fuckin retard and I barely know what I'm doing but they seem to disagree. ¯⁠\⁠_⁠(⁠ツ⁠)⁠_⁠/⁠¯
 
Sorry for being a fag and double posting but this reminded me of something earlier.

Some fucking retard at Pinterest apparently coded their introduction page so fucking badly you can't get past it. I tried refreshing it, and for some reason, the cookies did not FUCKING save. It caused their systems to think the user was engaging in "spam," suspending a fresh account from a prejudice policy. Plus, with their tech support being dogshit, I threw in the towel of trying (and unable to begin) to see the appeal of Pinterest. How can someone program website coding that badly? Just how?
I did a simple media query so I can my my stuff look good on mobile and I wrote some random shit off the top of my head just to see what happens.

CSS:
@media (max-width:700) {
*{
scale: 12;
}
}

VS code shit itself and crashed. :story:
I don't even know why.
 
This is gonna be an odd question, and I’m not very good at expressing myself, but how do I go from writing basic scripts that do simple tasks to developing actual software?
Make 5 or so scripts like you just described, but tape them together with another script. Enjoy your new software.
 
This is gonna be an odd question, and I’m not very good at expressing myself, but how do I go from writing basic scripts that do simple tasks to developing actual software?
The question here is: What do you actually want to make? Because there are two problems: Defining and finding what you want to make in the first place and doing the leg work of implementing it. The easiest way would be to find open source projects that kinda do what you want, take the fucking time to read their source code and step by step try to learn from them and maybe make things better than them. For the first problem, I knew a guy that wanted to build a trading platform, but he had no clue about trading and it's intricacies. So in the end he aborted the project because he was finding out new requitements every other day. So my advice: Stay with what you know or work with somebody that knows what they want.

Addendum: A language like C has no problem implementing small programs but it's weird package management story is another thing. So you might have to familiarize yourself with CMake and vcpkg if you want to build non-trivial programs and reuse what others provide.
Deep down, I’ve always wanted to make a game but I don’t how to translate what I’m learning now to game development.
Game development in particular is a tricky beast because games consist of mainly these things: The foundational programming, the game logic programming, the art, the game design, the music. And if you want to go commercial you have to decide choose what you want to do, excel at it and accept crap pay. But if you want to make it a hobby, it depends on what you want to do.

One way you could go was to start with an SDL2 tutorial. SDL2 is a very portable library to write games with C on almost all platforms. From the PSP, PCs to even current gen consoles iirc. The tutorials I posted also come with the ability to buy the source code and assets for 1$.

One way to make a game after the tutorials was to write the code use placeholder.png to make the game and buy the assets or commission them once you know what you want.

Something you could also take a look at is minetest. It is a "minecraft clone" and open source so I think it's also a good resource to look how they do things.
 
Noob here, no Kiwi Farm programming resources?
This is a very bad question. No specificity whatsoever. At least figure out what you want to program before barging in and saying, "HOWPROGRAM?" as if people knew what you wanted to do.

If you want to get your feet wet with programming in general, try making simple HTML pages and doing a few things with JS.
 
Noob here, no Kiwi Farm programming resources?
To add onto @Creative Username's answer, I've been working on learning html and javascript myself and I can give you some pointers.

freecodecamp is a great place to learn the basics. They have classes that teach the basics. That's where I started.

Also, there are documents you can read online any time you get stuck.
I use
https://developer.mozilla.org/en-US/ alot.

Once you learn some shit, get vs code and node js and make your own shit. You'll learn alot by building your own projects.

After you get into making your own shit in vs code, Github copilot is helpful too, I don't really use it to do the work for me because people who don't write their own code talk like a fag and their shits all retarded. But you can ask it questions while you code and it teaches you how to do things.
 
Back