Programming thread

you do realise ressource overhead and start up time is part of what makes a program slow, right?
Fast is not just fast on the highest cpu with infinite memory and not counting time to start and exit.

Really depends on what you're trying to do. If you're doing massively multi-parallel supercomputer shit, you probably don't care how long it takes to start, what matters is the performance once running. If I'm doing Web Apps or other small, non-compute intensive apps, I'm probably much more concerned with start times. For what Java is, a fairly portable language not designed for raw speed, I'd say its plenty fast. You just need to not be a complete tard when programming - the amount of times people do the UI shit in the main (only) thread and then wonder why performance is crap and the UI unresponsive is astounding.
 
Linux is the OS you use if you hate yourself:
Code:
$ ping 8.8.8.8

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=56 time=12.9 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=56 time=12.3 ms
ping: sendmsg: Network is unreachable
64 bytes from 8.8.8.8: icmp_seq=4 ttl=56 time=12.0 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=56 time=12.8 ms
ping: sendmsg: Network is unreachable
64 bytes from 8.8.8.8: icmp_seq=7 ttl=56 time=11.9 ms
64 bytes from 8.8.8.8: icmp_seq=8 ttl=56 time=12.1 ms
ping: sendmsg: Network is unreachable
64 bytes from 8.8.8.8: icmp_seq=10 ttl=56 time=11.6 ms
64 bytes from 8.8.8.8: icmp_seq=11 ttl=56 time=12.5 ms
ping: sendmsg: Network is unreachable
64 bytes from 8.8.8.8: icmp_seq=13 ttl=56 time=12.1 ms
(Killing NetworkManager solved it)
 
You're telling me; I've been afraid to reboot my machine for almost a week because apparently nobody can boot into kernel version 4.16.4 and I downloaded the package for it without knowing that.
ahaha, yep, I've done that.

I bit the bullet and updated a lot of stuff today. Hopefully all my sketchy altcoin wallets aren't broken (I'm sure they are, of course).

Also I never update if I'm not prepared to destroy all my state and reboot. Like, for example, zoom is this video chat thing I use for work sometimes. And today it broke because for some reason, it uses opengl to render stuff, and the update updated the opengl library but the x server was still using the old one. So yeah, was late for a meeting.
 
Been learning Solidity for smart contract programming. It's a lot like traditional languages but with some interesting limitations and quirks since you're using the blockchain as a kind of decentralized computer. Plan on programming some external adaptors for a ChainLink node to write data to the contracts eventually.
 
I bit the bullet and updated a lot of stuff today. Hopefully all my sketchy altcoin wallets aren't broken (I'm sure they are, of course).
Apparently libssl got super broken in a few distros, so if your altcoin wallets depend on it they might be broken too.
That's rough about the meeting. I know what you mean about destoying state, though. I use what is essentially a ghetto version of LXDM for my desktop (openbox + tint2 + pcmanfm for general desktop management) and something about a recent update either broke openbox or pcmanfm and pcmanfm is no longer managing the desktop.
Been learning Solidity for smart contract programming. It's a lot like traditional languages but with some interesting limitations and quirks since you're using the blockchain as a kind of decentralized computer.
Can you speak to how cumbersome it is to write smart contracts compared to other kinds of programs? Everyone I've talked to has said it's painful and not worth it, which sucks because I'm very much in favor of decentralization.
 
Apparently libssl got super broken in a few distros, so if your altcoin wallets depend on it they might be broken too.
That's rough about the meeting. I know what you mean about destoying state, though. I use what is essentially a ghetto version of LXDM for my desktop (openbox + tint2 + pcmanfm for general desktop management) and something about a recent update either broke openbox or pcmanfm and pcmanfm is no longer managing the desktop.

Can you speak to how cumbersome it is to write smart contracts compared to other kinds of programs? Everyone I've talked to has said it's painful and not worth it, which sucks because I'm very much in favor of decentralization.
It sucks because there's not a lot of documentation, or changes a lot, and you have to program in a security first mindset. My guess is this will improve in time as the tech matures and if it is successful I'll know a valuable skill before everyone else.
 
