What are you working on? - Programming On Unix

Users browsing this thread: 18 Guest(s)
z3bra
Grey Hair Nixers
Added a few things to my TODO list recently. The main project will be an inotify based data replication tool. I'm still not sure about the specs though...
pranomostro
Long time nixers
I had two weeks of time without computer access.

Thought a lot about different stuff and had the idea of writing a simple filter that transforms
hexadecimal input to syllables (somewhat similar to urbit addresses).

So something like

B5789ECA

becomes

nalrep-ufdir

This would be easier to transmit for humans.

Because this seems quite easy to do, I'll probably start today.
jkl
Long time nixers
Meanwhile, blogcpp was added to the list of Static Site Generators and got RSS feeds for most taxonomies. Version 2 is shaping up nicely.

--
<mort> choosing a terrible license just to be spiteful towards others is possibly the most tux0r thing I've ever seen
cjm
Long time nixers
jkl, good to hear its a nice piece of software you got there.
jkl
Long time nixers
Thank you. :-)

Only one feature left (automatic emoji conversion) before v2. If you don't need that, enjoy the latest code. Now with "Create a new stub for me". :-)

--
<mort> choosing a terrible license just to be spiteful towards others is possibly the most tux0r thing I've ever seen
josuah
Long time nixers
Maybe this [1] could help with your pager, as it has a <code>#define FEATURE_LESS_REGEXP</code> switch, so every snippet that target "bringing regex to a pager" is wrapped in a <code>#{ifdef,end} FEATURE_LESS_REGEXP</code>.

[1]: https://git.busybox.net/busybox/tree/mis...less.c#n66
Tmplt
Long time nixers
To wrap my head around the (somewhat) more complex parts of C++, I'm currently working on libircppclient, which as the name might suggest, is a library for IRC connections written in C++. I found it funny to slap "pp" on the C library libircclient, which I tried but didn't enjoy. It's based on Boost.

The library is still in its infancy, and is most likely full of bugs. Available on GitHub [1], Gitlab [2], and my own repo [3].

[1]: https://github.com/Tmplt/libircppclient
[2]: https://gitlab.com/Tmplt/libircppclient
[3]: https://git.dragons.rocks/Tmplt/libircppclient
z3bra
Grey Hair Nixers
Do you auto-sync your server with github/gitlab using hooks?
xero
Long time nixers
(12-07-2016, 08:51 AM)z3bra Wrote: Do you auto-sync your server with github/gitlab using hooks?

i personally use the "git all trick" for this. e.g.

Code:
git init
git remote add all origin:path/proj.git
git remote set-url --add all mirror1:path/proj.git
git remote set-url --add all mirror2:path/proj.git
:> .gitignore
git add $_
git commit -m 'testing'
git push all --all
jkl
Long time nixers
(11-07-2016, 12:45 PM)Tmplt Wrote: It's based on Boost.

Are there technical reasons to add that giant library? Any specific feature you need from it? Without Boost, I'd play with it...

edit: I noticed you use boost::asio. Are there chances you'll migrate to std::asio once the standard is "final"?

--
<mort> choosing a terrible license just to be spiteful towards others is possibly the most tux0r thing I've ever seen
z3bra
Grey Hair Nixers
(12-07-2016, 12:29 PM)xero Wrote:
Quote:Do you auto-sync your server with github/gitlab using hooks?
i personally use the "git all trick" for this. e.g.

Man that's a neat trick! Thanks for that!
pranomostro
Long time nixers
I started a little job. Mostly fixing deprecation warnings and email templates.

I started making street music, just going out and playing. It's really refreshing.
xero
Long time nixers
(13-07-2016, 09:45 AM)pranomostro Wrote: I started making street music, just going out and playing. It's really refreshing.

busking can be a lot of fun. but do your research, friends of mine have been arrested for noise ordinances in certain places at certain hours.
venam
Administrators
I finally implemented the Lab colorspace for filling the missing colors in URNN.

