Programming

13386 readers
1 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
251
 
 

I don't know if it's due to over-exposure to programming memes but I certainly believed that no one was starting new PHP projects in 2023 (or 2020, or 2018, or 2012...). I was under the impression we only still discussed it at all because WordPress is still around.

Would a PHP evangelist like to disabuse me of my notions and make an argument for using PHP for projects such as Kbin in this day and age?

252
 
 

This is quite unclear to me, the definition of global object seem to be "The global object provides variables and functions that are available anywhere".

Now this surely means that the global variable environment contains variables available everywhere in the other scopes, but does this also mean that, for example, the window object is at the higher end of the scope chain? As in JS everything is an object, is this true for the prototype chain too? Because from my notes Object.prototype looks to be at the top of the prototype chain.

In fact if i do: Object.getPrototypeOf(window) i get WindowPrototype { … }

but if i do: Object.getPrototypeOf(Object.prototype) i get null

Another thing unclear to me is what is the difference between window (lowercase) and Window (uppercase).. I know that uppercases are usually used for constructors, is this the case too? Is Window a constructor and window an object? If so, what's the purpuose of the Window constructor?

253
 
 

After the (temporary) defederation announcement of earlier i checked the Lemmy repo to see if there was already a ticket on the federation limiting option like Mastodon's that people mentioned Lemmy doesn't yet have. Not only i didn't find it, i also saw that there's about 200+ open tickets of variable importance. Also saw that it's maintained mostly by the two main devs, the difference in commits between them and even the next contributors is vast. This is normal and in other circumstances it'd grow organically, but considering the huge influx of users lately, which will likely take months to slow down, they just don't have the same time to invest on this, and many things risk being neglected. I'm a sysadmin, haven't coded anything big in at least a decade and a half beyond small helper scripts in Bash or Python, and haven't ever touched Rust, so can't help there, but maybe some of you Rust aficionados can give some time to help essentially all of Lemmy. The same can be said of Kbin of course, although that's PHP, and there is exacerbated by it being just the single dev.

254
 
 

Why are you choosing Fedora over Mint or vice versa? What distro do you use and why?

255
 
 

Super helpful for me as I'm starting my Rust journey.

256
 
 

hello, i'm new to programming in i'm trying to solve this exercise in C, basically it's the amount of passed hours between the start of a game and it's end, if the game started at 16 and ended at 2 the result is a game with 10 hours(in different days) i know i can to it more manually, but i wanted to somehow use the <time.h> to learn how to use a header etc, can someone help me?, thank you all

257
 
 

I'm always interested in hearing other's stories and what they're working on. Anyone care to share?

258
 
 

The title is indeed terrible but I have no idea what to put. I am working on a Bill of Materials app and I'm starting out with the database layout and the REST API to interact with the database.

I currently have four tables but the query I want to write involves three of them