More linux fuckery.

So today after a big update, I noticed my pulseaudio centralized output device had vanished. This sucks because pulseaudio's gui tools kinda suck, so it's easy to have one static output device and have all the audio go there.

So I poked around trying to figure out how to add it again. Thankfully pulseaudio's tools all start with pa-. paprefs was what I was looking for.

Yay:
Code:
Error setting value: Configuration server couldn't be contacted: D-BUS error: Unable to store a value at key '/system/pulseaudio/modules/combine/locked', as the configuration server has no writable databases. There are some common causes of this problem: 1) your configuration path file /etc/gconf/2/path doesn't contain any databases or wasn't found 2) somehow we mistakenly created two gconfd processes 3) your operating system is misconfigured so NFS file locking doesn't work in your home directory or 4) your NFS client machine crashed and didn't properly notify the server on reboot that file locks should be dropped. If you have two gconfd processes (or had two at the time the second was launched), logging out, killing all copies of gconfd, and logging back in may help. If you have stale locks, remove ~/.gconf*/*lock. Perhaps the problem is that you attempted to use GConf from two machines at once, and ORBit still has its default configuration that prevents remote CORBA connections - put "ORBIIOPIPv4=1" in /etc/orbitrc. As always, check the user.* syslog for details on problems gconfd encountered. There can only be one gconfd per home directory, and it must own a lockfile in ~/.gconfd and also lockfiles in individual storage locations such as ~/.gconf
Yeah, that error message was thoroughly useless.

I tried running gconfd-2 manually (it's in /usr/lib for some reason?), but yeah, it doesn't respond to any --help or -help or -h or anything like that. Ctrl+c doesn't kill it. After digging through the source code (no github because this is circa January 2013), I found the environment variable GCONF_DEBUG_OUTPUT which sounded interesting. Set it to true (because fuck it, why not?) and tried again.

Aha, turns out ~/.config/gconf/...'s ownership was changed to root:root for some fucking reason. chown'd it, killed gconfd-2 again (again, no ctrl+c doesn't work) and tried again.

Fixed.
I like writing code much better than using it.
 
i hope google doing a clean state os with fuchsia does something decent.

I'll switch to any os if it's both well supported, stable and have stable api/abi.
 
meme remix
1525567937957.jpg
 
I've been programming in Java pytgpy and c++ for 3 years now, I took my csa AP exam and I'm almost done highschool. In my highschool computer science class, we program games that just reenforce the basics of java, and of this school year I'm the captain of a the programming part of aa robotic team. What do people actually use computer programming for in jobs. I'm dumbfounded how people use this in a professional environment
 
What do people actually use computer programming for in jobs

I occasionally write Java to build small apps to help me do my job. I'm not IT, but sometimes I need to get data out of the system in a way that only custom code lets me do. What I tend to find is that the pure CS stuff is unimportant - no-one cares if you can recite 5 different ways to sort an array, or make your code the most optimised bit of code ever written. What people find more useful is having a developer who can actually implement the requirements you give them, rather than pissing about trying to show off cool shit.
 
So, this is an embarrassingly pedestrian request, but I'm about to have a lot of free time that I would like to turn into a life skill. What are some good resources for learning to code without buying a college degree?
install linux as your new OS
learn bash scripting to start
learn how to use the command line, modify your linux OS, and program automation tools for yourself

contribute to open source projects
get a career out of the reputation you build working for free on open source projects
 
>not combining vim and emacs into spacemacs
In all seriousness, it's kind of a shame that, even with the huge number of text editors available nowadays, most discussions on them seem to come back to those two.
learn bash scripting to start
I'm not sure if bash scripting is the best place to start; it's very unlike a lot of other programming languages and there aren't quite as many resources for it. Python is usually a good starting place for most people. The last two lines are really good advice, though.
 
Back