It was an issue that had been going on for 2 months now, a big discussion with neasaade.

Today I was fiddling with the neural network training parameters as I'm not very satisfied with the current outputs.
pranomostro
Long time nixers
(13-07-2016, 10:48 AM)xero Wrote: busking can be a lot of fun. but do your research, friends of mine have been arrested for noise ordinances in certain places at certain hours.

Okay, thanks for the tip.
josuah
Long time nixers
I was making a shell script static website generator with templates like those:

Code:
{{ include head }}
&lt;ul>
    {{ for page in posts }}
    &lt;li>&lt;a href="{{ root }}/{{ path }}">{{date }} - {{ title }}&lt;/a>&lt;/li>
    {{ end }}
&lt;/ul>
{{ include foot }}

But variable scoping was so tricky with pipes creating a subshell, and I do not really know what the 'local' keyword affects (recursive functions with local bindings...).

I got all parts working, but never all at the same time hehe!

So I am doing it again in lua, which is much more enjoyable!
pranomostro
Long time nixers
Ah, little lua.

The sweet spot between C and shell scripts.
What do you think of the 1-based indexing? The noisy syntax?

And, most importantly, the lacking unicode support (this is actually the only thing that bugs me about lua)?
josuah
Long time nixers
I wasn't aware about its lack of Unicode support and this is sad! D: [EDIT] Maybe libraries? Or some boilerplate functions in a file... http://lua-users.org/wiki/LuaUnicode

The syntax does not seems that noisy to me:
- while ... do ... end/done,
- if ... then ... elseif/elif ... else fi/end,
- for ... do ... end/done
... are present in both shell script and lua.

I am very new to lua, but yet I agree it being the right spot between C and shell script (I do not know C neither!). Impressive feature: ANSI C only, so it compiles everywhere.

I really like its ability to return multiple values and having very small set of types and features that can combine together to give other features, and types.

1-indexing is unusual for me, but well... small issue for what I do with it. [EDIT] As well as two spaces for indentation rather than tabs, but it does not seems to be a standard anyway...
kirby
Long time nixers
Decided I needed something to work on in evenings that isn't security related, and inspired by Nintendo's recent announcement I've decided to make a NES emulator. I don't think it will do much special, part of me wants to implement the fancy instruction-level parallelism modern CPUs have (pipelining, out-of-order issue + out-of-order completion), but I'll decide on that further down the line.

Reading the documentation, it actually looks a lot easier than I thought it would be, which conveniently makes it a nice non-stressful challenge, which is what I was ultimately looking for. I guess I'll see if I agree with that statement in the next couple of weeks, haha.
pranomostro
Long time nixers
@sshbio:

Yeah, there are of course libraries, but I feel like just
including libutf in some way into the language (even if it
was only minimalistic).

