I was thinking of some file types that afaik don't exist.
One is filesystem entries of files stored in memory from disk files, updated when the disk file modification time changes. This would be a big disk-access optimization in some cases.
The in-memory entry permissions would be ignored, and writing to it would write to the disk file.
Another one is dynamic files that (only) have the name of a executable, which when opened would be executed by the kernel, creating a process child of init with its standard output piped to the file descriptor obtained by opening the dynamic file.
Here reading would depend on both the dynamic file's read permission and the named executable's execute permission. The idea is that it's transparent to the reading process.
Whether they could change the file to which they point to without deleting it would depend on the implementation, I think. (https://en.wikipedia.org/wiki/Symbolic_link#Variable_symbolic_links)
>How would you change the target program?
Similar to changing other files, probably.
>Perl uses this idea - opening a subprocess is identical to opening a file, but the filename begins with a pipe.
Kinda like the POSIX popen interface, yeah. But having to use special interfaces or languages falls short of transparency.
OS development is a major undertaking, it's not the sort of thing you can do in a weekend, especially considering it requires low-level programming techniques that are avoided in modern application development. The appeal of things like Linux and BSD is that the hard work is already done for you, but unlike Windows or Apple operating systems you have the freedom to modify the user interface (which is all most people really care about, messing around "under the hood" is really only called for when working with embedded systems or mainframes, where you need to get every last bit of performance out of the machine - and only low level programming specialists really have the ability to effectively optimize in those areas, anyway). And the UNIX architecture, although rather old, wasn't really made for "mainframes", one of its main advantages at the time was that it could run on lower-end systems.
All sort of things require low-level programming.
I think I understand your idea.
How about a daemon that handles that stuff? You give the daemon the name of a script and of a fifo. Your daemon calls inotify on the fifo and waits. When one of the registered fifos is open, the daemon triggers the script with it's output descriptor directed to the fifo.
It is an idea that has already been implemented at the socket level: inetd. It is a system that spawns a specified process when a connection to a port/socket has been opened. No fancy inotify crap.
Also, systemd supports all of this, including FIFOs.
dicks out for Harambe
Here's a script to help keep updated on new 4-ch posts since your last visit.
It downloads the HTML of each board and compares against the HTML from last time. If anything changed it lists that board as [NEW].
Makes it easy to look for new posts, you can edit the boards.txt file to only check on boards you are interested in checking.
mkdir -p html
while read board; do
mv "html/$board.new.html" "html/$board.old.html"
curl -s -o "html/$board.new.html" "http://4-ch.net/$board/"
if ! diff -q "html/$board.new.html" "html/$board.old.html" > /dev/null 2>&1; then
echo "[NEW] http://4-ch.net/$board/"
How is this more advantageous than using an RSS reader for the boards that you do want to see?
Not that this is a bad exercise, I just don't see it a s too useful.
What are your (current) hobby projects? What languages or libraries are you using? How usable or complete is it? What makes what you're doing novel or great?
No need to be smug or anything, or get all angry at other people for using <thing you hate>. Just share what you're up to. Add a URL if it's public too, if you want.
I'll start. I'm writing a stack-based language in Racket for use in embedded devices. It's already got Hindley-Milner style type inference, it just needs to actually produce output.
I'm also planning a modal text editor that feels like vim and a music-making program somehow.
But enough about me. Let's get some actual content on the front page of /code/.
an irc bot in ruby. It's almost done, but right now I'm tired of writing it. The first days were really fun but now the final feature it lacks kinda requires another rewrite of some major components.
Anyway the bot is supposed to be general purpose, easy to configure, and also easy to manage and enhance once it's running.
Then I want to write a packet capture program with batteries included. Something with slightly more features for interactive traffic analysis.
Other futures I might take some time in the future is an interactive debugger for ruby, an Interactive Fiction Z-machine compiler, a BBS engine... maybe a MUD engine.
I have a bunch of ideas.
I'm working on a roguelike. It's really tedious, but enjoyable. I kinda burned myself out on my last project because I didn't realize what a large undertaking it would be, but after some rest I'm comfortable with how long this might take. Tackling problems in small bites makes it pleasant, and stops me from feeling like I'm being crushed by how much there is or could be to add.
Right now I have maybe half of a barebones level generator written along with a placeholder UI. You can push an @ around the screen. After I'm done with levels, I'll get around to player/non-player-characters.
Writing a crash triage tool so I can fuzz at a larger scale.
Want to be able to have all my crashes end up in elasticsearch, so I can have pretty graphs of crashes by type. Writing my tool in python and using lldb's python API. Does most of what I need it to do, just need to get some more useful tests and set up how it gets called.
Was inspired by Ben Nagy's talk from Infiltrate 2015.
I'm using Racket Lisp. There's not really any need for a curses library if your language has a GUI library, unless you deliberately want to limit yourself to terminal-only play. It took me a little while to get used to basic OOP for frames and windows, but I don't need much except for displaying arbitrary characters/text, and that's very easy to do.
Racket's GUI stuff is the best I've ever used.
It's also got the standard ncurses bindings somewhere (or maybe not and I had to generate it for myself) or at least some ansi terminal library, if you ever wanted to go curses again. Have fun!
Meanwhile I'm the guy who tried to set up GuixSD. I'm running NixOS very happily now.
I've been laying groundwork and writing the necessary libraries to write a Game Boy Advance game in very-type-safe Haskell.
That's pretty cool. Sounds like you have some pretty beefy machines if you're at the stage of using elasticsearch and writing tools to help fuzz things. What kind of programs are you testing?
dicks out for Harambe
There are several reasons....
A) Its fast
B) Its easy
C) Theres MANY variations of it
D) It can be really good depending which BASIC you use
E) One of the first languages =P
Anyone else here a fan of BASIC languages (or RAD such as Delphi?)
QBasic and friends were just magic. imo its like windows today in some way: as long as the user isnt that experienced he wont do anything causing serious problems. its quiet difficult to code errors that arent easy to find or really kill your machine. it took me a while in port programming before i decided to set that alternating bit on port 4 of a 486 to a constant value and after that i needed to reinstall DOS:-)
its C with basic syntax, just alot harder to learn because you dont have a stupendous amount of tutorials to start with
youll have to learn it the hard way, or not at all :)
i use it, and ive been using C for a long long time
me neither, it was merely a heads up for those who think its a walk in the park just because it ends with "basic"
still, its a refreshing language and its multiplatform
i expect no less though
var t = threadcreate( cast(sub(byval as any ptr), @exit_on_escape), @sock )
var s = !"HTTP/1.0 200 OK\n" & !"Content-Type: text/html\n" !"Connection: Close\n\n"
s += !"<html> <head> <title> empty page </title> </head> <body> Hi. </body> </html>"
dim as socket_info si
dim as socket new_sock
it IS the httpd, and yes it will be secure - eventually
first things first.. i just started with fb and i have to look at the keyword list as im going
I am a PureBasic user,
Basic is the best programming language for all me because I don't
need to make softwares as a job.
I always found the term "online help" to be confusing back in those days, apparently it's a holdover from the days when documentation was normally a physical book that came with the program.
Shiichan sucks and is written in PHP. Kareha sucks, is written in Perl (which causes more issues than anything else ever could when trying hard to do so) and doesn't scale well at all, seeing how a board of just the size of 4-ch needs to use archiving scripts in order to keep things running smoothly.
Is there any sane BBS software out there or do I have to try and do it myself, despite not being too much of a coder?
My point was that the language of a tool is not reason for it to be considered bad. Your reasons against shiichan are due to poor coding practices, not simply because it was written in PHP. You could find a poorly coded application in any language, but that in itself is not a reason to dislike that language. You shouldn't dislike well written applications simply because of the language that they were written in either.
Personally, I don't like PHP and no longer use it for new projects. Is that going to stop me from using a PHP application if it is the "best" tool for the job? No.
AOMEI Backupper is the simplest FREE backup software with system/disk/partition/file backups and system/disk clone. http://www.backup-utility.com
Have you considered <del>converting to Scientology and discovering what Lord Xenu wants for you</del> I mean Re-writing it in Rails?
Use textboard mode in TinyIB and edit CSS so it looks more like a traditional textboard.
Other than that you're absolutely fucked anon. Try making one yourself.
guys what do you think of weabot.py (what bienvenidoainternet uses)
Please anyone describe here the process of sending SMS on any mobile phone anonymously or sending emails anonymously.
you can use twilio. but your privacy is protected
I want to be a professional programmer because I'm under the impression programmers don't have to speak that much. The only programming language I know is Java because I took a few classes. I liked learning Java, and it came easy to me, but even though I want programming to be my job, I don't want to learn any more-- I prefer drawing manga pictures (which I'm bad at). What should I do?
remove your ribs and try to get your own penis into your mouth :)
speaking is fun nigga
yo will need to remove some spine and muscle too
or soak them in vinegar to make them more flexible
or just do yoga goddamn
Get better at drawing manga and hope for the best. Programming as a job involves working in teams and lots of communication.
Along with this question on motivation, how can you motivate yourself to program for multiple hours straight?
have a grand plan in your head, when you get bored take a look at the bigger picture and think about what to do next, your interest in the subject will grow
Yeah, I agree with >>5. If you are going to get programming as your job, you will communicate alot. As you need to explain your code to your team, and explaining the functions of your program to your client/boss.
As for >>6, I'm motivated to program for multiple hours when I know that I am getting progress at coding the program.
Give yourself a sequence of small, defined goals that you know you can easily achieve and that follow on from each other. I'm talking less than half an hour for each thing; you want to be able to know you can do it soon, but don't bother planning any smaller than that - tedium isn't fun.
Make sure that you can tell whether the thing works once you've done it for the sense of achievement, and the "Cool, now I've got that working, I can do this!" that follows.
Do this plan for a couple of different areas of your project so you have more to work on if you get stuck.
Optional: drink coffee and booze alternately. YMMV.