CREATE TABLE `components` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(64) NOT NULL,
  `description` text DEFAULT NULL,
  `price` float unsigned NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name_UNIQUE` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE `products` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(64) NOT NULL,
  `description` text DEFAULT NULL,
  `tax_code` varchar(8) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name_UNIQUE` (`name`),
  KEY `name_idx` (`tax_code`),
  CONSTRAINT `name` FOREIGN KEY (`tax_code`) REFERENCES `tax_codes` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE `product_components` (
  `product_id` int(10) unsigned NOT NULL,
  `component_id` int(10) unsigned NOT NULL,
  `count` int(10) unsigned NOT NULL,
  PRIMARY KEY (`product_id`,`component_id`),
  KEY `fk_component_id_idx` (`component_id`),
  CONSTRAINT `fk_component_id` FOREIGN KEY (`component_id`) REFERENCES `components` (`id`),
  CONSTRAINT `fk_product_id` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

Now what I want to do is list all the products and for each product calculate the cost of all the components that product needs. So if a product needs 4 doodads that cost $1 and 7 whatzits that cost $2 the cost of the product would be $18 (41 + 72). I know I'd need some JOINs but I have no idea what I'd need.

259
 
 

I always wish I wouldn't have to pull in python/pandas to do simple data transformations on smaller local datasets/csv files and stick with sqlite. But then I tend to quickly hit a problem that seems to require dynamic SQL. Anything in between SQL and a general programming language that is made for transforming tabular data?

260
48
submitted 1 year ago by Snaggen to c/programming
 
 

Rust is in the top when it comes to most loved languages. I also note that they claim Windows is the most used OS, but when you summarize the different Linux distros, then Linux is more used professionally and almost as popular for Personal use.

261
11
submitted 1 year ago* (last edited 1 year ago) by tubbadu@lemmy.one to c/programming
 
 

Hello fellow Lemmings! I'm trying to develop a Lemmy bot that reads posts and comments using the lemmy-bot library. So I created a new Node.js project, installed the library, and wrote this:

import LemmyBot from 'lemmy-bot';

const LEMMY_USERNAME = process.env.LEMMY_USERNAME;
const LEMMY_PASSWORD = process.env.LEMMY_PASSWORD;
const LEMMY_INSTANCE = process.env.LEMMY_INSTANCE;

const bot = new LemmyBot.LemmyBot({
  // Pass configuration options here
  credentials: {
    username: LEMMY_USERNAME,
    password: LEMMY_PASSWORD
  },
  instance: LEMMY_INSTANCE,
  federation: "all",
  dbFile: 'db.sqlite3',
  handler: {
    comment: {
      handle: ({
        commentView: {
          comment: { creator_id, id }
        },
        botActions: { createComment }
      }) => {
        console.warn("new comment:")
      }
    },
    post: {
      handle: (x) => {
        console.warn("new post", x)
      }
    }
  }
});

bot.start()

and then I run it: node index.js
this is the output:

Connected to Lemmy Instance
Initializing DB
Logging in
Marking account as bot account
Subscribing to communities

and then stops there. I waited a lot and nothing, not a single log. credentials are correct, because otherwise it wouldn't login. the bot is using an account hosted on sh.itjust.work, so there should be plenty of activity (I tried adding comments manually but nothing was detected)

What am I doing wrong?

thanks in advance

262
 
 

Hello all,

Wanted to open a discussion on Lemmy's post sorting options right now. I don't have any experience with implementing this type of thing but right now the algorithm appears... Off? For example, 'Active' gives me a lot of posts over a day old but 'Hot' may as well be 'New' i.e. more recent posts with little engagement.

I don't know if it's due to Lemmy still picking up steam or a fundamental flaw with the algorithm. Like I said, I'm really curious to hear the opinions of those more knowledgeable.

263
 
 

So, I have been mostly self thaught programmer (C++), as its a big part of my job (not a regular developer). But so far I have been using a simple text editor like Geany to code and I compile stuff either in terminal (linux) or produce my own make file.

I am starting to wonder if I should switch to a full IDE, as I am on linux, I was thinking of trying KDevelop. But I am simply not sure if its worth, do I even need it?

I have never used an IDE, it seems kind of complicated for the start with "projects" and I havent really found any good introductions to how this workflow is supposed to work.

Do you think using and IDE is something everyone should use? Or do you think a text editor with producing your own make files should be enough?

264
 
 

I'm confused about how I can link Mastodon and Lemmy sites, say. I have an account on Fosstodon. Can I use it to access and post to https://beehaw.org/c/programming for example? I can follow @programming but that's not the same thing? The beehaw site says to search for !programming@beehaw.org but this returns nothing (with the ! prefix) on fosstodon. Am I missing something? #lemmy #fediverse #beehaw

265
 
 

The results are in!

266
30
Lemmy API Examples (self.programming)
submitted 1 year ago by megaman1970 to c/programming
 
 

I'm looking for examples of calls to the Lemmy API.. I've been to the following link in the documentation:

https://join-lemmy.org/docs/en/contributors/04-api.html

However I don't see any direct examples of uses of the API for common cases, like creating a post, creating a comment or getting either type of item. Some of the linked documentation from that page points to what I believe is typescript code for interfaces, but that does not really have examples of actually calling those interfaces. I can make some logical guesses at to what the calls should be, but I don't have a way to really verify this yet.

Does anyone have some working examples they can post?

267
 
 

So ive tried to code many times on my own but i feel like im doing things the hard way and im still unsure what to pick becasue ive been jumping around here and there. like most gamers i would like to try to make a game or something but im just not sure if i can or not becasue it seems really hard to do and im not sur eif ill enjoy it or not also my pc is low end so im kinda limited to say.

268
 
 

Hi,

I'm studying for an exam coming up soon and I'm trying to figure out what is the functional difference between these two approaches:

#pragma omp parallel for
	for(unsigned int i = 0; i < G.Out.bucket_count(); i++){
		for(auto itv = G.Out.begin(i); itv != G.Out.end(i); itv++){

			unsigned int v = itv->first;

			#pragma omp parallel for
			for(unsigned int j = 0; j < G.Out[v]._map.bucket_count(); j++){
				for(auto ite = G.Out[v]._map.begin(j); ite != G.Out[v]._map.end(j); ite++){

					unsigned int w = ite->first;

					if(o[v] > o[w])
					 #pragma omp critical
					 p[o[v]] = min(p[o[v]],o[w]);

				}
			}

		}

and

	#pragma omp parallel for
	for(unsigned int i = 0; i < G.Out.bucket_count(); i++){
		for(auto itv = G.Out.begin(i); itv != G.Out.end(i); itv++){

			unsigned int v = itv->first;

			if(p[v] == v){

				unsigned int parent = v; //=p[v]

				#pragma omp parallel for reduction(min : parent)
				for(unsigned int j = 0; j < G.Out[v]._map.bucket_count(); j++){
					for(auto ite = G.Out[v]._map.begin(j); ite != G.Out[v]._map.end(j); ite++){
						unsigned int w = ite->first;
						if(v > w)
						 parent = min(parent,w);
					}
				}

				p[v] = parent;
				if(p[v] != v) changes = 1;

			}

		}
	}

In the first example, the minimum between the two values is calculated using a critical section, while the second one uses a reduction. Both work, and they seem equivalent to me, when would one choose one or the other?

Thanks, and sorry if the question is too niche. Any other info about OpenMP is greatly appreciated :D

269
15
Why Perl? (two-wrongs.com)
submitted 1 year ago by fouc@lemmy.world to c/programming
270
 
 

I can't remember where I came across this website, but I love it and wanted to pass it along for anyone else learning SQL right now!

271
272
 
 

Seriously, though, Comic Sans was originally designed to be legible at the smallest possible font size, and the lack of hard lines makes it easier to read!

273
 
 

I am currently trying to build a search component so users can search for Pokemon (since it is currently paginated with 20 per page.) I'm having some difficulty figuring it out, but I'm making progress.

All the information is auto-populated. It's probably an easy thing for seasoned developers, but I'm proud to have linked the card colors, types and backgrounds to their relevant Pokemon.

Edit: search function is working now! But I I need to add "toLowerCase()"... And add prefix to the type images of some types. Otherwise, it's working decently! The search field works in real-time, so the page is a little sluggish to load. You can search by Name, ID, Type or Ability, just start typing and your results will appear.

I opted for a single search field for simplicity and to condense the page. I can add filters, but I like it this way for now.

~~Next I am adding a click-to-zoom on the cards, and when they fill the screen, additional info will populate the card, and even more info on the back.~~

Edit 2: Instead of making click to zoom, I added a drop-down menu to change sprites between all generations. Maybe now I'll add click to zoom!

Edit 3: I added the zoom feature and made some tweaks! Added official artwork, better pagination, generation links to display all the Pokemon from a generation, and sound effects! (My fav)

274
275
 
 

For me, it's CTE's. I find it amazing to complete a calculation with clear intermediate steps, and goes a long way towards convincing people to use SQL rather than Excel to perform calculations on large tables of data.

What construct do you like using on a daily basis?

view more: ‹ prev next ›