(14-07-2016, 06:04 PM)sshbio Wrote: (I do not know C neither!

Lucky you.

(14-07-2016, 06:04 PM)sshbio Wrote: The syntax does not seems that noisy to me:
- while ... do ... end/done,
- if ... then ... elseif/elif ... else fi/end,
- for ... do ... end/done
... are present in both shell script and lua.

Not in the shell I use :D

(14-07-2016, 06:04 PM)sshbio Wrote: Impressive feature: ANSI C only, so it compiles everywhere.

Oh yeah, that's great. Did you compile it from source?

(14-07-2016, 06:04 PM)sshbio Wrote: I really like its ability to return multiple values and having very small set of types and features that can combine together to give other features, and types.

1-indexing is unusual for me, but well... small issue for what I do with it. [EDIT] As well as two spaces for indentation rather than tabs, but it does not seems to be a standard anyway...

I really like the multiple return values and the 1-based indexing as well. Don't know why, it's just more accessible for me.
josuah
Long time nixers
(15-07-2016, 09:16 AM)pranomostro Wrote: Did you compile it from source?

Yes, I did, with this and a script to download, untar, and run the <code>build()</code> function:
https://raw.githubusercontent.com/sshbio...a/build.sh
Tmplt
Long time nixers
(13-07-2016, 08:27 AM)jkl Wrote: Are there chances you'll migrate to std::asio once the standard is "final"?

Boost::asio (and some parts of regular Boost) was used to get the project up and running. It was required to get a high-school degree (not Boost, but a working project; I didn't have all the time I wanted).

But yes, I plan to remove Boost as a dependency, but that mustn't be done when the library is done. The project doesn't have a roadmap or anything like it, so if I was able to write Boost out of the library, I would do it. Uni will start soon, so I wont have a lot of time on my hands. But if you are able, feel free to contribute.
josuah
Long time nixers
(15-07-2016, 09:16 AM)pranomostro Wrote: Not in the shell I use :D

Oh! rc? eshell? A programing language as a shell?

I finished the www script, but really not as I planned to do: 3 attempts at implementing it, in awk, shell script and lua, with a recursive function parsing the layout's {{ keywords }}. I had the same issue every time! "Flat is better than nested"? -- Python.org

So I changed the approach: I was not needing such a complex system. I reduced it to a 80 lines script: One page per directory that lists the sub directories, and the files. And the content of these pages are taken from the 'INDEX' files if presents in the directories. It still has a layout.html file to tell how you want the pages to be formatted.

It only use <code>mkdir</code>, <code>cp</code>, <code>find</code>, <code>cat</code>, <code>stat</code> and shell builtins.

I took inspiration from werc (cat-v.org, suckless.org), and meillo at marmaro.de.

kirby: I think I know which game you will test it with... *whistles innocently*
pranomostro
Long time nixers
It's rc.

(25-07-2016, 11:04 AM)sshbio Wrote: I had the same issue every time!

Aha. Which issue?

for the interested: it's at https://github.com/sshbio/Config/blob/master/bin/www

That's really elegant. I like it.

(25-07-2016, 11:04 AM)sshbio Wrote: I took inspiration from werc (cat-v.org, suckless.org), and meillo at marmaro.de.

The right inspirations. marmaro's website is a source of wisdom.
josuah
Long time nixers
And I forgot the link again...

(25-07-2016, 01:07 PM)pranomostro Wrote: That's really elegant. I like it.

Thanks!

(25-07-2016, 01:07 PM)pranomostro Wrote: Which issue?

Code:
Before {{ for page in pages }} Inside {{ end }} After

Was producing:

Code:
Before Inside Inside Inside

Without 'After'. I suspect this was due to variable scoping, with some global (current item through loop) and some global (the position in the document, and what is left to be processed) that was clashing at some point? At the best point, the for loop was working only when there was not a variable elsewhere in the document. I gave up about at this moment.
jkl
Long time nixers
After having rewritten one of my websites in C, I decided to rewrite it once more, this time in COBOL. Because: Why not? :D
After having done it, I totally know why not, though.

--
<mort> choosing a terrible license just to be spiteful towards others is possibly the most tux0r thing I've ever seen
z3bra
Grey Hair Nixers
(29-07-2016, 06:51 AM)jkl Wrote: After having rewritten one of my websites in C

What does that even mean?
jkl
Long time nixers
I run, among many others, a small single-serving page which had a one-line PHP code from the beginning. Because of that, I had to maintain a complete PHP installation on the particular server, so I decided to rewrite it with my server's native stack in order to get rid of the additional server load. :)

--
<mort> choosing a terrible license just to be spiteful towards others is possibly the most tux0r thing I've ever seen
jkl
Long time nixers

--
<mort> choosing a terrible license just to be spiteful towards others is possibly the most tux0r thing I've ever seen
Tmplt
Long time nixers
Finally fixed _the_ bug in my library, so I can add stuff to it now.

Boost sure is weird some times.